Commit Graph

821 Commits

Author SHA1 Message Date
Cheridan
98e63e0943 Merge pull request #9364 from Incoming5643/PleasePlaySecurity
Players who enjoy loyalty implanted jobs now get fair antagonist rolls in all modes
2015-05-08 12:39:14 -05:00
Jordie
c9b804f6f6 Merge pull request #9256 from astralenigma/cradesbypaprka
Crates are mailed with manifests taped to the outside by paprka Merge Conflict resolution
2015-05-08 22:10:35 +10:00
GunHog
cdc3e5c174 Removes bots from NPC Pool
It was causing unexpected and buggy behavior with certain bots, and has
been tossed in the bin along with radio code.
2015-05-07 08:42:31 -05:00
Cheridan
f49fbf1efc Merge pull request #9303 from RemieRichards/ExperimentalPerfomancetest
Explosion Performance Upgrades
2015-05-06 09:00:42 -05:00
Incoming
23cc8c7db0 All modes now choose their antagonists before they choose jobs. A new mind attached list, restricted_roles, will keep incompatible jobs out of rotation.
Players who would otherwise qualify to play as an implanted job will spawn as the most wanted not implanted job they qualify for if they are an onstation antagonist. If they don't qualify for any job in this way depending on preferences they will either spawn as an assistant or a random job (which also makes sure they don't end up in an incompatible job).

Note this doesn't impact late join antagonists or mulligan antagonists. Roundstart only.
2015-05-05 23:29:03 -04:00
Jordie0608
b6f797890b Caps station integrity to 100% 2015-05-05 19:22:39 +10:00
Remie Richards
2234a9b25e powernet datums now manually clear references, subsystem/proc/postpone() now takes an optional "cycles" argument, for postponing more than 1 cycle, Explosions are less laggy! 2015-05-03 04:39:48 +01:00
Cheridan
bbb1df2654 Merge pull request #9263 from Incoming5643/fightvale_pride
Fixes another instance of FIGHTVALE
2015-05-02 17:46:24 -05:00
MrStonedOne
eb7d5fefa5 Merge remote-tracking branch 'upstream/master' into step-aside-aran-im-here-to-touch-your-precious
Conflicts:
	code/controllers/subsystem/ticker.dm
2015-05-02 03:03:29 -07:00
Incoming
9b3f98571c mulligan will no longer mulligan a round into the same mode. Because of how scaling works this would at best only create one or two additional antags. At worst it wouldn't create any antagonists, and mulligan would get frustrated and reroll after its failure. 2015-05-02 00:00:41 -04:00
Cheridan
84d2a5a006 Merge pull request #9228 from Ikarrus/pregamedelay
Admins can now adjust pre-game delay time
2015-05-01 15:03:26 -05:00
Cheridan
509d940746 Merge pull request #9225 from Incoming5643/Unless_its_wizbiz_bugs_will_usually_follow
Fixes Round End Sound
2015-05-01 14:13:07 -05:00
MrStonedOne
94a132dbde pr-9231 changelog and minor subsystem tweaks 2015-05-01 05:24:33 -07:00
MrStonedOne
fe1d3c22d5 Minor rework of lobby admin verbs
Both me and #9228 fixed the same bug, so I reverted mine

Starting the round with the start now verb will now show a tip of the round.
2015-04-30 18:27:58 -07:00
astralenigma
d84bfc0f2b Putting all on github now.
Only crates is missing the overlay of the manifesto.
2015-05-01 00:33:21 +01:00
MrStonedOne
bd6d51a0b5 Massive MC and subsystem rewrite
MC:
	No longer tracks a subsystem's cpu usage. This was basically worthless and took up space on the stat panel
	Can calculate wait down to a tenth of a decisecond to make it fps/world.ticklag agnostic
	Now allows subsystems to have a dynamic wait, that is based on a ratio of how long that subsystem has been taking to process(cost). (This system allows for upper and lower bounds, and an changeable cost delta for each subsystem)
	MC can now be told to init a zlevel

All Subsystems:
	Stats panel now allows child subsystems to pass it a message to add to its stats entry. All subsystems have been moved over to this system - This should cut down on subsystems having to copy and paste the stats proc in order to add to it
	All subsystems now properlly handle being given a zlevel in their init proc

Subsystem changes:
	Air:
		Added air to the dynamic wait subsystem. upper bound: 50, lower bound: 5, cost delta: 3 times process cost
		Air now fires 4 times faster when it can do so without lagging things up
		Pipenet has been merged into air
		Atmos machinery now processes with process_atmos(), ticked by air, not machinery.
		Hotspots (the fire object) are now object pooled
	Pipenet:
		Deleted, added to air
	Machinery:
		Moved all atmos calcualtions in all objects's process() to process_atmos().
	Lighting:
		Added Lighting to the dynamic wait subsystem. upper bound: 20, lower bound: 5, cost delta: 3 times process cost
	Ticker:
		Fixed ticker not updating the lobby panel when game start delayed
		Fixed the game start timer updating rapidly from queued fires when game start delay is removed
	Garbage/qdel:
		qdel will now limit its process time to 2ds a fire.
		qdel can now be given hints as a return to Destroy() as to what should be done with the object.
		the options are:
			queue: (default) this is the normal behavior.
			letmelive: old default to non-null/zero. does nothing with the object
			iwillgc: functionally the same as above, mainly to let people working with objects know that the object will not be queued for GC checking
			harddel: this will queue the object to be deleted without storing a soft reference, mainly to save locate() processing time.
			harddel_now: this will del() the object. To allow for a clean removal of every del() not in qdel
		All objects have been updated to the new system, harddel and iwillgc was not added to any new objects.
		Fixed some objects not GCing because they didn't properlly clear references in Destory()
		Fixed some objects getting qdel'ed preventing other objects from getting GCed because they did not null their reference to that object.
2015-04-29 02:00:25 -07:00
Ikarrus
3b96d74955 Admins can now adjust pre-game delay time
Instead of just a simple Pause/Play toggle, it lets admins set a longer (or shorter) time if they want.

Admins can still set -1 for indefinite delays.
2015-04-28 23:00:42 -06:00
Ikarrus
fceaa8f969 Gang Update
- Bosses can now summon their gangsters to a location with the gangtool
- Gangtools cannot recall the shuttle if the station is too damaged (<70% Integrity)
- Fixed SSshuttle.emergencyLastCallLoc not being handled or stored properly. Fukken Carn breaking my shuttle features.
- Fixed a potential injection exploit in gangtool's can_use()
- Jobbanned players cannot be promoted
2015-04-28 22:25:55 -06:00
Incoming
2f0ebbf810 Fixes a pretty significant bug where sounds set with set round end sound would only actually play for the person who set the sound 2015-04-28 23:15:27 -04:00
Incoming
f892127b24 Adds the "set round end sound" fun button so admins can override the generic sounds to play something else if want be. 2015-04-18 15:34:03 -04:00
MrStonedOne
a6602795c9 fixes runtimes with npcpool 2015-04-14 10:30:58 -07:00
AnturK
6fa8e5f02d Adds Abduction Mode 2015-04-13 18:40:15 +02: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
Cheridan
076fc321f0 Merge pull request #8859 from Incoming5643/gutcheck_time
Better admin/config control of mulligans + tweaks
2015-04-10 15:19:42 -05:00
Cheridan
170c91c8b9 Merge pull request #8823 from Incoming5643/shit_lets_be_barney
Removes the mutant_colors config option
2015-04-10 14:13:24 -05:00
Incoming
d1892cffbe Organizes the various continuous_round_x config options into one set of config options continuous. Functionality is only there for the same mode that already had that functionality, everything else is continuous always
Makes another set of config options for which rounds types, if any, use the midround antagonist (mulligan) system. Keep in mind this is by definition a subset of round with continuous set. Again this feature is only present for the roundtypes where I KNOW it works properly, other modes can't use midround antags.

The check antagonist screen will show how the game will behave when all the antagonists die, and it can be changed on the fly by admins, the four possible states are:

End on antagonist death (noncontinuous rounds)
Continue if antagonists die (unsupported continuous by default round)
Continue if antagonists die, creating replacement antagonists (continuous, using midround antags)
Continue if antagonists die, not creating new antagonists (continuous, not using midround antags)

When rounds prepare to mulligan admins will additionally get the option to just keep the round going without any automatically created antags in case they want to run their own shinanagans instead. They can also as before choose to end the round.
2015-04-09 16:03:11 -04:00
Incoming
654a332d21 Removes the Mutant_colors config option because anyone who's apt to turn on mutant races for joining doesn't want them to all look EXACTLY THE SAME (That's racist guys) 2015-04-08 01:24:55 -04: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
d6be5a2e1b Move time for lighting changes from a scale to a fixed length
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.
2015-03-31 05:09:46 -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
Incoming5643
b2fdb13a62 removing old debugs and qdeling the dels 2015-03-30 22:53:02 -04:00
Incoming
d8d8a05a4a Fixes a bug in mulligan antag where it would pick extended too much because it was seeing what modes it could run with new_players and not the crew.
Outright stops extended mulligans for the time because because it keeps interfering with my debugging and also no one seems to want it.
2015-03-30 17:39:42 -04:00
Remie Richards
042f62bdde Merge pull request #8623 from sawu-tg/sawu-tg-patch-1
Fixes NPCPool stat runtime
2015-03-29 23:37:08 +01:00
Sawu
1142cbd355 Fixes NPCPool stat runtime 2015-03-30 09:35:33 +11:00
Cheridan
bf36e8d040 Merge pull request #8615 from sawu-tg/npcpool
Updates the NPCPool to current branch.
2015-03-29 15:10:15 -05: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
Incoming
50ec2f3224 Makes the ability for wizards to use summon guns, summon magic, and summon events a config option 2015-03-27 01:32:28 -04: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