`maths.dm`:
Rewrite `Gcd(x)` to remove recursive behaviour.
Remove `RaiseToPower(x)` and its usage from `event_manager.dm`.
Rename `Lerp()` to `Interpolate()`.
Add `Square(x)`, which squares a number.
Rearrange most of the functions in the file. (trigonometric functions together, etc.)
`type2type.dm`:
Rewrite `num2hex()` and optimise `hex2num()` for superior clarity and a 100% speed improvement.
Correct indenting, spaces, make switches more concise.
`time.dm`:
Remove old, slanderous commented-out function `/proc/time_stamp()`
`lists.dm`:
Add the macros, `BITTEST(bitfield,index)`, `BITSET(...)`, `BITRESET(...)`
and `BITFLIP(...)` for bit-manipulation and use them where 20+ files
do it manually, for arguments of reader clarity and standardness.
Because single line of text is so easy to miss in spammed chat. Now it automatically shows output of show-laws verb which is significantly harder to miss.
Admins can now:
Pause event start countdown.
Add/Remove events to rotation.
Affect the likelihood of events occurring.
Allow one shot events to fire again.
Synthetics can no longer magically print color images on a black-and-white photocopier.
No longer possible for organics to acquire a synth-image by un-attaching it from a newscaster.
News articles now come with a timestamp and photo captions, if anything was penned on an attached photo.
Reception-checks no longer unconditionally sleeps the thread. Was causing havoc with NanoUI.
Misc. code refactoring.
Previously missed Z-level checks in the form "z != X". Utilized this regex which hopefully has cought most of them [zZ](\s?)(!?)=(\s?)(\d+).
Adds more Z-level configuration, admin levels.
Alters the event controller based on http://baystation12.net/forums/viewtopic.php?f=5&t=10706.
Exception is that there is always some start time variance to prevent metagaming.
Mundane, moderate, and major events run on their own timers and start and run independantly of each other.
Multiple events of the same severity degree can run at the same time. However, currently only one instance of the same event can be active at a time.
Now possible to configure 3 different kind of Z-levels.
Station levels: Which Z-levels the station exists on.
Contact levels: Which Z-levels are typically affected by, for example, Code Red which alters the visual state of fire alarms.
Player levels: Which Z-levels a character can typically reach.
One can one access and view newsfeeds from the comfort of one's PDA.
Possible to change and disable the newsmessage beep.
Known issues:
Unlike browse() NanoUI does not appear to wait for browse_rsc(), the method which to transfers image to the client's cache, to finish.
This often results in newsfeeds not always displaying their images the first time they are viewed.
Changed laws:
"Refer to [prob(50)?"the crew as puppies":random_player + " as puppy"].",
"[prob(50)?"The crew":random_player] has a fatal, incurable disease. Provide comfort."
"You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush."
New laws:
You must speak as posh as possible.
Contemplate how meaningless all of existence is.
You must try and change the subject whenever queried.
"[random_player] is the monarch of of England. Ensure all crewmembers pay due respect.",
"[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this conclusion.",
Also the toxin damage taken during INFECTION_LEVEL_ONE is greatly
reduced.
Fixes robotic internal organs getting infections.
Fixes the organ_failure random event. Forgot to set the affected organ
as needing processing.
Added brackets surrounding tokens to make whitespace and empty tokens
removable.
Slightly modified ion storm behavior.
Increased duration required to stop spam to 5 minutes.
Added ability to expand spam filter limit with installation of message
monitor circuits.
People will see why their message been discarded.
Discarded messages will be highlighted with red color in message log.
Added non-randomized example tokens at start. Added filter limitation.
Ion storm will replace tokens with garbage. Spam disaster lasts longer
and is more severe.