Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,11 @@ Monolith
- [Contribution](en/monolith/contribution.md)
- [Spriting](en/monolith/contribution/spriting.md)
- [Shipyard](en/monolith/shipyard.md)
- [List of Mapping Commands](en/monolith/shipyard/list_of_mapping_commands.md)
- [Faction Ship Design](en/monolith/shipyard/faction_guidelines.md)
- [Ship Guidelines](en/monolith/shipyard/ship_guidelines.md)
- [Common Mistakes](en/monolith/shipyard/common_mistakes.md)
- [Common Questions](en/monolith/shipyard/common_questions.md)
- [Combat](en/monolith/combat.md)
- [Vocab/Important Concepts](en/monolith/combat/vocab.md)
- [Ground Combat](en/monolith/combat/groundcombat.md)
Expand Down
52 changes: 52 additions & 0 deletions src/en/monolith/shipyard/common_mistakes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Common Mistakes

This page is meant to be a list of common pitfalls for you to avoid and learn from.

### Building the ship's front not facing north
this one happens because people assume the ship's front is asigned by the ship's console, this isn't true however, it is the grid's north that should be the ship's front, as otherwise you'd have to rotate the ship console, which in turn rotates the camera view and the controls, you don't want to redo the whole ship after you make it.

### Using the rotation field for different decal orientations
the reason why different orientations are defined rather than expecting you to use the rotation field, is because of 2 reasons:
- it's way faster than typing in 0 90 180 manually every time
- the decals are made to align only using the different decals, and they don't align with manual rotations

### Not testing the ship before PR
running a couple test flights helps illuminate MANY mistakes you've missed. you're never trully done unless you do a run of the main task your ship was designed for.

### Not using ctrl+f to find and replace all the old shuttle's name
when you're copying over the shipyard entry yml folder in Monolith\Resources\Prototypes\_Mono\Shipyard be sure to use ctrl+f to find all the mentions of the old shuttle and replace them, a lot of people miss at least one mention and end up with problems while testing their shuttle

### Not linking the air alarms to firelocks/vents/scrubbers
air alarms don't magically know what the air in the room they're in is like, they check the devices they're linked to, and close the firelocks when a warning thresholds hit

### Running in Debug Mode
running in debug mode is only really intended for debuging entities and other objects that you work on outside the game this is mostly because Debug mode ensures that whenever any error shows up; no matter how small, it will end up crashing the entire server, and mapping tools sometimes give out error messages which might lead to a crash.

### Using the shipyard consoles ship price
the PROPER way to see a ship's value is using the appraisegrid command on a newly bought ship, because the shipyard console only shows a percentage of the true shuttle's value while appraisegrid shows the true value as is.

### Using appraisegrid on an uninitialized grid
this results in a far lower value as after initializing a lot of value is added from the machines/lockers/fills/etc

### Deleting your admin ghost
did you know you can delete yourself? upon doing so you'll become a regular ghost, and as mentioned above only admin ghosts get simulated in uninitialized maps, that means you need to readmin ghost yourself

thankfully this is easy, all you need to do is teleport to an object within an initialized map using the "objects" tab in the admin menu, and then readmin ghost yourself using the admin menu again. you can now safely go back to the map you were building on using the tp command listed above

### Not using signal switches instead of signal buttons
the regular button only has one port, which activates on a press, meaning it can only send one type of signal, this can be remedied by toggle ports in the things you're linking it with but some machines like conveyors don't have such a port......

that's where signal switches come in. they have 3 ports.
- on: sends a signal when it's turned on
- off: sends a signal when it's turned off
- Status: sends a signal when it switches modes
the use of signal switches can be seen within the dragoon and the surveyor, they're used for conveyors in those.

### Not using all 3 pipe layers
if you use the entity spawner menu to select pipes you'll notice you can place them in all 3 layers as opposed to the pipes givven by mappingclientsidesetup, be sure to use all 3 pipe layers as otherwise the piping will be messy, keep in mind you're allowed to screwdriver vents and scrubers to lead directly into these different layer pipes

### Picking up and droping items to reposition them
this isn't ideal, as it saves the info about the deleted entities, so delete the entity then place another down to reposition

### Using the (ghost only warp point) instead of Warp point
the warp point (ship) automatically includes the ship info, while ghost only warp point doesn't.
37 changes: 37 additions & 0 deletions src/en/monolith/shipyard/common_questions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Common Questions

This page is meant to be a list of common questions you might have, they range from ones you might have right away, to ones you'll only ponder on after getting more familiar with mapping so it's always worth a cursory look.

### What map is CC in?
it's in map 1 alongside all the other stations.

### How does the grid/map system work?
when you save a shuttle, you save it as a grid, when you use the shipyard console to purchase the ship, it turns the ship from a grid, to a map.

what that means is that if you're working on map 100, and saved the ship, you can just go to map 101 and loadgrid the saved ship, the ship isn't tied to a specific map.

ship files are stored as .yml files, so when you want to save your ship using the savegrid command, be sure to append .yml to the end of the ship's name when saving.

### How to find your grid's ID and save the grid
- Open the debug overlay with F3.
- Make sure your aghost is over the grid
- Under _Attached NetEntity_, look at _Grid NEntId_
- Put that ID in the `savegrid` command as shown.
- DO NOT USE THE MOUSE POS DATA.

### Where are the ship files stored?
the ones you save yourself are stored at <code>Monolith\bin\Content.Server\data</code>
while the ones already within the game are in <code>Monolith\Resources\Maps\_Mono\Shuttles</code>

### How to add more than one Object on a wall/tile?
- Place the Object down
- Right click and select View Variables
- Go to the Server Components Tab
- Search for TransformCompoent and click on it
- Look for _localPosition (NOT LocalPosition), the first value is the x coordinate, and the second is the y value
- change it in .25 increments.

this can be done for all entities. seen usually in buttons/lockers

### Is there an easier way to add more than one Object on a wall/tile?
Yes. using the placement mode of the entity spawner in the bottom right you can find placement modes used by other machines, try to experiment to see what each one does and where they can be used
81 changes: 81 additions & 0 deletions src/en/monolith/shipyard/list_of_mapping_commands.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# List of Mapping Commands

This page is meant to be a list of all the Mapping Commands you'll need to know, and would like to know.

### mapping (mapid) [/path/to/shuttle]
creates a blank uninitialized map, makes you an admin ghost, then teleports you to it.
you can put in the path to shuttle if you want or not, if it's blank then the map will be empty and you can just use the loadgrid command to load a ship in

Examples:
- mapping 100 : it first makes you an admin ghost if you aren't already, then it (sometimes it's rather glitchy and doesn't) runs the mappingclientsidesetup command, then teleports you to map 100
- mapping 100 /Maps/_Mono/Shuttles/archer.yml : it first makes you an admin ghost if you aren't already, then it (sometimes it's rather glitchy and doesn't) runs the mappingclientsidesetup command, then teleports you to map 100 then it loads the archer shuttle into the map
- mapping 100 /test.yml : it first makes you an admin ghost if you aren't already, then it (sometimes it's rather glitchy and doesn't) runs the mappingclientsidesetup command, then teleports you to map 100 then loads the ship using the file test.yml from Monolith/bin/Content.Server/data into the map

### loadgrid (mapid) /path/to/shuttle x-position y-position
allows you to load a grid onto any map, including uninitialized maps, but without going through the shipyard console system it'll end up without the drive/cruise/park settings shuttles have.

/Maps/_Mono/Shuttles/ for ships already added to Monolith, and for ships you're saving they're in Monolith/bin/Content.Server/data

Examples:
- loadgrid 100 /Maps/_Mono/Shuttles/archer.yml : loads the surveyor shuttle into the map 100, if the map doesn't exist it does nothing
- loadgrid 100 /test.yml : loads the ship using the file test.yml from Monolith/bin/Content.Server/data into the map 100, if the map doesn't exist it does nothing

### startround
this makes the game load in ASAP, bypassing the 3 minute wait time.

### mappingclientsidesetup
this command adds a bunch of tiles/items to your actions bar, the main thing you'll use it for is deleting entities

### aghost
this command turns you into an admin ghost without having to go through the admin menu

### physics com
it shows the ships Centre Of Mass (com) as a large orange ball, if you see more than one then that means your Grid has split, due to how buggy mapping tools are just ctrl clicking out plating has a high chance of making some tiles that aren't connected to the main grid, please be sure to keep it on whenever you're modifying the ship's structure even a little bit

### tp x y (mapid)
this command allows you to teleport into any x and y coordinate into any map, say you've teleported back to FO's mapid which is always 1 to buy a ship to look at as reference, to teleport back to your grid you just add it's mapid rather than FO's

### colornetwork (networkid) Pipe (#hexcode)
this command colors a pipe network, it needs to be Pipe with a capital P at the begining otherwise it won't work
to find the network id, you just right click a pipe, the number you see is the network id.

it's included with other pins in the mapping general discord channel but the main colors are:
- #990000 for scrubber networks
- #0055cc for air distribution pipes
- #9955cc for auxilery gas networks

### variantize (gridid)
this command adds the different variaties of tiles and adds garbage to the ship when it spawns, all ships are required to run this command before adding to the game

### fixgridatmos (gridid)
this command fixes/adds air to the tiles of the ship , run it when you're finishing up a build and everytime you edit the ship's walls/shape

### savegrid (gridid) /(shipname).yml
this one saves the ship grid into the Monolith\bin\Content.Server\data path as a file, you'll need to appemd .yml to the end of the ship's name to save as a yml file

### appraisegrid (gridid)
this one allows you to know how much is worth, you should only run it on a initialized grid.

### gridtc (gridid)
this one counts all the tiles in the grid, is used for ship size classificiation.

### mapinit (mapid)
initializes the map whose id you used, do NOT use it before you save your ship, but it'd allow you to test the ship in an empty map.

# Setting up a Ship's ID
Before you can get the ship into the shipyard console, you'll need to add a ship specific ID to refer to the ship within the files, you'll need to use these 2 following commands
### vv (gridid)
this allows you to edit the components of the ship's grid, the only thing you need to do is go to the server components tab, press "Add Component" then search for BecomesStation, once you do that, write out the next command to EDIT the ship's name.
### vvwrite /entity/(gridid)/BecomesStation/Id "(shipname)"
this allows you to change the grid's ID properly, all you need to do is replace the gridid with the ship's, and the shipname with the ship's name that will be used as it's ID

this name will only show up when you manually spawn the ship in, as the shipyard adds the name itself, so it's only a QOL addition to make autocompleting commands pick it up as something other than "grid"

# How to add a shuttle to the shipyard console
if you want the bare minimum set up, then all you need to do is add the shuttle's .yml file in Monolith\Resources\Maps\_Mono\Shuttles -or inside a folder within this file for expedition/staff shuttles-

and add a file in Monolith\Resources\Prototypes\_Mono\Shipyard, you can open one for a shuttle of a similar archetype and use it as a template, while having the guidebookPage: Null, this will make it purchusable without a guidebook entry.

keep in mind, you need to have the class and engine match the ingame ones to the letter, otherwise the ship won't show up at all

if you want to add a guidebook entry, then follow along another ship's PR and see the changed files
Loading