Commit Graph

63 Commits

Author SHA1 Message Date
Tigercat2000
71e5344a98 Mass replace 2016-07-07 19:34:02 -07:00
Tastyfish
a0ad6582a1 Updates maploader code to be in line with tg's, startup improvements 2016-04-10 02:57:58 -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
Tigercat2000
31aab5452b -tg- smoothing/floor refactor
Squashed:

Add plasteel goonplaque turf

Builtin_tile nulling

Levelupdate()

Fix falsewalls, update smoothing.dmm

fixes rwall decon
2016-01-03 19:24:13 -08:00
Fox-McCloud
9c3e6f1ecd Removes Update Triggers File 2015-10-05 16:14:38 -04:00
Tigercat2000
4f3938d68b -tg- buckling system
This commit overhauls a bunch of systems so that buckling works for
any subtype of /obj. This means that space vines and chairs and beds all
use the same system. A lot of stuff has been touched.
2015-09-24 15:52:10 -07:00
Tigercat2000
7f4ac72910 Progress bars + Wall Rationalization
This commit does the following:
 - Ports progress bars from -tg- (tgstation/-tg-station#9921)
 - Refactors wall attackby code to make it 100% less insane; Instead of
   manually checking every little thing, it uses do_after,
   consequentially, making the new progress bars affect dealing with walls
   as well.

Wall code makes a tiger sad.
2015-08-31 13:38:51 -07:00
Fox-McCloud
99bf49504a LINDA Pressure Changes 2015-07-11 06:28:03 -04:00
Fox-McCloud
0dbea7621f The Great Del() Cull of 2015 2015-07-09 02:48:34 -04:00
Tigercat2000
bcb4a9601f Merge remote-tracking branch 'upstream/master' into poolit
Conflicts:
	code/game/objects/structures/displaycase.dm
	code/game/objects/structures/grille.dm
	code/game/objects/structures/lamarr_cage.dm
2015-06-22 13:40:07 -07:00
Tigercat2000
7c9139d6e0 Bay/-tg- Meteor port
Meteors now have different types, properly integrated.
Meteoract has been removed, meteors now just call ex_act.
2015-06-21 18:39:39 -07: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
ZomgPonies
91e8b909c0 Squish Squash 2015-04-04 14:27:53 -04:00
ZomgPonies
66dd040130 Gives the ability to stop someone climbing a table 2015-03-09 22:55:30 -04:00
ZomgPonies
5c14d9c5f2 vg Garbage Collector 2015-02-23 17:18:38 -05:00
Fox-McCloud
222e26e23f Merge pull request #508 from Markolie/master
Fixes grilles, constructable machine upgrade, proper hardsuit conversion, R&D updates, constructable display case
2014-11-22 00:57:02 -05:00
Markolie
107325bb43 Melee attack for mechs 2014-11-22 06:05:13 +01:00
DZD
1e67cf2548 Table Climbing Block Formatting Fixes
Just a little bit of formatting improvements to the table climbing block
in case of solid object, fixes issue with having "You cannot climb a the
reinforced table," and specifies what object is in the way of climbing.
2014-11-10 19:34:35 -05:00
DZD
6863cdfb2d Fixes Table Climbing Edge Case with Windoors
With the fix that I had implemented to prevent climbing through solid
objects, a windoor on the other side of a table would prevent climbing,
now the check ignores windoors, as they already block climbing from the
same side.
2014-10-30 20:20:45 -04:00
DZD
53de43ba9e Tables Climbing Through Solid Objects Fix
-Tables don't consider themselves solid object when trying to climb over
them.
2014-10-10 15:01:53 -04:00
DZD
2668bb6f9b Shutter and Table Tweaks
-Can no longer climb onto tables that are inside solid objects.
-Added shutters to HoP Office
-Fixed Psych Office shutters button so that it is linked to the Psych
Office shutters and not the ones in surgery.
2014-10-05 22:19:09 -04:00
Zuhayr
ebb9f724aa Hydroponics rewrite, details will be in PR. Big commit.
Conflicts:
	baystation12.dme
	code/controllers/master_controller.dm
	code/game/gamemodes/events/spacevines.dm
	code/game/machinery/seed_extractor.dm
	code/modules/mob/living/carbon/brain/posibrain.dm
	code/modules/mob/mob.dm
	code/modules/reagents/Chemistry-Reagents.dm
	code/modules/reagents/reagent_containers/food/snacks/grown.dm
	icons/obj/hydroponics.dmi
	maps/tgstation2.dmm
2014-07-25 11:10:01 -04:00
ZomgPonies
01ce1db6ff Fix drag and drop climbing, finally 2014-07-18 17:35:35 -04:00
ZomgPonies
c5dac036e1 Fix drag and drop table climbing 2014-07-18 13:04:41 -04:00
ZomgPonies
88098da3c7 Object verb removal crew 2014-07-15 08:47:43 -04:00
Zuhayr
b3fc3a4a15 Fucking Hell I'm an idiot. 2014-07-13 06:34:22 -04:00
Zuhayr
b148235669 Wtf how did this line even get deleted. 2014-07-13 05:47:38 -04:00
Zuhayr
fe1cf5ef77 Oversight with table fix. 2014-07-13 05:47:21 -04:00
Zuhayr
92192021af Compile fix. 2014-07-13 05:45:43 -04:00
Zuhayr
02a7109037 Fixes #5434 2014-07-13 05:45:23 -04:00
Zuhayr
e203cce645 Fixed It won't budge! from crates, added drag and drop for table climbing, added Adajcent check to table climbing.
Conflicts:
	code/game/objects/structures.dm
2014-06-29 12:03:39 -04:00
Zuhayr
727d7400ee Shuffling around table and crate knock/climb procs.
Conflicts:
	code/game/objects/structures.dm
2014-06-24 06:59:42 -04:00
d3athrow
19d339c45d Furthur optimizing qdel and Destroy for obj/effect
Conflicts:
	code/game/objects/effects/decals/Cleanable/humans.dm
2014-03-05 20:26:40 -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
johnsonmt88@gmail.com
d36387607f More file structure stuff.
- The folders themselves are now finished
- Next I'll go through each file and organize them
- Lastly I'll start pulling the object definitions out of /code/defines/ and put them into their respective files.

**Note to committers**
Make sure the .dme file updates when you update to this revision. If necessary delete the .dme and svn-update.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4546 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-26 01:20:02 +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
ericgfwong@hotmail.com
e5a2674e3a -Added Armor run to admin tomes
-Resolved Issue 720. Message should now properly tell you who got cult armor
-Resolved Issue 642. Bad indentation caused girders to disappear if you move away while building them.
-Commented out admin messages when monkeys used non-monkey SEs
-Atmos techs given Construction Area access
-Remapped the south end of Med-Sci
--Misc. Research Lab added to science
--Virology moved to be made more isolated
-Updated Changelog

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4312 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 07:37:22 +00:00
sieve32@gmail.com
459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.

r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds

[VGTG]

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 00:48:51 +00:00
johnsonmt88@gmail.com
3bd93d58a8 git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3990 316c924e-a436-60f5-8080-3fe189b3f50e 2012-07-05 21:06:44 +00:00
sieve32@gmail.com
93e4d2c1ff Quick bugfix for falsewalls, defined an update_icon() for them that is called by smoothwalls to keep the icons from de-syncing.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3989 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-05 19:21:27 +00:00
petethegoat@gmail.com
72c72c47d3 Sieve stuff, this is a stupidly big commit, I'm sorry, I really am.
Full details in this thread:
http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8898
And a summary of the most important bits:
-Door animations no longer desync and do the open-close-open thing. That's been around so long most people don't even notice
-Welding tools no longer get their icons desynced
-Fixed unpowered mineral door runtimes
-Chemistry machines now require power to run
-Fixed the proc to apply radiation based on armor, which means that you can actually not die of radiation as quickly if you wear armor that protects against radiation
--By fixing this, it also fixed the singularity, so you might want to be careful next time you run by it naked
--Also means that radiation events take armor into account. How great
-Hopefully have a bugfix to prevent borgs from using lag to enter the game without an AI or laws, but I cannot test it myself other than that it didn't break anything
-Disposal sound can only play once every couple of ticks, so no more ear-rape by disposals!
-Lasertag guns can no longer be used to make lasergun turrets
-Cleaned up stray pixels on several doors and the lasertag guns

-Reworked how falsewalls work, now whenever you attack them with certain tools (drills, welders, etc...) it instantly turns them into a wall and pushes the attackby(), meaning you might not even notice that you just drilled down a falsewall, and at the very least they are much more fitting
-Omni-directional PA console! Never have to worry about rotating that fucking computer again, because now it does it itself!
-The Marisa robe that spawns in the theater no longer protects like armor
-Tweaked coefficient list for fake insulated gloves (misplaced punctuation messed up the list a tad)
-Moved falsewalls out of 'transfer_valve.dm' and into 'structures.dm'
-Tweaked smoothwalls so it only connects walls with like minerals (only seen effect is on the new walls)
--Also added appropriate signs to areas
-Reworked portable turrets to be a lot less laggy, now they determine the projectile type once, then save it so they don't have to go through else if chains every time they fire
-Added many sprites from WJohnston, but many are not fully implemented (Mostly floor ones)
-Added a vending machine for engineering, the Engivend. Apparently it was needed because of the lack of availability of the Autolathe or whatever.
-Added WJohnston's Dark Gygax sprites, then made a Death Squad Gygax out of them. A bit tougher than the standard Gygax, improved battery, and is pre-fit with gear, ideally for 'hit and run' tactics
-New Odysseus construction sprites, also removed the Odysseus Carapace in favor of plasteel like the Ripley, meaning they in terms of construction, a Ripley is equivalent to an Odysseus 
-Added an 'is_hot()' proc, when called it returns the temperature of the item in K, while taking into account things like whether or not the item is active or whatever
-Rewrote the Experimental Welding Tool, now instead of having a super-sized tank, it uses super-concentrated plasma that is turned into gas inside of it as its fuel source. Meaning, it will never have to be refilled, but it takes time for it to fill itself
-Added WJ's firelight sprites and code. Wanted to use them, but haven't had a chance to really implement them, but still, they're there

-Turrets made with lasertag guns now fire their respective team's bolt
-The turrets also automatically target anyone on the opposing team (But will continue to shoot at anyone, for shits n' giggles)
-Turrets get corresponding sprites based on team
-Shooting a turret with a different team's laser will disable it for 10 seconds
-You can also make ED-209's for your lasertag games/pissing off sec
-These are constructed just like a regular ED, but instead of a security vest and taser, it requires a lasertag vest and gun (same colors)
-When geared for lasertag, They will not arrest anyone nor melee them, only patrol (if set) and shoot
-They have their color schemes as well, and can be disabled just like turrets
-For both turrets and EDs, when geared for lasertag, they will not shoot anyone on the ground, this was due to very quickly learning how fucking OP that was for 1 turret to stunlock 3 people for eternity
-And when they are geared for lasertag, both the turrets and EDs have their access changed to maint, clown, and mime (This will not stop any of them from being shot, however)
-As a side note, you can also make lasertag stationary turrets for any map-related things

-Now walls are based on a plating system, meaning all walls have a girder with a mineral plating on top of it.
-As of right now, usable minerals are Silver, Gold, Diamond, Uranium, Plasma, and Sandstone (Lacking sprites for wood, *cough*)
-This also carries over to falsewalls, so you can make falsewalls out of any of those minerals
-Also, this carries over to powered doors, meaning you can construct useful doors out of minerals, so you could have actual diamond forts with doors requiring access to get in or whatever
-All of these are standardized, and for the most part work just like regular walls, meaning if you start slicing a wall, it will drop the mineral, or if you drill it, or whatever
-What was mentioned with the smoothwall tweak above, only walls of the same mineral will connect, so it all looks very nice
-Doors and walls made of uranium emit radiation when interacted with, with walls causing a 'ripple' effect, so the more walls nearby, the more radiation you get hit with
-Doors and walls made of plasma burn. It's a short, quick burn, but can easily be compounded in large structures
--As a note on plasma walls, I cannot get atmos and plasma walls to play nice (Since they are airless turfs), so I can't actually get them to ignite based on air temperature, but when they do ignite, they will auto-magically ignite nearby plasma walls, with a reduced temperature, meaning that if you want a massive chain reaction over a huge area, you better use something a bit hotter than a lighter
--Also, when plasma walls burn, they simply leave behind a girder, while doors leave assemblies
-Lastly, for nearly any kind of destructive action, Diamond walls are much more resilient, meaning they will take twice as long to be destroyed, and are immune to the effects of thermite
(Also, sprites for plasma walls and uranium walls are shite right now, waiting for replacements)
Update:
-Added cult walls as a 'mineral wall', meaning they will work on the same system and 'ReplaceWithMineralWall("cult")' will change any turf into a cult wall, hopefully for some cult-related activities soon

R&D stuff:
-Now instead of 1 sheet or ALL OF THE SHEETS, you enter a number as to how many sheets you want (it's sanitized to hell as well)
-Minerals no longer multiply when inside RnD machines. (Who fucked that one up? Goddamn)
-Mech fabricators are both deconstructable, and putting higher level parts actually improve it, each 'Tier' up is equivalent to +1 tech levels for that, so a High Powered Micro Laser would give the same bonus as +1 Material Research, a Pico Manipulator would give the same bonus as +2 Engineering, etc
-Complete with a shitty opened Mech Fab sprite!
-And not shitty overlays so autolathe's animate the material that is put in them, rather than give everything that's not glass the metal animation

LOL THE JOKES ON YOU I JUST COPY PASTED HIS TOPIC

added a few svn ignores, for thumbs.db and maps/backup

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3751 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-06 19:45:03 +00:00
johnsonmt88@gmail.com
fa65c484cd Welding tool: Mostly code-related, the players won't notice much.
- Welding tool code how has proper comments! Maybe not "proper" but at least I don't lie and say a proc is/does something that it doesn't actually do.
- Welders now start full of fuel instead of some random amount between 10-20
- Someone decided it would be a good idea to set the welding tool's 'on/off' var in a ton of attackby() procs. These objects and turfs shouldnt even touch this variable. This is why people have been noticing their welding being on without the sprite or damagetype and amount reflecting that.
- - I've removed a bunch of these instances but there are so many objects and turfs spread out through the code, there's no way to know if I've got them all (This is the majority of the files)
- - I've created a new proc in welding tools that checks to see if they are turned on or not. "isOn()"
- - Since I'm not sure if I've gotten every instance of this force-var-on, I've set the welding tool to update it's icon every process(). I hate adding checks like this to processes but it's necessary for now.
- Added a setWelding() proc. If you HAVE to turn the welding tool on or off, use this, don't just change the var. In fact, dont even touch the 'welding' var anymore
- Fixes issue 435

While changing the hundreds(literally) of cases of welding tool uses I've
- Changed some :'s (object:varorproc) I've come across into .'s (object.varorproc)
- Added checks to make sure the welding tool is actually on before using it (some attackby()'s didnt have this. Heck, some checked how much fuel you had, but didn't actually USE the fuel)
- Added sanity checks after some do_after()s that were missing them

Added traitor uplink items back to erro's stat tracker
- Added 'random' with the tag "RN"
- Added thermal meson glasses with the tag "TM"
- Reorganized uplinks.dm a little by moving the 'random' item generation to its own proc
- NOTE: I have absolutely no way to test this on my own, but it should work!

I've tested a bunch of construction/deconstructions with the welding tool, but again I've probably missed a few things. If there are any problems, please let me know and I'll fix them asap.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3741 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-04 22:56:11 +00:00
petethegoat@gmail.com
4413e5456d Replaced engineering rig suits with sexy new environment suits, sprites courtesy of Baystation 12.
Fixed Erro's backpack derp- backpacks are wearable once again.

Added a obj/structure ex_act(), blob_act(), and meteorhit().

Made gasmasks block visibility of glasses and ears.

Fixed being able to wear plasma tanks on your back.

Fixed the gas mixer sprite not lining up with horizontal pipes correctly.

Removed a bunch of pointless text()s from a few files. I was going to get rid of all of them, but I gave up after a while. Most of the diffs are this.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3662 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-25 14:40:43 +00:00
kortgstation@gmail.com
0e62a55fd5 Added cult girders (sprites by Ausops).
Cult walls can now be reduced to said girders.

Artificers can now create cult floors with a new 

Added the damaged cult floor sprites by Ausops.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3466 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-16 06:11:41 +00:00
trubblebass@gmail.com
cb7123d122 Fixes courtesy of BubbbleWrap
- The first makes it so floor tiles are actually used up when placed on lattice.
- The second fixes the pepperspray so it isn't blocked by cigarettes/cigars/etc...

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3022 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-31 22:54:04 +00:00
quartz235@gmail.com
ce61604e79 - Walls, Rwalls, etc. now leave hidden prints when constructed
- Biosuits can now hold pens and penlights in suit storage
- Syringe draw/inject icons are now overlay-based
- Syringes now use the same coloring overlay system as beakers (see: blood samples are now red, etc. etc.)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2953 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-14 05:54:51 +00:00
quartz235@gmail.com
26a2f20340 Runtimes are funtimes!
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2941 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-10 22:21:26 +00:00
uporotiy
85157b5a68 Steel renamed to plasteel.
Having more than 100 burn damage and being dead now makes you a husk.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2925 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-07 21:02:56 +00:00