Commit Graph

424 Commits

Author SHA1 Message Date
Neerti
4bfcec55f2 work 2017-09-04 21:52:47 -04:00
Leshana
1b8451bc9a Converts /datum/gas_mixture/var/graphic to a lazy list.
* The vast majority of gas mixtures never use their `graphic` list.  Prime candidate for making a lazy init list.
* While we are here, add nullchecks to ZAS's use of the graphic list a bit.  /turf/update_graphics was technically already null safe, but its even better to not bother calling it at all right?
2017-06-10 10:13:55 -04:00
Arokha Sieyes
1e35ef8809 Goggles are airtight
Adds some 'plain' goggles that are airtight, and as such protect your eyes from things like phoron. Also allows eyewear to protect you from phoron if it's airtight (and hiding your eyes). Added airtight flag to science goggles, welding goggles, and 'plain' goggles I added. Weldning goggles only protect your eyes when down, since it removes the covers eyes flag when up.
2017-05-27 03:14:14 -04:00
Leshana
df9e76efd6 Small ZAS Optimization
Minor optimization; eliminates a few proc calls when managing zone
connections by turning check() into a macro.
2017-05-10 20:12:13 -04:00
Leshana
fdb5d80afa Multi-ZAS Optimization
A simple optimization to can_safely_remove_from_zone() both with and without multi-zas.
Instead of allocating a new list every time we call get_zone_neighbours() (which gets called several times in a loop) we have a pre-built list we don't need to Copy().
Same story for the list to iterate over in can_safely_remove_from_zone()
There should be no semantic change whatsoever from this; it is purely a performance optimization.
2017-05-04 19:51:55 -04:00
Anewbe
cce1fcc1f5 Ports MultiZAS 2017-05-04 19:51:54 -04:00
Neerti
ea6128f986 Adds Modifier System, Changes Some Ling Stuff
Adds a fairly simple system that allows adjusting various numbers like max health, incoming damage, outgoing melee damage, etc.  The nice part is that changing certain variables this way (like max health) is a lot safer than manually setting the max health var directly.
Changes a lot of short lines of code to point towards a variable's getter or setter helper instead of reading the var directly so the modifiers can work.
Endoarmor, delayed toxin sting, Enfeebling sting, and recursive adrenaline overdose now use the modifier system.
Enfeebling sting now only lasts two minutes, from five minutes, however it now also reduces the victim's melee damage by 25%/50%, and increases the damage they suffer by 10%/35%, for normal and recursive respectively.
Delayed Toxin Sting's effects are now felt all at once instead of over the course of a few minutes.
2017-04-18 21:23:59 -04:00
Anewbe
3816d634ed Merge branch 'master' of https://github.com/PolarisSS13/Polaris into armor_soak
# Conflicts:
#	code/modules/mob/living/simple_animal/animals/bear.dm
#	code/modules/mob/living/simple_animal/animals/parrot.dm
2017-03-24 16:35:31 -05:00
Anewbe
beaadfa4cc Merge pull request #3092 from Anewbe/vox_fix
Might fix Vox blindness
2017-03-20 19:48:29 -05:00
Leshana
71587c5ad0 Fix rooms holding pressure when exposed to space.
This happens because edges cease processing when the delta between their zones is small enough.  This is normally a fine optimization, but when it results in a room at 4kPa with a window open to space, it breaks imurshuns.

Two main changes to solve this problem without too much cpu cost:
1) Stop edges from sleeping if one side is a hard vacuum.  This ensures that a zone doesn't freeze at a low-but-non-zero pressure when touching hard vacuum.
2) Prevent #1 from causing the edge to stay alive for ages while pressures asymptotically approach zero as they are repeatedly equalized but only half is dumped to space. (Would happen if ZoneA---ZoneB---Space arrangement exists) by detecting when the total amount of air left is small enough that it would normally sleep anyway, and just setting it to zero.

The end outcome is that behavior is mostly the same as before, except when zones have an open path to unsimulated space, they will reach equilibrium at zero instead of semi-random lowish values.
2017-03-15 19:04:33 -04:00
Anewbe
4c82d41bd7 Might fix Vox blindness 2017-03-15 16:11:38 -05:00
Anewbe
ac79f548e7 Sorta implements armor soak, very WIP 2017-03-10 20:26:37 -06:00
Anewbe
2c86a0a465 Returns the Vox, who now breath Phoron 2017-01-06 17:49:39 -06:00
Neerti
a9ad84da4b Merge pull request #1191 from Kelenius/inventoryCleanup
Mob inventory cleanup
2016-03-22 21:42:27 -04:00
Datraen
996ce92f7f Merge pull request #1184 from Yoshax/510prep
Ports Byond 510 preperations from Bay
2016-03-20 13:45:40 -04:00
Kelenius
afbc235b96 Mob inventory cleanup 2016-03-15 16:39:40 +03:00
Yoshax
8be10d96dd Ports Byond 510 preperations from Bay
Updates comment

Updates supply file
2016-03-14 18:21:44 +00:00
Kelenius
acc78a8000 Changes types of ghosts and eyes
``/mob/dead/observer`` -> ``/mob/observer/dead``
``/mob/eye`` -> ``/mob/observer/eye``

Reason being that they are similar in that they both don't interact with
the world in any way. Some procs were shared, some checks as well, and
it overall makes more sense this way. Plus, there were no ``/mob/dead``
mobs.
2016-02-20 15:36:05 +03:00
Zuhayr
f93ea6a78f Tweaks to previous commits.
More tweaks to IPC fixes.
Merge resolution/compile fixes.

Further work on properly integrating, updating and fixing prosthetic options.

Repathed internal organs to organ/internal.

More work on full synthetics, changelings, overheating.

Working on getting organs to qdel properly and spawn properly when robotized.

Finalized some overheating values, added remaining prosthetic icons.

Finalizing the testing version of the full prosthetic bodies branch.

Added suit cyclers to the autolathe and map.

Fixing runtime errors.

Fixing errors.

Changelog.

Replacing limb and organ strings with constants.

Prevented brainless species from becoming full cyborgs.

Fixed issues with brain/MMIs renaming themselves inappropriately.

Various fixes and oversights.
2015-12-24 21:13:40 +10:30
Zuhayr
d71573e749 Further work on properly integrating, updating and fixing prosthetic options.
WIP
Allowed heads/bodies to be prosthetic. Removed IPC. Refactored some flags.
2015-12-24 21:10:33 +10:30
Hubblenaut
b994a07dc2 Fixes duplicate gas layers 2015-12-15 13:32:01 +01:00
HarpyEagle
326a6f445f Fixes #11071, #10936
Adjusts fire_fuel_energy_release to compensate for fixed fire heat release.
Adjusts liquid fire burn parameters so that liquid fuel fire heat release and
burn duration is unaffected.

Conflicts:
	code/setup.dm
2015-12-08 18:15:40 +01:00
HarpyEagle
ca52d2b3f2 Fixes calculate_firelevel() not counting oxidizer
Fixes calculate_firelevel() not counting oxidizer when determining the ratio
of reactants to other gases. As well firelevel calculation is now done
separately for burning gas and burning liquid.

Adjusted FIRE_LIQUID_BURNRATE_MULT so that liquid burn rate is unaffected by
this fix, which will result in generally higher firelevels and thus faster
burn rates.

Conflicts:
	code/setup.dm
2015-12-08 18:12:23 +01:00
Neerti
4f77afece1 Revert 58ef59734f 2015-11-08 10:09:14 -05:00
PsiOmegaDelta
27feb09a31 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/machinery/computer/computer.dm
	html/changelogs/.all_changelog.yml
2015-10-11 17:37:01 +02:00
PsiOmegaDelta
070ca0adea Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/game/objects/items/weapons/tanks/tanks.dm
	code/modules/holodeck/HolodeckControl.dm
	code/modules/mob/living/carbon/breathe.dm
	code/modules/mob/living/carbon/human/life.dm
	code/setup.dm
2015-10-11 17:17:41 +02:00
HarpyEagle
1cf6ace74e Fixes #11071, #10936
Adjusts fire_fuel_energy_release to compensate for fixed fire heat release.
Adjusts liquid fire burn parameters so that liquid fuel fire heat release and
burn duration is unaffected.
2015-10-09 01:19:15 -04:00
HarpyEagle
9639d608a6 Fixes calculate_firelevel() not counting oxidizer
Fixes calculate_firelevel() not counting oxidizer when determining the ratio
of reactants to other gases. As well firelevel calculation is now done
separately for burning gas and burning liquid.

Adjusted FIRE_LIQUID_BURNRATE_MULT so that liquid burn rate is unaffected by
this fix, which will result in generally higher firelevels and thus faster
burn rates.
2015-10-08 23:40:08 -04:00
Zuhayr
e0cfd8fdbd Merge pull request #10420 from Kearel/sbike
[Feature] Space Bikes!
2015-09-07 13:58:25 +09:30
Zuhayr
0c56bdd448 Merge pull request #10266 from PsiOmegaDelta/150722-TagPairs
Makes it possible to define multiple tag pairs for the Travis check.
2015-09-07 13:57:09 +09:30
SkyMarshal
772c320303 Multi-Z. 2015-08-30 14:15:20 -07:00
PsiOmega
35ea424edc Merge remote-tracking branch 'upstream/dev' into 150722-TagPairs
Conflicts:
	code/modules/clothing/spacesuits/rig/rig.dm
2015-08-29 10:06:18 +02:00
PsiOmegaDelta
bf3040cc2d Merge remote-tracking branch 'upstream/dev-freeze' into dev 2015-08-27 09:01:50 +02:00
PsiOmegaDelta
d293b9ea25 Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/ZAS/Controller.dm
	code/modules/admin/verbs/adminsay.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/stripping.dm
	code/modules/mob/living/carbon/human/update_icons.dm
2015-08-27 08:53:22 +02:00
mwerezak
ec7f60f9ad Allows indirectly connected turfs to merge zones if either zone is small enough.
Fixes #9235

Conflicts:
	code/ZAS/Controller.dm
2015-08-26 14:25:43 -04:00
GinjaNinja32
9a5da57d60 fix heatcap calculation in equalize() 2015-08-24 19:33:37 +01:00
GinjaNinja32
8521df47f3 fix equalize() not equalizing gases 2015-08-24 19:24:55 +01:00
PsiOmega
d001489d14 Merge remote-tracking branch 'upstream/dev' into 150722-TagPairs
Conflicts:
	code/modules/admin/topic.dm
2015-08-21 18:59:19 +02:00
Kelenius
bed03443d1 Merge branch 'dev' into ofClicksAndCooldowns
Conflicts:
	code/ZAS/Airflow.dm
	code/__defines/items_clothing.dm
2015-08-21 16:15:07 +03:00
PsiOmegaDelta
a0a09c04e4 Merge remote-tracking branch 'upstream/dev' into 150722-TagPairs 2015-08-20 14:09:07 +02:00
mwerezak
58bc7fbb40 Cleans up dynamic member lookup 2015-08-18 17:20:37 -04:00
mwerezak
d70f064b1b Adjusts phoron exposure to use body_parts_covered 2015-08-18 17:18:25 -04: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
mwerezak
b80c01ffbe Removes *COVERSEYES
Removes (HEAD|MASK|GLASSES)COVERSEYES flags, in favour of using
body_parts_covered.
2015-08-18 17:06:49 -04:00
PsiOmega
8138815dc3 Merge remote-tracking branch 'upstream/master' into dev-freeze 2015-08-18 18:05:16 +02:00
Kelenius
afc5414ed9 Removes a few outdated mob mentions. Fixes a few things. Almost definitely fixes #7570. 2015-08-18 10:48:22 +03:00
PsiOmegaDelta
77d0bbd643 Merge remote-tracking branch 'upstream/dev' into 150722-TagPairs
Conflicts:
	code/game/gamemodes/changeling/modularchangling.dm
2015-08-13 08:09:28 +02:00
Kelenius
60196df634 Merge branch 'dev' into ofClicksAndCooldowns
Conflicts:
	code/modules/projectiles/gun.dm
2015-08-13 08:40:31 +03:00
Kearel
10359889e7 Fixes
Slight change to airflow/animations interaction when buckled
2015-08-04 13:41:27 -05:00
PsiOmegaDelta
c28b3721b4 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/_helpers/unsorted.dm
	code/modules/clothing/glasses/glasses.dm
	code/modules/mob/living/carbon/human/life.dm
	code/setup.dm
2015-07-31 10:00:16 +02:00