Commit Graph

818 Commits

Author SHA1 Message Date
Useroth
81b8f962b7 Mirror 66967 & 67411 (#14279)
* Implements a Demolition Modifier variable to items, affects damage vs structures and robots. (#66967)

Adds a modifier variable which can be used to increase or decrease a given items damage to structures, machinery, vehicles, and robots (including cyborgs, simple-bots, and anything else with the MOB_ROBOTIC biotype)

* Fixes attacks on mech equipment ignoring armor / melee damage, also fixes mech equipment not being disabled at 0% health, also also unit tests mech armor (#67411)

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-06-12 21:03:17 +01:00
SkyratBot
0a1f06a2d1 [MIRROR] This tail refactor turned into an organ refactor. Funny how that works. [MDB IGNORE] (#14017)
* This tail refactor turned into an organ refactor. Funny how that works.

* Firstly, fixing all the conflicts.

* Fixes all our maps (hopefully)

* Actually, this should fix pod people hair :)

* Almost everything is working, just two major things to fix

* Fixed a certain kind of external organ

* Cleaning up some more stuff

* Turned tail_cat into tail because why the fuck are they separate?

* Moved all the tails into tails.dmi because that was just dumb to have like 3 in a different file

* Adds relevant_layers to organs to help with rendering

* Makes stored_feature_id also check mutant_bodyparts

* Fixes the icon_state names of ALL the tails (pain)

* Fixes wagging, gotta refactor most mutant bodyparts later on

* I Love Added Failures

* Fixed some organs that slipped through my searches

* This could possibly fix the CI for this?

* It doesn't look like it did fix it

* This will make it pass, even if it's ugly as sin.

* Fixed Felinids having a weird ghost tail

* Fixes instances of snouts and tails not being properly colored

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-06-11 23:20:16 -04:00
SkyratBot
dcb76ba40f [MIRROR] Adds a new desk bell item, for sadists. [MDB IGNORE] (#14024)
* Adds a new desk bell item, for sadists. (#67199)

It's entirely unrealistic that there isn't a way for customers to annoy the hell out of any workers they desire with the simple press of a button.
Changelog

cl Wallem
add: Adds a desk bell, so you can let the service industry know how much you truly care about their hearing.
/cl

* Adds a new desk bell item, for sadists.

Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
2022-05-31 23:34:38 +01:00
SkyratBot
eb96261bf7 [MIRROR] New illiterate quirk [MDB IGNORE] (#13846)
* New illiterate quirk

* Update health_analyzer.dm

* Update health_analyzer.dm

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-24 16:33:47 +01:00
SkyratBot
e914af568f [MIRROR] Revert "Add stamped requisition forms now give bonus credits (#66230)" [MDB IGNORE] (#13497)
* Revert "Add stamped requisition forms now give bonus credits (#66230)" (#66851)

This reverts commit f021767645.

This reverts commit f021767 from:

    Add stamped requisition forms now give bonus credits #66230

This bug was encountered when we were testing this PR but I thought it got fixed.
Why It's Good For The Game

Cargo crates will now reappear.

* Revert "Add stamped requisition forms now give bonus credits (#66230)"

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-05-09 21:47:24 -07:00
SkyratBot
b38f603224 [MIRROR] Steal objective can now be cashed out early for less reward as soon as you place the bug on. Adds a new 'Destroy Machinery' objective [MDB IGNORE] (#13445)
* Steal objective can now be cashed out early for less reward as soon as you place the bug on. Removes smuggling objective and adds a new 'Destroy Machinery' objective (#66771)

Steal objective can now be cashed out early for less reward, but completing the time in its entirety will give extra TC and reputation.
The smuggling objective has been removed and replaced with the 'Destroy Machinery' objective, which focuses on disrupting workflow by destroying stuff like protolathes, telecomms and research servers.
Made the easier steal objectives worth slightly less TC

* Steal objective can now be cashed out early for less reward as soon as you place the bug on. Removes smuggling objective and adds a new 'Destroy Machinery' objective

* eeeee

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-05-08 19:13:04 -07:00
SkyratBot
2f80179873 [MIRROR] Add stamped requisition forms now give bonus credits [MDB IGNORE] (#13446)
* Add stamped requisition forms now give bonus credits

* Update packs.dm

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 01:26:00 +01:00
Useroth
cca7f8ee4c Some missed mirrors (#13415)
* Refactors firestacks into status effects (#66573)

This PR refactors firestacks into two status effects: fire_stacks, which behave like normal firestacks you have right now, and wet_stacks, which are your negative fire stacks right now. This allows for custom fires with custom behaviors and icons to be made.

Some fire related is moved away from species(what the fuck was it even doing there) into these as well.
Oh and I fixed the bug where monkeys on fire had a human fire overlay, why wasn't this fixed already, it's like ancient.

Also changed some related proc names to be snake_case like everything should be.

This allows for custom fire types with custom behaviours, like freezing freon fire or radioactive tritium fire. Removing vars from living and moving them to status effects for modularity is also good.
Nothing to argue about since there's nothing player-facing

* Hud Image Culling By Z Level: Theft edition (#65189)

* makes hud images only apply by z level

* makes some of the atom_hud procs have better names

* fixes warning with the hud_user list and adds better documentation

* better docs for hud_images

* removes TODOs

* docs for hud_list

* adds support for linked z levels so mobs can see lower ones

* fixes merge conflict and shittily makes only shocked airlocks get added

* adds support for setting images in the hud as active and inactive

* gets rid of unatomic spatial grid change

* maybe i should actually try COMPILING my changes

* fixes merge skew and makes it compile again

* fixes huds refusing to remove from users who changed z level

* improves z level and registration logic

* fixes antag huds not appearing

* Fixes antag huds not properly setting. We now use hud_list in init, so it needs to be set before the new call, not after. Not sure why the use of appearance key was split like this, but none else knows either so none can stop me

* Ensures that hiding a basic appearance also hides the atom's active list too

* Fixes antag huds going poof

Ensures that remove_atom_from_hud will return false if the passed atom
isn't managed by it

This fixes antag huds disappearing randomly, since they assumed that if
the parent call of remove_atom_from_hud returned true, we should delete
ourselves. This is a safe assumption for them to make, since they should
only ever have one atom.

Does kinda bork if we call remove_atom_from_hud in a way that is unsure
if the passed atom is actually in that list. We were forced into doing
this by how atom huds use the qdeleting signal.

* makes basic alternate_appearance's only update themselves when setting their hud image to active and makes them not add themselves to the global huds_by_category list

* fixes mistake with hud_users list being set non associatively (bad)

* as anything in bot path loops

* Fixes merge skew problems

* Makes bot paths non global

This way they can show themselves to only the bot that "owns" them, ya
feel me?

* Fixes huds not showing up sometimes, cleans up some code

Post Kapu's limb refactor, we were calling prepare_huds twice in a human
init call chain. What was happening was this:

call prepare_huds() // Human
I gained a new hud image
I set active hud icons to mirror it
call prepare_huds() // Living
I overwrote the new hud image
I attempted to set active hud icons, which failed because it assumes
this can never happen

*cries*

* Renames add_hud_to_atom to show_to

My hope is this will make understanding hud code a bit easier, by tying
the behavior to a "verb" more closely. Also renamed a few vars

* remove_hud_from_mob -> hide_from

* Nitpicks a few comments

* Whoops/fuck/shit/damn it all/hhhhhhhhhhhh

* Moves check down, improves stack trace a bit

Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>

* small touch-up

* this should do it

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>
2022-05-08 03:59:40 +01:00
SkyratBot
df34160f53 [MIRROR] Segregate blindness code out of reading [MDB IGNORE] (#13241)
* Segregate blindness code out of reading check (#66383)

* Segregate blindness code out of reading

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-05-01 00:04:17 +01:00
Deek-Za
eaaad41469 plug it back in (#13208) 2022-04-30 20:16:37 +01:00
SkyratBot
f0d9592385 [MIRROR] Pens require gravity to write [MDB IGNORE] (#13184)
* Pens require gravity to write (#66310)

* TO BE CONTINUED

* Add zero gravity writing restrictions for pens

* Fix gravity check for writing

* Fix writing instrument var declaration

* Fix pen and crayon can_write proc

* Fix lenting issues with code docs

* Remove deprecated code

* Change code comment

* Add literacy checks and writing checks to items

* Remove deprecated code

* Remove deprecated code

* Remove deprecated code

* Remove duplicate code

* Fix grammar for space pens.

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>

* Trigger Build

* Optimize proc order for pen gravity

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Pens require gravity to write

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
2022-04-27 21:03:45 -07:00
SkyratBot
a2aac9dd31 [MIRROR] updateDialog and updateUsrDialog cleanup [MDB IGNORE] (#13118)
* updateDialog and updateUsrDialog cleanup (#66494)

This PR focuses on cleaning up two procs - updateDialog and updateUsrDialog. Both of which are/were used updating for old HTML UIs. As these UIs got converted to TGUI over time, these old code fragments started to pile up, often due to coders simply overlooking them. This resulted in them being dead code doing nothing when called, or randomly opening up windows when they shouldnt, for example when a vending machine is screwdrivered and UI cannot even be interacted with.

However, there were also some desirable uses - like opening a window when an ID is inserted into civilian bounty console, which you are then gonna obviously use to pick a bounty. I kept these uses and replaced them with proper ui_interact, so they now always work, instead of them working only when you had them set as a currently used machine on mob. The list of these changes is:

    Civilian Bounty Console will now always bring up its UI when you insert the ID.
    Air Alarm and APC will now always bring up its UI when you unlock their controls.
    Portable Chem Mixer, Chem Dispenser, Chem Heater, Improvised Chem Heater, Chem Spectometer and Chem Master will now always bring up their UI when you add or replace beaker to them.

Two old /Topic calls were cleaned up as well, as they were no longer relevant.

Removes dead or outdated code, adds sensible UX when working with certain UIs.

* updateDialog and updateUsrDialog cleanup

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2022-04-26 15:26:56 +01:00
SkyratBot
729132a4e0 [MIRROR] Rebalanced Power consumption, increase for machines [MDB IGNORE] (#12930)
* Rebalanced Power consumption, increase for machines

* wew

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-04-20 17:07:14 +01:00
Zonespace
1118b4175a Adds a bunch of PRs that the Mirror bot missed (#12535)
* aaAAA

* fix-maps
2022-04-06 17:50:47 +01:00
SkyratBot
54d1fae1fa [MIRROR] Changes the values of the pen colour variable from color name to hexadecimal. [MDB IGNORE] (#12439)
* Changes the values of the pen colour variable from color name to hexadecimal (#65553)

About The Pull Request

See the title. Hexadecimal values are better than color names for programming since they can be sanitized and are more easily converted to RGB(A) or HSV. Color names aren't really meant to be used in some functions and methods about colors.

TL;DR: color names don't work with the Color common package in the TGUI folder.
Why It's Good For The Game

This will remove the need of a hacky bandaid from /obj/item/canvas/proc/get_paint_tool_color that only covers about half the pen colors anyway.
Changelog

cl
fix: Fixed certain pens breaking painting on a canvas because of their peculiar colors.
/cl

* Changes the values of the pen colour variable from color name to hexadecimal.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2022-04-01 01:53:00 +01:00
Gandalf
35f3fa11c8 Upstream merge 65326 (#12460)
* [MDB IGNORE] TGUI library, plus polish

* Update _computer.dm

* Update manuals.dm

* Update medguns.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-04-01 01:20:27 +01:00
SkyratBot
1ef64e81ba [MIRROR] Changes how fingerprints are applied to objects through gloves. [MDB IGNORE] (#12340)
* Changes how fingerprints are applied to objects through gloves. (#65674)

* Changes how fingerprints are applied to objects through gloves.

* Fixed the issues from transfer_prints

Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-03-28 17:47:03 +00:00
SkyratBot
e1def9fcd7 [MIRROR] Removes a forgotten devil proc in photocopier code [MDB IGNORE] (#12073)
* Removes a forgotten devil proc in photocopier code (#65432)

Someone forgot this here (and even left it in when tgui'ing the
photocopier) So now i'm going to kill it

* Removes a forgotten devil proc in photocopier code

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-03-14 13:00:39 +00:00
SkyratBot
17e4f6ad76 [MIRROR] Converts SFX keys into DEFINES [MDB IGNORE] (#11990)
* Converts SFX keys into DEFINES

* fixes and updates

Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-03-11 16:43:39 -07:00
SkyratBot
80d6870000 [MIRROR] Tool act superpack 2 [MDB IGNORE] (#11947)
* Tool act superpack 2 (#64428)

About The Pull Request

Continuation of #64375, extracting tool behavior from attackby() and moving it into discrete _act procs. This is about as many files as I had in the last version, as I still want this to be reviewable.

As before, I've tested everything in game and it works as it previously did.
Why It's Good For The Game

The more code moved out of attackby, the more modular things become.
Changelog

cl
refactor: Moves more tool behavior out of attackby().
/cl

* Tool act superpack 2

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
2022-03-07 22:11:04 -07:00
SkyratBot
4f375349a4 Tgui input hotfix (#11333)
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-02-07 04:50:08 +00:00
SkyratBot
b45221cfa1 [MIRROR] Tgui input refresh [MDB IGNORE] (#11290)
* Tgui input refresh

* Update code/modules/mob/dead/observer/observer.dm

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-02-06 23:08:19 -05:00
SkyratBot
da527e22cd [MIRROR] Refactor incapacitated optional arguments [MDB IGNORE] (#11167)
* Refactor incapacitated optional arguments

* Refactor incapacitated optional arguments

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-31 11:29:36 +00:00
SkyratBot
486a18b90b [MIRROR] The Lizard's Gas (Station) Update [MDB IGNORE] (#11038)
* The Lizard's Gas (Station) Update (#64304)

* The Lizard's Gas (Station) Update

Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
2022-01-27 02:24:31 +00:00
GoldenAlpharex
1f02364165 [BOUNTY] For Christmas, a new Cyborg model! Cargo Cyborgs! (#10232)
* It begins.

* I should've made more commits

* Adding a new animation!

* This was a good day

* Adding the last missing items

Aka, the hydraulic clamps and the rapid mail delivery device

* It works and I couldn't be happier

At long last...

* I lied, but now it works

* Final little tweak to an icon

* Removes some unused icon_states

* Okay now everything's actually fixed and finished, minus balance changes.

* Whoops

* Fixed the shapeshifter borg and uses the RIGHT WIDEBORG SPRITES HOW DID I MISS THAT???

* Reverting the non-modular clipboard change because I actually did it upstream

* Revert "Reverting the non-modular clipboard change because I actually did it upstream"

This reverts commit bb475498d6a67410792a57e1d91ef5d2d25067dd.

* The clamps can place things on tables + adding chameleon stamp to emag modules

* Conveyors too, actually!

* I'm dumb

* Fixes to wideborgs

* Fixing the animations (thanks TG)

* No free secborgs :)

* Fixes animations and open cover sprites!

* Updates to the zoomba and MissM sprites and bounty cubes are now small, so they fit in both clamps (not even wrapped!)

* Yes I can code

* Fixes the zoomba sprites and transparency for hardlight paper planes!

* More fixes to the Zoomba icon, and to the hardlight paper planes (now it's actually transparent)

* Adds the flash because I forgor
2022-01-26 12:59:25 -05:00
SkyratBot
83c8024cc4 [MIRROR] tgui filing cabinets [MDB IGNORE] (#10944)
* tgui filing cabinets (#64065)

Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>

* tgui filing cabinets

Co-authored-by: mozi_h <die-123-321@web.de>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
2022-01-24 13:28:38 -05:00
SkyratBot
4a31234d58 [MIRROR] Fixes paper rename cancel not working [MDB IGNORE] (#10852)
* paper rename cancel (#64191)

* Fixes paper rename cancel not working

Co-authored-by: Ron <flavivs.clavdivs.jvlianvs@gmail.com>
2022-01-21 00:55:08 +00:00
SkyratBot
58df34c8c8 [MIRROR] Fixes stamps being randomly applied to paper even when not blind [MDB IGNORE] (#10679)
* Fixes stamps being randomly applied to paper even when not blind (#64041)

ui_interact doesn't actually return true or false, and for some reason I
was under the impression that it was.
If you really think about it this is Shiz's fault for merging it after
20 minutes and NOT because i didn't properly test it.

* Fixes stamps being randomly applied to paper even when not blind

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-01-13 18:06:29 -05:00
SkyratBot
65b8082678 [MIRROR] Harddel Fix Pack #42 + Better Live Reftracking Support [MDB IGNORE] (#10639)
* Harddel Fix Pack #42 + Better Live Reftracking Support

* awooga

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 21:57:49 +00:00
SkyratBot
c33061765b [MIRROR] [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety [MDB IGNORE] (#10620)
* [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety

* updates and fixes

* ffff

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 03:25:38 +00:00
SkyratBot
dc05a1f171 [MIRROR] You can now stamp papers while blind [MDB IGNORE] (#10572)
* You can now stamp papers while blind (#63983)

* fix

* documentation

* missing message

* better msg

* You can now stamp papers while blind

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-01-10 18:20:40 +00:00
SkyratBot
a0aa7320ed [MIRROR] Pens can customize descriptions again [MDB IGNORE] (#10465)
* Pen description fix (#63799)

* Pens can customize descriptions again

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-01-06 05:57:12 -05:00
SkyratBot
0bed85ed99 [MIRROR] Fixes runtime in paper.dm [MDB IGNORE] (#10464)
* Fixes paper runtime (#63830)

* Fixes runtime in paper.dm

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2022-01-06 05:56:48 -05:00
SkyratBot
18e2cc85d1 [MIRROR] modsuit works with speed potions + ai movement fix + file sortage [MDB IGNORE] (#10341)
* modsuit works with speed potions + ai movement fix + file sortage (#63670)

modsuit examining now tells you about wire panels
fixes being able to remove stuff with the dna lock
fixes 63650
fixes 63633
sorts module files

* modsuit works with speed potions + ai movement fix + file sortage

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2021-12-29 17:20:10 -05:00
SkyratBot
32bc1eea41 [MIRROR] More standard tgui input conversions [MDB IGNORE] (#10238)
* More standard tgui input conversions

* More standard tgui input conversions

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2021-12-24 21:33:32 +00:00
SkyratBot
624c7d6d55 [MIRROR] TGUI input box conversions 1 [MDB IGNORE] (#10020)
* TGUI input box conversions 1

* Fixing conflicts!

* Whoops

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-12-13 10:41:44 +00:00
SkyratBot
d604846209 [MIRROR] TGUI list input conversions [MDB IGNORE] (#9996)
* TGUI list input conversions (#63315)

Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Sealed101 <75863639+Sealed101@ users.noreply.github.com>

* TGUI list input conversions

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Sealed101 <75863639+Sealed101@ users.noreply.github.com>
2021-12-10 18:10:25 +00:00
SkyratBot
2c0b6d6b62 [MIRROR] Improve the bureaucracy system [MDB IGNORE] (#9546)
* Improve the bureaucracy system (#61323)

Adds a blank printing system.

Virtually every Space Station 13 server has its own system of bureaucracy. As a rule, it is some kind of Wiki page with markup tags and a few sample forms. And that's usually the end of it. With stamps and a filing system in place, people rarely use them. This PR takes it upon itself to remedy this situation by introducing form standards into the game itself and adding the ability to print them.

Co-authored-by: twilightwanderer <twilightwanderer@ users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>

* Improve the bureaucracy system

Co-authored-by: twilightwanderer <88540658+twilightwanderer@users.noreply.github.com>
Co-authored-by: twilightwanderer <twilightwanderer@ users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
2021-11-18 18:39:34 -05:00
SkyratBot
71b5f92eda [MIRROR] [MDB IGNORE] dir sanity, primarily on WALLITEMs [MDB IGNORE] (#9315)
* [MDB IGNORE] dir sanity, primarily on WALLITEMs (#62601)

About The Pull Request

Wall items mostly use the direction from the floor to the wall in the named mapping helper. Wall items mostly use the direction from the wall to the floor for the internal dir variable.

This leads to a headache when it comes to working out what conflicts with what, and what needs placing where.

Wall frames provided a member, inverse, which specified whether or not to invert the direction of the item when looking for conflicts. It was also used to specify whether to look for conflicts outside of the wall (cameras and lights appear external to the wall) or inside the wall (most wall items). This flag was set for Intercoms, APCs, and Lights. Since APCs and Lights expect a floor-to-wall direction, and Intercoms expect a wall-to-floor direction, this means that APCs and Lights were getting the correct direction, and Intercoms were getting the wrong direction.

Some implications of this setup were:

    You could build an APC on top of another wall item, provided there was nothing external attached to the wall and the area didn't have an APC.
    You could stack Intercoms indefinitely on top of the same wall, provided you weren't in a one-tile wide corridor with something on the opposite wall.

Or both! Here's twenty Intercoms placed on the wall, and a freshly placed APC frame after placing all Intercoms and deconstructing the old APC:

endless-stack-of-intercoms

Not everything used this inverse variable to adjust to the correct direction. For example, /obj/machinery/defibrillator_mount just used a negative pixel_offset to be visually placed in the correct direction, even though the internal direction was wrong, and never set! This also let you stack an indefinite number of defib mounts on the same wall, provided it wasn't a northern wall... except you could do this to northern walls too, since defibs weren't considered a wall item for the purposes of checking collisions at all!

Ultimately, every constructable interior wall item either used this inverse variable to adjust to the correct placement, set a negative pixel_offset variable to have its offset adjusted to the correct placement, or overrode New or Initialize to run its own checks and assignment to pixel_x and pixel_y!
Inventory: Table of various paths, related paths, and the adjustments they used

Unfortunately, untangling /obj/structure/sign is going to be another major headache, and this has already exploded in scope enough already, so we can't get rid of the get_turf_pixel call just yet. This also doesn't fix problems with the special 2x1 /obj/structure/sign/barsign.

Some non-wall items have been made to use the new MAPPING_DIRECTIONAL_HELPERS as part of the directional cleanup.

tl;dr: All wall mounted items and some directional objects now use the same direction that they were labelled as. More consistent directional types everywhere.
Why It's Good For The Game

fml
Changelog

cl
refactor: Wall mounted and directional objects have undergone major internal simplification. Please report anything unusual!
fix: You can no longer stack an indefinite amount of Intercoms on the same wall.
fix: Defibrillator Mounts, Bluespace Gas Vendors, Turret Controlers, and Ticket Machines are now considered wall items.
fix: Wall mounted items on top of the wall now consistently check against other items on top of the wall, and items coming out of the wall now consistently check against other items coming out of the wall.
fix: The various directional pixel offsets within an APC, Fire Extinguisher Cabinet, Intercom, or Newscaster have been made consistent with each other.
fix: The pixel offsets of Intercoms, Fire Alarms, Fire Extinguisher Cabinets, Flashers, and Newscasters have been made consistent between roundstart and constructed instances.
fix: Constructed Turret Controls will no longer oddly overhang the wall they were placed on.
qol: Defibrillator mounts now better indicate which side of the wall they are on.
fix: Some instances where there were multiple identical lights on the same tile have been fixed to only have one.
/cl

* [MDB IGNORE] dir sanity, primarily on WALLITEMs

* apc directionals

* bluespace vendor fix

* defib fix

Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2021-11-10 17:17:26 -05:00
SkyratBot
b7b6bd501f [MIRROR] removes double spaces AFTER symbols [MDB IGNORE] (#9226)
* removes double spaces AFTER symbols

* Fixing conflicts

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-11-05 18:15:12 -04:00
SkyratBot
404a603dc2 [MIRROR] runtime fix for borgs cryoing with upgrade modules + no more mmi laying around after they cryo, and various other runtime fixes [MDB IGNORE] (#8975)
* runtime fix for borgs cryoing with upgrade modules + no more mmi laying around after they cryo, and various other runtime fixes

* Fixing conflicts

Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-10-23 00:25:25 +01:00
SkyratBot
01a41bef0d [MIRROR] Printer Circuit Component [MDB IGNORE] (#8825)
* Printer Circuit Component (#62012)

I'm adding a circuit component that can print text string on a paper object in a variety of colors and font typefaces (currently only web-safe ones are available, maybe i'll add some fancy ones in the future but they'd need to be imported either through @ import of @ font-face in a separate CSS not imported by every tgui UI).
It's important to note that because the UI sanitizes new text inputed by users and not what's already written on the paper (so the pen_color and pen_font don't be purged in the process), we can't safely have these strings "printed" into the info variable directly, because of that these values will be stored in two new list variables, one for the text and one for font color, face and the signature. When the paper sheet UI is opened, these will be sanitized and then parsed into the text, so the next time the paper is edited we can clear these two lists.
Obviously better than a hacky byond proc - parsemarkdown() is outdated af -, albeit a bit messy... like the rest of paper code.

Requires #62033.

* Printer Circuit Component

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-10-14 21:20:22 +01:00
SkyratBot
46c5f53589 [MIRROR] Fixes two issues with paper code. [MDB IGNORE] (#8746)
* Fixes two issues with paper code. (#62016)

* Fixes two issues with paper code.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-10-11 16:16:30 +01:00
SkyratBot
cc93b11d23 [MIRROR] _HELPERS/unsorted.dm has been sorted [MDB IGNORE] (#8627)
* _HELPERS/unsorted.dm has been sorted

* Feexing conflicts

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-10-06 22:07:01 +01:00
SkyratBot
245b712f10 [MIRROR] Changes paper bins to be easier to use (#8410)
* Changes paper bins to be easier to use (#61429)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>

* Changes paper bins to be easier to use

Co-authored-by: Superlagg <sprambersonson@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>
2021-09-26 14:28:19 +01:00
SkyratBot
c23bd1cb8c [MIRROR] every case of initialize that should have mapload, does (#8374)
* every case of initialize that should have mapload, does

* E

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-24 23:07:53 +01:00
SkyratBot
90dd69c10b [MIRROR] Updates Greyscale Colors of PDAs and Gives QM a Survival Pen since I was in there anyway. (#8329)
* Updates Greyscale Colors of PDAs and Gives QM a Survival Pen since I was in there anyway. (#61261)

About The Pull Request

Hallo! This is part two of my PDA update, where I take the old hokey colors that were just left in to not rock the boat, and changes them to better fit the current aesthetic of the game. It also makes the captain's PDA have some more fanfare, without even adding a sprite, I just did a funny trick with the layers.

In addition to that, I have updated the sprite for the survival pen, and made it so QMs start with one in their PDA.

bespoke final
peen
Why It's Good For The Game

The old PDA colors on the new PDA sprites were odd in a few places, this fixes that. I spent about a week or so going to different players of the different jobs and departments getting their input on what colors they'd like their PDAs to be, and now the best looking options that make sense, will be added in! Woo!

Also I just think the QM having a emergency shovel is kind of cool, and its a really neat item that deserves just a little more love, so why not?
Changelog

cl
expansion: Updated old GAGS colors for the PDAs based on user feedback
imageadd: Updated appearance of the Survival Pen
expansion: The Quartermaster now starts with a Survival Pen because its flavorful. Survival Pen has also been updated to use the fancy font, since, its fancy.
/cl

* Updates Greyscale Colors of PDAs and Gives QM a Survival Pen since I was in there anyway.

Co-authored-by: EricZilla <81941674+EricZilla@users.noreply.github.com>
2021-09-23 01:47:16 +01:00
SkyratBot
26f934c258 [MIRROR] Baton refactor. item/melee/baton is now a subtype of item/melee/baton (formerly classic_baton) (#8076)
* Baton refactor. item/melee/baton is now a subtype of item/melee/baton (formerly classic_baton)

* EEEE

* E

* follow the fucking guidelines

* E

* Update CentCom_skyrat.dmm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-13 23:27:01 +01:00
SkyratBot
04302a770a [MIRROR] moves obj_integrity and associated procs to the atom level (#8016)
* moves obj_integrity and associated procs to the atom level

* Feex good

* Whoops forgot the maps

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-10 16:47:01 +01:00
SkyratBot
46154a8fae [MIRROR] Pen & Paper Bin minor resprite (#7944)
* Pen & Paper Bin minor resprite (#61159)

sprites for thing that didn't have one, and they look better i think probably

* Pen & Paper Bin minor resprite

Co-authored-by: Kokonut <38844529+maxymax13@users.noreply.github.com>
2021-09-03 03:57:18 +01:00