Commit Graph

2167 Commits

Author SHA1 Message Date
SkyratBot
aeffa9165e [MIRROR] Yellow slime core nerfs and adjustments. (#1193)
* Yellow slime core nerfs and adjustments. (#54198)

Yellow slime extract can no longer turn into a self-charging yellow slime core. This functionality has been completely removed.

Hypercharged yellow slime cores no longer self-charge.
They now have a capacity of 50,000 (up from their previous 20,000). This is 10,000 more than a bluespace power cell.
Their recharge rate is 2500. This is relatively slow for the power capacity, as hyper and bluespace cells charge at 10% of their capacity respectively and this is 5%.

Motorised wheelchairs have had their power usage reduced to 5% of their previous value since they were basically only usable with rechargable cells before

* Yellow slime core nerfs and adjustments.

* Update special.dm

* Update special.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-08 04:46:52 +02:00
SkyratBot
12cfdd248d [MIRROR] Making holes in the SM chamber will provide a lot of +*=FUN=*+ (#1164)
* Making holes in the SM chamber will provide a lot of +*=FUN=*+ (#53725)

Making a hole in the supermatter chamber to vent it and so to slow down the delamination will instead make the delamination way faster, more so if the SM power is very high and the power level is high too.

Fix an old unintended feature where you could just vent to space the SM chamber to slow down or even stop a delamination (sometimes you could just make a hole in the chamber and it would stabilize while delaminating), the SM is easily fixable just by looking at the pipe and the meters, no need to vent to space. (Lemons note, in some cases a vent to space is needed,  but it should not be a long term thing)

* Making holes in the SM chamber will provide a lot of +*=FUN=*+

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2020-10-06 15:37:17 +02:00
SkyratBot
3b7068de61 [MIRROR] Mobility refactor: UI, pull and lying down edition (#1148)
* Mobility refactor: UI, pull and lying down edition

* Update living.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-04 20:03:31 +02:00
SkyratBot
9a94160fbf [MIRROR] Fix Fix incorrect Initialize arguments (#1113)
* Fix incorrect Initialize arguments again (#54123)

Fixes #54013 because loc is not the second arg

* Fix Fix incorrect Initialize arguments

Co-authored-by: spookydonut <github@spooksoftware.com>
2020-10-02 14:58:11 +02:00
SkyratBot
b902380681 [MIRROR] Crystal invasion no longer random event but delamination event (#1097)
* Crystal invasion no longer random event but delamination event (#53921)

This PR makes the crystal invasion event a delamination event only, so no more random events (can still be admin triggered).
The chance for the delamination to trigger the event depends on the power of the SM, the closer it is to the tesla delamination (near 5000) the higher the chance.

* Crystal invasion no longer random event but delamination event

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2020-10-01 12:28:30 +02:00
SkyratBot
9be3a7b8f6 [MIRROR] Moblity refactor: hands blocked and restrained edition. (#1051)
* Moblity refactor: hands blocked and restrained edition.

* Update carbon_defense.dm

* Update emotes.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-29 13:57:02 +02:00
SkyratBot
55e3dbcb5e [MIRROR] Scales ethereal power capacity and interactions upwards (#1039)
* Scales ethereal power capacity and interactions upwards  (#53984)

Basically, all ethereal charge capacity and interactions have been scaled upwards by 20x.

Power wise, ethereals now hold up to 3000, with the max safe threshold being 2000. For reference, upgraded powercells can hold 2500, with high capacity holding 10K).

All appropriate values have been tweaked to match this change. There shouldn't be ANY sort of noticeable difference in game, aside from power sources depleting faster, and a few values which I decided to tweak for balance reasons. They are: power cell draining time is 1.5 seconds longer, and light draining time is 0.5 shorter. Also, draining cells has less of a punishment multiplier upon the cell now, (originally, the the cell lost 33x as much as you received. now its 12x). (to avoid returning to this in why its good, I did this because now that ethereals are capable of holding more, I can afford to have less of a punishment, while still maintaining a reasonable level of punishment).

Also some minor code and grammar improvements.

* Scales ethereal power capacity and interactions upwards

Co-authored-by: wesoda25 <37246588+wesoda25@users.noreply.github.com>
2020-09-29 12:26:35 +02:00
SkyratBot
f8eef23e64 [MIRROR] Fixes incorrect Initialize() arguments (#1029)
* Fixes incorrect Initialize() arguments (#54013)

* Fixes incorrect Initialize() arguments

Co-authored-by: spookydonut <github@spooksoftware.com>
2020-09-29 00:18:52 +02:00
SkyratBot
98568e191a [MIRROR] Enforce preserving parent proc return values across ui_act call stacks (#999)
* Enforce preserving parent proc return values across ui_act call stacks (#53964)

All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.

* Enforce preserving parent proc return values across ui_act call stacks

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-26 17:17:59 +02:00
SkyratBot
fed00e5a62 [MIRROR] Replaces some numbers with defines + grammar stuff in ethereal power draining code (#979)
* Replaces some numbers with defines + grammar stuff in ethereal power draining code (#53924)

* Replaces some numbers with defines + grammar stuff in ethereal power draining code

Co-authored-by: wesoda25 <37246588+wesoda25@users.noreply.github.com>
2020-09-25 14:27:57 +02:00
SkyratBot
376e8978d3 [MIRROR] Disable some effect systems during init (#978)
* Disable some effect systems during init (#53929)

Instantly spread gib streaks rather than doing so over a delay
Completely skip broken light fixture sparking during init

* Disable some effect systems during init

Co-authored-by: Tad Hardesty <tad@platymuus.com>
2020-09-25 14:27:39 +02:00
SkyratBot
ef28f115cc [MIRROR] Machines now store their components in their contents. (#966)
* Machines now store their components in their contents. (#52970)

Machine parts are now located in the machine instead of nullspace.

* Machines now store their components in their contents.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-24 20:33:40 +02:00
SkyratBot
ec28f27bf8 [MIRROR] Fix broken dmdoc crosslinks (#933)
* Fix broken dmdoc crosslinks

* Update species.dm

Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-23 15:14:45 +02:00
SkyratBot
160c64b485 [MIRROR] Remove bad reference from atmos (#852)
* Remove bad reference from atmos (#53781)

Change the name from Cyrion B to Zauker due to the easy connection the bad groups in the past

Not getting a repo ban is good

* Remove bad reference from atmos

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2020-09-18 00:36:50 +01:00
SkyratBot
170db1b2d3 [MIRROR] Fixes processing of deleted objects in SSair (#828)
* Fixes processing of deleted objects in SSair (#53735)

qdel'd objects could still process in SSair because SSair utilises a cache whenever it has to resume processing runs from a partially completed state from running out of processing time.

Of all the things that processed on SSair, only one thing actually took care to remove itself from the cache as well on deletion.

This is an important subsystem and the processing lists should not be public. Objects don't need to know how SSair works, they just call the proc to add when they start processing and call the proc to remove when they finish.

Thanks to @ LemonInTheDark and @ willox for spending a lot of time helping me track down a proper fix to this issue.

* Fixes processing of deleted objects in SSair

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-17 02:10:08 +01:00
SkyratBot
4b6cc9d088 [MIRROR] Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool. (#830)
* Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool. (#53305)

* Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-09-17 02:05:30 +01:00
SkyratBot
ecbc0ec9a9 [MIRROR] You no longer smash light fixtures with light tubes (#807)
* Prevent smashing of light tubes onto fixtures (#53705)

Previously, if you tried to put in a light tube at any point before fully finishing the fixture, it would break the light tube. This is no longer the case, and it will now simply prevent you from putting it in.

* You no longer smash light fixtures with light tubes

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-09-15 22:43:19 +01:00
SkyratBot
c7d2cffbc3 Adds NO_ALERT flag to areas, refactors area alerts slightly (#752)
Co-authored-by: msgerbs <msgerbs@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-12 02:08:44 +02:00
SkyratBot
e60b9706b5 [MIRROR] Remove references to old singularity machines (#744)
* Remove references to old singularity machines (#53509)

Removes the singularity generator and the particle accelerator. The former had no sprite, and the latter only existed because of a leftover type path. This does not affect gameplay at all.

Removes the "Start Singularity" verb that was only intended for debug use.

Fixes #53508.

* Remove references to old singularity machines

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-09-11 23:15:33 +02:00
SkyratBot
5504cc9b36 [MIRROR] Add 5 new gases, related interactions/items/content, changes parts of fusion (#736)
* Merge pull request #53013 from Ghilker/reactions-go-BRRRR

The scope of this PR is to add new and interesting stuff to the atmos crew and to bring more people to it both old and new.
This PR adds 5 new gases, a bunch of reactions (i'm still working on this but suggestions are useful), new recipes and items to the atmosians arsenal. These gases have high utility for everyone, atmosians will find them useful to do their job both as firefighters and air maintenance.
FINAL GAS NAMES (will change only if a maintainer ask about it)

Healium
Proto Nitrate
Cyrion B
Halon
Hexane

reactions avaiable in this PR: https://drive.google.com/file/d/1e6DZlBaKSCNdCADKnrH3F3aDWvl0iZr4/view

What the PR add:
-Healium: a red gas, stronger than n2o if breathed, with healing properties
-Proto Nitrate: a green inert gas if breathed but with different reactions with various gases at high temperatures
-Cyrion B: a black deadly gas if breathed that decompones very fast if exposed to N2 even at minimal amounts
-Halon: a light blue gas that when used in a fire it will suck up the O2 and will help cool the room, helping fighting the fire
-Hexane: a purple gas that has the ability to filter from the air plasma and n2o, useful to clean distro from the harmful gases quickly
-Healium Crystal: a reddish crystal that when broken will explode cooling the room and removing the plasma from the air (act like a grenade)
-Proto Nitrate Crystal: a greenish crystal that when broken will explode refilling a space with O2 and N2
-Cyrion B Crystal: a blackish crystal that when broken will explode dealing damage around it
-Metallic hydrogen recipe addition (atmosian armor and fireaxe)
-Statue of an elder atmosian (for bragging rights)
-Supermatter Interactions
-More gas interactions (Roinnel have multiple and different interactions)
-New RPD device: the pressure valve, a device that allow gas flow in a pipenet if the input pressure is higher than the set pressure it's getting atomized
-Fusion is a bit "easier" to start (minor changes to the math so that the instability is more reasonable)
-pluox can be also made without using rads
-cyrion-b bounty
-all 5 gases can be sold to cargo

More stuff needs to be added (like the SM interactions(added) and probably more reactions and breathe reactions)
Please leave suggestions and feedbacks as it helps improve the PR

Atmos desperately need more content and need to be proactive in the making of its tools, with this PR is a start to more atmos content

🆑
add: hydrogen + rads = trit
add: 5 new gases
add: Healium : made from Bz + Freon + cold, it knocks people down but have healing properties
add: Proto Nitrate : made from pluox and H2 + heat, it has different reaction with a bunch of other gases
add: Cyrion B : made from hypernoblium + stimulum around 0°C, it has heavy damage if breathed but is decomposed rapidly by N2
add: Halon : made from bz + trit + cold, it reacts with O2 at high temperature removing it and cooling the air, helping putting out fires
add: Hexane : made from bz + H2 + cold, it reacts with plasma and n2o and removes them from the air mix, filtering them.
tweak: stimulum no longer require plasma
add: canister sprites, gas sprites
add: crystal from gases formation and reaction
add: new metallic hydrogen recipes
add: elder atmosian statue
add: supermatter interactions
tweak: minor changes to fusion math to make it "easier" to start
add : pluoxium can be also made without using rads (not removing the rad production one) (this also produces a minimal amount of h2)
tweak: lowered hypernoblium min temperature of reaction
tweak: metallic hydrogen production more common
add: cyrion-b bounty
add: all 5 gases are up to selling
/🆑

* Add 5 new gases, related interactions/items/content, changes parts of fusion

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-09-11 23:02:34 +02:00
SkyratBot
66a1e12afb [MIRROR] Readds the tesla, reworks it a bit (#719)
* Readds the tesla, reworks it a bit (#53072)

* Makes tesla movement nicer, fixes some atmos concerns, changes how energy is handled, and readds the tesla

* readds delam and desc

* I fucked it

* flags

* holy fuck

* Constricts the zaps that can generate power from a tesla coil

* *kick?

* Readds the tesla, reworks it a bit

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-09-09 08:30:41 +02:00
SkyratBot
1e705faa19 [MIRROR] Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#709)
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)

* Process procs now properly use deltatime when implementing rates, timers and probabilities

* Review fixes

* Geiger counters cleanup

Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now

* Moved SS*_DT defines to subsystems.dm

* Rebase fix

* Redefined the SS*_DT defines to use the subsystem wait vars

* Implemented suggested changes by @AnturK

* Commented /datum/proc/process about the deltatime stuff

* Send delta_time as a process parameter instead of the defines

Also DTfied acid_processing

* Dtfied new acid component

* Process procs now properly utilize deltatime when implementing rates, timers and probabilities

Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
2020-09-09 08:19:23 +02:00
SkyratBot
8d8b6ec6c9 [MIRROR] Raises the spice levels of the supermatter (#583)
* Raises the spice levels of the supermatter (#53233)

* Raises the spice levels of the supermatter

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-09-02 02:43:34 +02:00
SkyratBot
27a8dbb042 [MIRROR] ZK-Lambda-Class Remade (#581)
* ZK-Lambda-Class Remade (#52941)

This PR adds the crystal invasion event, a new event involving the Supermatter and the monsters from within.
When the event starts there will be a message from centcomm announcing it, then the supermatter explode leaving a destabilized crystal that emits radiations and harmful gases; after a bit portals will spawn around the station, that will produce a number of monsters each. there are 4 types of waves and 4 types of portals
The waves are: Small, Medium, Big, Huge (each have different kind of portals that can spawn and different amounts too)
The portals are the same types of the waves, they differ from each other for the number of monsters that can spawn and the kind of monsters that can spawn (bigger portals spawn stronger monsters)
To end the event the players should stabilize the crystal by destroying the portals (for now are indestructible and they are disabled by using an anomaly neutralizer, might change that) and collecting otherworld crystals; then those crystals are to be put in the crystal stabilizer, an item unlockable in the tech tree. After this just inject the destabilized crystal with it and the remaining portals will close on their own (the spawned monsters will still remain tho so you have to slay them)

All the numbers are mostly eyeballed and could change if requested/with feedbacks

* ZK-Lambda-Class Remade

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2020-09-02 02:42:56 +02:00
SkyratBot
ec09510459 Bools and returns super-pr (#53221) (#565)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-30 05:12:59 +02:00
SkyratBot
0a2d016002 [MIRROR] Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#550)
* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#52515)

Automatic glide size adjustment based on move delay.
Essentially a port of https://github.com/yogstation13/Yogstation/pull/8132 but that was mostly my code with some fixes.

Why again? well it turns out the recent byond fixes to glide size actually worked and solved the issues that were unsolvable.
https://file.house/0B3u.mp4
Glide size no longer incorrectly scales at fps, so it works as intended at any framerate with the only stuttering being normal byond suck stuttering.

* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut

Co-authored-by: Rob Bailey <actioninja@gmail.com>
2020-08-29 20:27:18 +01:00
SkyratBot
63a0ca874c [MIRROR] Refactors machine_stat and is_processing() to process on demand (#515)
* Refactors machine_stat and is_processing() to process on demand (#53150)

* Refactors machine_stat and is_processing() to process on demand

* Fixes master (#53193)

* fixes master, damn it me/mothblocks

* fuck again

* ANOTHER ONE

* Fixes master

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-26 01:21:26 +02:00
SkyratBot
2a7405c449 [MIRROR] Fixes powernets improperly rebuilding when a ship moves (#501)
* Fixes powernets imporoperly rebuilding when a ship moves (#53132)

* Fixes powernets improperly rebuilding when a ship moves

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-25 00:01:16 +02:00
SkyratBot
3bd294f26f [MIRROR] Defines damage flags. (Hopefully without 50+ commits) (#491)
* Defines damage flags. (#53158)

* Defines damage flags. (Hopefully without 50+ commits)

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-08-24 22:52:31 +02:00
SkyratBot
ac8bf51024 [MIRROR] Moves base_icon_state to the base of atom (#464)
* to the base (#52917)

* Moves base_icon_state to the base of atom

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-21 22:36:33 +01:00
SkyratBot
d3f6e8d49f [MIRROR] Explosions SS runtime fix + code cleanup (#461)
* Explosions SS runtime fix + code cleanup (#52894)

* runtime fix

* turf references are immortal

* Explosions SS runtime fix + code cleanup

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-21 21:30:43 +01:00
SkyratBot
e65a48e91f [MIRROR] Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#430)
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)

Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl

* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-19 20:17:28 -04:00
SkyratBot
72c69368b6 [MIRROR] Opacity refactor (#405)
* Opacity refactor (#52881)

    Moves all opacity var manipulation to a proc which sends a signal.
    light_blocker element for movable opaque atoms made, which tracks its movement and updates the affected turfs for proper lighting updates.
    has_opaque_atom boolean replaced by the opacity_sources lazylist to keep track of the sources, and a directional_opacity which serves a similar function but also allows for future expansion with on-border opaque objects (not yet implemented).
    Some opacity-related sight procs optimized as a result of this.
    Some variables moved to the object's definition.
    A define or two added into the mix for clarity.
    Some code cleaning, like turning booleans into their defines.
    One file renamed for clarity.

Changelog

cl
balance: Mechs no longer block sight. It's a non-trivial cost for the lighting system with little to no gain.
/cl

* Opacity refactor

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-19 04:48:14 +02:00
SkyratBot
4a8bf70af3 [MIRROR] Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam. (#345)
* Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam. (#52873)


About The Pull Request

This PR removes the tesla and Mrs. Pacman from the game. The title is actually misleading, the TEG and singularity are still in the game but inaccessible and the singularity no longer has its generator.

Field generators and tesla coils have been kept because shocking your fellow man is the greatest sensation of power in the world.

The overcharging delamination for the supermatter has been replaced by the release of 2500 mols of tritium at 500,000 kelvin. An engineer who's really hateful of the station can use this for fusion, if they desire. Otherwise, its a tritium fire in engineering alongside the explosion. This will probably be changed in the future to be more potent since the explosion will pretty much just space all the tritium away.

Singularities no longer produce radiation. Now, keeping one is less about making power and more about making a statement, especially since you need to delaminate an SM shard for it.
Why It's Good For The Game

Having power optimized for one generator (SM+Turbine) will allow balancing to be feasible, also oranges wanted this. The other generators may later return but with tweaked values and different roles.
Changelog

🆑
del: Nanotrasen has removed their outdated teslas, singularities, TEGs and Mrs. Pacman generators from their servers and warehouse.
/🆑

* Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam.

Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
2020-08-15 00:53:05 +02:00
SkyratBot
49f7becb88 [MIRROR] Personalized combat messages part 2 (#334)
* Personalized combat messages part 2 (#52890)

Adds more "personalized" combat messages for all participants in a fight: the attacker, the victim and the spectators

* Personalized combat messages part 2

* Update misc.dm

Co-authored-by: kingofkosmos <riki.sundberg@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-08-14 23:29:15 +02:00
SkyratBot
8932e4cdbe [MIRROR] Fixes tesla coil hell contraptions (#333)
* Fixes tesla coil hell contraptions (#52889)

Removes the ability for tesla coils to generate power with more then 85% efficiency.
Cleans up the remainder of my zap_act refactor, making the proc better fit its usecase and removing some unneeded code.
Adds a check in the tesla coil zap() proc that makes sure we're not trying to use power that's not there.
Removes some seemingly complex math from said proc, replaces it with a static 20% draw * the efficiency.

* Fixes tesla coil hell contraptions

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-13 22:38:29 +02:00
SkyratBot
e8bfe6eb68 [MIRROR] [Ready] CDN browser assets! (#312)
* [Ready] CDN browser assets! (#52681)

Rewrites the asset_cache system to handle sending assets to a CDN via a webroot.

see https://github.com/MrStonedOne/tgstation/blob/asset-cdn/code/modules/asset_cache/readme.md

Fixed a lot of bugs with assets, removed some dead code.

Changes:
    Moved asset cache code to transport datums, the currently loaded one is located at SSassets.transport, asset cache calls made before the config is loaded use the simple browse_rsc transport.
    Added subsystem call for when the config loads or reloads.
    Added a webroot CDN asset transport. assets are saved to a file in a format based on the file's hash (currently md5).
    Assets that don't use get_asset_url or get_url_mappings (such as browser assets referred to by static html files like changelog.html or static css files) can be saved to browse_rsc even when in cdn asset mode by setting legacy to TRUE on the datum returned by register_assets
    Added a system for saving assets on a cdn in a hash based namespace (folder), assets within the same namespace will always be able to refer to each other by relative names. (used to allow cdn'ing font awesome without having to make something that regenerates it's css files.).
    The simple/namespaced asset cache datum helper will handle generating a namespace composed of the combined md5 of everything in the same datum, as well as registering them properly.
    Moved external resource from a snowflake loaded file to a config entry, added it to resources.txt
    To ensure the system breaks in local testing in any situation that wouldn't work in cdn mode, the simple transport will mutate the filenames of non-legacy and non-namespaced assets and return this with get_asset_url.
    Simple transport's passive send of all roundstart assets to all clients is now a config that defaults to off. this is to break race conditions during local testings from devs accidentally relying on this instead of using send() properly.

cl
refactor: Interface assets (js/css/images) can now be managed using an external webserver instead of byond's one at a time file transfer queue.
admin: Adds admin verb toggle-cdn that allows admins to disable the external webserver asset transport and revert to the old system. Useful if the webserver backing this goes down (thanks cloudflare).
config: New config file, resources.txt, (must be loaded by an $include statement from the main config)
server: The external_rsc_urls.txt config has been moved to the main config system.
/cl
Porting notes:

Interface webpages must refer to their assets (css/js/image/etc) by a generated url, or the asset must register itself as a legacy asset. The system is designed to break in localtest (on simple/legacy mode) in most situations that would break in cdn mode.

Requires latest tgui.

The webserver must set the proper CORS headers for font files or font awesome (and other fonts) won't load.

/tg/'s webserver config: https://gist.github.com/MrStonedOne/523388b2f161af832292d98a8aad0eae

* [Ready] CDN browser assets!

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-08-12 11:32:37 +01:00
SkyratBot
9bdc964871 [MIRROR] You can now craft cable restraints directly from the radial menu (#306)
* You can now craft cable restraints directly from the radial menu (#52614)

* You can now craft cable restraints directly from the radial menu

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-12 11:30:34 +01:00
SkyratBot
6389a6a50d [MIRROR] Adds feedback to the supermatter exploding while in a locker (#276)
* Adds feedback to the supermatter exploding while in a locker (#52762)

* Adds feedback to the supermatter exploding while in a locker

* Fix z level check

* Adds feedback to the supermatter exploding while in a locker

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-10 23:23:25 +01:00
SkyratBot
8bc42f8b06 [MIRROR] Pipe cleaner cable color fix (#270)
* Pipe cleaner cable color fix (#52759)

This PR fixes a bug where service cyborgs were unable to set a color of the pipe cleaner cable they possess due to not setting an actual color code for a cable colorization and a duplicit name variable.

Also adds an option for cancelling color choosing input as per maintainer suggestion.

* Pipe cleaner cable color fix

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2020-08-10 23:21:47 +01:00
SkyratBot
ee324ab3c2 [MIRROR] Cleanup up all instances of using var/ definitions in proc parameters. (#240)
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)

* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.

* Cleanup up all instances of using var/ definitions in proc parameters.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-07 18:26:21 +01:00
SkyratBot
c3745f1679 [MIRROR] supermatter anomaly generation can no longer be used to get anomaly cores (#223)
* supermatter anomaly generation can no longer be used to get anomaly cores (#52732)

* fix

* webedit moment yes i'm testing this pr shhhh you didn't see that failed compile

* haha what if i tested my code?

* supermatter anomaly generation can no longer be used to get anomaly cores

Co-authored-by: silicons <2003111+silicons@users.noreply.github.com>
2020-08-07 01:39:04 +01:00
SkyratBot
b25aea057b [MIRROR] adds lightbulb removing skillchip (#215)
* adds lightbulb removing skillchip (#52603)

* shawty got low low low low low low

* Update code/modules/library/skill_learning/skillchip.dm

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>

* aaagh

* fuck

* review

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>

* adds lightbulb removing skillchip

Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
2020-08-07 01:37:33 +01:00
SkyratBot
092632a63c [MIRROR] electrified airlock fixes (#204)
* electrified airlock fixes (#52699)

* Airlock zap fixes

* cleanup

* jaws of life

* removed redundant just_zap var, handled by cooldown checks.

* comments

* cleanup healper

* electrified airlock fixes

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2020-08-05 10:13:50 +02:00
SkyratBot
5fd8cb072e [MIRROR] Color standardization, vars moved, and signals (#194)
* Color standardization, vars moved, and signals (#52574)

    Defined all the existing light_color values.
    Moved their definitions to colors.dm
    Made white the default color. It was so already, but that was very obscured.
    Moved the atom light-related variables to the atom definition.
    Wrapped changes to variables such as light_color into procs that report the event through signals.
    Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
    Cleaned up a little bit of code in where new variables were defined before redefinitions.

This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.

There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.

* Color standardization, vars moved, and signals

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-04 12:20:31 +02:00
SkyratBot
857b67ff44 [MIRROR] Fix pulsing the power wire shocking you repeatedly unless you close tgui (#150)
* Fix pulsing the power wire shocking you repeatedly unless you close tgui (#52541)

* Fixes #52538

* Allow those with insulated gloves to mess with airlocks still

* Fix not being able to interact with insulos

* Fix style qualms

* Add shock immune to should_electrocute

* Fix pulsing the power wire shocking you repeatedly unless you close tgui

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-07-31 14:07:00 +02:00
SkyratBot
651e720f2b [MIRROR] Try to replace light overlay to vis_contents (#140)
* Try to replace light overlay to vis_contents (#52389)

* Try to replace light overlay to vis_contents

* move glowybit creation in Initialize

* ups

* change mutable_appearance to SSvis_overlays

* set right settings

* Try to replace light overlay to vis_contents

Co-authored-by: Dennok <Deneles@yandex.ru>
2020-07-31 00:32:11 +02:00
SkyratBot
191fd8993f [MIRROR] Move cable radial menu to attack_self. Move recipe crafting to radial menu chose (#131)
* Move cable radial menu to attack_self. Move recipe crafting to radial menu chose (#52540)

* Move cable radial menu to attack_self

Move recipe crafting to radial menu chose

* Remove loc check in attack_self

* Move cable radial menu to attack_self. Move recipe crafting to radial menu chose

Co-authored-by: Dennok <Deneles@yandex.ru>
2020-07-31 00:23:05 +02:00
Dennok
2e9df486c7 Remove cable hubs from handcrafting (#52539) 2020-07-29 09:06:53 -04:00
Azarak
68ba7fc498 Merge pull request #89 from Skyrat-SS13/upstream-merge-52473
[MIRROR] Supermatter slivers thrown by bombs / mass drivers will now consume a mob if they're hit by it.
2020-07-26 22:38:45 +02:00