Commit Graph

41 Commits

Author SHA1 Message Date
Graham Lloyd
b6f2d39f6b 3d Sound from /tg/ 2014-03-27 14:49:49 -04:00
Zuhayr
e870d614c2 Mass correction of controler to controller. 2014-01-25 03:15:13 +10:30
LBraindead
bbe01a80e6 Update explosion.dm
transfer explosions accross z-levels
2014-01-18 00:33:41 +01:00
Mloc-Argent
be153d14a3 Fixes for the tg cherrypicks.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-01-08 20:32:35 +00:00
ChuckTheSheep
533600eaa5 Explosion Optimizations
Implements a trange that internally checks only turfs and thus less
intensive.

Conflicts:
	code/game/objects/explosion.dm
2014-01-08 19:21:47 +00:00
Mloc-Argent
a084f74c7d Expansion of every "icon = ''" path.
Supposed to help compilation times.  Who knows.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-09-01 21:53:36 +01:00
Erthilo
9d1bbb16d0 Adds explosive implant admin messages, and jump button for explosions. 2013-08-12 12:34:13 +01:00
Cael_Aislinn
bb5a349fcf Merge branch 'incremental_tg' r5600 into bs12_with_tgport
Conflicts:
	baystation12.dme
	code/__HELPERS/global_lists.dm
	code/controllers/master_controller.dm
	code/game/gamemodes/events/ninja_equipment.dm
	code/game/gamemodes/events/space_ninja.dm
	code/game/gamemodes/wizard/rightandwrong.dm
	code/game/hud.dm
	code/game/jobs/job/captain.dm
	code/game/jobs/job/job.dm
	code/game/jobs/job/medical.dm
	code/game/jobs/job/science.dm
	code/game/jobs/job/security.dm
	code/game/machinery/computer/cloning.dm
	code/game/objects/items/blueprints.dm
	code/game/objects/items/weapons/gift_wrappaper.dm
	code/game/objects/items/weapons/implants/implantnanoaug.dm
	code/game/objects/items/weapons/storage/uplink_kits.dm
	code/game/objects/items/weapons/stunbaton.dm
	code/game/turfs/turf.dm
	code/modules/client/client defines.dm
	code/modules/client/client procs.dm
	code/modules/clothing/masks/miscellaneous.dm
	code/modules/clothing/shoes/miscellaneous.dm
	code/modules/clothing/under/ties.dm
	code/modules/mob/living/carbon/human/human_attackhand.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/say.dm
	code/modules/mob/living/silicon/say.dm
	code/modules/mob/mob_defines.dm
	code/modules/paperwork/clipboard.dm
	code/modules/paperwork/pen.dm
	code/modules/paperwork/stamps.dm
	code/modules/projectiles/projectile.dm
	code/modules/reagents/Chemistry-Holder.dm
	code/modules/reagents/reagent_containers/glass.dm
	code/setup.dm
	config/config.txt
	html/changelog.html
	icons/effects/effects.dmi
	icons/mob/feet.dmi
	icons/mob/head.dmi
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
	icons/mob/mask.dmi
	icons/mob/suit.dmi
	icons/mob/ties.dmi
	icons/mob/uniform.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/masks.dmi
	icons/obj/clothing/shoes.dmi
	icons/obj/clothing/suits.dmi
	icons/obj/clothing/ties.dmi
	maps/tgstation.2.1.0.dmm

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2013-01-23 00:23:37 +10:00
baloh.matevz@gmail.com
0c431e95d1 - Recursive explosions are not available in a config option. I want to do some live testing. Once live testing is done, if they prove to be better, they can go live. Once that happens, the config option can be removed.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5555 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-15 08:19:35 +00:00
Ravensdale
6a359474cc Update code/game/objects/explosion.dm
Removing a repeat if statement
2012-12-22 14:58:01 -08:00
Ravensdale
9d9061180d Port of z-level explosion sound effect from pre-merge. Tested and confirmed working with c-4, welding tanks, meteors and roro explosions, probably more! 2012-12-22 14:46:44 -08:00
elly1989@rocketmail.com
46524c533a Runtime fix:
runtime error: Cannot execute null.ex act().
proc name: explosion (/proc/explosion)
  source file: explosion.dm,52
  usr: 0
  src: null
  call stack:
explosion(space (133,173,1) (/turf/space), 4, 5, 6, 7, 0)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4632 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-06 01:55:03 +00:00
elly1989@rocketmail.com
c81c70bd86 Replaced var/netnum for cables and powered machines with a direct reference to their powernet. The bug which was causing cutting and merging powernets to fail was due to my attempts to fix the powernets slowly becoming filled with null entries. Removing those null entries messed up the indexes and essentially jumbled up the powernets. :( sorry
Fixed the failsafe misreporting how long the MC has been dead.

Lighting initialization no longer 'interrupts' the master_controller setup().

Added updated powernet debugging tools. They're in my WIP folder. They are sexy c: It draws the powernet onto the map so you can see what's going on during debugging.

Added tachyon-doppler arrays. They're gonna be something for scientists to measure their bombs with rather than praying for the figures. Nothing spectacular.

Commented out switches, they aren't used and I've been fixing/testing powernets all day. Sorry. If you need them back  just PM me and I'll fix them.

Known issues: the merging procs behave silly at intersections. I really tried to fix it but I think I'll make more progress just working on some powernet improvements.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4623 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-05 16:14:24 +00:00
elly1989@rocketmail.com
e97813d2b6 Replaced the master_controller with the WIP sequential version.
Fixed a problem where TG was using this sequential master_controller but I had removed a spawn where master_controller.process() was called because I was working with the default master_controller. This problem was causing the master_controller to prevent the lighting_controller.process() ever running properly because it was hogging the current thread (thread isn't the right word there, not sure what you call it....stack?)

Added debugging to both the lighting_controller and master_controller. http://filesmelt.com/dl/debugging.png

Both lighting_controller and master_controller may be deleted to terminate their processes (this is done via the restart controller verb. This allows for clean restarts without 'doubling up' (where, for instance, the master_controller would be running more than one instance).

lighting_controller has a prototype recovery proc which is called by the "restart controller - lighting" verb. It's basically an overly paranoid version of process() which will only transfer light_sources to the replacement controller if they don't runtime. It's not needed at the moment as the process() has yet to runtime.

master_controller has the beginnings of self pruning lists. This method using list.Cut(index,index+1) is faster than doing list.Remove(thing) all over the place (the latter iterates through the list to find the thing).

Added more detailed time-measurements for the master_controller. It now displays the processing costs (in real-world seconds) of each part of the master_controller's cycle.

The stat panel only updates for mobs actually -looking- at the stat panel.

Explosion debugging is now hidden behind a if(Debug2). To have it print that data to world.log just click the DebugGame verb

debug controller and restart controller verbs are now both GameAdmin rank. Not sure how they got split up.

Fixed another cause of dark splotchy space turfs. (turf/wall/ex_act was replacing the turf with space and then deleting that new space turf)


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4593 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-31 04:14:26 +00:00
elly1989@rocketmail.com
474294466a Fixes a really stupid mistake where a sleep() was causing the explosion() proc to end after the sleep due to src being null. This meant that the lighting process was turned off but never turned back on. It also meant powernets were deferred permanently :( sorry.
Reduced the Login delay for new_players. It stays because it protects against rapid connect/disconnects sending resources repeatedly, it's just a lot less annoying now.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4554 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-26 17:50:29 +00:00
elly1989@rocketmail.com
6e274cd395 New lighting, it's essentially just the old DAL system with a queue.
Comments for lighting:
	Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas
	by using the var/tag variable and moving turfs into the contents list of the correct sub-area.

	Unlike sd_DAL however it uses a queueing system. Everytime we  call a change to opacity or luminosity
	(through SetOpacity() or SetLuminosity()) we are  simply updating variables and scheduling certain lights/turfs for an
	update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it
	means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control
	over how much priority we'd like lighting updates to have. It also makes it possible for us to simply delay updates by
	setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then
	turning it back on with lighting_controller.processing = 1.

	Unlike our old system there is a hardcoded maximum luminosity. This is to discourage coders using large luminosity values
	for dynamic lighting, as the cost of lighting grows rapidly at large luminosity levels (especially when changing opacity
	at runtime)

	Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to
	have larger memory requirements than our previous system but hopefully it's worth the hassle for the greater control we
	gain. Besides, there are far far worse uses of needless lists in the game, it'd be worth pruning some of them to offset
	costs.

	Known Issues/TODO:
		admin-spawned turfs will have broken lumcounts. Not willing to fix it at this moment
		mob luminosity will be lower than expected when one of multiple light sources is dropped after exceeding the maximum luminosity
		Shuttles still do not have support for dynamic lighting (I hope to fix this at some point)
		No directional lighting support. Fairly easy to add this and the code is ready.
		When opening airlocks etc, lighting does not always update to account for the change in opacity.

Explosions now cause lighting to cease processing temporarily.

Moved controller datums to the code/controllers directory. I plan on standardising them.
"Master","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI" controller datums can be accessed via the debug controller verb (used to be the debug master controller verb)
Supply shuttle now uses a controller datum. Shuttles tend to arrive up to 30 seconds late, this is not a bug.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4537 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-25 16:06:57 +00:00
elly1989@rocketmail.com
4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.

To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"

If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-18 16:33:40 +00:00
johnsonmt88@gmail.com
cc544acea0 Removed the tensioner. It was buggy and really only served to ruin rounds. The original purpose of the tensioner before Poly reworked it was to act as a stat tracker, which is now meaningless since erro has a fully operational stat tracker in place.
As a result, cyborg death squads were also removed.

This also fixes meteors and space dust so that they properly take into account the borders of the map. Please do not hardcode numbers when we have defines in place.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4374 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-11 20:02:31 +00:00
elly1989@rocketmail.com
f6ded04899 Minor optimisations for explosions (again). Only removed some unnecessary lists, nothing major. Added some logging to world.log which gives explosion location/duration etc so we actually have something to compare it to whenever that damn code gets changed again :P
Added a shortcut to player notes into the investigate verb. Just type investigate notes

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4132 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-21 02:20:16 +00:00
mport2004@gmail.com
69753b0190 Worked on blob mode a bit
Readded the AM stuff to the dme
Added another explosion edit from Willox


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3903 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-24 00:03:31 +00:00
elly1989@rocketmail.com
3cbd05ddef Changed circledistance a bit, talk about ambiguous proc-names...it has nothing to do with circles! It's now called approx_dist and uses some magic constants to avoid those god-awful sqrts and powers which were called for N^2 turfs during explosions. It should approximate the distance between two points fairly accurately using a (surprisingly accurate) linear approximation of pythagoras theorem. C:
Changed RoundExplosions to a temporary define named USE_CIRCULAR_EXPLOSIONS which is a lot more intuitive and less confusing. Removing this define will compile square explosions code instead of circular ones. (So the cost of having a choice between circular/square is seen at compile-time not at run-time)

Fixed aliums being able to pick up storage objects such as bags/boxes/pillboxes and such.

Fixed unbuckling yourself from beds (via clicking the bed). You can also unbuckle yourself via resisting because beds are hard to click on when you're lying on them and they're covered in a sheet.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3854 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 07:37:50 +00:00
mport2004@gmail.com
c516585940 Removed the round explosions bit from the explosion code as nonrounded explosions have not been used in quite some time.
Readded the fake solars to the DJ station, the place is still simulated but it had a magical SMES anyways and did not need real solars, also removed its atmos pipes as the place does not need an atmos for how much it gets used.

Several carp that spawn on Z2 have been removed, no need to have them eating up processing power over there.

Yet again removed the random zvent sitting on the centcom zlevel, I swear I have removed that thing at least five times now.

The Tcom sat solars are now fake, turns out half of them didn’t actually work as is and were there to look good. Also cut a shit ton of wiring out of the sat, removed most of the turrets, and merged most of the areas. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3853 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 07:18:58 +00:00
mport2004@gmail.com
b6f8b3fb77 Added Willox’s explosion code. It should make explosions faster than they have been lately.
Moved an unchecked file into unused, please put any unchecked files out of WIP or FEA into unused that way if you see an unchecked file you know it should be checked.  DM loves to uncheck files when you are messing around with folders in the editor.
Moved the old TEG defines into the proper files.
Commented out some old nonfunctioning FEA debug code.
Removed some commented out codechunks from FEA and attempted to clean up a few of the files a bit. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3852 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 01:56:24 +00:00
johnsonmt88@gmail.com
b92b1ef9a7 Quicker explosions:
- This is more of a fix for the current method of explosions, not a fix to make explosions more efficient as a whole.
- Explosions used circlerange() which had improperly named vars. At a glance, it looked like it was just returning turfs in range, but in reality it was returning all atoms in range.
- Explosions now use circlerangeturfs() which only returns turfs

circlerange()
- Changed the variable names to reflect what they actually use to prevent this kind of confusion again.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3832 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-15 17:19:33 +00:00
joeheinemeyer@gmail.com
b71cebee16 Optimized explosions. Courtesy of BS12.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3750 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-06 18:11:51 +00:00
bbusse@gmail.com
7f7eb8dee4 Tension Report
Adding a reporting function, available in the debug menu, which tracks some crude statistics for the current round and attempts to estimate the round's current level of stuff happening (or lack thereof) for more consistent and focused badminnery.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2329 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-05 02:00:41 +00:00
mport2004@gmail.com
17ed3899c4 Fixed the map/code issues that the body bags caused.
/obj/effects is now /obj/effect.
/obj/station_objects is now /obj/structure.
Did a bit of minor blob work. 
The Bay 12 body bags were replaced with closets because having two sets of code that do almost the same thing is silly.
Changed back a few of the last jobproc edits as the remove from list before assign was a check to see if the mob was fucked up and if it was remove it so we did not check it again as it would still be fucked up.
The medbay/tox monkeys names are random once more.  More random name monkeys will help with changeling and clean up the observe/mob menus.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2324 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 10:28:57 +00:00
mport2004@gmail.com
aae2ffd2b5 Went though the oddly few runtimes
Fixed up a few more firedoors on the map
Optables will respect air groups now
The Singularity:
Might produce less lag when eating things now.
80% down from 100% chance for a beacon to force movement.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2126 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-05 07:11:55 +00:00
mport2004@gmail.com
6b88250beb Moved some of the old pipe files into unused.
Explosions will delay a bit longer before allowing powernet rebuilds.
Removed the Ionstorm Command reports at Urist's request, he said he would add something later.
Added dust storms to meteor mode.
Fixed most of the runtimes in the latest log.
Wizards mind_transfer now needs his robes, this prevents the constant body swap mess.
Z 1 lost all of its areas sometime in the last two revs.  I think I got everything back in place but would not mind if a mapper took a look.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2037 316c924e-a436-60f5-8080-3fe189b3f50e
2011-08-22 10:59:54 +00:00
mport2004@gmail.com
e98a7893fa The various assemblies should be working now.
Old style bombs and suicide vests temporarily removed.
Players can now be job banned from being a pAI.
Added null checks to explosion() due to runtime errors. 
Changelog updated


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1980 316c924e-a436-60f5-8080-3fe189b3f50e
2011-08-05 07:42:24 +00:00
vageyenaman@gmail.com
b0e69dcd99 Bugfixes:
Fixed a boatload of runtime errors. There's so many I just completely forgot what they all were!

     Explosions / Singularities now do not gib people "one-by-one" as some people may have noticed. This looked absolutely weird.


Sounds:
     I was planning on making sounds become all distorted and whatnot if you were "high", but there were some problems. I've instead just settled with making deaf people not being able to hear non-ambient sounds at all.






git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1941 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-27 20:57:21 +00:00
rockdtben
3ab81fdeb3 Power Magnets Optimization #1
The del() proc for cables already handles what makepowernets() was trying to do here. Looking around for a bit I've concluded that this proc is not needed here at all and is only causing lag. Everything that it would of done is already handles in the ex_act().

-removed makepowernets() call from explosion.dm

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1732 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-25 19:47:59 +00:00
uporotiy
1fd070c908 Forgot get_dist uses Chebyshev's metric too.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1517 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-02 12:58:36 +00:00
uporotiy
a2f55ddf6c Events
Added a "lights out" event.
 Flashlights
Red toolboxes now have only a 50% chance to spawn a flashlight (to add diversity and make the lights out event less easy to circumvent).
 Explosions
Explosions are now round. This is quite a big balance change, so it's subject to change in the future.
 Hydroponics
Hopefully fixed the bug with invading weeds etc being unharvestable.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1516 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-02 12:22:31 +00:00
rastaf.zero@gmail.com
fe04422547 Explosions are logged to log now.
Books uploading is loggable too.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1312 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-30 17:47:08 +00:00
n3ophyt3@gmail.com
12bd3f5b7f Added big meteors, since the regular kind aren't proving sufficiently robust.
For the sanity of the admins, meteor explosions are no longer adminlogged.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1112 316c924e-a436-60f5-8080-3fe189b3f50e
2011-02-24 03:22:18 +00:00
panurgomatic
7a4b9e09bc - Added Durand combat exosuit.
- Players can modify operation permissions of newly constructed civilian mechs. Click on mech with ID card or PDA with ID inside.
- Added robotics access to default mecha maintenance permissions (all mechs) and operation permissions (civilian models only).
- Fixed double adminlog message of explosion proc.
- Fixed accidental mecha wreckage deletion.
- Tweaked mecha internal fire processing.
- Added some mecha-related sounds.
- Moved GaussRand to helpers.dm and added GaussRandRound helper proc.
- Other small changes.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1023 316c924e-a436-60f5-8080-3fe189b3f50e
2011-02-12 00:59:38 +00:00
n3ophyt3@gmail.com
9fab076d4b Fixed more runtime errors.
Monkeys no longer deathemote when gibbed.

Added a Coder/Host level debug verb that forces the master_controller to run its process() proc. Pressing the button while the master_controller is already process()ing is not advised.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@978 316c924e-a436-60f5-8080-3fe189b3f50e
2011-02-07 04:14:42 +00:00
n3ophyt3@gmail.com
7115768551 Adjusted the threshold for bombs getting adminlogged.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@272 316c924e-a436-60f5-8080-3fe189b3f50e
2010-10-12 23:56:09 +00:00
n3ophyt3@gmail.com
81b0fdea10 More runtime errors squashed.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@231 316c924e-a436-60f5-8080-3fe189b3f50e
2010-09-30 18:30:49 +00:00
only.lurking
662c08272a git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2 316c924e-a436-60f5-8080-3fe189b3f50e 2010-08-23 14:29:20 +00:00