Ports (and adjusts) Baystation12/Baystation12#12521 et al. Essentially brings our visualnet code up to the standard of three years ago, rather than five.
Side effects of merging may include but are not limited to loss of AI vision, helmet camera failure, garbage collection implosion, infinite turf loops, and unintended layer shenanigans.
High-level changes:
Overall, visualnet/chunk procs have been renamed and refactored to be clear as to their function.
Fix some layering issues related to magic numbers, these have been set to constants.
Visualnets now track source movement rather than overriding individual mob/obj procs.
Adds obfuscation underlay to complicate memory fudging to remove camera static.
Cameras now only add themselves to the cameranet if they're on open (non-restricted) networks.
Helmet cameras now use cameras themselves rather than network defines.
Adds a sorted object list insertion helper.
The Camera MIU (presently unused) should now function properly.
Unused cultnet / cult mask deleted because refactoring that would likely kill the few brain cells I have left
alert() is a inbuilt byond proc that shows a popup message to the user.
to_chat(alert()) shows the popup message to the user and then prints the result (what button they pressed) into their chat.
Fixes#7122 - basically just makes IsJobAvailable() check for the player's selected alt-title rather than just the main title, so you can late-join as an 18-year-old medical intern again for example
Also first PR apologies in advance
Job age requirements now take into account alt titles. Alt titles are automatically limited to only ones a character is old enough for.
The latejoin screen now shows what alt-title you have selected.
The occupation preferences screen now functions differently if only one alt-title is available, or if the base job is not available.
Tidies up the job age requirement system.
Adds a verb to the IC tab called Change IPC Screen which works pretty much the same way as Tie Hair.
Also found out why I was having trouble earlier with allowing Shells to tie their hair; the proc was looking at species name in the species_allowed lists rather than the bodytype. Just cleaned that up; should work the same way.
Also found a dumby I did from the hair tying update for shells and so they should now have the ability to run self-diagnosis again.
-adds some skrell items to the loadout
-adds an unique jumpsuit to the jargon consular officer
-adds some new skrell markings
-adds a new sprite for a skrell holy book
-adds a new skrell plant
-adds some new skrell related drinks
This PR is depending on #4868 for it's ui framework. This PR mostly makes new SSrecords subsystem responsible for storing records. This should replace old datacore.
Make new SSrecords.
Make things use SSrecords and whole code compile
Made VueUi button <vui-button> to push parameters as JSON, preserving client side data stricture.
Add new records console and admin record management.
I am mostly looking for feedback regarding SSrecords and it's data storage mechanism criticism (It's using lists for storage)
When to_chat gets converted to a proc, then the construct of to_chat(some, link(url)) will no longer work. Or will produce odd results.
As a result, the send_link macro is now created. Replaced existent instances of the previous construct and added a simple grep check for this as well. It won't catch all, probably, but it'll catch the most common instances.
Bug:
Select a faction that's not NT. Wait for round to start. Proceed to join as any job (even locked ones) through the mid round join menu.
Fix:
Add a relevant check to /mob/abstract/new_player/proc/IsJobAvailable(). This is checked both when generating the menu and when actually joining, so href exploiting isn't an issue either.
Intent of this PR: make factions actually matter.
How we're going to do this:
Make factions limit job choices.
Make factions have alternative loadouts that override job uniforms
Make factions be visible in the employment records.
Revert existing faction loadout options or put them behind a preference, in favour of new shit.
Adds tear stains to character setup. They aren't supposed to be colorable, but idk how to do that (do_colouration 0 didn't work in testing). For now, I guess this suffices.
So I noticed that Jump To Mob proc of both observer and admin version is using wrong list, and it does not actually work on any mob because the mob it is looking for is of different format in the list.
Fixes Jump To Mob for Ghost tab and Admin tab.
Makes Jump To Mob use same list as Follow. Which makes it list things like carp(2) or if mob is dead or a ghost.
Renames admin Jump To mob. Making admin panel use admin proc, instead of public.
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;
All << is converted into to_chat().