* Add a proc for getting the station center
* Add a couple of comments to ZTRAIT defines
* Remove unused global_map list
* Refactor weather to use the trait system
* Un-hardcode the transit z-level
* Use Z traits to determine Portal Storm event areas
* Fix loading away missions containing anything that reads traits
* Add basic structure of z-level traits
* Restore space transitions and add z-level debug verb
* Restore proper ruin spawning and transit level creation
* Replace station_z_levels and related checks with traits
* Eliminate more uses of ZLEVEL_{STATION_PRIMARY,LAVALAND}
* Starting on the rework
* Reworks the Ark
* Work on Reebe
* More Ark stuff
* this too
* Removes ark silliness, remaps Reebe a tad
* Spawning mechanics
* Work on gamemode code
* Finishes up ark stuff
* Removes Judgement, and lots of other changes
* New Ark activation sounds, Ratvar text
* Spawn protection!
* Adds the abscondence bijou
* Bijou stuff
* well, this is it
* somewhat absentminded coder
* Remaps the Reebe z
* replica fabricators now work!
* Guide paper!
* Now they're clockwork floors
* Infirmary, tweaks, numbers
* A new thing!
* this is ok for now
* I was gonna whine but it's actually necessary
* Adds damage scaling to ocular wardens
* I missed a thing
* you can go back too
* New clockwork armor sprites
* Weapons, scripture, oh my!
* no! shoo!
* hey, I forgot about you!
* this looks much better, I'll give you that
* no teleporting into the void!
* we have no need of you anymore
* Conflicteroos
* AUTOMATIC SPINNING CHAIRS
* how many times do we have to teach you this LESSON OLD MAN
* flagged!
* last time, meesa promise
* Conflicts 1
* wood filling
* Kindle is a projectile, and other stuff
* Chameleon jumpsuit, some small changes
* 150 hours of testing
* Curious is the trapmaker's art
* Conflicts 1
* naaah
* Fixes an ark sound
* Removes the prolonging prism
* Adds a delay to warping in
* First steps towards changing the power system
* Removes power from sigils, moves to global
* Conflicts 1
* zoom zoom
* Adds the stargazer, re-adds conversion
* conflicts? more like CLOCK-flicts
* get it? clockflicts?
* Daemon tuning
* Scraps components, 1/?
* A grace period, among other things
* You can't get to reebe from space no stop bad
* Adds some cogscarab shells to Reebe - yes, I get the sounds
* FUCK
* Chairs are very important.
* Clock golems, sound improvement, intercoms
* Sounds, floor fixes, conflicts
* Fixes the conflicts
* Prevents intercom use during non-clock rounds
* Wiki, HUD timer, tweaks, golems
* Components, removes unused structures, rep. fab power
* go-time
* Ending the round is not a good idea
* whoops, forgot about you
* ssh is ok
* this works too
* Makes Station Z Levels a global list
* Things didnt get committed
* Define
* Removes files
* Fix mind.dm
* Wrong list name
* (
* Fixes rev checks and signpost
* Makes it actually compile
* Signpost fix
* I hate these sign posts
* Never use the web editor
* Adds new debug verb for highlighting roundstart ATs
Debug -> Debug Verbs enable
then
Mapping -> Show roundstart AT markers
Will highlight AT turfs, for easier location and comprehension rather
than looking at the list of coords. List of coords still works fine
though.
* Add the system for managed global variables
* Travis ban old globals
* So you CAN inline proccall, that's neat
* Fix that
* master.dm
* Remove the hack procs
* Move InitGlobals to the proper spot
* configuration.dm
* Fix the missing pre-slash
* clockcult.dm
* This is probably for the best
* Doy
* Fix shit
* Rest of the DEFINES tree
* Fix
* Use global. for access
* Update find_references_in_globals
Always hated that proc
Whoever made it must've bee a r e a l idiot...
* __HELPERS tree
* Move global initialization to master.
Fix the declaration
* database.dm
* Dat newline
* I said DECLARATIVE order!
* Here's something you can chew on @Iamgoofball
* game_modes.dm
* Fix this
* genetics.dm
* flavor_misc.dm
* More stuff
* Do it mso's way. Keep the controllers as global
* Make master actually see it
* Fix
* Finish _globalvars/lists
* Finish the rest of the _globalvars tree
* This is weird
* Migrate the controllers
* SLOTH -> GLOB
* Lighting globals
* round_start_time -> ticker
* PAI card list -> pai SS
* record_id_num -> static
* Diseases list -> SSdisease
* More disease globals to the SS
* More disease stuff
* Emote list
* Better and better
* Bluh
* So much stuff
* Ahh
* Wires
* dview
* station_areas
* Teleportlocs
* blood_splatter_icons
* Stuff and such
* More stuff
* RAD IO
* More stuff and such
* Blob shit
* Changeling stuff
* Add "Balance" to changelogs
* Balance for changelog compiler + Auto Tagging
* Update the PR template
* hivemind_bank
* Bip
* sacrificed
* Good shit
* Better define
* More cult shit
* Devil shit
* Gang shit
* > borers
Fix shit
* Rename the define
* Nuke
* Objectives
* Sandbox
* Multiverse sword
* Announce systems
* Stuff and such
* TC con
* Airlock
* doppllllerrrrrr
* holopads
* Shut up byond you inconsistent fuck
* Sneaky fuck
* Burp
* Bip
* Fixnshit
* Port without regard
* askdlfjs;
* asdfjasoidojfi
* Protected globals and more
* SO MANY
* ajsimkvahsaoisd
* akfdsiaopwimfeoiwafaw
* gsdfigjosidjfgiosdg
* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!
* facerolll
* ASDFASDFASDF
* Removes the unused parts of dmm_suite
* WIP
* Fix quote
* asdfjauwfnkjs
* afwlunhskjfda
* asfjlaiwuefhaf
* SO CLOSE
* wwwweeeeeewwwww
* agdgmoewranwg
* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?
* Fix syntax errors
* 100 errors
* Another 100
* So many...
* Ugh
* More shit
* kilme
* Stuuuuuufffff
* ajrgmrlshio;djfa;sdkl
* jkbhkhjbmjvjmh
* soi soi soi
* butt
* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING
* lllllllllllllllllllllllllllllllllllllllllll
* afsdijfiawhnflnjhnwsdfs
* yugykihlugk,kj
* time to go
* STUFFF!!!
* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!
* ngoaijdjlfkamsdlkf
* Break time
* aufjsdklfalsjfi
* CONTROL KAY AND PRAY
* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* Goteem
* Fix testing mode
* This does not belong in this PR
* Convert it to a controller
* Eh, fuck this option
* Revert controllerization Ill do it some other time
* Fix
* Working controllerization
* FOR THE LOVE OF CHRIST PROTECT THE LOGS
* Protect admins and deadmins
* Use the inbuilt proc
* Reorganize the mapping code
* Finish this up
* Reee line endings
* FUCKING LINE ENDINGS
* LINARU ENDARU
* >PLS SET REPO LINE ENDINGS
* Comments
* Hoisted by my own travis.yml changes
🆑 coiax
rscdel: Bluespace shelter capsules can no longer be used on shuttles.
rscadd: Bluespace shelters may have different capsules stored. View what
your capsule has inside by examining it.
/🆑
* Initial start of lavaland ruin budget system
Weights are dumb, we're gonna use BUDGETS!
To be clear, each round, there will be a budget for ruins.
HERE IS A ROUGH APPROXIMATION OF THE AIMED PROCESS
- Pick a ruin
- Can we afford it? If not, start again.
- Try a bunch of times to place it.
- Did we place it? Good, then reduce our budget accordingly
Does this look a little like syndicate surplus crates? That's the point.
* Subclassery
* Budget based ruin loader is GO
* Cryostasis (with a s)
* Adjusted costs, added no-duplication
* No dupes on the major ruins
* Deleted files, budget is config
* Corrected description
* Fixed ruins failing to load, duplication
* The zoo goldgrub will no longer burrow away
* Space descriptions and names
* No more weird Xenonest loops, should be all good
* Adjusted costs based on feedback
* Added a simple bar-theme escape shuttle
Features include a very tough Bardrone, with laws to be a good
bartender, bathroom, a quality lounge for the heads, and a small
gambling table.
* Changed drone's health to 3000
Bardrone is now strong, to cope from stray gunfire.
* Replaces banned variables with alternates
Step_[xy] is bad, mkay?
* Added STV5, the cramped transport shuttle
Well, looks like Centcom only had this ship ready for evacuation. I hope
you're friendly with your coworkers!
* Removed shuttle area from empty space on STV5
* Added cult shuttle
Looks like this automated shuttle may have wandered into the darkness
between the stars on route to the station. Let's not think too hard
about where all the bodies came from.
* Include the Narnar Shuttle
* Meat ferry added
Very basic, could probably use some love from a map wizard.
* Moved shuttle files to shuttles/ directory
* MAPS MOVED AND RENAMED
* Hyperfractal Gigashuttle
"I dunno, this seems kinda needlessly complicated."
"This shuttle has very a very high safety record, according to Centcom
Officer Cadet Yins."
"Are you sure?"
"Yes, it has a safety record of N-A-N, which is apparently larger than
100%."
* I REGRET ADDING THESE
* Into templates you go
* Changed floors
* Hugbox supermatter, for map making
* Shuttles KINDA delete themselves
* Hats in hats in hats in hats in hats
* Use the hugbox supermatter in the shuttle
* Include the new verbs
* Include our new verbs
* Fixed runtime when deleting emergency shuttle
* Added to verb list
* Fixes more runtimes with deleting the shuttle
* Shuttle Destroy verb now functions
* Moved them out of the shuttles/ folder
* We'll need these docks later
* shuttle_import landmark datum made
* Changes z2 to TGM format and adds shuttle_import landmark
* SHUTTLE IMPORT VERB
Is this it? Are we there?
* Some compile fixes
* Emergency bar map updated
* Updated cramped shuttle
* Updated narnar shuttle
* Supermatter shuttle updated
* Meat ferry updated
* Debugging information included
* Debug code, QDEL hints
* Minor updates to collection of maps
* May as well use the snowflake drone code
PICK YOUR OWN BARKEEPING HAT.
* The Lighthouse
*static*... part of a much larger vessel, possibly military in origin.
The weapon markings aren't anything we've seen ... *static* ... by
almost never the same person twice, possible use of unknown storage ...
*static* ... seeing ERT officers onboard, but no missions are on file
for ... *static* ... *static* ... *annoying jingle* ... only at The
LIGHTHOUSE! Fulfilling needs you didn't even know you had. We've got
EVERYTHING, and something else!
* Made supermatter hallucination too powerful
* Added force argument for docking testing
* Added emergency backup shuttle
Hopefully it will never be seen or used. But means that provided it's
there and untouched, even with the accidental deletion of a shuttle,
round will still be able to end as normal.
* Added templates for existing shuttles
* Backup shuttle used if emergency shuttle deleted
* Added backup shuttle transit space
Don't know why transit spaces aren't dynamically generated, to be
honest.
* Hyperfractal Gigashuttle improved
More radiation lockers, chairs which makes it "safer".
* Added Shuttle Under Construction
The documentation hasn't been finished yet for this shuttle. Break glass
in case of emergency.
* Added warnings for shuttle interaction
ARE YOU SURE YOU WANT TO DELETE THE EMERGENCY SHUTTLE?
I mean, I really don't know what will happen, and it's probably
nothing good.
* Snappop(tm)!
Hey kids and grownups! Are you bored of DULL and TEDIOUS shuttle
journeys after you're evacuating for probably BORING reasons. Well then
order the Snappop today! We've got fun activities for everyone, an all
access cockpit, and no boring security brig! Boo! Play dress up with
your friends! Collect all the bedsheets before your neighbour does so!
Check if the AI is watching you with our patent pending "Peeping Tom AI
Multitool Detector" or PEEEEEETUR for short. Have a fun ride!
* Fixed horrific experiment icon, added gambling spawner
* Candle changes
Infinite candles start fires but don't run out.
Infinite candles don't make messages when created.
* Shuttle can dock if already docked
* Fixing bugs with shuttle import
Also, some minor bugs with hugbox supermatter still consuming
gas moles and slowly depressurising the area.
* Admin notice, unload bad template
* Fixes problems with some shuttles
* Warning message if roundstart dock failed
* Compiles.
* Inform admins of shuttle problems
* Names for shuttles, minor tweaks
* Moved shuttle templates to shuttles/
* Version numbers are lame
* Shuttle datums
* Shuttle manipulator barebones
It doesn't do anything at the moment.
* Added shuttle manipulator to Z2
It still doesn't do anything yet, but it looks pretty.
* Use GetAllContents(), don't delete ghosts
* Fixes bug where nothing would actually load
* Cancel button on Destroy Shuttle
* Fixed birdboat shuttle overwriting bar shuttle
Misc:
+Fixes unreported issue with initializing lighting on a specific zlevel
+Fixes two similar issues with moveElement and moveRange. Where fromIndex or toIndex could be adjusted incorrectly in certain conditions. Potentially causing bad-sorts, or out of bound errors.
+Rewrites listclearnulls(list/L) to no longer iterate through L.len elements for every null in the list (plus 1). i.e. went from L.len*(number_of_nulls+1) list-element reads (best-case), to L.len list-element reads (worst-case)
+New proc/getElementByVar(list/L, varname, value) which finds the first datum in a list, with a variable named varname, which equals value. You can also feed it atoms instead of lists due to the way the in operator functions.
+Fixes an unreported issue with Yota's list2text rewrite. Under certain conditions, the first element would not be converted into a string. Causing type-mismatch runtimes.
+New global map_ready variable. This is not fully implemented yet, but will be used to avoid duplicate calls to initialize() for map objects.
+All turfs now maintain references to all lights currently illuminating them. This will mean higher memory use unfortunately, due to the huge number of turfs. However, it will speed up updateAffectingLights significantly. I've used list husbandry to reduce baseline memory usage, so it shouldn't be any worse than some past atmos modifications memory-wise.
-Removed 'quadratic lighting', can add this back at some point. Sorry.
+modified the way lum() works slightly, to allow turfs to have overridden delta-lumen. i.e. space cannot be illuminated more than its default ambiance. This allowed removal of some iffy special-snowflake lighting areas implemented by somebody else.
+Lighting images in the dmi can now use arbitrary naming schemes. It is reliant on order now. This allows the dmi to be replaced by simply dropping in a new dmi.
-Removed all subtypes of /area/shuttle. Shuttles now create duplicate 'rooms' of /area/shuttle. (More on this later). This will conflict with most maps. Guide on how to fix to follow.
+All verbs/tools relating to world.tick_lag were refactored to use world.fps. However old config text for setting tick_lag will still work (it converts the value to fps for you)
+MC stats improved using smoothing. They now have their own tab so they dont get in the way when you're playing as an admin.
-removed the push_mob_back stuff due to conflicting changes. Sorry Giacom.
_OK, NOW THE ACTUAL INTERESTING STUFF_
Following systems moved over to subsystem datums:
air_master
garbage_manager
lighting_controller
process_mobs (aka Life())
nanomanager
power
sun
pipenets
AFK kick loops
shuttle_controller (aka emergency shuttle/pods), supply_shuttle and other shuttles
voting
bots
radio
diseases
events
jobs
objects
ticker
Subsystems hooks and variables should be commented fairly in-depth. If anything isn't particularly clear, please make an issue.
Many system-specific global variables have been refactored into
All tickers which previously used world.timeofday now use world.time
some subsystems can iterate before round start. this resolves the issue with votes not working pregame
Meta/Mini should add empty z.7 at some point after this pull is committed, I would have done so myself but it didn't play nice with mapmerge so I decided against it.
The layout of the accessible z levels in relation to each other are now lain out in a massive preshuffled SPACECUBE. Every Z-level is no more than two screens from every other Z-level, and can be moved through in a predictable order* with a little ingenuity
*Except z.6
See pull for the full details
-Pressing this button will spawn up to 5 death commandos on centcom with a customizable objective
-Added a shuttle console to the ferry that, rather than moving the shuttle, will send a request to admins instead
-Deathsquaddies get an energy shield
-Deathsquad beret will no longer hide head, face, and hair
Intended for high-population servers
Open security officer positions scale with population, between 5 slots at ~40 players to 12 slots at ~96 players
Default coefficient is 8, but may be modified (or disabled) in the config.
Extra lockers will spawn if there aren't enough lockers.
Moves the constants from defines and compile_options files into the __DEFINES directory. The compile options in the latter file that are actually tweakable remain in their existing file in the code directory.
Constants from DEFINES.dm, globals.dm, names.dm, and global_lists.dm have been moved into the _globalvars subdirectory.
stylesheet.dm has been moved into the interface directory since that's a better place for it.
This move contains no code changes for stock TG. It is purely an organizational move meant to clean up hard to read code.
Some global constants that appear to be unused have been put into unused.dm, but not unticked. This list is by no means exhaustive.
Branches should be aware that they need to move any additional defines and global constants manually.