Files
Bubberstation/code/modules/buildmode
SkyratBot 124ddd7cca [MIRROR] tgui Preferences Menu + total rewrite of the preferences backend (#8153)
* tgui Preferences Menu + total rewrite of the preferences backend

* nah, we dont need to ping those people

* trying to remove the funny stuff

* unmodularizing this

* prefs reset

* this may need to be reverted, who knows

* okay, this part

* perhaps

* EEEEEEEEE

* unsanitary

* E

* Stage 1 + loadout system

* more fixes

* E

* I mean, it launches?

* More fixes and reorganisation

* E

* customisation code is spaget.

* disable ERP prefs

* Update erp_preferences.dm

* Update erp_preferences.dm

* E

* Slowly getting there

* It may be time for help :)

* tri...colors... help

* preferences now pass preferences

* Update dna.dm

* Fuck this man

* missing savefile return, set_species works, removed dumb stuff from updateappearance

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224

* https://github.com/tgstation/tgstation/pull/61519

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278

* e

* le butonAZARAK HELLO

* hhh

* Proper recognition where it's due, MrMelbert!

* EEEE

* examine block

* Better gen hit sounds from whitedream

* final loadout touches, more bug fixes im sure to come

* i said there would be bugfixes

* Update LoadoutManager.js

* Missing preferences in the html menu

* LIVE TESTING PHASE BABY

* Update LoadoutManager.js

* EEE

* LAUNCH TEST FIRE

* Update job.dm

* Update new_player.dm

* 50gb DAY ONE PATCH

* EEE

* Update preferences.dm

* buggle fixes

* Update examine.dm

* >LOOC starts on

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-09-23 00:40:37 +01:00
..
a
2021-05-19 17:17:52 +01:00

Buildmode

Code layout

Buildmode

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.