Difference between revisions of "Guide to Mapping"

From Paradise Station Wiki
Jump to navigation Jump to search
(retired mechanic/sec pod pilot stuff)
(added github sidebar)
 
Line 1: Line 1:
{{SidebarGithub}}
Other related guides: [[Understanding SS13 Code]], [[SS13 for experienced programmers]], and [[Complete Guide to Contributing]]
Other related guides: [[Understanding SS13 Code]], [[SS13 for experienced programmers]], and [[Complete Guide to Contributing]]



Latest revision as of 05:14, 12 August 2022

Github

Other related guides: Understanding SS13 Code, SS13 for experienced programmers, and Complete Guide to Contributing

Pre-commit checks

- Are all the floors with or without air, as they should be? (regular or airless)
- Does the area have an APC?
- Does the area have an Air Alarm?
- Does the area have a Request Console?
- Does the area have lights?
- Does the area have a light switch?
- Does the area have enough intercoms?
- Does the area have enough security cameras? (Use the verbs under Mapping for help)
- Is the area connected to the scrubbers air loop?
- Is the area connected to the vent air loop? (vent pumps)
- Is everything wired properly?
- Does the area have a fire alarm and firedoors?
- Are accesses set properly on doors, buttons, etc
- Are all items placed properly? (not below vents, scrubbers, tables)
- Does the disposal system work properly from all the disposal units in this room and all the units, the pipes of which pass through this room?
- Check for any misplaced or stacked piece of pipe (air and disposal)
- Check for any misplaced or stacked piece of wire
- Identify how hard it is to break into the area and where the weak points are
- Check if the area has too much empty space. If so, make it smaller and replace the rest with maintenance tunnels.
- Are there any unsimulated floors where they shouldn't be?

General Station-wide Mapping Guidelines

Atmospherics

  • Each area should have EXACTLY one air alarm (Exceptions are only possible if a room has scrubbers or vent pumps on different frequencies)
  • Each ROOM (Walled off space) should have at least one vent pump and scrubber, which is properly connected to it's respective loop
  • The air supply loop's pipes should be colored blue
  • The scrubbers loop's pipes should be colored red

Power

  • Each area (which requires power) should have exactly one APC

Atmospherics

Pipes and manifolds

Atmospherics releases it's cocktail of gases into the air supply loop (blue pipes). The station is also equipped with a scrubber loop, which filters unwanted gases and sends them back to atmospherics via the scrubber loop (red pipes).

If you're expanding the air supply loop (blue pipes) use the objects in /obj/machinery/atmospherics/pipe/simple/supply/visible or ../hidden depending on if you want it to show above floors or below them. For manifolds use the objects in /obj/machinery/atmospherics/pipe/manifold/supply/visible and ../hidden.

If you are expanding the scrubber loop (red pipes) use the objects in /obj/machinery/atmospherics/pipe/simple/scrubbers/visible or ../hidden depending on if you want it to show above floors or below them. For manifolds use the objects in /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible and ../hidden.

If you are however building a pipe network which has nothing to do with the air supply or scrubbers loop, you should use the objects in /obj/machinery/atmospherics/pipe/simple/general/visible or ../hidden. For manifolds use the objects in /obj/machinery/atmospherics/pipe/manifold/general/visible and ../hidden. To manually set these ones up you will need to set the following parameters (Assuming you are properly using the visible/hidden categories)

 color = ""  // select from "" for gray or "red", "blue", "cyan", "green" or "yellow"
 icon_state = "intact" //The color of pipes is set to what the color variable says at round 
 start irrespective of this, however to make mapping easier, please set the icon_state variable 
 to the correct one here too. Please refer to the table below for icon_states for different colors. 
Color Visibility icon_state (pipe) icon_state (manifold)
Gray Visible intact manifold
Gray Hidden intact-f manifold-f
Red Visible intact-r manifold-r
Red Hidden intact-r-f manifold-r-f
Blue Visible intact-b manifold-b
Blue Hidden intact-b-f manifold-b-f
Cyan Visible intact-c manifold-c
Cyan Hidden intact-c-f manifold-c-f
Green Visible intact-g manifold-g
Green Hidden intact-g-f manifold-g-f
Yellow Visible intact-y manifold-y-f
Yellow Hidden intact-y-f manifold-y-f

Air Alarm

Every single area (with scrubbers and/or vent pumps) should have exactly one air alarm. More than one should be placed if vent pumps or scrubbers use different radio frequencies than the default one (1439).

Scrubbers (Station air supply)

Every room (ie. walled off space) except for maintenance hallways should have at least one scrubber.

The vars you need to set for this one specifically are:

 on = 1
 scrubbing = 1
 scrub_co2 = 1
 scrub_toxins = 0
 scrub_n2o = 0
 volume_rate = 120
 panic = 0
 frequency = 1439

And make sure the id_tag is the default one (null)

Also ensure the scrubber is connected to the scrubber loop!!

Vent Pumps (Station air supply)

Every room (ie. walled off space) except for maintenance hallways should have at least one vent pump.

The vars you need to set for this one specifically are:

 on = 1
 pump_direction = 1
 pressure_checks = 1
 frequency = 1439

And make sure the id_tag is the default one (null)

Also ensure the vent pump is connected to the air supply loop!!

Power

APC

Each new room needs at least one, this will provide all the power for the room (magically). Any room that is very equipment heavy may need another APC to split the load and prevent early black outs.

Wiring

Make sure the wires lead from the main power grid, and to the APC(s) of your area. If any equipment in your new area requires a wire under it, line it up, connected to the main power grid, and under the machinery. Wires are also helpful when making electrical grills (just dot wire under a grill), make sure the wires touch the main power grid (or they won't shock people).

Equipment

Lights

Lights take up a lot of power, don't use too many! Make sure to put in just enough so the room is fully lit, but not so many that the equipment will go out in ten minutes of the round starting.

Light switch

For mood lighting, or to show the room is currently not in use by the primary occupant. These disable the lighting equipment (and power drain associated) in the area, but not desk lamps. Place these on walls, usually by a door.

Request Console

If a certain room has no need for materials, or produces no materials, do not give it a Request Console. If it does (for either case or both) make sure it has at least one, that is in a place where some one will see it.

Intercoms

At least every room should have one of these. They should be set to 145.9, and be speaker ON Microphone OFF. This is so radio signals can reach people even without head sets on. Larger room will require more than one at a time.

Security Cameras

Most areas should have these, enough to see the general area from a Human point of view, but, not bunched together for the AI's sake. Larger rooms may require more than one.

Room Structure

Access

Door Access

In order to change the access to a door, you must follow these steps:

  1. Right click the door in question, open up the panel for that door, click edit and you will be greeted with another window reading New Instance .
    • Door Access.png
  2. Next, you'll want to scroll down until you get to Name: req_access_txt which should have some value usually bolded after it.
  3. Keeping the numbers inside of quotation marks, you'll use ; without spaces to add additional numbers.
    • For example if you wanted to add kitchen and bar access to one door it would read: "25;28".
  4. Here is a table for all of the accesses you may need: (For an 100% up to date version, see Here.)
Number Access Additional Notes
1 Security Security Equipment
2 Brig Brig Timers and Permabrig
3 Armoury
4 Forensics
5 Medical
6 Morgue
7 Toxins
8 Toxins Storage
9 Genetics
10 Engine Room
11 Engineering Lockers
12 Maintenance
13 External Airlocks
14 Emergency Storage Not in use.
15 ID Computer
16 AI Upload Chamber
17 Teleporter
18 EVA Storage
19 Bridge
20 Captain Office & Quarters
21 Personal Lockers From the Locker Room
22 Chapel Office
23 Tech Storage
24 Atmospherics
25 Bar Office
26 Custodial Closet
27 Crematorium
28 Kitchen
29 Robotics
30 Research Director
31 Cargo Bay
32 Construction Engineering
33 Medical Chemistry
34 MULE Bots
35 Hydroponics
36 Manufacturing Not in use.
37 Library Librarian Office
38 Lawyer IAA Office
39 Virology
40 Chief Medical Officer
41 Quartermaster
42 Courtroom Not in use.
43 Clown
44 Mime
45 Surgery Rooms
46 Theatre Clown and Mime offices
47 Science
48 Mining
49 Mining Office Not in use.
50 Cargo Mail Room
51 Mint Not in use.
52 Mint Vault Not in use.
53 Vault
54 Mining Station
55 Xenobiology
56 Chief Engineer
57 Head of Personnel
58 Head of Security
59 Requests Console Announcements
60 Keycard Authentication Devices
61 Telecomms
62 Gateway
63 Security Doors Front Doors & Courtroom
64 Psychiatrist
65 Xenoarcheology Not in use.
66 Paramedic
67 Blueshield
68 N/A Not defined.
69 Salvage Ship Captain Not in use.
70 Mechanic Not in use.
71 Security Pod Pilot Not in use.
72 N/A Not defined.
73 Nanotrasen Representative
74 Magistrate
75 AI Satellite
76 Mineral Storage Ore Redemption Machine
77 Network Not in use.
99 Weapon Permit To stop Beepsky arresting you.
101 Centcom General General Facilities.
102 Centcom Living Living Quarters.
103 Centcom Medical
104 Centcom Security
105 Centcom Storage Storage Areas.
106 Centcom Shuttles Shuttle Docks.
107 Centcom Telecomms
108 Centcom Teleporter
109 Spec Ops ERT Room
110 Spec Ops Commander Not in use.
111 Black Ops Not in use.
112 Thunderdome
113 Centcom Bridge
114 Centcom Commander Navy officer, SOO.
150 Syndicate Nuke Ops Shuttle.
151 Syndicate Leader Nuke Ops Leader.
152 Vox Vox Raider Skipjack.
153 Syndicate Command Admin Syndicate Officer.
160 Sol Trader
200 Crate Cash Not in use.
271 Away Mission Access in Gateway Missions.
300 Free Golems

Airlocks

Airless Floors

Ideal for rooms or chambers that mix gas, and for tiles exposed to space. Not ideal for areas that humans will cross in frequency.

Use these on external tiles (to prevent lag when the game starts) and chambers that will require gas mixing (toxins mix chamber/ furnace). Double check these to make sure you don't suffocate mobs in the new rooms.

Fire Alarms and Fire Doors

Make sure to put these INSIDE of the boundary of the area, so there is a lock down. Any spot that gets hot as a normal function should not have a fire Alarm right next to the heat source (toxin mix chamber). Make sure there is a fully sealed area (with the exception of maintenance doors for people to escape fires) that can't be open by normal civilians.

Weak Points

Judge how high security the room will be, if it is high security, reinforced walls and electrified grill windows may be in order. Areas that do not need a lot of security can use basic walls, and windows to your liking (though normal glass windows break very very easy). Each room should have one place that's weaker than the rest (like a back door, side entrance, or a window), just because the main entrance might be out of commission (and realistically, for traitors to break into).

Item and Machinery Distribution

Be smart about what will go in an area, keep a fine balance between the size of the room and amount of equipment. Large rooms may require multiple APCs to prevent power outages early in game. Second, make sure to place equipment that make sense for the area (security computer in a security area/ Medical vendor in a medical area).

Unsimulated Floors

Before you wrap up the map, look for any unsimulated floors, because those can cause some major problems. They can look like any floor, so the best way to find them is by using Ctrl+F and searching their exact path, '/turf/unsimulated/floor', and the first result you get should be at CentCom. To put it simply, unsimulated floors do not process things like air pipes over them, and mixing simulated and unsimulated by each other ends badly.

Balance

Item contents

The harder the room is to enter, the more goodies or sensitive equipment there is inside. Make sure to keep this in mind (and don't make an empty room that's covered in blast doors, electrified grills, reinforced walls, and captain level doors).

Room security

A room is only as secure as its necessity. Public rooms should not have many security functions (other than a fire alarm), but private work space must be more secure (based on job). The bartenders do not need reinforced walls around their storage, but engineers do.

The highest security rooms should utilize the highest security measures. The lowest security rooms should utilize the cheapest security measures.

Step_x, step_y and the broken movement syndrome

So you compiled the map and suddenly whenever you move you no longer get the animation of moving but just 'appear' on the next tile?

So a while back step_x and step_y were introduced to allow pixel based movement. SS13 does not utilize this. Step_x and step_y are variables that each atom has. The way they work is that as soon as you set any object on the map to use one of these variables, the game interprets that you overrode all default movement code and wrote your own - but you didn't (The code that makes the animation from tile to tile).

To fix this problem you need to close dream maker (save the project first, obviously). Open your map (.dmm) file in a text editor, such as notepad or notepad++. Search (ctrl+f) through the file for step_x and step_y and remove any reference to it. Once no more step_x or step_y -es are found in the file, save it and open it in dream maker once again. Compile the code and movement should work fine once more. Go to #coder_chat on our discord if you need more help.

Contributing changes

To see more details about setting up Git, look at the Complete Guide to Contributing

  1. Make sure your development branch is up to date before starting a map edit. Also make sure you have java installed.
  2. Create a new local working branch for your map changes.
  3. Then, look in the tools folder for the mapmerge utilities. You should read the instructions. Run Prepare Maps.bat to backup map files.
  4. Edit the map. Then save, compile, & test it locally.
  5. Double click Run Map Merge.bat - this is the part that uses java. It makes sure no paths are needlessly changed resulting in minimal diff sizes.
  6. Then you can commit your changes, push them to a newly published branch, and make a pull request.

If you have conflict issues, check out the map_conflict_fixer. It also comes with instructions.

Contribution Guides
General Guide to Contributing, Game Resources category, Github Glossary
Setting up a server Setting up the Database, Creating your own paracode server
Coding Understanding SS13 Code, SS13 for experienced programmers, Text Formatting
Mapping Guide to Mapping,
Spriting Guide to Spriting,
Wiki Guide to Editing the Wiki