Commit Graph

86 Commits

Author SHA1 Message Date
Matt Atlas
c7c5d44a97 Reworks stasis, reshuffles life order, makes gases use defines. (#9409) 2020-08-09 13:20:06 +02:00
Geeves
98389c284c Fire Sprite Change (#8868) 2020-05-16 15:35:00 +02:00
Matt Atlas
95976c9ea0 Fixes fire damage runtiming. (#8827) 2020-05-08 13:04:37 +02:00
Matt Atlas
5da2a9c24b Splits organs into organ/internal (#7441) 2019-11-20 23:07:10 +01:00
Mykhailo Bykhovtsev
4e552e2774 Fire CO2 production fix. Upgrading SM's waste handling system. (#6194) 2019-03-23 11:39:50 +01:00
Mykhailo Bykhovtsev
7f0c085b1a Reviving Fire Fixes and Tweaks PR. (#6129)
This PR revives Burger's PR #5797

Fire extinguishing foam now works properly. It is 3 times stronger than water.

Walking through a foam will extenguish your fire stacks.

Atmos suit max temperature threshold was increased from 30k to 40k. Atmos firefighter suit max temperature was increased from 30k to 45k. Heavy firesuit max temperature was increased from 30k to 55k. Same goes for their helmets.

Firesuits and red/white/atmos hardhats no longer protect wearer from pressure. So people cannot use it in space. For areas with 2000+ KPa fire people need to use atmos voidsuit.

Fixes #867

Cyborg stations now refill cyborg's fire extinguishers. Fixes #6171

Fire now produces CO2 while burning, with amount varying by fire severity
2019-03-23 00:10:42 +02:00
Alberyk
98c5540b4f Fixes some things being hidden by sand. (#5820) 2018-12-26 13:58:19 +01:00
Mykhailo Bykhovtsev
b23f17bc64 Fixing old/new bugs/runtimes (#5763)
Fixes #3410

Ranged hostile mob stop if they are in range of fire, instead of keep going to point blank range. They also try to get to person within 6 tiles, not point blank.

Hostile mobs also check if their target is in the view or not.

Fixes #4468

Fixes #2867

Fixes #2721

Fixes #2678

Character input limit in Security/Medecal records was increased from 1024 to 3027 for all fields, to keep it consistent with character setup records. Fixes #5766

Fixes Energy net turret sprites. Updates spawned ionrifle turret to allow for two modes, adds lethal turret sprite for ionrifle.
2018-12-16 15:23:42 +02:00
BurgerLUA
1620d81661 Extinguisher + Container Reworks (#4793)
Reworked how slipping on tiles work. If there is too much lube/water on one tile, it will spread to all adjacent tiles.

Fixed a potential bug where spilling copious amounts of water on a tile will turn it to ice.

Containers are much more saner now. They all share a standard system, unless specified.

You can drink from any open holdable container using help intent. You can splash the contents of the container on anything via harm intent.

Sinks are more saner, you can refill or empty them easier with various refill amounts.

Removed silly exclusive cyborg limb checking for hyposprays.

Added a new chemsprayer, the "Xenoblaster" which is a significantly weaker chem sprayer. Two can be found in xenobiology.

Large reagent containers (beer kegs, water tanks, fuel tanks) now share a system together. Both can leak their reagents via harm intent with a wrench, and bother can accept any sort of reagent, with exception to the fuel tank.

Large reagent container leaking happens over time as opposed to just leaking every time it moves.

New chemical, Monoammonium phosphate. Monoammonium phosphate is a fertilizer and also a potent fire extinguishing and preventing chemical. It can be made with 1 part ammonia, 1 part sulfuric acid, 1 part sodium, 1 part phosphorus.

All extinguishers now have monoammonium phosphate in them instead of water.

Extinguishers can hold any reagent, however they must be filled using an extinguisher refiller cartridge. These can be ordered or found in atmospherics.

Nerfed the extinguisher range so it only sprays in a 3x3 radius.

Mini-extinguishers spray in a 1x1 radius.

Adds Monoammonium phosphate containers across the station.

Most watertanks are replaced with Monoammonium phosphate containers.
2018-08-05 20:14:00 +03:00
Lohikar
ba59ef32b9 Make some ZAS lists lazy (#2339)
This PR converts some lists in ZAS to be only created when needed instead of always existing and pointlessly using memory. Might lead to reduced server memory usage.
2017-05-24 02:51:49 +03:00
Lohikar
f6dc33a465 Newmap - SMC, Openturf, Arrivals Controller, and Mine Turf Improvements (#1958)
* Replace SSingulo with SScalamity; processing cleanup
- SScalamity now handles blobs as well as singularity-types.
- Processing subtypes have been simplified to not require a stop_processing definition.

* this is probably important

* Remove cascade disabling SSgarbage

* Fixed a bug where dust() did not qdel the target mob

* Misc fixes

* Fix decals surviving break-to-plating

* Subsystem flag tweaks

* Apparently subsystems are new'd before config is.

* Fix paper icons

* Speculative fix for insane lag

* Better machinery stat

* Make organs not use SSoverlay

* Misc bugfixes & tweaks

* Nightmode fixes

* Changelog for SMC

* Port /tg/'s improved MC crash handling

* Add some more SS Recover() procs

* supply_controller -> SScargo

* More New() -> Initialize()

* pAI and robot construction overlays

* Fix cargo unit tests

* Merge the DMM Suite's atom/New() into atoms_init

* Lighting pre-baking

* Lighting initialization logging

* Fix some bad SS init orders

* Fix SSlighting logging; rename Processes to MC

* Speculative fix for insane GC lag

* Prebaked openturf/icon_smooth & fix lighting prebake

* SS init status; SSatoms LATEQDEL

* Fix bug with MC init stat panel

* Fix parallax

* Misc

* Ignore SS_NO_DISPLAY during init

* apparently this is important

* REEEEEE

* Image GC fixes; broadcaster radio-new sanity

* RCON Cleanup

* Move pAI recruiter into subsystem

* Move global solars list into sun subsystem

* Make chickens not use a global

* Demote SSdisposals to SS_BACKGROUND; garbage-debug cleanup

* Speed up space init a little

* Fix bad timer flags on floor drying

* Subsystem panic-restart verb for mins

* Explosion speedup

* Minor subsystem & MC logging tweaks

* SSopenturf improvements

* Make pipenet actually initialize (whoops)

* Minor tweaks

* Implement lighting rounding

* comments are hard okay

* Minor lattice tweaks

* Fix some timer issues & better closet init

* Timer sanity

* Request console tweaks + Storage init sanity

* Minor SSmachiner RCON improvements

* Further reduce world-start timer count

* Standardize subsystem logging

* Garbage hard delete profiling from /tg/

* Timer hang detection & recovery

* Log machines that sleep in process() and fuck up SSmachinery

* Fix an issue with external airlocks sleeping in process()

* Failsafe logging

* Minor tweaks

* Revert "Request console tweaks + Storage init sanity"

This reverts commit 98d3579e35.

* Re-implement RC changes

* Fix SQL FT saving

* Fix SSmachinery sleep in disposals

* Minor SS tweaks

* Paper fixes

* Blood drying fixes

* Merge gameticker and SSticker

* Minor global list init cleanup

* Lagcheck biogenerator & bags

* Tweak SScargo init order; RIG Initialize()

* Caching tweaks

* Remove rogue comma

* Initialize fixes

* Lighting destroy cleanup

* Fix emagging airlocks

* Initial SSicon implementation

* Tweaks & Fixes

* Fire + Air alarm queued icon updates

* Overlays + Queued icon cleanup

* Runtime & background fixes

* Kill some meaningless set statements

* Kill some image qdels

* Bump up lighting rounding val

* Fix adv. scanner destroy runtimes

* Remove unneeded icon update limiting

* Move icon smoothing into helpers

* Show a warning if DM 510 compiles without memory leak hack enabled

* Re-organize subsystems & MC defines a little

* Airlock SFX

* Log of Changes

* Make SSicon_update disable itself when not doing anything

* Fix respawn verb runtime when used early in server-init

* Add more information to MC's stat_entry()

* Replace direct refernces to gcDestroyed with QDEL* macros

* plant_controller -> SSplants

* More plant tweaks

* Add more humor to changelog

* Move parallax globals into SSparallax

* Lighting responsiveness tweaks

* Fix parallax init order & better MC init panel stat

* Make mobs GC

* More overlays + Remove intercom spawn()

* SSfast_process; make pinpointers not use spawn-recursion to process
Also made the SM Cascade beach process with SSprocessing instead of a spawn loop.

* Update changelog

* Mob GC tweaks

* Del() cleanup

* Fix insomniac ZAS connection edges

* Minor pAI cleanup

* Convert more things to SSoverlay; fix duplicated overlay in field gens

* SM Bluespace turf tweaks

* Update SSgarbage debug globals list

* Human-type qdel tweaks

* Subsystem suspension; stat_entry improvements

* SQL Statistics cleanup

* Fix runtimes with ambrosia

* More disable() -> suspend(); fix nightmode again

* Human qdel fix; minor tweaks

* Update turbolift to work with StonedMC

* Make lifts use timers instead of a subsystem

* Make SSassets start earlier

* Convert the radio controller into a subsystem

* Fix some missing CHECK_TICKs in asteroid generation

* MC stat tweaks; make shouldnt_see a typecache

* Kill some redundant debug-controller entries

* radio_controller -> SSradio

* Better SSgarbage hard-del logging from /tg/ upstream

* Logging tweaks + GELF

* Misc client caching improvements

* Slime SSoverlay

* Oven icon fixes

* Implant fixes
- Death implants will no longer spam Common on death of user.
- Death implants should handle a deleted user better.

* Holder tweaks + Welding tool Initialize()

* Fix some bad subsystem logging

* Fix suit cooling units spawning without cells

* Starlight tweaks

* Gibber infinite gib fix

* More SSoverlay stuff

* Make crates use CUT_OVERLAY_IN

* Make SSarrivals suspend instead of disable

* Make openturf use split/phased tick checks

* Speculative fix for unwet timer runtimes

* Blood overlay tweaks/fixes

* Update crusher to play nice with SMC + SSoverlay

* Openturf improvements and fixes

* Minor turbolift tweaks

* Lighting performance improvements + ChangeTurf tweaks

* this is probably important

* Fix wall weld noises on changeturf

* More ChangeTurf tweaks

* Explosion tweaks

* Pre-game lobby tweaks

* Openturf tweaks

* Prevent admins from starting the game before init finishes

* Fix Travis

* Kill an unused var

* Fix ChangeTurf runtimes on openturfs

* Fixes

* Browser datum fixes, asset caching

* Update changelog

* Changelog

* Lobby tweaks

* Ticker tweaks; kill ticker var

* Further lobby tweaks

* Cascade tweaks

* air_master -> SSair

* Reduce overhead from radio autosay

* alarm_manager -> SSalarm

* bomb_processor -> SSexplosives

* corp_regs -> SSlaw

* ZAS overlay fixes

* Small wall icon optimization

* Fix effects master

* Assembly tweaks

* Megavend fixes

* Shuttle fixes

* Camera alert performance improvements

* Fix some world.log spam from lighting overlays

* Fix some Initialize() procs

* Openspace responsiveness tweaks

* Make HE pipes animate through openturfs

* Kill a spawn
2017-05-02 14:40:40 -04:00
Lohikar
1d5287dad0 Adaptive lighting updates (#1679)
This PR simplifies the lighting update system (removes update_type) and instead makes the lighting system decide which update method to use based on server load.

Instant updates are used during low-load, scheduled during high.

Also removes: update_lights_now() (redundant), diff_light() (unused).
2017-01-31 00:37:56 +02:00
Lohikar
0cba68911d Lighting Overhaul & General process improvements (#1612)
This is it. The big one.
Risk: Very large. This modifies or rewrites several important systems.
Some things still need balancing, but that's probably better done if/when this hits dev.

changes:

New smooth lighting system.
Machinery split into three processes: machinery, powernet, pipenet Removed due to breakage. Refactored into multi-step process.
Mob process rewritten.
NanoUI process rewritten.
Objects process rewritten.
Tweaked color output of station lights.
Slime core lights now emit colored light.
Fixed light update frequency issue with fire alarms, hydroponics trays, and airlocks.
Increased light emission from bolted airlocks.
Miscellaneous performance improvements.
New datum pool implementation.
New lighting usage profiler.
Lighting system now tracks UV light, which is not visible to players.
Space now has a parallax effect.
Disabled Spin View verbs due to incompatibility with the new lighting system.
Disabled hallucination view spin due to incompatibility with the new lighting system.
Lighting system now initializes in the lobby before the round starts to reduce BoR deadtime.
Added UV light tracking to lighting engine; dionae now gain energy exclusively from UV light.
Added colored lighting to a few consoles that used default (white) light.
2017-01-29 01:13:54 +02:00
NanakoAC
804851f6f6 Diona Overhaul - SEP2016 (#442) 2016-09-09 23:55:48 +03: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
mwerezak
e8db7dc8d8 Fire now uses the full zone size when considering the minimum amount of phoron/oxygen required to sustain a fire
Fixes an oversight that made fires able to burn with a smaller amount of phoron than they should.
2015-07-26 22:47:18 -04:00
mwerezak
53eedb5498 Fixes liquid fuel fire regression
The reaction progress needed to be clamped before used_fuel is
calculated, or else the will bleed into each other even though they are
clamped properly afterwards.
2015-07-13 20:45:57 -04:00
mwerezak
e08dbc3080 Adjusts gas fires to burn out faster with low concentrations of gas fuel 2015-06-26 00:40:06 -04:00
mwerezak
c5d283f544 Fixes phoron fire reaction progress
The amount of gas burning is already limited by vsc.fire_consuption_rate
so there is no need to limit the ratio of gas burning.
2015-06-20 21:03:48 -04:00
HarpyEagle
10067349b2 Cleans up debug prints 2015-05-19 17:47:51 -04:00
mwerezak
953e8be44e Fire tweak 2015-05-19 00:09:37 -04:00
Mloc
79a191a2b5 dynamic fire colours
Fire colour + light colour changes with temperature.

Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-10 20:54:29 +01:00
Mloc
16d50c645d new object-based lighting system
Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-10 20:54:25 +01: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
mwerezak
c432268596 Fixes fires burning forever
Fixes fires grinding to a near halt but never actually stopping.
2015-03-09 01:45:31 -04:00
mwerezak
49b3db964f Implements fuel fires
Implements liquid fuel fires using the liquid fuel cleanable decal objects.
Rewrites zburn to be more sane, replaces convoluted calculations with straightforward reaction limit.
Fixes issue with liquid fuel spreading caused by thee object being deleted.
Prevents zones from being repeatedly added to the active fire zones list, and processed repeatedly.
2015-03-02 12:40:01 -05:00
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
Hubblenaut
30f590aef7 Fixes phoron reactions with oxygen not following a consistent reaction equation 2014-08-13 19:56:02 +02: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
Mloc-Argent
1aca3fe7f2 atmos: make fires more destructive
Fires can now burn through walls, windows, and (with a high enough
 temperature) rwalls.
New proc: adjacent_fire_act().  Called on turfs that a fire isn't able
 to spread to. (walls, floor surrounded by windows, etc.)

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-06-23 20:58:14 +01:00
Mloc-Argent
a33cb7272b Merge remote-tracking branch 'upstream/master' into dev 2014-06-23 20:57:47 +01:00
Mloc-Argent
191e21ead6 atmos: fix everlasting fires
Fires were checking against a non-reduced air sample for existance, so
the reduced sample wasn't working in zburn when it failed the check.
Also fixed volatilefuel not being scaled in the phoron reagent.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-06-22 15:25:23 +01:00
Chinsky
ded321d5c1 Nextgen lights #3: Fire
Fire now emites colored light, pretty rad.
2014-06-19 00:16:19 +04:00
Mloc-Argent
6a11ca32f8 Merge remote-tracking branch 'upstream/master' into dev 2014-05-05 22:22:01 +01:00
Mloc-Argent
3fb37ade17 zas: fix zburn /0 runtime
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-05-03 17:40:35 +01:00
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
0d589ff569 Changes all instances of PLASMA in active code into PHORON 2014-04-10 00:19:29 -07:00
Aryn
bc971b01ea New ZAS version, stable and efficient. Git broke the everything so it's in one commit. 2014-02-19 16:47:53 -07:00
LBraindead
9e752d7c79 Update Fire.dm
a bit of rebalancing that should fix the eternal-fire bug
2014-01-01 23:19:27 +01:00
Chinsky
a210c1b613 derp XOR 2013-11-03 20:31:50 +04:00
Chinsky
8274114e47 VG ZAS Fire stolen 2013-11-03 20:28:26 +04:00
SkyMarshal
cffa100caa Reverted both LordBraindead and my own work on firecode back to when it was stable. Fixed some issue with phantom-fires-in-pipes. Removed some useless things left over from FEA. 2013-10-05 00:32:02 -07:00
Mloc-Argent
a084f74c7d Expansion of every "icon = ''" path.
Supposed to help compilation times.  Who knows.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-09-01 21:53:36 +01:00
Mloc-Argent
d2d08208a8 made zburn/firelevel more predictable. Probably won't change much ingame, but it's a start.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-08-29 22:06:27 +01:00
Mloc-Argent
ebc19424e0 Fix for minute traces of toxins in the air causing firestorms.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-08-17 00:19:28 +01:00
Mloc-Argent
2a825e6cca Made most paths in ZAS absolute, for easier searching.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-07-24 21:13:48 +01:00
LordBraindead
6f0ebc1bb5 changed how fire works
-fire switched to release energy by burning fuel and generating heat from that
- reorganzied the fire process in a saner manner
2013-07-05 19:56:53 +01:00
SkyMarshal
efd3d83e78 Reverts my firechanges, also air alarms now have a temperature regulation capacity. 2013-07-04 20:55:59 -07:00
SkyMarshal
1ccceb0e6d Fixes an issue with fire leaving the trace_gases list full of nulls and revert some more of whatever Cael had done to that poor air-movement procedure. 2013-04-18 09:58:37 -07:00