18 Commits

Author SHA1 Message Date
Matt Atlas b5314566d5 Adds Round Canonicity to the game, and makes Storytellers able to edit round canonicity. (#22775)
To clear up when a round is canon, what type of canonicity it is and
what exactly it entails, canonicity information has been added to the
game. Through the Canon Panel, players can now see what exactly the
current round's rules on character deaths, antags, and character
interactions are. Additionally, this lets developers actually know
_when_ exactly a round is canon, which will be very useful for
persistence.

Storytellers and admins can change the canonicity of the round in the
panel as well.

Some examples:
<img width="400" height="600" alt="image"
src="https://github.com/user-attachments/assets/e71d2b18-0741-4bc0-aa98-979bb696d8a6"
/>
<img width="400" height="600" alt="image"
src="https://github.com/user-attachments/assets/29486039-7625-4443-af2e-3ac982727e5c"
/>
<img width="400" height="600" alt="image"
src="https://github.com/user-attachments/assets/7522f5f0-4d4e-4bae-906e-2b07067af3a5"
/>

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
2026-07-04 22:31:07 +00:00
sentry[bot] 32fbb7d965 Fix statpanel obj_window null dereference (#22538)
* Please describe the intent of your changes in a clear fashion.
This PR addresses SERVER-PROD-75, where the `set_turf_examine_tab` and
`return_object_images` procs in the statpanels subsystem would crash due
to attempting to access `client.obj_window.atoms_to_show` when
`client.obj_window` was null.

The root cause was a lifecycle desync: `client.obj_window` is primarily
initialized within `/mob/set_listed_turf` and can be explicitly nulled
by `/datum/object_window_info/Destroy()`. However, the statpanels
subsystem would still attempt to update the turf examine tab if
`mob.listed_turf` was set, even if `client.obj_window` had become null
(e.g., after a mob transfer, relogin, or `obj_window` destruction
without a subsequent `set_listed_turf` call).

The fix involves lazy-initializing `client.obj_window` within both
`set_turf_examine_tab` and `return_object_images`. This ensures that
`client.obj_window` is always a valid `/datum/object_window_info`
instance before its properties are accessed, preventing the null
dereference crash.
* Please make sure that, in the case of mapping changes, you include
images of these changes in the PR's description.
* Please make sure to mark your PR as wip or review required by making a
comment with !wip or !review required
* If you include sprites/sounds/... (assets) that you have not created
yourself specify the license and original author below.
* Ensure that you also credit them in the appropriate location /
changelog as specified in the contributor guidelines

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| icons/example.dmi | ExamplePerson (Example Station) | CC0 |


Fixes SERVER-PROD-75

---------

Co-authored-by: sentry[bot] <39604003+sentry[bot]@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-06-01 10:35:21 +00:00
SleepyGemmy 343b831ffc Spawn Blurb and Status Fixes (#22373)
fixes an extra comma in the spawn date and time blurb and the month
number in the status tab not being prefixed correctly.
2026-04-28 23:44:47 +00:00
Fluffy 7265630dde Turn more unmanaged global vars into GLOB (#20446)
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.
2025-02-17 23:34:02 +00:00
Matt Atlas 1da20ad33f Adds the Odyssey gamemode. (#18972)
https://forums.aurorastation.org/topic/20198-mission-briefing-auroras-gamemode-revolution

To-do:

- [x] Finish storyteller verbs.
- [x] Storyteller landmarks.
- [x] Proper storyteller spawning. Right now the gamemode system is
happy with just picking one storyteller and no actors.
- [x] Antagonist whitelists code.
- [x] Adding the Storyteller whitelist.
- [x] Mission map loading code.
- [x] Map in a bunch of missions.
- [ ] Storyteller adminhelps.

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: DreamySkrell <>
2024-11-26 20:18:43 +00:00
Matt Atlas c59b7fa6d4 Re-adds the MOTD and adds mechanical support for ports of call. (#18570)
* Re-adds the message of the day.

* Re-adds the MOTD and adds mechanical support for ports of call.

* sddsds

* Destroy it all!

* incorrect info

* grammar and shit

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-03-06 23:06:45 +00:00
Fluffy 2e5b9a9a42 Updated vote subsystem (#18563)
* sadf

* toworld_count

* fix voting for normal users

* jhkjhb

* gdsfgds

* sdaf
2024-03-06 07:10:41 +00:00
Fluffy a483708104 sdfaasd (#18411) 2024-02-18 00:40:01 +00:00
Fluffy 25dc248979 Updated statpanel and added client pings (#18337)
* SSatlas.current_map

* hardsuit spell tab appears to clear correctly

* sdfsa

* from the moment i understood the weakness of my flesh, it disgusted me

* sdf
2024-02-08 12:29:42 +00:00
Fluffy e867030c2e Update MC (#18112)
* sdf

* fsda

* fuck

* fuck2

* toolz

* sdaf

* sdfa

* saf

* sdfa

* sdfa

* sdf

* sdfa

* temp rename

* temp rename

* temp rename

* sdaf

* the pain is immensurable in the land of byond

* the curse of rah

* safd

* sadf

* sadf

* gf

* asf

* fssdfa

* sfd

* sadf

* sfda

* brah

* brah

* it's easier for you to fix this

* ffs

* brah

* brah
2024-01-06 17:03:57 +01:00
Matt Atlas cadd19beac Ports the TG globals controller and converts globals. (#18057)
* SDQL2 update

* fix that verb

* cl

* fix that

* toworld

* this is pointless

* update info

* siiiiick..

* vv edit update

* fix that

* fix editing vars

* fix VV

* Port the /TG/ globals controller.

* part 1

* part 2

* oops

* part 3

* Hollow Purple

* sadas

* bsbsdb

* muda na agaki ta

* ids 1-15

* 16-31

* 41-75

* bring me back to how things used to be before i lost it all

* the strength of mayhem

* final touches

* cl

* protect some vars

* update sdql2 to use glob

* stuff?

* forgot that is not defined there

* whoops

* observ

* but it never gets better

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-12-26 01:16:02 +00:00
Matt Atlas 23c0fd7b4f Autolathe and wires panel TGUI, autolathe queueing. (#17978)
* autolathe 1

* FUCK MY LIFE

* more fixes

* autolathe queueing

* cl

* garbage collection

* wire fixes

* some final tweaks

* on second thought this might be annoying

* fix that

* whoopsies

* that didn't work for shit

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-12-21 11:40:49 +00:00
Fluffy 4e8f281e25 saf (#17914) 2023-12-09 13:01:56 +00:00
Matt Atlas baeb7c6afd Updates subsystem definitions to new standards. (#17470)
* My heart is dragging me down into...

...oblivion!

* drifting closer to the edge but she won't have me

* ever round me we are dead before we meet her

* for the last time

* wake up in sweat

* n

* fff

* uff

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-10-01 14:24:40 +00:00
Fluffy 58809cce5b Align our MC / Subsystems more towards TG's, fix AFK message during init (#16635)
* the death of aurora

* Added changelog

* Now with the correct author
2023-07-08 10:14:46 +00:00
Fluffy aa7e83245c Show lobby and partial info during server init (#16607)
* change+changelog

* CI fix attempt
2023-07-03 17:18:53 +00:00
Matt Atlas 025b6e66d5 Fixes most tgui bugs (#16539)
* Fixes most tgui bugs

* the soul longs for oblivion

* skin fix

* hardsuit fix

* b

* the final fixes (for now)

* bb

* fix keys

* cl

* fuck off

* i'm alone i'm alone i'm alone

* the heart's whisper

* fffss

* je cherche la vérité tout en l'évitant

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-06-26 15:36:11 +02:00
Matt Atlas 659752e2ea Removes goonchat, adds TGChat and TG Stat Panels (#16514)
* tgui the beginning

* binaries and the like

* Bring in the last of it

* Example radio UI

* delete example

* NTOS Main Menu, start on manifest, tgui states

* tasks.json

* gunnery ui pt 1

* okay

* fix everything

* scss update

* oops

* manifest gigablast

* downloader part 1

* download prt 2

* NTOSDownloader final

* mfw committing to_worlds

* gunnery console pt2

* i cooked

* targeting (finished)

* one vueui down

* voting ui almost done

* MY MIND FEELS LIKE AN ARCH ENEMYYYY

* voting ui down

* photocopier

* ntos config + download fixes

* photocopier 2

* refactor define

* NTOS client manager + fixes

* fax machine final (it also uses toner now)

* marching forwards... left behind...

* ntnrc part 1

* canister

* add quotes

* portable pumps pt1 + more backgrounds

* oops

* finish the portable pump

* freezers

so I'll keep on pushing forward... you haven't seen the last of me... oooooooh...

* doors ui pt1

* finish doors UI (forgive me wildkins it's a bit of shitcode)

* vitals monitor, make things use labeled lists, new backgrounds

* mais j'envoyé aucun mayday...

* maglock pt1

* pour ça je me suis perdu...

* infrared

* fix that

* prox sensor pt1

* prox sensor

* signaler (this was actually pretty hard)

* atmos control pt1

* atmos control pt1.1

* atmos pt 2

* fuel injector

* multitool UI

* jammer

* list viewer

* APC

* portgen

* targeting console updates + SMES ui

* new themes, shield generator

* supermatter

* Add ore detector and (shitty) NTNet Relay

* orderterminal pt1

* orderterminal pt2

* smartfridge

* Add (air-)tank GUI update ore detector size

* Adds Transfer Valves

* Add AtmoScrubber

* analyzer pt1

* weapons analyzer pt2

* bodyscanner pt1

* bodyscanner pt2

* fix this shitcode

* seed storage

* appearance changer

* appearance changer final

* sleeper pt1

* sleeper

* gps

* vehicles

* chem dispenser

* lily request

* holopad

* tgui modules pt1

* ppanel

* damage menu

* fixes

* im here too now

* follow menu, search bars

* quikpay

* quikpay fixes

* circuit printer

* ppanel

* ppanel updates

* pai

* turret controls (i want to kill myself)

* tweak

* remove the boardgame

* guntracker

* implant tracker

* penal mechs

come close to me, come close to me

* chem codex

* pai radio

* doorjack

* pai directives

* signaler removal, sensors

* ghost spawner

* spawnpoint

* fixes

* teleporter

* one more to the chopping block

* account database

* remove divider

* scanner, atmos

* latejoin ui pt1

* latejoin

* records pt1

* RECORDS UI DONE

* delete interpreter & records

* CHAT FUCKING CLIENT

* data updates

* fix some things

* final UI, log

* basic nanoui fix

* antag panel

* remove vueui

* atm update

* vending update

* warrants, cameras

* ntmonitor

* time comes for all

* preserve this legacy

* bring that back (oops)

* rcon, ui auto update for computer UIs, remove rcon computers

* alarm monitoring (a bit broke and also todo: add custom alarm monitoring programs to a few consoles)

* A LIKE SUPREME

* a

* power monitor

* lights on

* fuck this code, fuck nanoui modules, and fuck nanoui

* LEAVE IT OH SO FAR BEHIND

* fix alarm monitoring for synths

* I SAW IN YOU WHAT LIFE WAS MISSING

* comms console

* idcard and record updates

* turn the light on

* arcade

* pt2

* news browser

* static

* crusher

* f

* COULD I JUST SLEIGH THE GOLD FROM THE BALLS? I'M SO FRUSTRATED OH COULD YOU TELL? IF I HEAR ONE MORE VUEUI OR ONE NANOUI I'M GONNA LOSE IT SO LET ME GOOOOOOOOOOOOOOOOO

* codeowners & suit sensors

* html ui style removal

* make lint happy

* tgchat

* tgpanels pt1

* THE SOUL LONGS FOR OBLIVION!!!!!!!!!!!!!!!!!

* figure out why stat isnt working

* goodbye ping

* shhh

* stat updates

* An oath sworn in scors! Omni vortex lies!

* final almost edits

* fix that

* last skin adjustments

* resist and disorder

* i slowly get up and turn off the noise, already fed up...

* pleaseeeeeeeeeeeeeee

* THE CREDIT LARP IS NECESSARY

* i hold the keys

* RISE UP

* fix that?

* harry's suggestions xoxo

* runtime fix pt2

* You are the only thing that I still care about

* fix runtimes and cl

* whoops

* misc fixes

* fix that too

* adds build workflow

* f

* Update update_tgui.yml

* adds some needed steps

* ATM

* misc fixes and tweaks

* fixes 2

* make newscasters usable and fix use power on freezers

* turret control is clearer

* remove duplicate

* makes some verb tabs work properly

* makes verbs work properly for real

* sans moi

* fixes pt2

* fix the chat unnecessarily reloading

* fixes

* epic

* fixes

* fix missing consoles

---------

Co-authored-by: John Wildkins <john.wildkins@gmail.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: harryob <55142896+harryob@users.noreply.github.com>
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
Co-authored-by: Geeves <ggrobler447@gmail.com>
Co-authored-by: harryob <me@harryob.live>
2023-06-26 02:00:14 +02:00