Commit Graph

282 Commits

Author SHA1 Message Date
Atermonera
21bd8477c7 Merge pull request #8531 from Spookerton/spkrtn/sys/global-agenda
updates all bare globals to use /global/ semantics, and all shared members to /static/
2022-04-24 19:56:07 -08:00
Atermonera
2a494dcb66 Merge pull request #8530 from Spookerton/cerebulon/ssoverlay
alt of 8336
2022-04-24 18:57:19 -08:00
spookerton
ee67e174fb use static for shared member vars 2022-04-24 07:52:32 +01:00
spookerton
1f3ffc2433 non-flagged, non-complex overlay -> ssoverlays 2022-04-24 07:51:12 +01:00
spookerton
1ccb2df2de trivial 1:1 overlays -> overlay proc changes
NB. In some cases we go from a more complex image() to a single icon_state string and I assume this works for every case but do not care to check because of the sheer scale of extra fiddly effort. Buyer beware, not my code.
2022-04-24 07:50:21 +01:00
spookerton
a495456e36 fire loop behavior of SSalarm, GLOB alarm handlers 2022-04-24 07:40:38 +01:00
atermonera
9d71839ac6 Removes devices 2022-04-17 19:14:43 -08:00
atermonera
7a9806d9b4 Removes weapons 2022-04-17 19:14:32 -08:00
atermonera
c7f1880394 Revert "What was supposed to be another straightforward major system overhaul that once again spiraled out of control (#8220)"
This reverts commit 4d8c43f106.
2022-03-29 16:01:32 -08:00
Atermonera
4d8c43f106 What was supposed to be another straightforward major system overhaul that once again spiraled out of control (#8220)
* get_tool_quality has numerical meaning

* Basic tools set tool quality

* Toolspeed is replaced by tool quality checks

* Addresses assorted results from live test

* Extra cleanup
2022-01-16 15:52:55 -08:00
Atermonera
0232be9531 Repaths obj/effect/effect, datum/effect/effect [MDB_IGNORE] (#8312)
* Repaths obj/effect/effect, datum/effect/effect

* linter fixes

* No new

Co-authored-by: Atermonera <forslandm@gmail.com>
2022-01-16 00:14:39 -08:00
MistakeNot4892
2f0a618d45 /atom New() => Initialize() [MDB IGNORE] (#8298)
* Find and replace argless atom New() to Initialize().

* Manual replacement of no-arg New() to Initialize().

* Manually replacing remaining New() overrides.

* Fixing linter issues with now-removed New() args.

* Tidying area init overrides.

* Porting Neb's atom subsystem.

* Trying to isolate init problems.

* Adjusting Init code post-test.

* Merging duplicate Initialize() procs.

* Merge resolution.
2021-11-14 00:09:14 -08:00
ShadowLarkens
dad9020f9a TGUI Engineering... and a bunch of other random things 2020-10-21 13:02:19 -07:00
Meghan-Rossi
9611ae902e Makes wall-mounted machines layer above windows (#7708)
Makes wall-mounted machines layer above windows so that they are clickable if placed on windows
2020-10-16 23:01:39 -07:00
Atermonera
55e12aad7b Merge pull request #7210 from VOREStation/vplk-static-power
[PORT] Static Machinery Power
2020-05-30 21:18:27 -07:00
Leshana
ccef6cc908 Implements "static" area machinery power usage
- Instead of using auto_use_power to re-tally up machinery's power usage every cycle, track the steady "static" load separately from the transient "oneoff" usage.  Machines then only need to inform the area when they use oneoff power or *change* their steady usage.
- Remove auto_use_power and stop SSmachines from calling it.
- Add vars to track "static" usage for each of the three power channels to /area
- Rename the existing three vars to "oneoff" so its clear what they mean (and to catch people accidentally updating them directly)
- Update area power procs and APCs to use the new variables.
- Rename /area/proc/use_power() to use_power_oneoff() to make it clear what it is doing.
- Deprecate /obj/machinery/use_power() in favor of use_power_oneoff() but don't delete yet.  Can transition gradually.
- Add logic to the update_power procs on machines to calculate the deltas and update static area power whenever their usage changes.
- Add logic to machines to update area power when they are created, destroyed, or move.
- Moved /obj/machinery procs related to area power usage into machinery_power.dm to make them easier to find.
- Added or updated comments in several places to explain what is going on and how to use it.
2020-05-19 20:17:48 -04:00
Aronai Sieyes
ad75bb86bd Alter playsound paradigm 2020-05-19 11:06:28 -04:00
Little-119
14e3c8a830 Fix cooldown math while I'm here 2020-05-09 15:48:28 -04:00
Little-119
09d0fc9f1f Add nightshift setting 2020-05-09 15:48:20 -04:00
Aronai Sieyes
71c4e2b1d8 Allow locked APCs to still toggle night lighting 2020-05-09 15:48:09 -04:00
Aronai Sieyes
df12cd888a Port SSnightshift from Paradise
Makes the station have a night mode.
2020-05-03 21:17:55 -04:00
Atlantiscze
c32112c69c Merge branch 'master' of https://github.com/PolarisSS13/Polaris into 2020_04_17_LoadBalancing 2020-05-03 23:17:27 +02:00
Aronai Sieyes
6c6644f86c Rewrite examine() to pass a list around (#7038) 2020-04-29 13:42:16 -07:00
Atlantiscze
78925e2993 Ports over power-related enhancements and tweaks i coded for Bay a while back
- Please fasten your seatbelts, this will be a long one as it joins few older Bay PRs into one.

1. Ports https://github.com/Baystation12/Baystation12/pull/12626
- SMES units may now be damaged and destroyed. Charged SMES units fail quite violently. Damage can be fixed by welding tool.
- PSUs completely refactored, ghetto variant no longer exists.
- Cell rack PSUs now can be considered a hybrid between large battery charger and a SMES. They actually use the cells to store power (so you can hot-swap the cells to get more juice simply via the UI without deconstructing the whole machine), but in comparison to SMES have poor throughput and capacity in general (cells are simply too small). They are also somewhat limited in configuration options (lacks the precision electronics of a SMES). Better matter bin lets you put in more cells, up to 9.
- Cell rack PSU also has a mode that allows charge-balancing all inserted batteries (moves energy around so each battery has the same charge %)

2. Ports https://github.com/Baystation12/Baystation12/pull/11977
- SMES units now have full load balancing capability, getting rid of that annoying "One SMES charges at full, other SMES gets nothing" problem. If insufficient power is available on input, all inputting SMESes will now charge at same percentage. If more SMESes power a single output, they will all output equal percentage of their setting.
- This appears to have a pleasant side effect of fixing the issue where SMESes could starve APCs of energy. SMESes are ALWAYS last to input power on a powernet.
- This also appears to have fixed weird values displayed in SMES output/input load readings in the UI. By weird values i mostly mean inputs/outputs actually higher than the SMES is set to have.

3. Ports https://github.com/Baystation12/Baystation12/pull/18137
- SMES units (and subtypes, therefore effectively also PSUs from previous entry) can now have more than one terminal. This effectively allows a setup where two (or more) sources feed a single SMES, which then feeds the output. SMESes can not exceed input setting even with multiple terminals.
- Typical example of use in practice would be SMES that runs something important (for example an AI, telecomms, pick whatever you want). It could have one input from the power grid, and second input from a PACMAN generator set up nearby as a backup. Before the generator would have to be wired into main grid, therefore main grid would siphon off power from it. Now the generator can be separate and dedicated for whatever use you want.
2020-04-17 08:26:29 +02:00
Atermonera
95ac99c514 Merge pull request #6882 from VOREStation/vplk-machinery-use-power
Machinery: Always use update_use_power()
2020-03-23 20:20:41 -07:00
Leshana
938384cb1b In fact lets use the constants instead of bare numbers for use_power everywhere. 2020-03-21 19:41:01 -04:00
Atermonera
28f34f1e51 Merge pull request #6820 from Meghan-Rossi/Emergency-Lighting
Emergency lighting
2020-03-21 13:38:32 -07:00
Cerebulon
2670a1c0e4 Adds more machine button sounds (#6802)
* Adds more machine button sounds

* chang
2020-03-11 17:30:42 -07:00
Arokha Sieyes
5b15917d32 to_chat replacing stream operator 2020-02-17 13:14:08 -05:00
Shadow
32ae9e406b Emergency Lighting 2020-02-10 17:24:25 -06:00
Tad Hardesty
7bd3208cc6 Fix loop and control flow syntax 2020-01-18 23:01:36 -08:00
Shadow
c10aade16f The Altening 2019-12-20 23:02:32 -06:00
kevinz000
46c79c7d3e [READY]Makes a bunch of processes subsystems instead (#5814
* Converts various New() definitions to Initialization()
* Adds absolute pathing
2019-01-15 22:58:06 -08:00
atermonera
a0c8891eb6 Refactors poi rotation to use degrees instead of dir
Fixes powernet rotation being totally non-functional
2018-12-09 22:56:45 -08:00
Atermonera
de65c3c643 NanoUI now processes again 2018-08-25 21:13:16 -07:00
Anewbe
c2794c571d Hopefully fixes some tool-conversion things 2018-08-03 15:13:29 -05:00
Anewbe
7f84aeab9f Merge branch 'master' of https://github.com/PolarisSS13/Polaris into is_tool 2018-08-02 22:35:14 -05:00
Anewbe
729ce71aa0 Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format 2018-08-02 21:45:15 -05:00
Woodratt
67bc6ac4ed APC Sprite Change
- Port from Virgo recolored slightly to match closer to the old sprite
- Addition of directional sprites for the APCs
2018-07-31 17:56:04 -07:00
Anewbe
d308cb4563 Merge pull request #5269 from deathride58/fancylighting
Makes lighting a little fancier, reduces the amount of light sources with a power greater than 1
2018-05-29 13:33:27 -05:00
deathride58
718ca41ea0 tweaks a bunch of lighting values. reduces the amount of light_power values greater than 1 2018-05-16 01:42:01 -04:00
Arokha Sieyes
91f0c05a4b SSAO object excludes
Moves several things onto a new plane/layer to keep them from getting the SSAO shadows so it looks nicer.
2018-05-14 11:38:22 -04:00
Nerezza
a3228cd0c5 Makes slightly smaller objects capable of bashing open busted APCs (#5015)
* Makes slightly smaller objects capable of bashing open busted APCs

Because I've realized that engineers have enough --- to deal with without having to hunt down a fire extinguisher to bash open an APC

* Grammaring the best
2018-03-07 18:07:20 -06:00
Cyantime
b0b821cb71 Adds hidden alarms, for air alarms, fire alarms, and APCs (#4816)
* Adds hidden alarms

* TRUE/FALSE defines

* Renames var to alarms_hidden
2018-02-16 12:50:06 -06:00
Neerti
5532894cde POI Adjustments
Drone subtype added that is slower than the regular type, so that fleeing is an option now.
All drones on surface POIs have been replaced by this subtype.
Fixes power issues in several POIs.
Makes POI SMESes more robust and start full.
APCs in POIs will no longer send an alert to the station.
Fixes missing area in bonfire POI.
Tweaks name and desc of big stompy drone mechas.
2018-02-09 00:26:21 -05:00
Neerti
af5c633cdb Merge branch 'master' of https://github.com/PolarisSS13/Polaris into 10/28/2017_new_blob
# Conflicts:
#	code/game/atoms_movable.dm
2017-11-29 22:43:05 -05:00
Neerti
acb208dd3f Works on New Blob 2017-11-29 22:35:01 -05:00
Neerti
2f7db506eb Adds Variable Click Delay
Now certain weapons can strike faster or slower than usual. No weapons currently do this as this PR just lays the groundwork for that.
The click delay can also be modified with traits. The slime agility modifier makes attacks happen 25% sooner.
Adds debug test verb to display a weapon's DPS. It's really basic but should be sufficient for future force adjustments I might do in the future.
2017-11-28 16:11:56 -05:00
Belsima
aac82665b8 Emag RNG removed. 2017-10-27 13:58:35 -04:00
Neerti
99eb6f9404 Updates Tools
Adds toolspeed var, which is a multiplier on how 'fast' the tool works.  0.5 means it goes twice as fast.
Adds usesound var, which determines what sound is used when a tool is being used.
Changes a lot of code to use those two vars instead.
Adds 'ayyy' tools, which are ported from /tg/'s abductor gamemode.  They're currently admin only but I might make them obtainable by xenoarch later.
Adds powertools, also from /tg/.  CE starts with them in a new toolbelt that spawns in their locker, ported from (you guessed it) /tg/.
Changes welder sprites to look nicer, ported yet again from /tg/.  Modified the blue welder slightly so it can be the electric welder sprite.
Adds various sounds from /tg/, for tools and welders.
2017-08-03 04:49:23 -04:00