Commit Graph

114 Commits

Author SHA1 Message Date
MrPerson 9eee3e5067 First pass at a qdel() garbage collection system for tgstation
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.

New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.

ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
2014-02-23 14:55:12 -08:00
Ergovisavi 1749d38d56 Merge branch 'master' of https://github.com/tgstation/-tg-station into asteroid_overhaul
Fixed possible runtime issue with Jaunters, fixed merge issues, changed mining points to examine from attack self
2014-02-16 19:36:48 -08:00
Ergovisavi 0c79888f32 Changed plasma to not spawn so often, but now shows up on analyzer ping and grants more points. Reduced effectiveness of "Window shopping" on the asteroid by surrounding random mineral turfs in no-chance turfs. Changed the mining locker's sprite to something else, courtesy of Jordie0608. 2014-02-14 18:30:19 -08:00
hornygranny e0d0cedf36 passed over everything with throwforce 2014-02-13 18:06:50 -08:00
Ergovisavi 7d4b9ac173 Asteroid Overhaul - Added explosions activating Gibtonite, revised ore redemption and equipment locker code, added warning signs to the western asteroid, tweaked mob spawning a little 2014-02-11 15:21:38 -08:00
Ergovisavi 892ffd3879 Merge branch 'master' of https://github.com/tgstation/-tg-station into asteroid_overhaul 2014-02-09 22:37:20 -08:00
Ergovisavi bf17c3328e Asteroid Overhaul v1.0
Mining Equipment Locker and associated items
Asteroid map rework
Mining Mob rebalancing
Minor fixes
2014-02-09 19:51:05 -08:00
Ergovisavi 0c0fb58628 Some mob tweaks, ghetto smelting, equipment locker item fixes and changes 2014-02-07 20:45:06 -08:00
Ergovisavi 62ede5d1ae Merging the Asteroid Map overhaul and Mining Equipment/Locker into one pull, added Mining Scanner, changed mesons
Tweaks on how caves are spawned and how mobs are spawned on the asteroid
2014-02-07 00:18:45 -08:00
Ergovisavi a43ccac681 Makes SmeltMineral() less horrible actually adds the Mining Equipment Locker and Ore Redemption Machine to the map. 2014-02-04 16:58:26 -08:00
Ergovisavi 96f0f4f8b9 Makes SmeltMineral() less horrible actually adds the Mining Equipment Locker and Ore Redemption Machine to the map. 2014-02-02 18:03:47 -08:00
Ergovisavi 4d8674bffe High mineral chance turfs have been dotted throughout the asteroid instead of in small clumps.
High Mineral chance turfs and Labor minerals turfs are now color coded for your convenience in mapping, they go back to the default rock icon on new()
2014-02-02 13:56:00 -08:00
Ergovisavi 3c0493d2a9 Stops being able to power machines on asteroid turf
The west fields on the asteroid have been filled in, and the high mineral chance tiles have been redistributed throughout the asteroid.
2014-02-01 22:14:40 -08:00
Ergovisavi a270bb5696 Fixes projectiles hitting a target multiple times if it's thrown or simple mobs fire it
Adds a bunch of new miner exclusive items, miners will now spawn with a mining point card in their backpack to buy things at the locker.
Resonator and Kinetic Gun commented out from the equipment locker until mining mobs spawn by default
2014-02-01 17:11:21 -08:00
Ergovisavi 2fe7961f95 Fixes projectiles hitting a target multiple times if it's thrown or simple mobs fire it
Adds a bunch of new miner exclusive items, miners will now spawn with a mining point card in their backpack to buy things at the locker.
Resonator and Kinetic Gun commented out from the equipment locker until mining mobs spawn by default
2014-02-01 14:24:31 -08:00
Razharas b4f011bacb Merge branch 'master' of https://github.com/tgstation/-tg-station into CraftingTable
Conflicts:
	code/modules/mob/living/carbon/human/human_defense.dm
	code/modules/power/cable.dm

Fixing conflicts
2014-01-31 05:20:59 +04:00
Ergovisavi 2133f12dc4 Merge branch 'master' of https://github.com/tgstation/-tg-station into miningpoints 2014-01-30 16:37:37 -08:00
Ergovisavi bd3c9dea0a Fixes a possible runtime with gibtonite deposits. 2014-01-29 18:10:21 -08:00
Ergovisavi b7eb807f34 Stops the admins from getting spammed from gibtonite, but is still logged 2014-01-29 15:54:10 -08:00
Ergovisavi e766b585c1 Equipment Locker and Ore Redemption Unit v1.0 2014-01-29 11:47:34 -08:00
Razharas ea54257ab6 Ported cable coils to stacks crudely
Yeah
2014-01-22 02:11:19 +04:00
Ergovisavi c1fa50976b Merge branch 'master' of https://github.com/tgstation/-tg-station into Gibtonium 2014-01-20 17:48:38 -08:00
Aranclanos 470e323fda Mineral boxes will now handle properly the movements of the mineral ores when a player click on them with one.
Fixes issue 2352
2014-01-15 20:08:35 -03:00
Ergovisavi 4948820b67 Gibtonite - Uncommited the .dme changes, fixed countdown(), removed redundant checks 2014-01-11 12:47:30 -08:00
Cheridan 26d3d03d69 Merge pull request #1906 from Aranclanos/GiaPlsFix
Removed the need of input and output objects for the mining machinery
2014-01-05 14:23:28 -08:00
Aranclanos b5fc39236f changes strings to paths on the mining machinery code 2014-01-03 03:23:28 -03:00
Cheridan bb9c09df46 Obsoletes flags = FPRINT | TABLEPASS*
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.

Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.

If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only  where it was intentional (holodeck items could use this for example).
2013-12-30 15:03:17 -06:00
Giacomand 02a1e9bd0f * Increased the amount of iron that spawns in the labor camp.
* Decreased the amount of points you get from diamond and bananium. Increased the amount of points you get from Iron and alloys.
 * You can now see which minerals give you which points from the claiming console.
2013-12-23 22:26:36 +00:00
Giacomand 47545f439e * Added ore boxes to the gulag, and added a conveyor belt which goes outside and has a loading machine, which will take the ore from the orebox.
* Added sprites for the stacking machine going in the reverse direction, just set the dir to 1 instead of 2.
 * Added prison intercoms which will not broadcast until someone hacks it. Added these intercoms in the gulag, the perma brig and the brig cells.
 * When a prisoner has received enough points for freedom, if they try to move the shuttle, or open the middle door, while someone is on it they will get an error message. This way there is no way for a free'd prisoner to release their fellow prisoners once they have reached their point target. The shuttle will depart right away when you call the shuttle from the stacking console, to stop prisoners from getting on while it departs.
2013-12-20 22:09:06 +00:00
Rolan7 530dd03286 Making astroturf and sandstone now automatically stacks all the produced items. 2013-12-04 18:44:49 -05:00
Rolan7 e3d2f9ffe7 DONE Leather gloves now have heat protection like black gloves (to allow removing lights bulbs/tubes)
DONE	Plants require 4 light, mushrooms only 2
DONE	Harvesting should report how many items were harvested (whether plantbag is used or not)
DONE	Plantbag should have a mode to only pick up one kind of plant at a time.  Trash and ore bags too.
DONE	1 unit of mutagen should cause non-species mutations.  (Radium too)
DONE	Uranium should be like radium but even weaker
2013-11-28 23:07:50 -05:00
Aranclanos 00a62742b6 Removed the need of the input and output object for the machinery of mining.
They will now use the input_dir and output_dir vars.
2013-11-26 09:12:21 -03:00
Aranclanos 4ad564a440 gia ;_; 2013-11-26 05:56:58 -03:00
AlexanderUlanH b66d64ea9e Re-beautified mining
Caves now update properly, with no inconsistent overlays on space tiles.
2013-11-10 00:09:57 -05:00
AlexanderUlanH f31f7092c8 [MAP] Mining fixes and a remap
I don't even know what's going on oh god
2013-11-06 23:26:46 -05:00
AlexanderUlanH 16d17921f9 Cha-cha-cha-changes
Changed the shuttle controller to a datum, changed the appearance of the
labor shuttle, and fixed stackers giving one free stack of each ore.
2013-11-02 17:01:54 -04:00
AlexanderUlanH 87b72833bd Added the labor shuttle 2013-11-02 15:16:39 -04:00
KazeEspada 630a691c6d Cleans up computer code severely. fixes issue #1004. Aliens and Monkeys can now smash computers. However, this only applies to computers with buildable circuit boards. Computers without boards are now impervious to attack and deconstruction(can't steal atmos computers or slash up the escape shuttle computer).
Hologram computer has been moved to unused. It has some interesting ideas, but it needs sprites and fix up.
2013-09-17 13:22:39 -07:00
Cheridan bfeef72660 Merge pull request #1102 from Aranclanos/Linda
Linda.
2013-08-18 15:27:23 -07:00
Giacomand 4ce7f61c2b * Removed the quarantine restriction on the mining shuttle. 2013-08-12 17:16:58 +01:00
Aranclanos 0ce01d1583 Adding Linda. 2013-08-10 06:15:14 -03:00
Giacomand 9caa5905fe * Made the mining shuttle one way during blob.
* Increased players per blob and decreased blob count to win.
 * Changed the health value of the blob spores.
 * Blob gamemode will give the blob core a resource rate of 2, random event blob cores will get 1.
 * Raised the amount of time that has to pass before the blob event occurs.
 * Increased the difficulty of expanding into space.
 * Added a player limit to the blob gamemode.
 * Removed density from shield and other variables which are set in the abstract blob.
 * Deleted spores after they die.
 * Reset the brute resistance.
 * Disabled random blobs in the blob gamemode.
 * Double'd the blob spore's health.
 * Blobs can expand into space again but it will be harder to do than on a space tile.
 * Dead robots will be gibbed in their blob_act() as their bodies will block the blob.
 * Reduced the damage the blob takes from explosions, and increased the brute resistance. Blobs main weakness is fire, not force.
2013-07-13 09:55:41 +01:00
carnie b84d12d949 *Small tidy-up of various helper procs*
-Turns out there was already a Gaussian PRNG proc already, used by mechs and turrets. I've replaced it with my one as mine has almost half the cost. (currently broken! still waiting for fixes to be pulled!)
-replaced between(min, val, max) with Clamp(val, min, max)
-get_turf(thing) now uses var/list/locs to locate its turf, rather than iterating up through loc of its loc of its loc...etc
-sign(num) moved to maths.dm
-InRange(val, min, max) replaced with IsInRange(val, min, max) (they were identical)
-Removed ismultitool() iswrench() iscoil() iswire() iswelder() iscrowbar() etc
-removed modulus(num) as abs() performs the same task! *roll-eyes*
-removed get_mob_with_client_list() as it is no longer needed (we have var/list/player_list now)
-removed get_turf_or_move() as it simply called get_turf
-removed get_turf_loc() as it was identical to get_turf()

*Additions:*
-The "Declare Ready" link in the lobby will automatically become "Join Game" if the round starts before you declare ready, so you don't have to click it twice
2013-05-27 12:21:43 +01:00
Cheridan 82c0c39836 Hahaha remember that time when I commited code that didn't compile??
-Fixes my typo.
2013-04-24 15:25:26 -05:00
Cheridan 46920eeb39 COIN UPDATE
-Removes the unused/dumb access stuff from space cash.
-Fixes a bug where dice would vanish if you used a hand labeller on them.
-Moves space cash/coins/mint sprites into their own file, economy.dmi. Moves mineral sheets into mining.dmi.
-Coins are flippable! Features unique flipping sprites and sound effects, and two-headed coins.

-Oh and better sprites for wooden closets too.
2013-04-23 19:50:05 -05:00
Pete Goodfellow 6e19734145 Cable coils now update mob inhands correctly when used up. Changed cable coil items to use the existing update_icon() proc, instead of their own updateicon(). 2013-04-18 19:59:50 +01:00
petethegoat@gmail.com 8ff7285645 Updates HUD stuff!
The main goal was to remove all the pointless shit in the UI style dmis, but this commit actually goes a bit deeper than that.

Formally renames the "hurt" intent to "harm", in line with everything else in the world.

Removes the old screen1_... .dmis. They've been replaced with screen_... .dmis. They function much the same.
screen_gen.dmi is used for things which apply to multiple UI styles, such as storage slot sprites, or the intent selector. (These can still be overridden in HUD code, though.)

Item action buttons have been changed to use a template from the UI style, and the icon_state of the item.
var/icon_action_button has been removed- varvar/action_button_name must be used instead to add action buttons for items.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5826 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-08 21:32:00 +00:00
giacomand@gmail.com edbae4d9d5 - More runtime fixes.
- Committed carn's fix to events happening every 5 minutes, on the dot.
 - Changed some more turf which play sound so they do not play to everyone in the area.
 - Made the join screen a little bigger for the "view player polls" option.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5801 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-02 16:51:57 +00:00
giacomand@gmail.com 46dc7d6084 Committing Faerdan's UI overhaul. Includes a UI browser class to easily manage and standardize user interfaces. This first release does not convert all the user interfaces in the game but only most of them. You can find samples of these user interfaces here: http://imgur.com/a/5dr6E
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5794 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-27 20:02:42 +00:00
giacomand@gmail.com edd225527d - Added tunnel caves to the asteroid.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5788 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-26 12:35:57 +00:00