Commit Graph

22 Commits

Author SHA1 Message Date
phil235
d3ee910211 Makes effect system code more OOP.
obj/effect/effect is now renamed obj/effect/particle_effect for better usability.
datum/effect/system and /datum/effect/effect/system are now both /datum/effect_system.
Fixes a bug where wall mounted igniters (and other spark producing objects) didn't produce sparks sometimes.
Moved explosion_particles.dm into the effect_system folder, because it has effect_systems code.
2015-10-21 23:28:29 +02:00
phil235
47909d525f Changes smoke to behave more like foam. Each covered tile has one smoke cloud. This makes smoke clouds much less random, especially in terms of reagent application.
Also smoke reaction now uses the TOUCH method instead of VAPOR, to differentiate smoke and foam. Mob without internals or gas masks also ingests reagents in the smoke.
Moved nanofrost smoke code to effects/effect_system/effects_smoke.dm
2015-10-15 21:52:37 +02:00
duncathan
b86464f573 woo more runtimes 2015-09-08 22:59:18 -06:00
duncathan
ae417d2a03 Merge branch 'master' of https://github.com/tgstation/-tg-station into atmosrefactor2
Conflicts:
	code/ATMOSPHERICS/atmospherics.dm
	code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
	code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
	code/ATMOSPHERICS/components/binary_devices/pump.dm
	code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
	code/ATMOSPHERICS/components/trinary_devices/filter.dm
	code/ATMOSPHERICS/components/trinary_devices/mixer.dm
	code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
	code/ATMOSPHERICS/components/unary_devices/Freezer.dm
	code/ATMOSPHERICS/components/unary_devices/cryo.dm
	code/ATMOSPHERICS/components/unary_devices/unary_base.dm
	code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
	code/modules/events/vent_clog.dm
	code/modules/mob/living/carbon/human/species.dm
	config/admins.txt
2015-07-16 04:27:25 -06:00
duncathan
71ac607a6b Revert "merge conflicts?"
I fucked this up
2015-07-12 12:52:32 -06:00
duncathan
27f4bf3ee0 merge conflicts? 2015-07-11 19:56:54 -06:00
duncathan
e074fb7856 makes air flow; fixes EVERYTHING 2015-07-11 18:45:19 -06:00
duncathan
e63771c9f4 finally gets airs, nodes and parents working... sorta
nodes is working fine as far as I can tell
airs seems fine but it's somewhat untestable until I fix parents
parents is initializing, but not updating properly

also adds my ckey to admins.txt
2015-07-11 02:47:22 -06:00
phil235
e35c901af2 Fixes The clogged vent event making smoke spawn on welded scrubbers.
Removes the problematic preference option to spawn without backpack (just drop your backpack after you spawn).
2015-07-09 20:28:28 +02:00
phil235
b0cd6d34b1 Lots of work on acids, smoke, foam, reagents reaction() proc.
- fixed the fraction argument in reaction(...., INGESTED, fraction) so the proper amounts of each reagent react, not all of it.
- slight optimization of datum/reagents/reaction()
- small optimization /datum/reagent/proc/reaction_mob
- the smoke's reagents no longer do direct transfer upon crossed()/move() but uses "reagents.reaction( mob, TOUCH)" only.
- fixes no ingesting smoke if it's in the dark.
- removed block gas smoke effect flag from clown mask and other non "actual" gas mask.
- refactor how protection against touched chems being absorbed is done. get_permeability_protection() to get that protection. No more

simple RNG get touched or not, now the amount that touches you depends on your protection and the volume in question.
- changes acid_act to take volume into account.
- chem_smoke now uses process() just like foam, we remove the reaction from crossed() and Move(), it's only done in process() now.
- optimization of effect/smoke, OOP! And now all smoke effects use objprocessing instead of shitty sleep/spawn
- removed mob var/coughedtime.
- add a volume check to item/acid_act(), there's a threshold to be able to melt and then a probability to melt (acidpwr&volume).
- greatly lowered the amount of reagent in the smoke from dead blobspore (so the volume isn't enough for melting)
- human/acid_act(): damage to limbs depends on acidpwr&volume.
- fixes metalfoam not working.
- smoke powder: only one start() call.
- Amound of smoke objects depends on amount of smoke recipe created.
- Adds an argument to add_reagent() to block automatic call of handle_reaction()
- When using reagents/proc/trans_to(), reactions are now only handled after every reagent is transfered and not before.
- Amount of smoke objects depends on amount of smoke reagent created.
- radius of foam reaction depends on amount of foam reagent created.
- The amount of other reagents inside the smoke/foam decides the life expectancy of the effect.
- The amount of reagents in each small smoke cloud/foam cell depends on the amount of other reagents in the initial reaction but also

how much smoke/foam was created (more smoke means dilution of the reagents).
- smoke/foam's reagent reaction on mob decreases the life expectancy of the effect (to avoid reagent duplication)
- The amount of reagent reacting with atoms is less if the life expectancy is high.(to avoid reagent duplication)
- The amount of movement from the smoke now depends on the number of smoke clouds created.
- removing some useless code in chem_grenade/prime().
- When calling human/acid_act(), item acid melting chance lowers after each each successful melt in the list, some of the acid is

"used" to melt that item so the next items have a lower chance to melt (to make melting every clothing harder).
- remove the banned reagent list from sprays, not needed anymore now that acid is nerfed.
- chem_grenade reaction, if there's no reagent left after reaction (smoke/foam/etc, reagents cleared) you don't get the steam effect

and immediate reaction with all atoms around the grenade explosion. (Fixes foam cleaner grenade deleting bloodstains around it as soon

as the grenade explodes, even if the foam hasn't reached the tile yet).
- melted storage items now drop their content instead of deleting everything.
2015-06-22 00:35:24 +02:00
MrPerson
7c305305b7 Fix reagent garbage collection hopefully
I say hopefully because stuff that collects successfully locally likes to fail on sybil.
2015-03-14 16:52:49 -07:00
pudl
08f8bb3ce8 replaces all instances of pacid with facid 2015-01-21 20:17:23 -06:00
Iamgoofball
f3398e58a9 Removes Star Trek chemistry and transfers us to Goon Chemistry. 2015-01-16 17:21:36 -08:00
phil235
a55e6a70be Fixes malf AI lockdown affecting doors on z levels other than station and mining.
Replaces a lot of z level numbers in code by their respective defines.
Adding a define for the Mining asteroid z level.
2015-01-11 15:39:32 +01:00
Aranclanos
8aa5a137c5 Pipenet revamp
-Removed the pipenet network datum, now it will all be done with the pipeline datum
-All atmos pipes and machines will always have a pipeline datum
-Moved the valves to the binary subtype and the portable connectors to the unary subtype
-The pipe vents (who were barely used in three spots of the map) are removed, the map slots will replaced with outlets
-Fixes some bugs of pipenet disconnection, mostly on explosions
-Cleaned a bit the copypaste of construction.dm of pipes
-Removed the ID restrictions of digital valves and the frequency (both unused)
2014-11-03 08:21:31 -03:00
ikarrus
9843dbc37d Trigger Events verb will now ask if the admin wants to announce to the crew
Additionally,
-Create virus re-added to secrets menu, as it had options to specify a specific virus to create
-Blob added to One-Click-Antag with the option to set the strength of the blob (1=Weak, 2= Strong, 3=Full)
2014-08-21 21:33:53 -06:00
ikarrus
a48ba0d256 Priority Announcement Changes
-Centcom announcement proc merged with generic priority announcement proc
-Re-added the Captain Announces accompanied by a new pleasant sound, instead of the generic priority announcement
-Captain Announcements will automatically generate a newscaster article
-Priority announcements without any defined accompanying sound will play a generic "Attention" soundbyte as an audio cue
-Communications consoles will display who is currently logged in
2014-05-05 22:18:57 -06:00
Mloc-Hibernia
8af8a43d6f Initial pass to convert LF to CRLF
Signed-off-by: Mloc-Hibernia <colmohici@gmail.com>
2014-03-24 08:53:40 +00:00
Giacomand
7319456770 MiniStation Update
Fixes a runtime with the vent clogging event, which happens to MiniStation.
Lowered all vent requirements to 20.
Fixed transit tubes from breaking by reversing the pod direction twice.
Changed the icon state name of the terminators so that they had density.
Transit tubes will now reset the view of the mob exiting.
2014-02-05 22:04:58 +00:00
TZK13
e4de436a1e Renamed psilocybin to mushroom hallucinogen, removed psilocybin/mushroom hallucinogen from huge mushroom slice, removed space drugs from reishi, added anti-toxin to reishi and lowered the amount of sleep toxin in reishi. 2013-11-28 00:15:56 -06:00
Pete Goodfellow
ff283bbaf8 Changed the vent clog event to garbage collect its reagents instead of deleting them.
Ticked the vent clog and false alarm events into the dme.
2013-09-21 15:13:47 +01:00
Pete Goodfellow
409e47ac05 Ported the Clogged Vents event from Sayustation.
Adds a silent parameter to /datum/effect/effect/system/chem_smoke_spread/set_up(), which disables admin notification.
2013-09-18 16:47:50 +01:00