Commit Graph

81 Commits

Author SHA1 Message Date
MrStonedOne
a6602795c9 fixes runtimes with npcpool 2015-04-14 10:30:58 -07:00
Swag McYolosteinen
ffd0db2b7b Merge pull request #8581 from MrPerson/lighting_2015
Object based lighting system
2015-04-12 13:14:32 +02:00
MrPerson
01a8aa662a Moved lighting stuff from controllers folder to its own module
Lighting SS no longer cares about the return of check(); the light datums are responsible for deleting themselves.
Cap on lighting effects from turfs is now 8 because they're static and shouldn't be flashing lights too often. This means starlight actually works now instead of being capped at 1 measly turf.
Lighting related ChangeTurf() code is in the lighting module. Changed it up to be faster on lighting controller init and not leave dangling lights when a turf becomes or stops being opaque or when it turns into space. This diff log is gonna be useless sadly but take my word for it, it all works.
Lighting related Moved() code is also in the lighting module. Opaque objects will now update nearby lights when they move (mechs).
Opaque objects other than the light datum's owner on the same tile as its owner will block the effect of the light. In other words a mech standing on the same square as a light bulb will block all the light of that bulb.

Changed "cheap_hypoteneuse()" with an even cheaper version; actually calculating the hypoteneuse! I can prove it's cheaper if needed.
Removed move_contents_to() because it's unused and trying to use it would cause major bugs with lights and other shit and I have no interest in supporting that, so let's not even tempt people.
2015-04-12 02:25:28 -07:00
Iamgoofball
c06ad7e6b8 moved process() to datum. made /datum/reagents/ process instead of the containers. 2015-04-07 17:13:59 -07:00
Jordie
6d34032385 Merge pull request #8628 from Fayrik/AllTheSmallThings
Someone called for pest control?
2015-04-04 20:58:07 +11:00
Fayrik
a634bf7f8a Fixes unreported bug that would delete the cargo shuttle if it was sent to a shuttle loan event while in transit. 2015-04-04 10:54:06 +01:00
hornygranny
35498dc200 Merge pull request #8686 from sawu-tg/npcpool
Fixes to SNPCs
2015-04-01 11:47:57 -07:00
Sawu
799eadb6c8 Fixes to SNPCs
* 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.
2015-04-02 05:19:21 +11:00
MrPerson
907e20c94d Lights are now told when to update instead of constantly asking if they need to. The lighting SS is a lot faster as a result and no longer has :'s everywhere
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
2015-03-31 12:35:10 -07:00
MrPerson
e4a3abdd70 Object based lighting system
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.
2015-03-31 05:09:42 -07:00
Sawu
1142cbd355 Fixes NPCPool stat runtime 2015-03-30 09:35:33 +11:00
Sawu
ab776cf014 Updates the NPCPool to current branch.
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.
2015-03-30 02:50:21 +11:00
MrPerson
ce13faed09 Change select holiday names to #defines 2015-03-25 15:01:06 -07:00
MrPerson
9910cf3fe3 Change holidays into datums
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.
2015-03-25 01:46:29 -07:00
Remie Richards
819422bc3e Merge pull request #8410 from Miauw62/yesgunhogimrewritinggoofsay
MIAUW VON SAYCODE 3: RISE OF THE SPANS
2015-03-21 05:05:37 +00:00
Swag McYolosteinen
9e25fe4019 Merge pull request #8431 from AnturK/lawsupdated
Adds total law changes counter
2015-03-20 17:46:44 +01:00
AnturK
7cccf20fc0 Adds total law changes counter 2015-03-19 14:57:12 +01:00
Miauw
1873143e63 Initial say cleanup commit. 2015-03-18 19:23:31 +01:00
Jordie0608
b501710e30 stops backup shuttle coming when already called 2015-03-18 22:27:20 +11:00
phil235
29609457f5 Makes the message when you're attacked slightly bigger for better visibility."
Changes two "for... show_message()" into "visible_message()".
2015-03-12 23:15:54 +01:00
Cheridan
0015d4c120 Merge pull request #8141 from Incoming5643/Subjectivity_is_a_bitch
Skipping mulligan antag based on Time/Subjectivity from admins + tweaks
2015-03-09 00:14:28 -05:00
Cheridan
39cccb82e4 Merge pull request #8123 from Ikarrus/randomspawns
Randomizes Order of Job Spawn Points
2015-03-03 22:57:16 -06:00
Incoming
c28d8ff7d0 Adds the ability for admins to "take the shot" and end rounds at their discretion. This is behind a two confirmation gate with a 20 second reflection period between them. All this is logged.
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.
2015-03-03 16:39:01 -05:00
Razharas
64d0af336d Merge pull request #8099 from Incoming5643/doublemint_heads
Fixes duplicated heads
2015-03-03 21:32:46 +03:00
Ikarrus
c62d387a1d Randomizes Order of Job Spawn Points
The ticker's setup() will shuffle the list of spawn points, so jobs won't always predictably spawn bottom-up and left-to-right
2015-03-02 20:01:36 -07:00
hornygranny
539d51fb57 Merge pull request #8091 from MrStonedOne/whydidthistakesolong
Adds admin alert when random events fire
2015-03-02 12:02:43 -08:00
MrStonedOne
cd75ad8693 Fixes admin alert for event triggering logic
Forgot to have it check the event's config in the second loop
2015-03-02 07:24:45 -08:00
MrStonedOne
a3076ce0eb Admin event alerts can now be disabled per event.
Disabled for electrical overload and space dust.
2015-03-02 07:20:23 -08:00
Incoming
0037d06cbf Fixes a pair of instances where AssignRole() was being called unsafely and shoved a hot spoonful of sanity in there.
Fixes #8086
2015-03-01 16:47:58 -05:00
MrStonedOne
74bd002183 Adds admin alert when random events fire
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
2015-03-01 06:50:51 -08:00
Razharas
1a311c2434 Merge pull request #8047 from optimumtact/patch-1
compile your shit they say
2015-03-01 06:21:11 +03:00
Remie Richards
88cc21cb6d Merge pull request #7963 from Incoming5643/manage_ass
Updates Manage Job Slots to work with assistant slots
2015-02-28 21:28:44 +00:00
Orange Borg
d56782f645 compile your shit they say
Don't kill me they say
2015-02-28 10:26:38 +13:00
Razharas
a8cedc14ef Merge pull request #7969 from optimumtact/nanouibeginnings
Auto load required nanoui files on client login
2015-02-27 10:36:13 +03:00
paprka
2d1642dd22 fixes another runtime with starlight 2015-02-24 16:48:06 -08:00
oranges
9b7d23776c Auto load required nanoui files on client login
This is still an inprogress so please do not merge
2015-02-25 12:25:21 +13:00
Incoming
cbcc52beeb Updates Manage Job Slots to work with assistant slots
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()
2015-02-24 16:06:36 -05:00
hornygranny
95f9c59475 Merge pull request #7920 from paprka/starlightconifg
Fixes starlight runtime
2015-02-23 13:03:56 -08:00
Swag McYolosteinen
ac5fc9b044 Merge pull request #7544 from Incoming5643/popcapgames
Adds optional population caps
2015-02-23 17:20:02 +01:00
paprka
68d649b6e1 removes unnecessary crap 2015-02-22 21:07:57 -08:00
paprka
eee61482db removes giant loop 2015-02-22 20:07:38 -08:00
paprka
69915d0b1a actually fixes starlight with configs 2015-02-22 16:58:00 -08:00
vista-
3f3a8bf84c Fixes that fucking typo. 2015-02-05 21:48:15 +01:00
Incoming
7903aba6d3 Adds optional population caps for those that want them. These be dark measures, so tread carefully ye who dare enter this place.
There are three "levels" of popcaps, and you can use them in any assortment you like:

The "soft" cap produces a message on join, and takes no action.

The "hard" cap disallows joining whilst too many other people are alive and playing in game, but allows observing.

The "extreme" cap prevents people from joining the server at all while the cap is exceeded. It won't kick out people who failed to qualify during roundstart, but if they leave they won't be able to get back in.

In each case a customizable message config option has been given. Admins are also immune to most population caps (they still are hit by the ones in job shuffling, but can late join as normal afterwards)
2015-02-04 01:58:02 -05:00
Boggart
fad3ff7365 Fix for mobs falling off the mob_list, as suggested by Carn. 2015-01-27 22:56:31 -07:00
Swag McYolosteinen
58648d267e Merge pull request #7271 from Incoming5643/Maybe_it_ran_out_of_gas
Shuttle Stranding
2015-01-27 17:55:26 +01:00
Cheridan
26275f2ae2 Merge pull request #7099 from Firecage/Supply_blacklist
Prevents singularities from being send to centcom via cargo shuttle
2015-01-25 00:42:03 -06:00
Ikarrus
916270321f It also turns out sec/assmaint is already included in additional access so I don't need to include them in the automatic toggle. 2015-01-23 23:33:28 -07:00
Ikarrus
6a4ca17822 Additional Access Re-evaluation
Additional access hasn't been used nor even looked at since errorage first coded it years ago. Departments were moved around, accesses were added, removed, and moved around.

This PR re-evaluates what additional access includes. The original idea was to give jobs most access to other workspaces in their department. For example, a medical doctor would be able to work anywhere in Medbay (Except CMO's office), so I'm going to keep with that direction.
2015-01-23 23:28:03 -07:00
Ikarrus
b63d511d42 Automatic toggle no longer removes sec/assmaint if their options are toggled on in the game options config. It will still grant these accesses if the threshold is not reached. 2015-01-22 23:36:25 -07:00