The logging is now stored in the persistent client/player_details datum,
that will survive an entire round
The existing mob log is retained and a new admin verb is added to access
it. It will only show logs for the mob in question, across all players
who possibly spent time in that mob
A new log type is added that tracks the mobs the player changes across
into and the times they occured, to better help admins manage complex
situations, this also appears in the mob log as a record of the players
who entered/exited control of the mob
* Adds a check to see if the user is a cyborg before referring to the offhand.
* Update twohanded.dm
* actually this is a bit more modular
* Update twohanded.dm
* Update twohanded.dm
* Added multicamera mode for AIs
* Minor multicamera fixes
* Cameras near an AI multicamera eye now light up red
* Disabled AI multicamera mode without admin intervention
* Fixed AIs being able to use multicamera mode when they should not
Robustin says:
The very heart of our overlay code, a single line that basically boiled
down to overlays = new_overlays, was the cause of so much overlay lag.
Human overlay code was by far the biggest culprit. Most objects have 0-2
overlays but humans are marching around with 20+ most of the time and
the current system was spending a LOT of effort comparing 20+ image with
20+ other images and then apparently rendering them all anyway. Human
overlays are at least 10x the cost of any other overlay process and on a
busy server the overlay compiling was 2x the cost of any other system.
I compared the cost of overlay changes by picking up/dropping a PDA in
the dorms 250 times, with a 50% chance to use our current overlay
compiler and a 50% chance to use a "direct addition/removal (+=, -=)
approach:
CURRENT 1120ms 133 (avg:8.4210529327392578)
SCRAPS 6ms 112 (avg:0.0535714291036129)
Now this PR makes our whole overlay subsystem use that approach for
overlay compiling and the early results look incredible. The best part
is this is just the START of improvements. Humans benefits the most
because their icon system was already designed for small, incremental
overlay updates. By moving other code from "Cut everything, then put it
all back" to only updating the necessary overlays (cough, APC's), we can
see similar improvements.
oranges says:
I've picked up this PR because robustin vanished, but I do see the value
in the approach, only things I added were the checks for the overlay
list len changing
I also retabbed the entire file because I am a brainlet and did it
without thinking
Deletes /obj/machinery/thruster.
Changes the density of the following abstract types:
- /obj/machinery/modular_computer
- /obj/machinery/mineral
- /obj/machinery/field
- /obj/machinery/particle_accelerator
- /obj/machinery/abductor
- /obj/machinery/telecomms
* giant dad set
* twop underway
* initial
* initial
* no special armors :((((
* bye twop
* no more special armors
* f
* more removals
* fixes
* normieizing the armors pt1
* ok, finally
* I'M DONE I DID IT
* removals
* this will not compile but next commit in two commits it will
* this will not compile but next commit it will
* it compiles 20 dollars says it compiles
* i am so sorry
* fixes everything, >:(
* *coughs up hairball*
* cobby's suggestion
* pbool'f fhttrfgvba
* OOOOOOOOH YEAAAAAAAH BABY
* quieter
* AH OKAY THERE
* Added an action button to change your entire chameleon outfit at once
* Made chameleon stamps actual chameleon items
Added stamps to bonus chameleon items on outfits that should have them
Made clothing work with hooded suits
(THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN) [New sprite!]
* file
the boy
asdh
beacon overlays
first pass complete bring out the drinks boys
fixes!
fixes!
whups fix name
speed
makes coffin a crate to prevent runtimes
sprite fuckup:the musical
whups more fixes
why tf was screengen modified???
TO THE FILE
devices
changes things
p[omf pomf
uhg
alright fuk it
issue fix pt 1
in which i make merge conflicts my bitch
by fixing devices.dmi and tgui.js
oh shit
forgot about the items repath
hm
nah
merge conflict a
then all ya gotta do is whip
* shiv review me code reeeeeeeeeeeeeeee
* rebase conflict
* anturk
* asdf
* wooooeeeeeeh makin bacon
* dont forget about lil old me
* id like to give a shoutout, to my man spacemaniac. on the soul plane. rip in peice, my bugs. rip in peice
* spacy man what is ur spacy plan
* 1st
* 2nd
* organization also a thing
* so i figured out why defines didnt work sometimes across files. this fixes the last issue rn
* forgot to cop the commit
* fuck how am i so stupid
* adds comments and agrees with spacemaniac
* asdfghjk
The component is initialized with any combination of three flags, EMP_PROTECT_SELF protects against effects that target the object itself, EMP_PROTECT_WIRES protects against wires being messed with similar to the NO_EMP_WIRES_1 flag which this PR removes, EMP_PROTECT_CONTENTS protects against things that are inside the object like organs, internal "non-virtual" power cells and the like
This enables (but doesn't introduce) new mechanics such as adding EMP shielding at runtime to any atom, or taking it away.