Commit Graph

615 Commits

Author SHA1 Message Date
Atermonera
55e12aad7b Merge pull request #7210 from VOREStation/vplk-static-power
[PORT] Static Machinery Power
2020-05-30 21:18:27 -07:00
Aronai Sieyes
07dd85043b Make mapped in decals above auto-floor decals 2020-05-29 20:52:42 -04:00
Aronai Sieyes
58421727da Port Eris' extensive floor blending system 2020-05-29 14:01:40 -04:00
Atermonera
551fc88ce1 Merge pull request #7204 from VOREStation/Arokha/performance
Performance improvements
2020-05-28 12:47:08 -07:00
Atermonera
a36f2b824c Merge pull request #7171 from VOREStation/pol-itemtips
Add inventory item tooltips
2020-05-21 11:29:27 -07:00
Novacat
8a2baa1e65 Updates Solgov/Sifguard uniforms (#7138)
* Adds Rank and Dept Slots

Since BYOND increased the maximum of bitwise operations, it is possible to add a few new slots. I decided to port Bay's Rank and Dept slots, as well as remove the now defunct Torso slot.

* Adds some Terran uniforms

* Ah screw it I am overhauling this

* Renames marine icon

* adds crude clothing sprite for jumpers

* Fixes previous commit

* Renames all army stuff to marines

* Fixes an oversight

* Purges extraneous icons

* Removes duplicate sprites
2020-05-21 11:19:46 -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
07acd05537 Obsolete the PROXMOVE flag and uses 2020-05-19 10:39:44 -04:00
Aronai Sieyes
422ff09b21 isstorage() 2020-05-17 13:57:33 -04:00
Aronai Sieyes
a8f3a0a7a0 Refactor move/click code 2020-05-15 10:49:27 -04:00
Atermonera
54577cc012 Merge pull request #7104 from VOREStation/pol-aiborgrefac
Refactor some job joining things related to robofriends
2020-05-10 15:29:14 -07:00
Atermonera
d3b7d8e743 Merge pull request #7087 from VOREStation/pol-nightshift
Port SSnightshift from Paradise
2020-05-10 15:16:14 -07:00
Atermonera
021f874b12 Adds preference to control multilingual behaviour (#7064)
* Adds preference to control multilingual behaviour
Examine mode preference should persist across reconnections to a single round
Still looking into how to properly get these to go into the savefile

* typos
2020-05-07 20:41:19 -07:00
Atermonera
7af7374d37 Merge pull request #7101 from MisterLayne/prommie-lang-fix
Fixes Promethean Language
2020-05-07 18:37:16 -07:00
Aronai Sieyes
01c98b93e4 Some refactors of noncarbon joins 2020-05-07 19:51:02 -04:00
Atermonera
c1a6ac8c3b Merge pull request #7092 from VOREStation/pol-roleprefs
Fix out-of-order role candidate options
2020-05-06 23:03:48 -07:00
Atermonera
6ecfe951ed Merge pull request #7091 from VOREStation/vplk-proper-atmos-canpass
[PORT] Use can_atmos_pass to reduce proc-calls in c_airblock()
2020-05-06 23:02:51 -07:00
MisterLayne
c78de0e619 Fix that hecking language. 2020-05-06 17:59:28 -04:00
Atermonera
0d76423de4 Merge pull request #7075 from Novacat/nova-holowarrant
Fixes weed related runtimes
2020-05-05 14:15:52 -07:00
Aronai Sieyes
f1bd0eb5c9 Fix out-of-order role candidate options
fixup pol commit
2020-05-04 20:59:16 -04:00
Leshana
e74ebd9805 Use can_atmos_pass to reduce proc-calls in c_airblock()
- Add additional can_atmos_pass value ATMOS_PASS_PROC which indicates custom behavior requiring calling the CanZASPass proc.
  - The benefit being for the other three values we DON'T need to call CanZASPass at all!  We already know the behavior without the overhead of a proc call.
  - Obviously any atom with can_atmos_pass = ATMOS_PASS_PROC cannot now call ..() in CanZASPass() since the default behavior would be to (recursively) call CanZASPass()
  - This required re-numbering the constants, so I also fixed all code that assumed particular values for the constants.
- Switched all types which overrode CanZASPass with custom logic to be can_atmos_pass = ATMOS_PASS_PROC
- Changed /turf/c_airblock() to skip calling /atom/movable/c_airblock() for the three can_atmos_pass values that don't require calling the proc.
2020-05-04 13:47:52 -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
Unknown
d8584d2e28 Adds missing define 2020-05-03 11:42:00 -04:00
Atermonera
845da77564 Merge pull request #7049 from Novacat/nova-accessory
Overmap Consoles now check access
2020-05-03 00:12:45 -07:00
Atermonera
b6ede448fc Merge pull request #7043 from MisterLayne/prommie-lang
Promethean Language
2020-05-03 00:12:25 -07:00
Atermonera
653cb2f2c3 Merge pull request #7053 from VOREStation/pol-airefactor
Refactor AI into two subsystems
2020-05-01 12:09:08 -07:00
Atermonera
61c4929d61 Merge pull request #7045 from Neerti/let_them_eat_all_the_cake
Removes limits on eating, centralizes nutrition changing.
2020-04-29 14:14:11 -07:00
Atermonera
19468eaddc Merge pull request #7041 from VOREStation/vplk-disposal-consts
Slightly clean disposal pipe construction code.
2020-04-29 13:51:20 -07:00
Aronai Sieyes
c9086829ec Convert some telecomms constants into defines 2020-04-27 10:34:13 -04:00
Aronai Sieyes
c170436256 Refactor AI into two subsystems 2020-04-27 10:11:49 -04:00
Unknown
01be312759 Overmap Consoles now check access
Also slightly tweaks 513 compatibility to be a little better.
2020-04-26 17:57:22 -04:00
Neerti
2dee403370 Removes limits on eating, centralizes nutrition changing. 2020-04-26 05:30:32 -04:00
MisterLayne
3400c4138f clarifies thing 2020-04-25 18:37:24 -04:00
MisterLayne
0df21c4691 prommies get language 2020-04-25 18:26:19 -04:00
Leshana
ec86a98e16 [PORT] Refactor the gameticker controller into SSticker (#6994)
* Move gameticker to subsystem folder before editing to track history thru rename.

* Refactor the gameticker into SSticker

  - Instead of independently spawn'd while/sleep loops, it stores its state and lets the MC fire it.
  - Convert relative path indentation procs to absolute path as per modern style standards.
  - Break apart the inner loops into separate procs so you can see what is actually going on.
  - It now shows up in MC tab, along with stats about what phase it is in.

* Revamp Start Now admin verb to actually wait until init is done before starting.

* Update Lobby stat panel to show voting and server init status.

* Fix: Only call autogamemode vote once.

* Spawn statistic_cycle off to not sleep SSticker.

* Add SStickere changelog

* Change to use to_world and add wrapping spans.

* Added filtering spans by specific request of Polaris.
2020-04-25 12:26:54 -07:00
Leshana
720e820ba1 Slightly clean disposal pipe construction code.
Portetd from YW, this replaces many hard coded constant numbers with defines for readability.
Also refactors the disposals pipe dispenser to use pipe recipes in a similar way that the atmos pipe dispenser does.
Also adds icon states to the pipe_recipe type since it was easily available in the source port and can be useful.
2020-04-25 15:17:58 -04:00
Atlantiscze
51083ed119 Tweaks SMESRATE to original value
- Didn't notice the original value differed from value used on Bay. This brings it back so capacity remains unchanged
2020-04-21 22:46:47 +02:00
ShadowLarkens
54a8a5823d Saycode Overhaul -- Multilingualism (#6956)
* Port ParadiseSS13/Paradise#2100 - Saycode refactor

* Removed unused old carbon slimes code

* Port ParadiseSS13/Paradise#5099 - Saycode part 2

* Ported ParadiseSS13/Paradise#7170's /datum/browser Check Known Languages

* Port ParadiseSS13/Paradise#9240 - Get rid of alt_name in favor of GetAltName()

* Port ParadiseSS13/Paradise#10330 - You can now use multiple languages in one message

* Addressed Atermonera's review.

Translators now print the full message if they find any languages within the
message that the user doesn't understand, minus languages it cannot translate.

Additionally, the combine_message proc has been significantly simplified
by eliminating an ugly tree structure with the help of a little helper
proc.

The removal of the extra span inside each piece doesn't seem to have
visually changed the messages in any other way than changing where the
wordwrap happens, strangely enough. Must be something in IE's code being
picky about invisible elements. On the bright side, it splits *later*
than it did before, thus reducing the lines a message will take up by a
tiny amount.

Also, a bunch of things now have the 'filter_say' class from
PolarisSS13/Polaris#6998. Since span classes with no definition are
totally valid and just don't do anything, this PR does **not** depend on
that PR being merged first.

* Always gotta be one
2020-04-20 01:11:53 -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
Leshana
5dbf08b462 Refactor the Open Space controller into MC Subsystem
- Basically just refactor doWork() into fire() with the capablity to return in the middle with MC_TICK_CHECK.
- Move some vars around to be more organized.
- Only functional change is that when a turf is queued twice in one cycle, the second queue moves it to the end of the list instead of it being in the queue twice
2020-04-14 09:38:23 -04:00
Atermonera
974919151b Merge pull request #6967 from VOREStation/pol-pipes
Add 2 new pipe types
2020-04-12 23:00:41 -07:00
Atermonera
32a573f5cc Merge pull request #6878 from Mechoid/ATaleofBlobsandMen
A Tale of Blobs and Man
2020-04-12 22:34:33 -07:00
Atermonera
527370ca4f Merge pull request #6982 from VOREStation/vplk-fix-vv-lists
Fix VV on lists
2020-04-10 23:56:38 -07:00
Mechoid
001d5b091f Merge branch 'master' of https://github.com/PolarisSS13/Polaris into ATaleofBlobsandMen
# FixConflicts:
#	polaris.dme
2020-04-09 22:55:42 -07:00
Atermonera
94178864cf Adds preference to output description_info with examine text (#6969)
* Adds preference to output description_info with examine text

* includes the defines file
2020-04-09 22:20:45 -07:00
Atermonera
ef785a5627 Increases SSjobs init priority so it's accessible earlier (#6955) 2020-04-09 22:18:35 -07:00
Atermonera
e399e21434 Merge pull request #6950 from VOREStation/pol-maphelp
Improves space edge-of-map behavior and add mapping tools
2020-04-08 23:09:56 -07:00
Aronai Sieyes
765e6cb1a0 Looking glass holodeck (#6958)
* Fix mines qdel

* Looking Glass Holodecks

* Fix console html tag

* DME update
2020-04-08 11:57:15 -07:00
Leshana
5c12bd5dea Fix links and options on VV list page.
- Fixes the dropdown options of the /list VV page to actually do anything.
- Fixes the E,C,- links next to each list entry on the /list VV page to actually do anything.
- Fixes the Refresh link on the /list VV page to actually refresh.
2020-04-07 00:32:13 -04:00