Now all turfs work with this feature. (shuttle shitty turfs didn't because they were not part of /floor)
Added a check on Move_Pulled() to see if the pulled atom is on a turf. This will stop the sleeper exploit and others.
-Added logging for admins editing objectives
-Added logging for admins adding new antagonists
-Changed the antag role assignment buttons to something more appropriate for the game modes. Will now tell you if someone is loyal (implanted).
-Added a isloyal() proc to check if a mob is loyalty implanted.
-Made the headrev message more noticeable
Resolves an issue where whitespace in names could cause a saveslot button to wrap to the next line.
Byond members:
can colour their name using the admin ooc-colour feature.
get a icon next to their name in ooc chat.
can choose their icon_state as a ghost.
get 8 saveslots
unlock_content tracks the return of IsByondMember(). This is to allow for easier testing/debug.
/turf/simulated/proc/update_air_properties()
- Changed border lists to use |= rather than -= then +=.
/datum/camerachunk/New()
- Uses block() rather than range() and a coordinate check
Comment (copied to two places) outlining a potential optimization. (potential as in "needs to be tested whether it actually makes things faster")
Changes flash/welder protection eyecheck() proc from several hard coded item checks to a /var check for eye covering items, reducing the number of IF statements and allowing greater flexibility as child items can have a different protection level to their parent.
Created a new proc tintcheck()
-Items have a separate tint var to allow for items to protect but not impair, such as space helmets.
-tintcheck() adds these up for eye covering locations
-life.dm uses this new proc when checking to apply the welder overlay instead of hardcoded if statements
*Voices now show up in the player panel. (Note that if you make the voice into a corgi with adminmagic the poor guy will have a corgi stuck inside of him)
*Voices now again count as alive. Changed that for some reason, they should of course not hear deadchat.
*Creates new living mobtype: voices who are created inside of other living mobs. They communicate only with other voices in the same mob and the mob itself.
*Uses the new mobtype for changelings. Lings now have the option to absorb the "memories" of a target. The memories can ghost on their own accord or be forced out by a changeling to prevent spam or verbal abuse. After ghosting the former voice can re-enter the original body (now probably a husk).
*Adds an argument to the ghostize verb to have the ghost refer to a new mind. This was used to have voices be able to enter their own body. - Adds the option for a living mob with voices to talk to them using ":v". (This isn't in the current patch for some reason)]
*changeling powers can now have multiple verbs tied to them
-Turns out there was already a Gaussian PRNG proc already, used by mechs and turrets. I've replaced it with my one as mine has almost half the cost. (currently broken! still waiting for fixes to be pulled!)
-replaced between(min, val, max) with Clamp(val, min, max)
-get_turf(thing) now uses var/list/locs to locate its turf, rather than iterating up through loc of its loc of its loc...etc
-sign(num) moved to maths.dm
-InRange(val, min, max) replaced with IsInRange(val, min, max) (they were identical)
-Removed ismultitool() iswrench() iscoil() iswire() iswelder() iscrowbar() etc
-removed modulus(num) as abs() performs the same task! *roll-eyes*
-removed get_mob_with_client_list() as it is no longer needed (we have var/list/player_list now)
-removed get_turf_or_move() as it simply called get_turf
-removed get_turf_loc() as it was identical to get_turf()
*Additions:*
-The "Declare Ready" link in the lobby will automatically become "Join Game" if the round starts before you declare ready, so you don't have to click it twice