Commit Graph

41 Commits

Author SHA1 Message Date
PsiOmegaDelta
ebe5cc916d Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-05 22:10:06 -04:00
Leshana
44ff1a70c6 Removes the datum pool, as it is not performant.
* Creating new objects is cheap, in fact comparable to the cost of getting it out of the pool, so it doesn't help there.
* Placing items in the pool is far more expensive than letting them garbage collect due to the resetting of vars and such.
2017-05-04 01:58:33 -04:00
Neerti
828dacf485 Centralizes weight class definitions
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.

Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it.  This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files.  In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.

The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.
2016-09-22 00:51:51 -04:00
SinTwo
7192bf08fd item_state cleanup 2016-07-11 22:31:32 -04:00
Kelenius
afbc235b96 Mob inventory cleanup 2016-03-15 16:39:40 +03:00
PsiOmegaDelta
48ee872691 Refactors gas analyize. 2015-07-02 15:32:21 +02:00
GinjaNinja32
c77605265c code/game/objects, code/game/machinery merge fix 2015-06-02 20:18:45 +01:00
Kelenius
35a20002c6 Merge branch 'dev' into ofResearchAndPrototypes
Conflicts:
	baystation12.dme
	code/defines/obj/weapon.dm
	code/game/mecha/equipment/tools/medical_tools.dm
	code/game/mecha/equipment/tools/tools.dm
	code/game/mecha/mecha.dm
	code/game/mecha/mecha_parts.dm
	code/game/objects/items/devices/flash.dm
	code/game/objects/items/devices/powersink.dm
	code/game/objects/items/devices/scanners.dm
	code/game/objects/items/stacks/sheets/glass.dm
	code/game/objects/items/stacks/sheets/sheet_types.dm
	code/game/objects/items/weapons/RCD.dm
	code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm
	code/game/objects/items/weapons/circuitboards/machinery/cloning.dm
	code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm
	code/game/objects/items/weapons/circuitboards/machinery/pacman.dm
	code/game/objects/items/weapons/circuitboards/machinery/power.dm
	code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm
	code/game/objects/items/weapons/circuitboards/machinery/research.dm
	code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm
	code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm
	code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm
	code/game/objects/items/weapons/flamethrower.dm
	code/game/objects/items/weapons/handcuffs.dm
	code/game/objects/items/weapons/kitchen.dm
	code/game/objects/items/weapons/shields.dm
	code/game/objects/items/weapons/storage/backpack.dm
	code/game/objects/items/weapons/surgery_tools.dm
	code/game/objects/items/weapons/teleportation.dm
	code/game/objects/items/weapons/tools.dm
	code/modules/assembly/igniter.dm
	code/modules/assembly/infrared.dm
	code/modules/assembly/mousetrap.dm
	code/modules/assembly/proximity.dm
	code/modules/assembly/signaler.dm
	code/modules/assembly/timer.dm
	code/modules/assembly/voice.dm
	code/modules/clothing/glasses/glasses.dm
	code/modules/hydroponics/trays/tray_tools.dm
	code/modules/mining/drilling/scanner.dm
	code/modules/mining/mine_items.dm
	code/modules/mining/ore.dm
	code/modules/mob/living/silicon/robot/analyzer.dm
	code/modules/power/rust/circuits_and_design.dm
	code/modules/projectiles/ammunition/boxes.dm
	code/modules/projectiles/guns/energy/laser.dm
	code/modules/projectiles/guns/energy/special.dm
	code/modules/projectiles/guns/energy/stun.dm
	code/modules/research/circuitprinter.dm
	code/modules/research/designs.dm
	code/modules/research/destructive_analyzer.dm
	code/modules/research/protolathe.dm
	code/modules/research/rdconsole.dm
	code/modules/research/research.dm
	code/modules/research/server.dm
	code/modules/research/xenoarchaeology/genetics/reconstitutor.dm
2015-05-20 11:50:28 +03:00
Zuhayr
495952ff5d Changed steel material name to a define. 2015-05-12 13:08:41 +09:30
Zuhayr
bc50ba5166 Merge resolution. 2015-05-11 11:47:24 +09:30
PsiOmega
ca7fa2aa19 Grilles and rods.
Grilles no longer return more rods than they were created from when destroyed (by method other than wirecutters).
Rods are now acquired from and returned to a pool.
Also adds a pre-broken grille for mapping, avoids the case where one might be able to destroy the same grille twice.
2015-05-02 21:35:02 +02:00
Zuhayr
dbf8e53020 Mass rename of 'metal' to steel, refactor of walls and falsewall mineral construction, refactor of materials and ores. 2015-04-26 12:53:26 +09:30
PsiOmega
1ae0ad6d92 Updates the atom_pool, now datum_pool, to handle any datum object.
Makes the garbage collector similarly robust. Continues the whole Destroy/qdel porting.
2015-04-24 09:59:05 +02:00
Kelenius
db30c15e4c Updates to science
Protolathe and CI build procs moved to them from RD console.
Protolathe and CI now have a build queue. Designs take varying time to
build.
P and CI material storage is now a list instead of a set of vars.
origin_tech is now a list.
All sheets now contain exactly 2000 units of matter.
In design datum, chemicals and materials are two separate lists.
Designs are now sorted. The method is kinda hacky but flexible. They
have a var, sort_string. Designs are sorted alphabetically using it.
Circuits how show whether they build a machine or a computer in CI menu.
Adds item construction, for now protolathe is used.
2015-04-04 13:38:03 +03:00
Kelenius
10de826ca3 Removes FPRINT and TABLEPASS flags 2015-01-23 22:27:32 +03:00
Amunak
4882074739 Code formatting, EOL at EOF fixes, refactoring 2014-12-18 03:11:49 +01:00
Mloc-Argent
d5e9851b62 integrate XGM into the code
New turf proc: assume_gas().  Maps to air.adjust_gas_temp().
Lots of optimizations to processing, fire, lighting, HasEntered() and
 more.
Zones now process all fire data and existance in one go, fire objects
 only handle spreading.
Most code has been ported straight so some of it mightn't be ideally
 structured for the new gas_mixtures.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-07-22 19:52:12 +01:00
Zuhayr
9e7fe6d700 Rewrote autolathe, changed all m_amt and g_amt to a list called 'matter'. Updated RCD vars in view of this. 2014-06-11 01:14:38 +09:30
Ravensdale
1d6655850f Changes all appropriate instances of toxins to phoron 2014-04-10 15:11:26 -07:00
Ravensdale
a3e4a43536 Changes most viable, used entries of plasma with phoron. 2014-04-10 05:05:04 -07:00
Ravensdale
e6c3fbf071 Changes all appropriate instances of 'Plasma' to 'Phoron' 2014-04-10 01:19:49 -07:00
Mloc-Argent
a1f55a50b1 Massive click code rework by SuperSayu, ported from TG.
Full details at https://github.com/tgstation/-tg-station/pull/1206
Fixes #3648

Hopefully done right this time.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-08 20:27:39 +01:00
SkyMarshal
7d114d22bd Fixes issues:
#2632 Fire Issues (Fire doors work, Flamethrower reverted to making a flamethrower liquid fuel subtype, flame grenades now make a puddle of welder fuel that is lit aflame with napalm)
#2630 (The code has been calling (turf).temperature_expose when it was supposed to be hotspot_expose), #1865 (aqain)(Added a check to remove trace gas fuel under a certain point).
Also: added a flashpoint value for plasma, which is the temperature at which it self-ignites (Currently 246C or 519K which is equal to gasoline)
Partial-tile firedoors now default to full-tile firedoors as the part-tile ones were breaking ZAS zones entirely.  Possible cause of #2627 and maybe #2451, but those need tested and I did not have time.
2013-04-09 00:49:19 -07:00
giacomand@gmail.com
0b3ed70a2a - Changed the min/max damage of plasma to be less deadly.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5594 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-21 03:42:21 +00:00
giacomand@gmail.com
2c354562ad - Made flamethrowers use afterattack() instead of /turf/DblClick().
- Gave engineer vending machines air alarm electronics.
 - Replaced a magic number with what it is defined by.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5592 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-20 23:10:36 +00:00
rockdtben@gmail.com
169c96db1b Too remove potential excessive garbage collection per tick. We will be reusing lists for overlays instead of deleting and creating them.
the .Cut() proc on a list will empty a list by default. This also will set the len to 0.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5465 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-04 15:11:06 +00:00
giacomand@gmail.com
6a2d78bc94 -Killed the updateDialog lag. I added a check to see if there were any mobs to update, if not it will stop checking until a user uses the machine again. I had to replace all the machine = src and machine = null with procs to help make it manageable. I believe this is one of the culprits causing the server to lag as the round goes on, as more players will interact with machines.
-Atmos delay is now based on active players, to help fight lag for massive player rounds.

-Changed some for(blah in world) loops to use the correct lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-25 19:15:51 +00:00
petethegoat@gmail.com
bd12633922 Fixes issue 921.
Addresses part of issue 828.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4697 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-16 01:48:57 +00:00
johnsonmt88@gmail.com
2e7b008d27 File structure again.
This cleans up all of the files in code/game/objects/items/weapons. Meaning that the re-organizing part of this endeavour is complete. All that is left is to start dragging down all of the object definitions from code/defines/ into their proper places.

While I'm certain this is all good, I'll apologize now if files or paths end up broken.

Again: Make sure your .dme is up to date! Delete it if necessary to SVN Upload it to the current revision.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4550 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-26 05:20:27 +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
baloh.matevz@gmail.com
c2c7a3bcda - Variable declaration standardization. Big commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3671 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-25 19:26:36 +00:00
quartz235@gmail.com
806cda7203 Fixes issue 431
- Telecomm traffic control now has its own circuitboard and doesn't transform in to a server when the monitor is disconnected/reconnected

Small fix for flamethrower
- Using an igniter on a flamethrower that already has one attached no longer uses up the igniter

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3324 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-19 23:07:20 +00:00
mport2004@gmail.com
62e28c2abf Organs:
Moved into their own folder and got split into three files.
Damage  zones have been regrouped slightly to make it easier to deal with them. Currently the organ groups are head, l/r leg, l/r arm, and head.

Attacking:
Armor is properly checked.
Currently aiming for the chest gives a higher chance to stun whereas the head will stun for longer.
Stungloves/Disarm now show up in the attack log.
Stungloves ignore intent.

Silicon:
AI units can now move between cams that are not on the ss13 network.
Cyborg's alert screen should not longer pop up every time they get an alert if they have opened it once during the round.
Robot vision now uses the standard amount of energy.

Gamemodes:
Added Deuryn's unrev message.
Runes can only be examined if you are close to them.
Moved the Loyalty implants to the HoS' locker at the request of HerpA.
Nuke agents now come with explosive implants that will activate upon death.

Projectiles:
Once again went though the gun code and cleaned things up, it is much better now.
Bullet_act fixed up and most mobs now use the one in living, just overload it if they need to do something diff.
Freeze /caplaser/xbow no longer have an infinite loop.
Shotguns have to be pumped manually.

Went though the latest runtime log.

Power cells now use return on their give/use procs

Assemblies have been reworked and are nearly finished, just need to finish up the special assembly code, redo the signalers, and add one or two new assembly items.
Laying down will now only take 3 ticks to get up, from 5.

You can no longer punch people on the spawn screen.

This is a big one and was cleared by two heads, TK will only allow you to pick up items.  If you have an item in your hand it will act normal.

This revision got much larger than originally intended my tests show everything is working fine, but you never know.  Ill likely do more mob teaks in the next few days.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2333 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-08 10:38:01 +00:00
mport2004@gmail.com
c612827472 Singularity absorption explosion range lowered and is now dependent on singularity size.
BoH is no longer an instakill on a singularity, the chance the singularity will die from bombs now 25% from 10%.
Finished removing Metabslow from the game because delaying Interface rebuilds is a bad idea.
Sadly THE SUN is gone due to lighting lag issues, the current mob max luminosity is set to 7.
Damage and stun from doors shocking people has been lowered.
process() is now an obj level proc as it was already used by several procs and they can now jump onto the ticker if needed. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2199 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-14 07:24:19 +00:00
mport2004@gmail.com
6980602e24 General:
Flamethrower construction code cleaned up.
Signalers on doors should work fine now.
Changelog Updated.

Weapons:
Xbow radiation has been lowered from 100 to 20 and it has a 5% chance to do no rad damage

Admin:
Attempted to clean up the code a bit
Commands Removed/CommentedOut:
air_status,  radio_report,  toggletintedweldhelmets, modifytemperature, givetestverbs, restartcontroller, fix_next_move, Cell
Renamed: 
edit_memory - show_traitor_panel
un\stealthadmin - show/hide_verbs

Cargo:
Engineering crates cost 10 and contain: 1 mechanical toolbox, 1 electrical toolbox, 1 glove, 1 toolbelt, 1 vest, and 1 hard hat.
PowerCell crates cost 10 and contain: 1 electrical toolbox, 2 wire coils, 2 power cells, and 1 high power cell.
Water/Fuel tank crates cost 15 and contain: 1 water tank and 1 fuel tank.

Cyborg:
Fixed the open cover icons
To override a cyborg's laws you must emag it when the cover is open
Emags can now unlock the cover

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1995 316c924e-a436-60f5-8080-3fe189b3f50e
2011-08-09 06:21:57 +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
tronaldnwn@hotmail.com
90f747ffd9 Bug fixes (due to minor typos):
- Basic Drills Now can be made
- Flame throwers give plasma research
- Plasma cutters give plasma research

Fluff Text change:
- Lights out event: The fluff text now is that an "Electrical Storm" causes the lights to overload, and Nanotrasen isn't blowing out expensive lights randomly.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1563 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-10 04:46:04 +00:00
tronaldnwn@hotmail.com
ef4af19765 God... I went though a lot of cloths.
In Gimmick, 
Santa suit now is pretty quick (but it can't spawn in game so fat chance of using it).
Typo fix, description changes.

In head,
A few descriptions changes.

Jumpsuits,
Chemists and the CMO have their OWN jump suits now. So no one can confuse the chemist in chemistry with a geneticist.
Added a space Jumpsuit to the code, it can only be spawned by admins or people in sand box. So you can jump out an air locks with it now (default sprite is a black jumpsuit).
Fixed the roboticists jump suit so the head transfer coefficient is lower (as some One set it to the same level as a lab coat for some insane reason, lucky we don't have more frozen people in robotics).
Miner jump suits are a fraction better against heat transfer than other jump suits, but just slightly.

In Suits
Tacticool NASA Voidsuit, which is just like a Red space suit but can only hold energy guns, are slower (slightly) and are bulky (so you can't hide them in back packs).
Also, a few description changes. Perhaps now we can add these to the AI satellite teleporter room?  Maybe?

Job Procs
Chemist and CMO start with above stated jumpsuits for their job ranks.

Flamethrower
Gives 1 weapons and 1 plasma research. This was something the creator of the R&D had not gotten around to doing (when questioned about it a while back, he wanted it to give minor tech fields in both, but got busy), so I just want to lighten the load.

Mining
Tweaked the tech origin of plasma cutters so it will contribute to plasma research now.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1323 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-31 11:19:16 +00:00
Atso.Sariola@gmail.com
c85f20f54f git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1057 316c924e-a436-60f5-8080-3fe189b3f50e 2011-02-18 03:23:40 +00:00
rastaf.zero@gmail.com
09e0bcf987 Stackable items redo. Many improvements, massive code clean up.
Metal and related materials now noticeable more user-friendly.
Added new canister color: yellow "CAUTION". Used for newly created from metal canisters. Can be relabeled once.
Some typos were fixed.
dsay verb now uses fakekey in stealth mode.
AI cannot remove the cell from the charger.
Added alientalk chat prefix: ":a" by Barhandar. Also added keyboard layout independent russian prefixes.
Binary translator done by more convenient may by Barhandar.
Is possible now to wash bloody hands in sink.
Probably fixed bug causes gibbed revheads be not counted as dead.
Some other fixes.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@752 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-03 01:26:01 +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