Commit 9bf2770
authored
Radio Host Job and Equipment (#5288)
## Short description
<!-- What do you propose to change with your PR? -->
Mirror of my [Moffstation
PR](moff-station/moff-station-14#1471) porting
Goobstation's Radio Host job and equipment. Since the code originates
from Goobstation which is an AGPL licensed work, it is required to be
relicensed to MIT. You can see screenshots of messages from JohnJohn,
Rouden, loltart and H20we (jvne) giving MIT approval in the above link.
Each have contributed majorly or in part to the ported code and thus
each were reached out for approval which was received.
This adds Station Radio equipment consisting of...
- Station Radio Server
- Station Radio Rig
- Vinyl Player
- Tape Deck
- Station Radio Receivers
These machines will need to eventually be incorporated into mapping
along with Job spawn markers for the Radio Host. Station Radio Server,
Rig, Vinyl Player and the Tape deck should ideally be mapped in a closed
secure room to avoid access from random persons.
A new access was added called "Journalism" which is intended for the
Radio Host and Reporter. Locking other service workers from accessing
the equipment.
Appropriate Journalist Access Doors have been added for mapping.
Station Radio Receivers will need to be placed around stations and on
some shuttles like the Cargo Shuttle.
A new research is added for creating circuit boards for the Server, Rig,
Vinyl player and Tape Deck. The Station Radio Receiver board can be
created straight from the autolathe with no research required.
A large selection of songs and ads have been added. These can be
inserted into Vinyl Players to play said audio tracks.
Vinyls and CDs have a chance to spawn in Maintenance. You can also
purchase a crate of Vinyls or ADs through cargo.
Syndicate Agents can purchase a new Disruptive CD called Numbers. Which
when inserted into a Vinyl player and broadcasted across station, it
will summon a random threat upon completion. The Vinyl player must be
connected to a Station Rig which must also be connected to a server in
order for the CD to work.
Nukies can find a collection of joke CDs from their uplinks.
## Current Issues
~~I am having issues with getting Journalist access to appear in ID
computers.~~
No way to test to see how TTS will work with this. If they broadcast
over the radio or not.
~~Unsure if there are enough mapping assets included (doors, etc). I
don't know mapping so I don't know what else might be required.~~
~~Whatever the rabbit thinks of the code.~~
## Why we need to add this
<!-- What is the reason for adding these changes? Please post links to
Discussions as well as Bug Reports here. Please describe how this will
change the game balance. -->
The Radio Host is a person whose whole purpose is to maintain and run
the Station's radio. Playing songs, advertisements as well as hosting
interviews live on air.
A fun service role which adds variety to the game. Plus more things to
do on high pop.
## Test plan
<!--
Describe how you tested the pull request, and how someone reviewing this
PR can test it themselves.
-->
Load Branch
Add Testing YAML from below.
### Testing Radio Host Equipment
1. Spawn in CrateRadioHostFIlled.
2. Activate all 4 flat packs.
3. Link the Vinyl Player to the Station Radio Rig, and the Station Radio
Rig to the Station Radio Server.
4. Spawn in CrateRadioHostVinyls and CrateRadioHostADs.
5. Open and observe random selection of Vinyls and CDs.
6. Spawn StationRadioReceiver away from the Vinyl Player.
7. Insert a Vinyl or CD into the Vinyl player.
8. Listen to Music/AD.
9. Walk to the StationRadioReceiver and here same Music/AD playing.
10. Press E on StationRadioReceiver to turn on and off.
11. Alt Click StationRadioReceiver to turn volume down/up.
12. Right Click StationRadioReceiver and select to Lower or Increase
Volume.
13. Unanchor/Mess with power to StationRadioReceiver.
14. Load a second game client.
15. Position the second client in another room with a
StationRadioReceiver.
16. On the first client, spawn a tape recorder and record you saying
some things.
17. Rewind tape and insert it into your Tape Deck.
18. Turn on the station Radio Server by pressing E on it.
19. Say words, and observe them be transmitted through the radio on the
second client.
20. Turn the radio receiver volume down, and observe the sounds coming
through as whispers.
21. Play the tape on the Tape Deck, and observe it playing through the
station.
### Testing Acquiring Radio Host Gear
1. Traverse through the R&D portal on Dev Map.
2. Check the Autolathe and see Station Radio Machine Board available for
printing.
3. Insert the Debug Research Disk into the Research Server
4. Research the Civilian Tree until Radio Music Communications appears.
5. Spawn a Circuit Imprinter and observer no Radio Host Equipment
Available.
6. Unlock Radio Music Communications.
7. Observe Radio Host Gear now an option.
8. Print and build all pieces of Radio Equipment. Radio Receiver, Tape
Deck, Vinyl Player, Radio Rig and Radio Server.
9. Observe construction graphs working.
10. Spawn in Cargo Request Computer.
11. Observe Vinyls Crate and ADs Crate as purchase options.
12. Spawn a Cargo Telepad and link to the Cargo Request Computer.
13. Spawn in some spesos and add to Cargo Request Computer.
14. Purchase a vinyls and ads crate.
20. Open crates and observe random selection of Vinyls.
### Testing Numbers CD calling in Threat.
1. Spawn in a Vinyl Player.
2. Spawn in CDNumbers.
3. Attempt to insert CD and see it fail to play.
4. Spawn in a Radio Rig and Radio Server.
5. Link three machines together.
6. Insert Numbers CD and observe it playing.
7. Eject the Numbers CD, and spawn in CDNumbersQuickAdmin (CD: Nmbrz)
8. Insert and wait 15 seconds for CD to finish playing.
9. Observe a threat is called via Central Command Announcement and the
CD is destroyed after completion.
### Threat Table Chances for Numbers CD
```
Threat Chances
20% Major Threat
- 8% Lone Op
- 6% Dragon
- 4% Colossus
- 2% Wizard
60% Moderate Threat
- 18% Ninja
- 16% Eeplet
- 12% Rod (8% fast Rod, 4% slow Rod)
- 10% Revenant
- 4% Pirate
20% Minor Threat
- 8% Clown Trio
- 12% Dead Drop
```
## Media (Video/Screenshots)
<!-- Attach media if the PR makes in-game changes (clothing, items,
features, etc). -->
**FULL DEMONSTATION HERE**
https://youtu.be/4D5zqJWV-IY
<img width="1024" height="514" alt="image"
src="https://github.com/user-attachments/assets/c04ed5a3-dee1-4723-adfd-79dd307150f4"
/>
<img width="775" height="618" alt="image"
src="https://github.com/user-attachments/assets/a106cb94-afe8-4898-b924-3908b410986f"
/>
<img width="488" height="224" alt="image"
src="https://github.com/user-attachments/assets/a1c1f6e9-0a35-42a9-8945-68528a563b6c"
/>
## Checks
<!-- check boxes for faster reviewing of your PR -->
- [X] I do not require assistance to complete the PR.
- [X] Before posting/requesting review of a PR, I have verified that the
changes work.
- [X] I have added screenshots/videos of the changes, or this PR does
not change in-game mechanics.
- [X] I affirm that my changes are licensed under the [MIT
License](https://github.com/ss14Starlight/space-station-14/blob/Starlight/LICENSE.TXT)
and grant permission for use in this repository under its conditions.
**Changelog**
:cl: JohnJJohn, Rouden, H20we, loltart
- add: Radio Host equipment has found it's way into the sector.
- add: Syndicate agents can find illegal CDs in their uplinks.1 parent ff5aa75 commit 9bf2770
314 files changed
Lines changed: 4765 additions & 55 deletions
File tree
- Content.Server
- Radio/EntitySystems
- _Goobstation/StationRadio
- Resources
- Audio/_Goobstation/RadioStation
- CDs
- adverts
- misc
- Vinyls
- misc
- music
- KevinMacleod
- PMMusic
- goonstation
- Fart
- mrjajkes
- Locale/en-US
- _Goobstation
- access
- chat/managers
- headsets
- job
- machines
- preferences
- research
- _Starlight/communications
- Prototypes
- Access
- Entities
- Markers/Spawners/Random
- Structures/Machines
- Roles/Jobs
- Command
- _Goobstation
- Access
- Catalog
- Cargo
- Fills
- CDs
- Crates
- RadioHost
- DeviceLink
- Entities
- Clothing/Ears
- Markers/Spawners
- Objects
- Devices
- Circuitboards
- Electronics
- Fun/RadioHost
- Misc
- Structures
- Doors/Airlocks
- Furniture
- Machines
- FaxMachines
- StationRadio
- WallMounts/Signs
- Loadouts
- Jobs/Civilian
- Recipes
- Construction/Graphs/furniture
- Lathes
- Packs
- Research
- Roles
- Jobs/Crew
- StatusEffects
- Voice
- _Moffstation
- _Starlight
- Access
- Entities
- Objects/Devices/Circuitboards/Machine
- Structures/Machines
- Textures
- _Goobstation
- Clothing/Ears/Headsets/radiohost.rsi
- Interface/Misc/job_icons.rsi
- Markers/jobs.rsi
- Objects
- Fun/RadioHost
- cds.rsi
- sleeves.rsi
- vinyl.rsi
- Misc/id_cards.rsi
- Structures
- Furniture/cdrack.rsi
- Machines/StationRadio
- radiostationrig.rsi
- stationradio.rsi
- stationradioserver.rsi
- tapedeck.rsi
- vinylplayer.rsi
- _Starlight/Structures
- Machines/vinylplayer.rsi
- Wallmounts/signs.rsi
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| 36 | + | |
| 37 | + | |
35 | 38 | | |
36 | 39 | | |
37 | 40 | | |
| |||
192 | 195 | | |
193 | 196 | | |
194 | 197 | | |
195 | | - | |
| 198 | + | |
196 | 199 | | |
197 | 200 | | |
198 | 201 | | |
| |||
204 | 207 | | |
205 | 208 | | |
206 | 209 | | |
207 | | - | |
208 | | - | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
209 | 213 | | |
210 | 214 | | |
211 | 215 | | |
| |||
Lines changed: 230 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | | - | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
27 | 44 | | |
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Lines changed: 42 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
Lines changed: 13 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
0 commit comments