Commit Graph

83 Commits

Author SHA1 Message Date
spookerton
3abdbbaa1c replaces atom.initialized with ATOM_INITIALIZED
refactors atom/var/flags to atom_flags and area_flags
moves NOBLOODY, NOBLUDGEON, and PHORONGUARD to item_flags instead of atom_flags
corrects various misapplied flags
2022-10-18 09:36:36 +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
Spookerton
eafc8fabb6 Merge pull request #8504 from Atermonera/c420
C4 still explodes if the turf its placed upon changes
2022-04-09 11:02:59 +01:00
atermonera
4368e99055 fiddlybits 2022-04-04 23:02:21 -08:00
atermonera
56a8fd834e C4 still explodes if the turf its placed upon changes 2022-04-02 19:13:04 -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
Mechoid
bd9f63a97a Gadgets & Gizmos (#7786)
* Adds various objects for explorers / antagonists.

* T A G S

* Mend
2021-01-14 21:53:39 -09:00
ShadowLarkens
dad9020f9a TGUI Engineering... and a bunch of other random things 2020-10-21 13:02:19 -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
Aronai Sieyes
715de43f35 VChat: Redone chat output done in Vue.js (#6761)
* Better notifications

* Add buttons to del/move tabs in edit mode

* Add a <span> to emotes

* Fix duplicate IDs in VChat and add more logging

* VChat: Redone chat output in Vue.js

* Ported tg asset cache

* VChat DME Update

* Replace \image macro with bicon()

* NanoUI Subsystem Fixes

Don't do this, the asset subsystem does this for you

* Allow narrate/globalnarrate shenanigans

Allows HTML if your entire thing is HTML

* Disable bicon() icon object cache, and create text tag cache

* Ore Scanner is written incorrectly

Only revealed by vchat

* Fixes 2 VChat bugs

* Underline links in VChat

* Fix LOOC color

* VChat Improvements

Hopefully, anyway.
- Arbitrary font size setting
- Line height setting
- Multiple crush settings
- Rewrote how tabs work hopefully for performance
- Hidden messages are actually put elsewhere
- Attempts to correct chat backlog restore on rejoin

* Surgery steps to use <span>

* Some VChat Tweaks

- Chat remains between client reconnects if your client didn't close (so things like using the reconnect button, or autoreconnects at round end when that feels like working)
- The client doesn't send pings to the server, the server sends pings to the client. This fixes AFK measurements for AFK kick purposes.
- Turn latency indicator into a green/red indicator to show if you're connected, and when clicked will perform a one-time ping (and block doing it again for 10 seconds). It will display '?ms' if it never got a reply, or '999ms' if it did, but it was over 1s.

* Include date in filename for VChat log save

* Merge pull request #6767 from Cyantime/patch-2

Change chat export naming scheme

* Adds VChat tab saving

Saves every time you enter/exit edit mode. Persists between rounds, VChat reloads via verb, etc.

* Fix chat exporting when someone has used unicode

Only affects clients still using 512

* Use CLIENT_FROM_VAR for ease of code reading

* Update code/modules/client/asset_cache.dm

Co-Authored-By: Novacat <35587478+Novacat@users.noreply.github.com>

* Fix runtime when client disconnects before vchat loads

* Fix polaris version of command reports

* Fix LOOC color in oldchat

* Put some styles in various adminpm messages

* Round info and advanced who spans

* Fix missing tag-end

* Maybe fix images for linux and statpanel but also doom everyone

Co-authored-by: ShadowLarkens <ShadowLarkens@users.noreply.github.com>
Co-authored-by: Novacat <35587478+Novacat@users.noreply.github.com>
2020-03-27 14:07:28 -07:00
Leshana
3c5d543116 Optimize wire hacking QoL (#6835)
Keeps the same "bold if changed" functionality added in recent QoL improvements, but replaces the one-datum-instance per hint per device with a two number vars per device.
2020-03-16 02:27:29 -07:00
Neerti
09f9e0b3d7 QoL: Hacking (#6810)
* Makes hacking window consider all hands instead of just the active one.

* Makes bottom indicators in hacking window go bold if they changed since the last refresh.

* Changelog
2020-03-11 17:36:26 -07:00
Leshana
078176352f Fix Runtime in wires.dm,120: Cannot execute null.is wirecutter(). 2020-02-23 23:55:02 -05:00
Arokha Sieyes
5b15917d32 to_chat replacing stream operator 2020-02-17 13:14:08 -05:00
Unknown
d4c0dd5d69 Merge remote-tracking branch 'PolarisSS13/master' into spriteadd 2019-04-22 20:20:56 -04:00
Heroman
62194c80ba Fixed the vendor machines zapping twice 2019-04-13 13:21:59 +10:00
Unknown
eb62911b9d Updates Part Seven 2019-04-10 22:33:48 -04: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
de65c3c643 NanoUI now processes again 2018-08-25 21:13:16 -07:00
Anewbe
729ce71aa0 Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format 2018-08-02 21:45:15 -05:00
Mechoid
e515725446 Defines 2018-05-22 20:59:26 -07:00
Mechoid
4a7ea5086a Seed Vendors are hackable. 2018-05-18 20:57:55 -07:00
mistyLuminescence
fa6ff94474 What's Yours Is Mined (#4556)
* Boom!

* Wires!
2018-02-09 18:56:46 -08:00
Leshana
db0ba60f64 Implements the Tesla engine and supporting features (#4539)
* Adds "typecache" utility functions. A fast way to filter lists by type.

Ported from TG

* Ports the "orbit" feature and subsystem from TG

* Adds a feature that allows mobs and objs to "orbit" around some atom.  They literally are moved around in circles.  See the `orbit` proc in orbit.dm.
* Adds a subsystem that processes the actual movement of orbiting items.

* Adds utility methods for common machinery behavior.

* Adds default_unfasten_wrench which handles the standard anchor/unanchor behavior of wrenches being used on machines.  Together with the other default_x_tool machinery procs we can eliminate having that code duplicated in dozens of places!
* Adds is_wire_tool proc to easily detect when a machine is hit with a tool that should open its wires UI (if it has one).

Based on ideas from Paradise, with improvements for us.

* Implements the Tesla Engine

Ported from a mixture of TG and Paradise code and assets: Edison's Bane

Includes the tesla energy ball itself, the generator that makes it, tesla coils, grounding rods, the circuits and frames to build them.

* Switch dusting to zapping on impact and spin better

Ported /tg SpinAnimation which supports more than triangles.
2018-01-19 14:56:08 -06:00
Neerti
acb208dd3f Works on New Blob 2017-11-29 22:35:01 -05:00
Neerti
4256ec902a Changes path of alien tools, adds hacking sounds, and makes the fireaxe cabinet use toolspeed. 2017-08-04 08:35:16 -04:00
Leshana
e48b548f2b More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-05 23:01:41 -04:00
Leshana
5c3172389e Make jukebox controllable by its wires
Added four extra hacking wires to the jukebox for Play, Stop, Next, and Prev.  The main purpose is to allow attaching of singallers for remote controlling the jukebox.
2017-03-20 19:01:33 -04:00
Spades
85e3f0e40e Merge remote-tracking branch 'refs/remotes/PolarisSS13/master' into jukebox-v2
# Conflicts:
#	polaris.dme
2016-10-06 23:54:45 -04:00
Neerti
337ef499a1 Cleans Up WIP Event System + New Grid Check For It
Separates the 'count and assess everything' stuff to it's own datum, called the metric datum, which I plan to add on to in the future to make counting and metrics easier.
Makes decision process a bit more weight-based, will probably continue tweaking later.
Makes the admin debug UI have links to change settings easily.
Adds replacement for grid check event, which works similar to the old one, but is now based on a physical machine in the game world, that Engineering can hack to make the event end faster, if so desired.  Note that the machine is not mapped in, and won't be mapped in until the event system is ready for launch.
Adds grid_check variables to SMESes and APCs to make them stop doing work without draining the battery.
Grid checks in the new system are caused by a "power spike" which originates from the engine and will cause bad things, should no grid checker machine be connected to the power-net.  These power spikes occur when the GM decides that a grid check is a good event to have.
The grid checker can be built and deconstructed using the standard machine construction methods.
2016-10-05 21:40:07 -04:00
Spades
efc9011407 Merge remote-tracking branch 'refs/remotes/origin/master' into jukebox-v2 2016-10-04 16:04:09 -04:00
Spades
5cf098d980 Adds Jukebox hacking!
Ported from Vorestation.
2016-08-23 14:48:15 -04:00
SinTwo
045c393683 Revert "Revert "Frame Cleanup""
This reverts commit 82722ba42f.
2016-08-13 19:55:57 -04:00
SinTwo
b356f5cf21 Construction Update 2016-03-25 16:02:36 -04:00
Datraen
1b40fb3bfe Traitor Borg lockdown, blowing-up fixed; can now self-hack. 2016-03-12 17:03:28 -05:00
Kelenius
cf244e07d6 Mulebots are now mobs
obj/machinery/bot removed completely
Mulebot hacking removed, you can still disable their safety.
Mulebot PAD interface redone.
2016-02-02 17:51:50 +03:00
Kelenius
138850a37b Fixes for vendors 2016-01-18 17:40:20 +03:00
Hubblenaut
a046ad73ca Fixes backup power test light 2015-12-10 18:07:35 +01:00
Neerti
e379810a07 Kills infinite loop, skins it, then makes a carpet out of it to decorate my imaginary room full of trophies of other bugs I've slain.
The infinite loop occured due to the wire datum calling interact() on it's holder, which made it call Interact() on it's wire datum, and so on.
2015-12-07 05:23:38 -05: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
Hubblenaut
80cc83dbf8 Fixes backup power test light 2015-10-09 17:44:30 +02:00
PsiOmegaDelta
9dd1a54191 Destroy tweaks.
Ports Destroy() proc tweaks from Paradise and /tg/, sourced from https://github.com/ParadiseSS13/Paradise/pull/2091.
Adds returns in Destroy()s, to prepare for future return values.
2015-09-25 10:44:23 +02:00
PsiOmegaDelta
15f54c595b Synths now relies on access permissions as well.
Ensures station bound synthetics will not be able to utilize Syndicate/Heist equipment/vessels, as well as the opposite for potential syndicate synths.
2015-08-17 09:12:40 +02:00
Atlantis
97f0470504 Merge branch 'dev-freeze' of https://github.com/Baystation12/Baystation12 into newmalf-merge 2015-05-22 21:01:26 +02:00
Chinsky
33e8791fe9 Merge pull request #9264 from Hubblenaut/airlocks
Fixes airlock wires
2015-05-18 18:21:05 +03:00
Hubblenaut
86426d0424 Fixes airlock wires and adds backup power light 2015-05-18 16:55:12 +02:00
PsiOmega
bc0e87ceaa Destroying a camera now also cuts wires randomly. 2015-05-16 11:04:32 +02:00