* Fixes two runtimes (stat menu and taking a delegate/assistant)
* Fixes SNPCs not being inserted into the NPCPool
* Makes the NPCPool fire more often for maximum robustness.
atom/movable/Destroy() in atoms_movable.dm now calls ..() to fix#8063
Light strength and light radius are no longer a single concept, although right now all lights are max strength for their radius
Updated the comment intro for _DynamicAreaLighting_TG.dm to account for modern fact and not talk so much about the old system(s)
And a changelog for all this lighting shit, not that anybody could possibly miss it
PDA's start off again, but the code is still there.
forceMove() now calls Moved() and has some other minor tidying up. This means teleporting will update the lights around you right away.
Uses actual objects on each non-space, dynamically lit turf. Light levels are switched back and forth via animate() and the object's alpha. Supporting colors shouldn't be too hard. Some hacky efficiency improvements means it isn't that much more expensive than current (I think, needs testing). Most of the lighting ss's cost is in checking all the lights and doing big loops, not anything actually in the loops themselves.
Start PDA flashlights on. This was to speed up testing but frankly I think it's a good change in general.
Added a Moved() proc. Called after a successful move.
In the future I hope to move off the luminosity var entirely but that was too slow in testing for me. That's what all that "for(area in sortedAreas) area.luminosity = 1" stuff in the lighting ss is, tests on removing luminosity outright.
see #7012
* NPCPool will co-ordinate and organize all SNPCs, making them stronger and more intelligent.
* SNPCs can use the botPool system to co-ordinate and delegate with each other.
* SNPCs have been given factions to allow interoperability between certain types of SNPCs.
* Bots (machinery/bot) can use the system too for basic help and coordination.
Holidays are now actual datums with procs and vars and everything.
Holidays run a proc called celebrate() when it's time to celebrate them. Currently none of them do anything but that should change, wink wink.
Holidays can now run for more than a day. The important ones, april fools, christmas, halloween, new years, and easter, all last at least a week. The idea is so people can celebrate christmas in game without having to, you know, actually play on fucking christmas. And also to put a time limit on how long stuff like the annoying spookoween closet skeletons will stick around so it doesn't overstay its welcome and become annoying as shit like last year.
The event SS now allows more than 1 holiday to run at a time. This matters for new years + christmas, easter + april fools, easter + 4/20, and any holiday that can happen on friday the 13th. The events get stored in a list that's only initialized if there's an active holiday so testing for potential holidays is still pretty easy.
Added more easter dates so we won't have to add more until 2040. The current batch run out in 2017.
When mulligan antag is set to kick in, the suggestion for admins to end the round if they feel enough has happened is given. The option can also be found on the check antagonist panel.
The check antagonist panel will show what the muligan roundtype is if it exists.
If absolutely no one wants/can be the midround antags, the round ends there.
The round will end no matter what if the primary antagonist survived over an hour before biting it (unless the shuttle is already past the point of no return, in which case a peaceful ending takes priority)
Adds force_ending to VV editing protection, to avoid admins trying to shinanigans it on.
I'm going on vacation soon so I thought I might as well bring this game mode back up to at least a minimally functional state before I go.
A lot of features (Gang membership visibility, conversion pens, weapons, deconversion methods) have been stripped out for now. I gave gang bosses uplinks in the meantime.
It's basically rev vs rev right now, but the victory conditions with the recallers are still there. I'll work on adding more stuff after I return from my vacation.
Not sure why it took this long for this to happened.
Will only trigger on random event firing, and not when an admin triggers an event to prevent unneeded duplicate messages
Also triggers for events triggered by the wizard summon events
Logs in the game log under the GAME: heading as well
Panic bunker! Uses the power of the database to reject new ckeys that have never connected to the server(s) before.
Admins are exempt, even while deadmin'ed, but they are also unlikely to be new ckeys except in rare cases that involve vv fuckary.
New player notification is now configurable.
Adds a optional default disabled irc notification of a players first time connecting.
Any (non-silicon) job can now be set to be an unlimited slot job from Manage Job Slots
People will be allowed to join as assistant if no other jobs are availible
Removes a redundant sanity check from AssignRole()