- Ports TSA Newmalf code.
- Complete overhaul of Malfunction. New modular abilities, 12 of which are in game by default.
- Adds AI hardware. AI may have only one piece and it gives unique boost in certain area (turrets strength, secondary power supply, etc.)
- Adds hardware drivers - these abilities control AI's hardware such as the APU power supply or self destruct explosives.
- Station overtake was changed to "hack all APCs" ability instead. When completed self-destruct is unlocked. Timer for station self destruct increased to 2 minutes. AI may activate/deactivate the self destruct at will.
Please bear in mind this is only INITIAL COMMIT. More commits are to follow. Minimal player count is now set to 1 but will be 2 when finished.
Ghosts can now toggle darkness and seeing ghostly things independently.
Includes some extra work to allow observers to see AI eyes while (mostly) preventing cultists from doing the same.
Also defines new (see_)invisibility levels for the AI eye, to ensure that cultists visiting the other side cannot suddenly see it while still allowing observers to.
Uses a black and white version of the face hologram as placeholder.
It is a ghost-time preference that doesn't get saved. Admins see anonymous ghosts with a * next to their key. People talking in dead bodies are now always seen only with the name of their body (admins see their keys with a ^).
This should have little/no gameplay effect right now, just paving the
way for directional lights.
Replaced handle_rotation() on buckly things with this.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
This is mainly for wizard and cult rounds, where it is important to know that a wizard/cultist is watching. The announcement was added for most other types of leaving/joining the ghost realm. Admin ghost doesn't get announced for obvious reasons.
Borrows /tg/ html stripping code.
Ghosts are the first to be given this boon, they now have to deliberately emote things like "Spooky man and it#36&;s friends type crap".
Ghosts which have been made visible by cultists can afterward turn themselves (in)visible at will, with a cooldown before being able to turn themselves visible after having faded from sight.
New turf proc: assume_gas(). Maps to air.adjust_gas_temp().
Lots of optimizations to processing, fire, lighting, HasEntered() and
more.
Zones now process all fire data and existance in one go, fire objects
only handle spreading.
Most code has been ported straight so some of it mightn't be ideally
structured for the new gas_mixtures.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Created a helper proc /proc/is_mentor(client) use this when determining if someone is a mentor and they aren't the usr of the proc (rights_check uses usr)
Mentors will no longer hear ghosts while playing
Mentors will no longer see orange text around names in check_player_age panel if they have special_roles
Mentors will no longer be able to tell players with special roles through the use of player_panel
Mentors will no longer be able to aghost, use antagHUD, then return to their bodies.
Tracking added for AI's and Observers
Instead of calling GetVoice() over and over for everyone that can hear you we're checking a variable that is updated with Life()
removed a bunch of my debug verbs.
Before: Every tick each HUD item would recalculate and redo images for every mob in view. For items like the secHUD where we're transversing implants and the various records this gets very expensive.
After: Mobs use their hud_list variable to store varius huditem images, when conditions change for those specific huditem images it updates the specific ones on demand. As a backup every 30 ticks or so the mob will update all of their hud_list.
Also: moved proc/RoundHealth() from 2 seperate locations into __HELPERS/mobs.dm
If antagHUD respawn restrictions are enabled, players will no longer be able
to use the "become mouse" verb if they have enabled their antagHUD's.
Observers were able to use antagHUD then become mice and die resetting their "has_used_antagHUD" variable allowing them to respawn bypassing the restrictions by becoming a mouse as well as respawning later.