changes:
rscadd: "Ported a new chat system, Goonchat, that allows for cool things like changing font style, size, spacing, highlighting up to 5 strings in the chat, and DARK MODE."
rscadd: "Repeated chat messages can now get compacted. You can disable this in goonchat settings."
rscadd: "You can change icon style to any font on your system."
tweak: "The game window has been altered a bit to adjust for this."
rscdel: "Removed skin style prefs as they are no longer used."
update_icons(), UpdateIcon() and updateicon() are now changed to be update_icon().
Many interactions expect a target to have an update_icon(), so they should all be the same.
Also fixed some stuff that was using relative pathing, along the way.
* Ports a psionic system from Bay.
* Rip out this shitcode.
* shitcoden't
* fixes
* it should work fully now
* Admin fixes
* Remove todos
* remove todos part 2
* Removes psi-armour. We don't need this for now.
* Skrell are now operants. Tweaks coercion.
* Adds thralls.
* Temp removal of psiarmour. Fixes psigrabs.
* Thrall assay.
* fixes
* More fixes
* unused define cleanup
* Log and powers
* Skrell powers are done.
* Update code/modules/psionics/events/mini_spasm.dm
Co-Authored-By: Geeves <ggrobler447@gmail.com>
* Update code/modules/psionics/events/mini_spasm.dm
Co-Authored-By: Geeves <ggrobler447@gmail.com>
* Update code/modules/psionics/equipment/cerebro_enhancers.dm
* did this work???
* jargon
* arrow's fixes
Co-authored-by: Geeves <ggrobler447@gmail.com>
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().
- Show Player panel was reworked to just have a sing "Select Species" button that includes all species in species datum.
- AI is added as an option of transformation
- Developers are granted access to Game Panel - (used only for Create object/mob/tur)
DreamDaemon leaks memory between restarts, which might exacerbate us potentially running out of memory. This allows us to reboot the server every n rounds.
Also refactors the way we handle things that should be saved inbetween rounds. Like gamemode and the restart counter.
Create Object now populates list of objects instantly. Compared to original 3-4 seconds of freezes.
Quick Create Object was removed due to regular being extremely fast.
Newscaster stories can now be multiple lines long and contain pencode formatting.
You can now post and view comments on individual newscaster stories.
Newscaster stories have slightly neater styling.
You can now like and dislike newscaster stories, and these are tracked per-story.
Journalists are now their own role, with a Security Correspondent alt-title.
The merchandise store (when has it ever been used?) has been replaced with a journalist's office.
The journalist has a pet spiderling in a jar, named Peter. He's harmless. Probably.
Converts the news network into a subsystem
Loads news from a database at the start of the round
No longer ties the PDAs to the tcoms system to access the news (which was broken anyway)
Removes the trivial news event
Adds the already existing virology / xenobiology containment events to the rotation
Adds some features and fixes some shit:
Closing of tickets sent to Discord will now alert discord as well.
Adds a reminder period for tickets which starts after they're opened. It's intended to remind staff to close their tickets. Say, something like 10 minutes since opening sounds like a solid idea. If the staff who claimed it is offline, then all staff are reminded of it.
Adds the logging of all tickets to the database at the end of round. Sortable by staff closing, person opening, time opened, time closed, and round ID. This is primarily for Aboshehab.
A user ahelping creates a ticket. Any further ahelps while that ticket is open will go to that ticket (and either adminhelp or pm an admin assigned to the ticket, if one has taken it).
A user can close their own ticket up until an admin takes it.
Admins can take tickets either manually or just by replying to the PM.
An admin taking a ticket notifies other admins.
If another admin attempts to take or respond to an assigned ticket, they receive a notification asking if they would like to join the ticket or cancel (any number of admins can join a ticket).
When an admin finishes with a ticket, they must close it -- both for logistics and closure for the user.
If there is an open ticket assigned to an active admin, round end is automatically delayed (unassigned tickets or tickets assigned to disconnected or afk admins do not delay). Round end will automatically continue once all active tickets are closed.
Both staff and non-staff have access to a ticket panel listing tickets, their statuses, and their messages. Non-staff can only see their own tickets. This panel is optional and all features are available inline with chat.
* Repaths eyes, observers, dview, and new_players to /mob/abstract subtypes.
* Adds /mob/abstract, a base type for 'abstract' mobs that aren't meant to be directly affected by the game world.
Adds ability to get server updates to Discord using webhook API, instead of complicated bot API. Simple config options make it a breeze to add / remove linked channels.
Adds sounds for opening lockers, going down ladders, turning on your internals, removing and placing extinguishers in the cabinet, sounds for bone breaking and sound to the bsa.
changes:
Replaces a lot of in-world loops with more specific lists.
Recipes are now copied in SSmachinery/Recover()
Fixed bad sorting on all_areas list.
Added skeleton Destroy() to SMESes as they did not have one and are failing to GC.
Seems to shorten SSatoms init a bit, maybe from removal of in-world in MULEs?
Implements mixed secret as a gamemode. It's another snowflake mode which taps into more snowflake functions. :ree:
Went over all references to "secret" and swapped them for a macro where applicable. SSticker.hide_mode now holds a reference to which type of secret was picked. "random" gamemode will now pick from both secret lists for added randomness!
Implementation of https://forums.aurorastation.org/viewtopic.php?f=18&t=8253
Features:
Removal of BOREALIS (python module) as it's not used.
Removes ToR ban feature in lieu of IPIntel.
New BOREALIS config to alert staff if server starts as hidden.
Adminhelps now inform admins on discord if dibsed (when they were sent to discord anyways).
Adds hub visibility to the server access control panel.
Adds mirror ban spotting via ban panel. It now redirects to the linked ban if one is found.
CCIAA now get alerted as to how many of them are online and active when receiving faxes and emergency messages via Discord.
Removed unused C/C++ libraries. The socket_talk module is a generic UDP shipper, of which Arrow implemented a better version. lib nudge is not even compiled for use. lib_nudge module is uncompiled and no longer used, as we use cURL for the bot.
Removed depracted APIs and config settings related to the previous point.
Whitelisted jobs now appear properly in the job selection window as [WHITELISTED].
Job ban reasons can now be viewed from player preferences window.
Await admin approval for final CCIAA requests and implement. RIP CCIAA.
Fix age bans for jobs and antags (dynamic ones, ofc).
Implement https://forums.aurorastation.org/viewtopic.php?f=18&t=8283
What it says on the tin.
IPIntel and BYOND account age relating panic bunker settings from TG. Also implements methods for potentially tagging VM users. Ontop of all of this, creates a spiffy UI for admins with R_SERVER to adjust the settings of the entire suite at runtime.
Current jobban system:
Jobbans stored as plain text and require a for loop to go through and search for specific ones.
Fiddly as shit, because, again, stored as plain text and not quickly break-up-able.
butts
No temporary jobbans on the old file system.
No centralized API to handle jobbanning. Jobbans have to be ran through separate procs in case of the MySQL system being used.
New jobban system:
Associated lists to store bans. This allows key based accessing and validation of a ban. Much faster than for-looping twice to compare text.
Associated lists saved to the ban file. Pretty good stuff that this works.
Temporary jobbans for file system. Bans which are expired are removed right as they're checked.
Binding of the MySQL procs with the old jobban API. More centralized design. (Less, "Oh god, I forgot to save this to the DB!")
Instant effect on unbans. As opposed to waiting 1 round for it to take effect.
Removal of dormant code.
Converts the job controller into a subsystem, including absolute paths. Also cleans up some mob despawn code.
changes:
The job master is now a subsystem. Job init moved out of EMI.
Custom loadout now properly overrides job equipment on spawn.
Odin despawn timers are now deleted on arrival shuttle launch.
Cryogenic storage despawn is now handled by the job controller.
Backpack equipping has been fully moved to equip_backpack().
equip_backpack() will now equip departmental backpacks.
Job backpack selection is now set via. vars instead of overriding a proc.
Fixes#2180.