Commit Graph

97 Commits

Author SHA1 Message Date
Markolie
2e711d1337 Lay groundwork for megafauna, and add Ashdragon.
Includes a refactor for gun turrets (merged into portable turrets), hostile simple_animal behaviour, spells (sounds have been added) and poi_list items.
2016-10-23 23:15:57 +02:00
Fox-McCloud
5533c36af3 Field Generator Cleanup, Singularity Fixes, 2016-08-03 17:17:04 -04:00
Fox-McCloud
bde5755916 Implements Fire System 2016-07-29 13:24:09 -04:00
Tigercat2000
71e5344a98 Mass replace 2016-07-07 19:34:02 -07:00
Fox-McCloud
2d90585ecc Makes Explosion and Singulo Defer Based on CPU 2016-04-30 05:17:45 -04:00
Tigercat2000
78f53553f8 Reduce lines by removing blank lines added by PJ's script 2016-04-05 08:25:57 -07:00
Tigercat2000
9d430844c3 Replace most (if not all) output << operators with to_chat(user, message)
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.

Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
2016-04-05 08:15:05 -07:00
Fox-McCloud
bbf3b528c4 Field Generator Refactor+Fixes 2015-12-22 13:40:53 -05:00
Fox-McCloud
46f9f68f31 more de-referencing 2015-10-12 04:18:49 -04:00
Fox-McCloud
d57d42e8dd Spacemove Fixup 2015-09-26 02:36:44 -04:00
Tigercat2000
4b6a3ddcb6 -tg- SpaceMove update
This commit updates the spacemove system to -tg-'s; All objects now drift
in space, not just mobs. A few hardcoded space checks have been replaced
with has_gravity(); So it applies to zero-G as well as space.

Spacepods no longer drift, because their snowflakey shitcode just doesn't
work. So they just move.
2015-09-25 15:53:59 -07:00
Markolie
4e8bb6d301 Admin teleport update, further admin message fixes 2015-08-18 00:54:25 +02:00
Fox-McCloud
b9a492a3a5 no world 2015-07-06 23:25:29 -04:00
Fox-McCloud
62ef1cb7e2 TG Supermatter Port 2015-06-30 21:07:08 -04:00
Tigercat2000
d20298e996 -tg- atom pooling system, qdel changes
This commit first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.

Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.

Emitter beams are now fully pooled.

Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.
2015-06-21 15:47:57 -07:00
Fox-McCloud
5db85679cc Singulo Optimization 2015-06-14 00:31:11 -04:00
Fox-McCloud
8db197f71c ALL HAIL LORD SINGULO 2015-06-11 00:11:20 -04:00
Fox-McCloud
4eff027e67 yay-oh-crap 2015-06-10 23:38:29 -04:00
Fox-McCloud
ce496fcee6 beacon cleanup 2015-06-10 23:36:01 -04:00
Fox-McCloud
2ad1c74457 Singularity Refactor 2015-06-10 20:04:28 -04:00
Tigercat2000
5b7ec52ecd Update simulated var to bay12 refactors
This commit refactors the simulated var to a missed update from bay12,
which prevents the singularity or explosions from breaking lighting.
2015-05-13 07:49:51 -07:00
Tigercat2000
e1249fc640 Lighting overhaul.
This commit overhauls the lighting system to Bay12 standards. It is better
in pretty much every way.
2015-05-10 12:03:27 -07:00
ZomgPonies
5c14d9c5f2 vg Garbage Collector 2015-02-23 17:18:38 -05:00
Rob Nelson
2873262a07 Recoded wall-smoothing for optimization. Fixes #835.
Conflicts:
	code/game/smoothwall.dm
	code/game/turfs/simulated/walls.dm
	code/modules/power/singularity/singularity.dm
2014-07-25 16:29:00 -04:00
Robson Richards
9771111a5f Narsie now plays an Animation when it spawns in, Text and Gender set to NEUTER, DEBATE OVER.
Conflicts:
	code/modules/power/singularity/singularity.dm
2014-06-29 16:44:21 -04:00
mwerezak
9874ce38ce shuttle_controller now uses a shuttle datum
Conflicts:
	code/game/machinery/computer/communications.dm
	code/modules/admin/verbs/randomverbs.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/power/singularity/singularity.dm
2014-06-23 11:07:58 -04:00
Ccomp5950
90ff395199 Lagsie no more, NarSie HUNGERS
removed del() calls for objects, now it sets loc to null and removes it from master_controller processing

Much quicker :)

Conflicts:
	code/modules/power/singularity/singularity.dm
2014-04-19 15:48:48 -04:00
alex-gh
521ad31671 Revert the new lighting system. 2014-04-07 23:51:35 +02:00
ZomgPonies
1f407fa305 Singulo eats darkness, grows out of control? 2014-03-03 01:35:47 -05:00
ZomgPonies
b03ff54522 Singulo optimizations 2014-03-02 23:25:40 -05:00
Rob Nelson
42897c12f9 Further optimize narsie. 2014-02-28 19:34:45 -05:00
Rob Nelson
6e1ddf8eac Missed a qdel in narsie. 2014-01-31 02:35:10 -05:00
Rob Nelson
ec70d13056 SINGULOTH OPTIMIZATIONS - See full commit for details.
* qdel() instead of del(), wherever possible.
* Optimized gravpull logic
* /atom/movables can override canSingulothPull() logic to add gravpull exceptions (unless singuloth is 2fat)
* assigned_role energy boosts changed into a switch() statement

Conflicts:
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/mob.dm
	code/modules/power/singularity/singularity.dm
2014-01-31 02:34:39 -05:00
Rob Nelson
c3b021e246 Added a garbage collector implementation based on rumors from Goon and proc references in released gooncode.
And holy shit it's fast

Conflicts:
	baystation12.dme
	code/ATMOSPHERICS/pipes.dm
	code/game/machinery/Sleeper.dm
	code/game/machinery/rechargestation.dm
	code/game/objects/structures/crates_lockers/crates.dm
	code/game/objects/structures/tables_racks.dm
	code/modules/mining/mine_turfs.dm
	code/modules/paperwork/photocopier.dm
	code/modules/power/cable.dm
	html/changelog.html
2014-01-29 23:45:21 -05:00
d3athrow
64d8903802 Following /tg/'s lead, removes set background 1 for smoother gameplay.
Conflicts:
	code/game/objects/effects/glowshroom.dm
	code/modules/mob/living/carbon/zombie/zombie.dm
	code/modules/mob/living/silicon/mommi/life.dm
2014-01-08 01:25:20 -05:00
Spamcat
10ee1fbcfe World loops 2: Electric Boogaloo. 2013-07-01 19:43:56 +04:00
aranclanos@hotmail.com
0eee76d693 Runtime fix for the singularity, who is trying to search for the var glasses on mobs without them.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5451 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-02 12:25:26 +00:00
giacomand@gmail.com
a04eb3f275 -Changed emitters.
Emitters will now need to be wired.
Emitter type has changed to /obj/machinery/power/emitter
Fixed cables not correctly disconnecting power machinery from the powernet after being removed.

-Fixed a typo with smashing tables/racks.
-Fixed maps having incorrect types.
-Fixed singularity EMPing when at stage 1.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5423 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-30 10:47:25 +00:00
johnsonmt88@gmail.com
d4dc5ae070 Moved var/force from /obj/item to /obj so that everything gets it, including structures and machines that get tossed around using Telekenesis. The default force is still 0. This should finally put a stop to a large number of runtimes.
Runtime fix for being hit by something without there being a usr. This was most likely due to explosions or possibly mass drivers.

Runtime fix for simple animals using department channels. Only parrots can use them now as they are the only simple animal with the 'ears' variable.

Runtime fix for the mech's energy relay process() when there is no battery in the mech.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5405 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-27 02:08:41 +00:00
giacomand@gmail.com
7a24d16b03 -I forgot to put back the spawn()s when I was testing whether they were needed or not.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5257 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-04 17:01:34 +00:00
giacomand@gmail.com
fc90b08e1c -Changed the limits of the server room alarm to fix Issue 1143.
-Changed the singularity code a bit. Checking for the last movement had some problems, I changed it around. It fixed Issue 1121.
-In addition of this, the singularity will now move diagonally. It doesn't get stuck in the corners of the field now.
-Mimics which are structures, have density and anchored will be able to knockdown people and be twice as strong.
-Doubled the amount of times the staff of animation can fire before needing to recharge, since it had to shoot way more than the staff of change to be effective.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5256 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-04 16:55:04 +00:00
giacomand@gmail.com
b54bc843ba -Eye lasers will hit people who are lying down.
-After using the wish granter it will update your mutation icons.
-Rejuv will now heal clone damage and brain damage.
-Changed the order of possible directions the singularity can go in so that it won't go south too often (in theory).

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5057 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-13 19:34:45 +00:00
aranclanos@hotmail.com
dee7b74a45 -Changed turf creations, merging everything to only one proc
-Fixes Issue 1085 - Artificers creating turfs with buggy lighting
-Spells now will use the proper proc to create turfs

Due to the amount of files changed, this is just the 'part one'. The merging in turf.dm is not finished, mineral walls and buildmode are still using the old system. The creation of turfs on the game panel is not using the proper procs yet. Stay tuned for this changes, but now, sleep.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5054 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-13 13:39:00 +00:00
giacomand@gmail.com
28fbd01e7f -Added a new, and admin spawnable only, machine which can turn humans into Cyborgs. Probably can be used for Robot Uprising events. The human has to be lying down and alive to be Borged. When spawned a conveyor belt will spawn on the left and right side too.
-Reduced the duration of the flare. I think putting it in process() made it last longer.

-Added some null checks in camera chunks.

-Large NarSie now force calls the shuttle and displays a threatening warning message.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4915 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-20 02:13:40 +00:00
giacomand@gmail.com
1e1f173ca2 -Added large Nar-Sie. It is summoned by Cultists instead of regular Nar-Sie.
-Larger icon provided by HornyGranny.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4914 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-19 20:38:53 +00:00
giacomand@gmail.com
0fbfa48217 -Added more info for admin messages in these areas:
Chem smoke will say what reagents are in the chem_smoke.
Added a more_info ? to the last fingerprint that touched the grenade.
Added a more_info ? to bomb's last fingerprint and the attacher.
Admins get a warning message when someone summons guns.
Added a jump link to bomb's activation location.
Added a jump link to chem smoke's activation location, it will also show you the area's name.

-NarSie won't follow mobs in another Z level.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4719 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-18 09:49:51 +00:00
johnsonmt88@gmail.com
be04c81a27 Captains no longer spawns with a cigar in their mouth, instead it spawns on the desk where the captain spawns.
CEs no longer spawns with a cigarette in their mouth. I did not add a cigarette to their desk because there is already a cigarette pack that spawns there.

Moved some stuff in singularity/New() into its own proc that singularity/New() calls. This is so that I can override it and prevent runtimes with an away mission.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4717 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-18 01:36:40 +00:00
giacomand@gmail.com
2bc3ec67f1 -Improved the singularity. It was using 3 for(in range) loops when it could be easily be brought down to a single loop.
-Changed grabbing's constructor to allow parameters for the grabber and the grabbee. (I made a simple little tweak and look at all the files I had to change :( )

-Easter Egg: Clowns have a chance of reducing or increasing the singularities energy. Upper and lower limit is 300 and -300.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4681 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-12 11:17:49 +00:00
giacomand@gmail.com
ecd2bcec56 -Holograms are range based again.
-Instead of the singularity using range to look for rad_collectors around it, it will now look through the list and check the distance between every rad_collector, if it's less than 15 tiles in range then it'll give it power.
-Fixed naming your revolver.
-

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4638 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-06 21:24:33 +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