Commit Graph

68 Commits

Author SHA1 Message Date
Leshana
f60c024b2a Fixes objects using walk_to() not being able to be garbage collected.
* Okay evidently walk_to(A, B) doesn't stop when A reaches B, but keeps running in the background forever until it is manually canceled!  Therefore in order to be garbage collected, we must cancel walking on any object that might have initiated it.
* Fixes this on chemsmoke, spiders, and aiholos.
* The same story applies to walk_towards; fixed for dust, meteors and immovablerod, and also to walk_away; fixed for flashbangs.
* Also fixed chemsmoke actually getting qdeled at the right time.
2017-06-15 18:46:39 -04:00
Leshana
aab81abb12 Remove redundant cleanup of /atom/var/reagents
* /datum/reagents/Destroy() does everything /datum/reagents/delete() does and more, and delete() is called only from /obj/effect/Destroy() which is *itself* redundant with its parent /atom/movable/Destroy()
2017-06-10 22:41:51 -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
Anewbe
f796914849 Fixes a thing with jetpacks 2017-03-21 00:27:31 -05:00
Neerti
0f781e36a7 Adds Multi-Z Test Map 2017-03-03 09:40:34 -05:00
Datraen
be4a51eae8 Puts the qdel in initialize. 2016-06-02 14:36:53 -04:00
Datraen
804d69e965 Gives sparks a chance to qdel. 2016-06-02 14:31:20 -04:00
Yoshax
f75d509e7f Ports event system from Bay 2016-06-01 22:05:04 +01:00
HarpyEagle
8079b34a27 Updates flashbangs and flash/flare rounds to take advantage of new lighting.
Main improvement is somewhat brighter flashes, coloured flares.
2016-05-12 16:21:39 +01:00
Yoshax
47508187cc Makes smoke grenades last longer and adjusts checks
- Changes boxes of smokes from 5 to 7 grenades
- Changes mapped in single smoke grenades to boxes
2016-05-06 17:25:28 +01:00
Yoshax
6072ad758a Removes a bunch of old, unused code 2016-05-02 14:13:50 +01:00
Yoshax
5824f0a7c1 Comments out smoke reducing laser damage until there's a nice way to do it 2016-05-02 13:44:47 +01:00
Yoshax
5bc7eaa212 Removes stupid vars, adjusts smoke code 2016-04-30 20:04:43 +01:00
Yoshax
b57ea6a752 Adds colored smoke grenades and ability for them to take color 2016-04-29 17:19:08 +01:00
Kelenius
79e850f4d7 Fixes chemical explosions 2016-03-14 12:21:35 +03:00
Datraen
c778ff59b2 Returns the deincrementation of spark count on the tile. Removal time is in line with the deincrementation time. 2015-12-20 14:41:55 -05:00
Datraen
84a55c2f87 Stops sparks from trying to qdel twice. 2015-12-20 13:16:45 -05:00
mwerezak
ac738f3db4 Moves flags values to item_flags var
Moves flags that seemed to pertain more to equipment to a new item_flags
var in /obj/item
2015-08-18 17:18:25 -04:00
PsiOmega
fc6de24042 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/objects/items/weapons/tanks/tanks.dm
	code/modules/materials/material_sheets.dm
	code/modules/organs/organ_icon.dm
	code/setup.dm
2015-06-07 10:51:41 +02:00
PsiOmega
fbc4bfbe9c Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/game/objects/items/weapons/tanks/tanks.dm
	code/setup.dm
2015-06-07 10:30:27 +02:00
mwerezak
821285bcee Adds defines for bombcap components 2015-06-06 22:38:56 -04:00
mwerezak
636ead5bbe Makes reagents_explosion apply bombcap in the same manner as tank transfer valves.
Also fixed reagents_explosion/start() checking the flash var instead of the flashing var.

Fixes #8280
2015-06-06 22:17:11 -04:00
GinjaNinja32
94e19592cf objects/effects, objects/structures 2015-05-30 14:37:40 +01:00
Kelenius
10915eae24 Merge branch 'dev' into ofChemistryAndStuff
Conflicts:
	code/game/objects/effects/chem/chemsmoke.dm
	code/modules/customitems/item_defines.dm
	code/modules/projectiles/guns/launcher/syringe_gun.dm
	code/modules/reagents/Chemistry-Holder.dm
	code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
	code/modules/reagents/reagent_containers/food/drinks.dm
	code/modules/reagents/reagent_containers/pill.dm
	maps/exodus-1.dmm
2015-05-15 11:28:05 +03:00
Mloc
16d50c645d new object-based lighting system
Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-10 20:54:25 +01:00
Kelenius
317abc6b79 Merge branch 'dev' into ofChemistryAndStuff
Conflicts:
	code/datums/recipe.dm
	code/game/machinery/bots/farmbot.dm
	code/game/machinery/bots/medbot.dm
	code/game/mecha/equipment/tools/tools.dm
	code/game/objects/effects/chem/chemsmoke.dm
	code/game/objects/effects/effect_system.dm
	code/game/objects/items/toys.dm
	code/game/objects/items/weapons/extinguisher.dm
	code/game/objects/items/weapons/mop.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/organs/organ_internal.dm
	code/modules/reagents/Chemistry-Holder.dm
	code/modules/reagents/Chemistry-Reagents.dm
	code/modules/reagents/Chemistry-Recipes.dm
	code/modules/reagents/reagent_containers/food/snacks.dm
	code/modules/reagents/reagent_containers/pill.dm
	code/modules/reagents/reagent_containers/spray.dm
	maps/exodus-1.dmm
2015-04-28 10:49:26 +03:00
PsiOmega
e7d85f8edc Adds Destroys. 2015-04-24 17:11:14 +02:00
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
b4b635f32d Chemistry commit
I messed something in the git
2015-03-25 19:09:10 +03:00
unknown
39b467c9da New bullet types, projectile rewrite
* Refactors projectile Bump()
* Converts projectile_type var strings to paths
* Reorganizes bullet projectile paths
* Made a pass through all the bullet_act() definitions. Mainly ensured that damage_type is checked when dealing damage to certain objects. Removed stupid /turf bullet_act() override, replaced with on_hit() overrides on the relevant projectiles.

* Adds shotgun pellets projectile. Adds Raptor's shotgun slug sprite.
* Gives stunshots more of their own identity, refluffs them as taser cartridges for shotguns. They still aren't obtainable anywhere unless spawned.
* Makes projectiles pass through girders and cultgirders with a certain probability, unless the girder itself was clicked.
* Projectiles are also able to pass through grilles. Low damage projectiles have a chance to be blocked by grilles. High damage projectiles have a chance to have some damage absorbed by the grille.
* Makes projectiles for blanks invisible.
* Adds flash bullet types
* Adds support for 'penetrating' projectiles
* Swaps .45 and 9mm projectile types. .45s hit slightly harder, 9mils have more ammo capacity.
2015-02-06 20:09:32 -05:00
Zuhayr
3997129390 Tidies up setup.dm, moves a bunch of vars to global.dm, changes the case of a couple. 2014-12-25 20:26:22 +10:30
Zuhayr
bbfc6db0a3 Refactored gibbing and slipping for carbon mobs, entirely removed mutantrace var. This commit is only partial, following commits are contiguous to it (lol this is atomic right) 2014-12-23 17:38:05 +10:30
Mloc-Argent
117ca6a135 refactor 'dir = ' into 'set_dir()'
This should have little/no gameplay effect right now, just paving the
 way for directional lights.
Replaced handle_rotation() on buckly things with this.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-12-01 13:44:02 +00:00
PsiOmega
0f8156e77e Merge remote-tracking branch 'upstream/master' into dev
Conflicts:
	code/game/objects/structures.dm
	code/game/objects/structures/inflatable.dm
2014-11-29 10:09:03 +01:00
mwerezak
b84bb4ff23 Fixes bubble/hull shield generators not updating air zones, update_nearby_tiles() cleanup. 2014-11-28 19:37:31 -05:00
Zuhayr
4d64a11acd Manual merge of head.dmi. 2014-11-14 23:02:16 +10:30
Zuhayr
ebbb9b36b5 Moved everything to a module-based hardsuit system.
Generalized all ninja power and gear code to work with new rig system.
Added shurikens, weapon mount, more work on deployable items.
Readded energy nets and energy blades.
Grenade launcher/charge stuff, interface stuff.
Renamed previously existing rigs to voidsuits, restructured rig and voidsuit files.
Refactored the energy net and teleportation proc.
Totally rewrote AI core/intellicard transfer procs.
Added rig sprites by Mordeth221, added step by steap suit sealing/inability to interfere with suit sealing process.
Updated map paths to use voidsuits.
Added chemical dispenser functionality, added power sink, added atom/drain_power() proc for later use.
Added rigsuit verbs, added voice changer.
Renamed MASKINTERNALS to AIRTIGHT, added internals checks for airtight helmets.
Added drain_power() procs to vulnerable machinery.
Reimplemented data theft.
Added suit maluses for losing your cell while wearing one.
Transitioned the rig suits to a back-mounted item that also controls a chestpiece.
Converted rig module to a storage item, convert ERT voidsuits to hardsuits.
2014-11-14 22:57:26 +10:30
Zuhayr
90d65aed57 Removed attack_paw, attack_animal and attack_slime. 2014-11-13 17:15:29 +10:30
Graham Lloyd
1401877e01 silly me 2014-10-22 17:11:11 -04:00
Graham Lloyd
5f1f3529f0 Fixes extinguisher blasts (and effect/effects in general, like smoke) not being able to pass over tables and through grilles. 2014-10-22 15:44:40 -04: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
Hubblenaut
dfece9fe12 Stops buckled mobs from slipping (for now) 2014-07-02 22:36:49 +02:00
mwerezak
37e63dfcb0 Fixes FEA temperature_expose() being used...
...instead of ZAS fire_act().
2014-06-22 00:13:22 -04:00
Boop
a903e400dd Fixes #5088
also fixes more runtimes that mloc gave me
2014-06-17 20:35:48 +01:00
Ccomp5950
39383c331a Merge branch 'dev-freeze' of github.com:Baystation12/Baystation12 into dev 2014-02-26 09:38:40 -06:00
Ccomp5950
c56ec21ee3 Merge branch 'master' of github.com:Baystation12/Baystation12 into dev-freeze
Conflicts:
	code/modules/reagents/Chemistry-Reagents.dm
2014-02-26 09:34:38 -06:00
Ccomp5950
3ab7e8438a Runtime fix: Sparks trying to delete that which does not exist.
runtime error: Cannot execute null.delete().
proc name: start (/datum/effect/effect/system/spark_spread/start)
  source file: effect_system.dm,204
  usr: Mark Hoover (/mob/living/carbon/human)
  src: /datum/effect/effect/system/sp... (/datum/effect/effect/system/spark_spread)
  call stack:
/datum/effect/effect/system/sp... (/datum/effect/effect/system/spark_spread): start()
runtime error: Cannot execute null.delete().
proc name: start (/datum/effect/effect/system/spark_spread/start)
  source file: effect_system.dm,204
  usr: Mark Hoover (/mob/living/carbon/human)
  src: /datum/effect/effect/system/sp... (/datum/effect/effect/system/spark_spread)
  call stack:
/datum/effect/effect/system/sp... (/datum/effect/effect/system/spark_spread): start()
2014-02-25 00:28:00 -06:00
Loganbacca
864e097e91 Chemsmoke rewrite
- Complete rewrite of the chemsmoke spawning code (everything that happens after the reaction to create the smoke).
- Moved it into it's own file since it's a little longer than the old one code-wise.
- Tweaked the smoke sprites; gave chemsmoke directions for more randomization, and tweaked the timing of their animations so they are smooth now.

Most of the code is documented, so you should be able to follow what's going on just reading through it. In short though:
- Chemsmoke now affects a circular area with a variable range depending on the total amount of chemsmoke created (no more 1-of-each-ingredient smoke grenades - sorry).
- The carried reagent volume in the cloud balances itself according to how big the affected area is (larger area, less carried reagent per turf).
- The carried reagent has more volume the closer you are to the centre of the cloud.
- The visual smoke effect scales with how big the affected area is.
2014-02-22 00:47:08 +13:00
Aryn
a2d992ef5c Fixed inexplicable reversions. 2014-02-19 17:11:09 -07:00
Loganbacca
02810f7e89 Chem grenade fixes
Fixes #3986

- Foam reagent inheritance fixed:
The trans_to() proc in Chemistry-Holder.dm was calling handle_reactions() every time it would add and remove reagents with add_reagent() and remove_reagent(). I've added a safety flag to both of these procs (and copy_to()) so that trans_to will not call handle_reactions() until it has added all the reagents to the target container. This allows foam to reliably take on the properties of other leftover reagents.

- Fixed a bug in effect_system.dm that wasn't applying reagents from foam to the environment.

- Tweaked smoke to apply reagent effects after it has stopped moving
This was causing huge reagent spam at the center of the smoke cloud as it was spawning, since they were being applied every time the cloud of smoke moved. Also changed it to apply the effects 2-3 times at longer intervals (2 seconds).

- Smoke also only effects tiles in a 3x3 grid now, rather than 5x5.

- Summary:
Chem smoke does slightly less damage (if it contains damaging reagents)
Chem smoke proc calls reduced by 60-70% (significant lag reduction)
Foam works properly again
Foam proc calls reduced by 70-80%
2014-02-13 00:15:02 +13:00