Commit Graph

2959 Commits

Author SHA1 Message Date
Paxilmaniac
e0d6a8985f Fixes some burst fire related oddities (#20072)
* brug

* who is this burst fire guy

* fixes the pistols
2023-03-27 04:07:16 +01:00
SkyratBot
79bb4facfc [MIRROR] Removes networks from the game [MDB IGNORE] (#20083)
* Removes networks from the game (#74142)

## About The Pull Request

This is a continuation of
https://github.com/tgstation/tgstation/pull/74085 - I announced in the
comments there that this would be my next PR, and this is it.

Removes SSnetwork, ``/datum/ntnet``,
``/datum/component/ntnet_interface``, ``var/network_root_id``, the
network unit test, and a lot of other things related to networks.

- NTNet circuits now check for an Ntnet relay, and uses signals to
operate.
- Logs in Wirecarp is now only for PDA and Ntnet Relay things, so you
can no longer see what ruins exist using it (why should Wirecarp know
that Oldstation spawned? The flavor is that they dont know its there).
- Removed it from MULEbots entirely, I don't think it even did anything
for them? Botkeeper seems to work without it, so it's possibly there
from pre-tgui PDAs.
- Moves assigning random names to a base proc instead of being tied to
network, this is things like random-naming scrubbers/vents. The behavior
hasn't changed at all.
- Makes Ntos work for consoles when relays are down, as the comments
said they're supposed to (because they're wired). I think this was an
accidental change on my part, so this is a revert of that.

## Why It's Good For The Game

Ntnet is ancient code that hasn't given us much that we can't do with
already existing alternatives, we've been slowly moving away from it for
init times, and though a large portion of that was limited to airlocks,
I still don't think this is a system worth keeping around.
It's way too complex to expect feature coders to do anything with it,
and too old with better alternatives for anyone to want to improve any
of it.

## Changelog

🆑
fix: Computers are now properly connected to Ethernet, and can use Ntos
when Relays are down.
refactor: Removes Ntnet and Ntnet interfaces, which was only used by
Ntnet circuits (which now directly checks for a Relay to work) and
MULEbots, which did nothing with it.
balance: Wirecarp no longer tells you what ruins spawned in a round,
instead it's limited to PDA logs, and tells you the source too. This
means the RD can catch someone running illegal programs if they don't
make any attempt at hiding it.
qol: Wirecarp logs is now set to save 300 at once, instead of 100 and
being increased to 300 by the RD during the round. This is pretty
insignificant, since there's no reason to NOT want as many logs as
possible.
/🆑

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>

* Removes networks from the game

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
2023-03-27 03:28:18 +01:00
SkyratBot
3b750f4ea7 [MIRROR] Fixes a bunch of ammo sprite fuckups [MDB IGNORE] (#19878)
* Fixes a bunch of ammo sprite fuckups

* Update pistol.dm

---------

Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 03:26:39 +01:00
SkyratBot
2728bbe9a9 [MIRROR] Polishes some side sources of light and color [MDB IGNORE] (#19860)
* Polishes some side sources of light and color (#73936)

## About The Pull Request

[Circuit Floor
Polish](6b0ee98132)

Circuit floors glow! but it looks like crap cause it's dim and the
colors are washed out.
I'd like to make them look nicer. Let's make them more intense and
longer range, and change the colors over to more vivid replacements.

While I'm here, these should really use power and turn on and off based
off that.
Simple enough to do, just need to hook into a signal (and add a setter
for turf area, which cleans up other code too).

[Desklamp
Upgrade](8506b13b9c)

Desklamps look bad. They're fullwhite, have a way too large
range.Crummy.
Let's lower their lightrange from 5 to 3.5, and make the ornate ones
warmer, and the more utilitarian ones cooler. The clown one can be
yellow because it's funny

I'm renaming a color define here so I'm touching more files then you'd
expect

[Brightens
Niknacks](835bae28e9)

Increases the light range of request consoles, status displays,
newscasters, and air alarms (keycard machines too, when they're awaiting
input at least)
Increases the brightness of air alarms, I think they should be on par
with apcs, should be able to tell when they're good/bad.
Increases the brightness of vending machines (I want them to light up
the tiles around them very lightly, I think it's a vibe)

Fixes a bug with ai status displays where they'd display an emissive
even if they didn't have anything on their screen, looking stupid.
This was decently easy but required a define. Looked really bad tho

## Why It's Good For The Game

Pretty

<details>
<summary>
Circuit Floors
</summary>

Old

![image](https://user-images.githubusercontent.com/58055496/224534470-c6eac5f5-5de6-40e9-897d-3212b8796d81.png)

![image](https://user-images.githubusercontent.com/58055496/224534477-ad412ad9-f7c4-44ae-ad75-a1a2c9bd17be.png)

New

![image](https://user-images.githubusercontent.com/58055496/224534486-b7b408a3-546c-4f90-aa9f-0e58bf8128ad.png)

![image](https://user-images.githubusercontent.com/58055496/224534496-626458f7-ab63-429c-a5db-eae9c784d06a.png)
</details>

<details>
<summary>
Desk Lights
</summary>

Old

![image](https://user-images.githubusercontent.com/58055496/224534513-9868b0b8-bc73-4b45-b986-8445078a8653.png)

![image](https://user-images.githubusercontent.com/58055496/224534518-bbbc8c6d-b59e-4f28-a31c-6c6a7e2c2885.png)

New

![image](https://user-images.githubusercontent.com/58055496/224534529-7988f440-03be-42ef-894c-b9e77f577ae5.png)

![image](https://user-images.githubusercontent.com/58055496/224534532-c3f2c6bf-c925-4a59-a8f9-10bb955a9942.png)
</details>

The niknack changes are more minor so I'm not gonna grab photos for
them. I can if you'd like but I don't think it's necessary. Mostly a
vibes in dark spaces sorta thing

## Changelog

🆑
add: I made circuit floors brighter and more vivid.
add: Made air alarms, vending machines, newscasters, request consoles,
status displays and keycard machines slightly "brighter" (larger light
range, tho I did make air alarms a bit brighter too)
add: Tweaked desklamps. Lower range, and each type gets its own coloring
instead of just fullwhite.
fix: AI displays are no longer always emissive, they'll stop doing it if
they aren't displaying anything. Hopefully this'll look nicer
/🆑

* Polishes some side sources of light and color

* yellow

* Update dance_machine.dm

* Merge branch 'upstream-merge-73936' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-merge-73936

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-26 01:39:17 -07:00
SkyratBot
9748c7453e [MIRROR] Allows any bullet class that doesn't override wound_bonus to cause wounds. [MDB IGNORE] (#19985)
* Allows any bullet class that doesn't override wound_bonus to cause wounds. (#73838)

Overrides wound_bonus for the bullet class to be 0 instead of
CANT_WOUND.
## About The Pull Request
The bullet class has wound_bonus 0 instead of CANT_WOUND. This allows
things such as 9mm and 10mm to wound, and probably other things.
## Why It's Good For The Game
Makarovs that used 9mm and some other things just didn't cause any
wounds, and that was sad. Bullets are physical things, so it doesn't
make sense to make them not cause any wounds unless they were overidden.
## Changelog
🆑
balance: 9mm, 10mm, and other stuff can cause wounds.
/🆑

* Allows any bullet class that doesn't override wound_bonus to cause wounds.

---------

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2023-03-20 11:15:00 -07:00
Paxilmaniac
63f5ad8a28 Removes the now deprecated FULL_EMPTY_BASIC for magazine sprites, and coincidentally fixes all of the invisible magazines we had (#19961)
* jesus fuck

* akm and shotgun boxes since those are in different places

* ok i guess?
2023-03-18 13:43:46 -07:00
SkyratBot
ddd994e084 [MIRROR] New var on firing pins for admins to render them unremovable. Fixes firing pin swapping overlapping balloon alerts [MDB IGNORE] (#19773)
* New var on firing pins for admins to render them unremovable. Fixes firing pin swapping overlapping balloon alerts (#73837)

## About The Pull Request

A couple weeks ago I needed a gun that could not under any circumstances
have its firing pin removed for an event, there was a var for
"pin_removable" which didn't actually do this, I've reworked its purpose
to allow admins to edit as firing pin to make it unremovable and renamed
its old functionality to pin_hot_swappable to better clarify what the
var actually did.

Also I've changed the balloon alert for pin swapping to be a single
balloon alert stating the pins have been swapped rather than two, one
for removal and one for replacement.

None of existing firing pins has had to functionality implemented on
them so its admin only for the time being.
## Why It's Good For The Game

Better readability for pin swapping and admins/future coders can make
firing pins unremovable for events/code additions.
## Changelog
🆑
fix: Firing pin swapping's 2 balloon alerts have been replaced with a
single more readable one.
admin: Admins can now edit a pin_removable var on firing pins to render
them unremovable from the weapons they're installed in.
/🆑

* New var on firing pins for admins to render them unremovable. Fixes firing pin swapping overlapping balloon alerts

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-03-11 15:14:46 +00:00
SkyratBot
4912b160a8 [MIRROR] Removes bad nodamage var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage [MDB IGNORE] (#19768)
* Removes bad `nodamage` var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage

* wew

* Update drinks.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-11 04:19:58 +00:00
SkyratBot
c43195c5dd [MIRROR] Changes AMMO_BOX_FULL_EMPTY to be either -full or -empty on a magazine, rather than the old behavior of using the max ammo of the magazine [MDB IGNORE] (#19670)
* Changes AMMO_BOX_FULL_EMPTY to be either -full or -empty on a magazine, rather than the old behavior of using the max ammo of the magazine

* Update _box_magazine.dm

* Update pistol.dm

---------

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:11:04 +00:00
SkyratBot
cba75a0e0b [MIRROR] Fixes a bunch of bugs with paywall firing pins. (Including making them work in the first place) [MDB IGNORE] (#19523)
* Fixes a bunch of bugs with paywall firing pins. (Including making them work in the first place)

* Update pins.dm

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:08:09 +00:00
SkyratBot
4cd00f275a [MIRROR] Faction defines [MDB IGNORE] (#19590)
* Faction defines

* fixes

---------

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:55:18 +00:00
SkyratBot
f8f2abb11f [MIRROR] Refactor, improve, and rename canUseTopic to be can_perform_action [MDB IGNORE] (#19391)
* Refactor, improve, and rename canUseTopic to be can_perform_action

* updoot

* https://github.com/tgstation/tgstation/pull/72876

https://github.com/tgstation/tgstation/pull/72876

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:19:25 +00:00
SkyratBot
88f8ef7adc [MIRROR] Netherworld Mobs Refractor [MDB IGNORE] (#19181)
* Netherworld Mobs Refractor

* Update statues.dm

* Update tgstation.dme

* w

---------

Co-authored-by: Comxy <tijntensen@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 02:44:53 +00:00
Paxilmaniac
3fb3c7add2 Gun code override unshittening part like, two by this point (#18957)
* this code is so fucking funny it makes me want to merge w/o looking

* safety component stuff

* safeties should be finished

* I loooove safety component

* I swear that's all for gun safety

* manufacturer component

* cant forget this

* this is so awful

* 1100 line long gun file

* ok it actually compiles now

* that should not be an addition of any sort

* these defines should not be used anymore

* why?? the fuck??? are there var edited fire modes on black mesa?????

* how did that even happen

* maybe ci will shut up now

* oh man so many guns are lacking autofire now

* probably fixes safety toggling

* that should reference the gun not the component

* that should probably return

* makes it replicate current behavior, defaults safeties to being ON

* and that is all i have to say about that

* its automagically
2023-03-04 19:53:15 +00:00
SkyratBot
10fb4944a7 [MIRROR] Removes the pipegun's chance to misfire and make you shoot yourself [MDB IGNORE] (#19639)
* Removes the pipegun's chance to misfire and make you shoot yourself (#73738)

## About The Pull Request

As the title might imply, the increasing percentage chance that a
pipegun misfires and fires at the user has been removed.
## Why It's Good For The Game

The pipegun already has a large number of other downsides, like a 1
round ammo capacity, it being bolt action, the fact it can get dirty and
have the bolt jam, and the 3/4 damage modifier. While these all make
sense and can make for a pretty fun improvised weapon, the chance to
misfire brings it from 'interesting' to 'unusuable in 99% of
situations'.
## Changelog
🆑
balance: The pipegun's chance to misfire and shoot at you rather than
the person you're pointing it at has been removed
/🆑

* Removes the pipegun's chance to misfire and make you shoot yourself

---------

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-03-03 23:38:57 -08:00
SkyratBot
f194b57feb [MIRROR] Basic Mob Spiders II: Elements [MDB IGNORE] (#19268)
* Basic Mob Spiders II: Elements

* Update giant_spider.dm

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-01 11:57:49 -08:00
SkyratBot
a2cb8c5c0c [MIRROR] Completely removes do_mob and do_after_mob [MDB IGNORE] (#19126)
* Completely removes do_mob and do_after_mob

* update modular

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-02-19 19:19:50 +00:00
SkyratBot
115b59227b [MIRROR] Buffs mech disabler [MDB IGNORE] (#19342)
* Buffs mech disabler (#72941)

## About The Pull Request

Mech disabler now is works like a shotgun, shooting 5 weak disabler
beams(15 damage, the normal disabler beam has 30). The energy drain is
increased to 100 from 30. Has a cooldown of 1.5 seconds.

The exact numbers(weapon scatter, damage, amount of projectiles) can be
discussed.

## Why It's Good For The Game

When you are trying to nonlethally deal with someone, a normal security
officer with their roundstart available equipment is more effective then
an expensive lategame mech, due to that fact that it is really slow,
cant use stunbattons and even if you manage somehow to stamcrit a person
with a mech disabler you still need some time to get out in order to
handcuff them. So mech disablers are useless, especially compared with
other mech weapons, like rocket launchers and ballistic guns. This PR
makes the mech disabler not trash, so roboticists would have a wider
choice of useful weapons when making a mech.

## Changelog

🆑
balance: Mech disabler now works as a shotgun, shooting 5 weak disabler
beams at one time.
balance: Mech disabler now uses 100 energy instead of 30, and it's
attack cooldown increased to 1.5 seconds instead of 0.8
/🆑

* Buffs mech disabler

---------

Co-authored-by: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com>
2023-02-14 13:26:02 +00:00
SkyratBot
b61ed2411d [MIRROR] Soporific magazines use the correct icon, penetrator and marksman magazines now have icons. [MDB IGNORE] (#19302)
* Soporific magazines use the correct icon, penetrator and marksman magazines now have icons. (#73217)

## About The Pull Request

Fixes #73192

Soporific sniper rifle magazines had used the wrong icon, I've fixed
this, I'm also re-purposed an old unused magazine sprite and added a new
one for the other 2 sniper ammo types.
## Why It's Good For The Game

Bug fix + now the alt sniper ammo types have unique sprites.
## Changelog
🆑
fix: Soporific sniper magazines use the correct icon again.
imageadd: Penetrator and Marksman sniper magazines now have icons.
/🆑

* Soporific magazines use the correct icon, penetrator and marksman magazines now have icons.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-02-12 11:13:12 -08:00
SkyratBot
a0d9cdace3 [MIRROR] Fixes reverse revolver name [MDB IGNORE] (#19267)
* Fixes reverse revolver name (#73315)

## About The Pull Request

Reverse revolver is now named "Syndicate Revolver", same as the normall
syndie revolver.

Fixes https://github.com/tgstation/tgstation/issues/73313

## Why It's Good For The Game

Fix

## Changelog
🆑
fix: Fixes reverse revolver name being different from syndicate revolver
name
/🆑

* Fixes reverse revolver name

---------

Co-authored-by: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com>
2023-02-10 16:09:17 -08:00
SkyratBot
1fe9efd00a [MIRROR] Rebuilds Luxury Shuttle (mostly), makes it emag-only [MDB IGNORE] (#19229)
* Rebuilds Luxury Shuttle (mostly), makes it emag-only (#72940)

## About The Pull Request
![2023 02 07-06 49
54](https://user-images.githubusercontent.com/70376633/217159751-790e6ded-8525-4d13-a5b5-6a3d8076a00e.png)
Changes the really goofy old lux shuttle to a cooler layout with some
additions to make it a luxury and not just
"anti-poor-people protection + food"

Shuttle was made bigger to make it less cramped for the luxury class,
pool was moved to its own room, added an arcade
and a bar corner, has real lasers to shoot poors with (20c each shot),
has fire extinguishers now
Adds a new preopen variant of hardened shutters
Adds a paywall pin subtype for the luxury shuttle, and a laser gun
subtype

Made emag-only at a price of 10000 credits
## Why It's Good For The Game

The old luxury shuttle looked REALLY awful with its pool, was pretty
cramped even in the luxury section and BARELY resembled a luxury..
This luxury shuttle provides luxuries such as a less poorly designed
pool, more space for legs, arcade, to make it resemble a luxury unlike
the old one

## Changelog
🆑
add: Luxury Shuttle is now bigger, and less ugly! Poor people still get
it rough though...
/🆑

* Rebuilds Luxury Shuttle (mostly), makes it emag-only

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-02-08 10:24:00 -05:00
SkyratBot
739f951461 [MIRROR] Fixes an edge case where you can get incurable plasma damage, & fixes healing sources that don't have biotype restrictions not working if the mob doesn't have the MOB_ORGANIC biotype [MDB IGNORE] (#19094)
* Fixes an edge case where you can get incurable plasma damage, & fixes healing sources that don't have biotype restrictions not working if the mob doesn't have the MOB_ORGANIC biotype (#73017)

## About The Pull Request

Fixes #72962

The plasma river applies toxins damage to a mob as it transforms
individual limbs into plasmaman ones.
Once all limbs have been transformed, the mob's species changes to
plasmaman.

This currently leads to incurable toxin damage as antitoxin drugs do not
work on plasmamen. Made it so that upon transforming fully, the toxin
damage is cleared.

Also fixed an issue where healing sources that do not have a
required_biotype parameter (e.g. `adjustToxLoss(-5)` vs
`adjustToxLoss(-5, required biotype=whatever)`) will not work on mobs
that do not have the `MOB_ORGANIC` biotype (e.g. plasmamen) due to it
defaulting to `MOB_ORGANIC`. For now those use the `forced` param to
accomplish this.

## Why It's Good For The Game

Incurable damage is no good.

## Changelog

🆑
fix: fixed getting incurable tox damage when fully transformed into a
plasmaman via plasma rivers
fix: fixed rod of asclepius/medibeam etc not being able to heal tox
damage despite not having biotype restrictions
/🆑

* Fixes an edge case where you can get incurable plasma damage, & fixes healing sources that don't have biotype restrictions not working if the mob doesn't have the MOB_ORGANIC biotype

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-02-02 16:16:34 +00:00
SkyratBot
2bec145471 [MIRROR] The toy crossbow nolonger floats nearby your hand when you hold it. [MDB IGNORE] (#19115)
* The toy crossbow nolonger floats nearby your hand when you hold it. (#73140)

## About The Pull Request

The toy crossbow had its inhand dimensions set incorrectly to 64 causing
the inhand sprites to be offset incorrectly, I've set them to 32.
## Why It's Good For The Game

Bugfix.
## Changelog
🆑
fix: Toy crossbows have had their offset fixed and will now correctly
display in your hand.
/🆑

* The toy crossbow nolonger floats nearby your hand when you hold it.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-02-02 16:14:13 +00:00
SkyratBot
e964d26445 [MIRROR] Clarifies that TRAC bullets are not teleporter compatible [MDB IGNORE] (#19116)
* Clarifies that TRAC bullets are not teleporter compatible (#73141)

## About The Pull Request

The detective's TRAC bullets embeds tracking implants into people. This
implants works similarly to the injectable tracking implant, such as
with the Prisoner Console or the Bluespace Locator. However, it has
`allow_teleport` set to false, preventing it from being used on the
teleporter. This has not been communicated in game, unless if you take
out the implant from whoever you shot, and stuck it inside the implanter
pad to read its in detail description.

This PR updates the ammo box and the design datum's description, to make
this clearer.

## Why It's Good For The Game

Closes #73121 , if a future detective examines the box, they will know
not to walk into the teleporter room to set up an ambush.

## Changelog

🆑
spellcheck: Clarifies that TRAC bullets are not teleporter compatible
/🆑

* Clarifies that TRAC bullets are not teleporter compatible

---------

Co-authored-by: Profakos <profakos@gmail.com>
2023-02-02 16:14:00 +00:00
Funce
60bfb76832 [MIRROR] Dynamic Human Icon Generation For Simple/Basic Mobs (& Cardboard Cutouts) [MDB IGNORE] (#18884)
* Dynamic Human Icon Generation For Simple/Basic Mobs (& Cardboard Cutouts) (#72517)

revive of #68760
this time a proc, not an element
this time supports cardboard cutouts
this time supports mob corpses

![image](https://user-images.githubusercontent.com/23585223/211064291-81070650-189f-4afa-8116-81b687e3ea35.png)

prevents these icons ever being outdated, they'll always look what they
are supposed to, saves spriting work

🆑 Fikou, a hood by Viro
refactor: humanoid mobs and cardboard cutouts automatically generate
their sprites, they no longer will be outdated
/🆑

Co-authored-by: Time-Green <timkoster1@hotmail.com>

* Modular!

* Fix signal override merge skew (#72882)

Caused by https://github.com/tgstation/tgstation/pull/72517, with
https://github.com/tgstation/tgstation/pull/72561 raising an error that
was being hidden before

This changes equip logic somewhat so that set_wearer was being called
twice.

I don't think this should be being run in visualsOnly at all, as it does
a ton of stuff like registering signals, updating UI, etc etc etc. Don't
have time to investigate further.

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-01-27 13:56:00 -05:00
SkyratBot
c5ca08fd01 [MIRROR] Adds spaces around logical operators [MDB IGNORE] (#18776)
* Adds spaces around logical operators

* Update code/modules/admin/verbs/admingame.dm

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-01-21 22:16:43 -08:00
SkyratBot
39f3491d79 [MIRROR] Fixes swapped reverse revolver sprites [MDB IGNORE] (#18830)
Fixes swapped reverse revolver sprites (#72662)

## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/72651 by changing
reverse revolver sprite to "revolversyndie"

## Why It's Good For The Game

Fixes an issue

## Changelog
🆑
fix: Fixes reverse revolver sprite being swapped to normal revolver
sprite
/🆑

Co-authored-by: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com>
2023-01-20 14:26:11 -05:00
SkyratBot
677fffbd51 [MIRROR] Documents bolt_types and fixes Mosin Nagant Sprite [MDB IGNORE] (#18714)
* Documents bolt_types and fixes Mosin Nagant Sprite (#72448)

## About The Pull Request
For an unknown period of time, `/obj/item/gun/ballistic` used the wrong
type of sprite for it's `bolt_type`, so anyone trying to make a new gun
and using it as an example wouldn't be able to make it work. Being an
abstract item, it used `BOLT_TYPE_STANDARD` when it had a
`BOLT_TYPE_LOCKING` icon state.

If you spawn it in and look at it, it looks like this.

![image](https://user-images.githubusercontent.com/89315023/210435339-05fdf022-94a2-49d4-98c0-c2155ab604a7.png)
But if you VV `bolt_bolt` type to `4` ( `BOLT_TYPE_LOCKING`), it looks
correct.

![image](https://user-images.githubusercontent.com/89315023/210436016-59b6eddc-cd6c-4e55-87f4-5791a8c94a1f.png)
Same with the Mosin, which now has a visible bolt, so you can tell if
it's open or not now!

![bolt](https://user-images.githubusercontent.com/89315023/210435912-31b24d7e-882c-49a7-bc81-9d681fe5d851.png)

So basically:
- Changes the Mosin to use the correct bolt type, `BOLT_TYPE_LOCKING`.
- Makes the abstract `/obj/item/gun/ballistic` use the correct type of
sprite. It comes in designer _Debug Purple checkerboard_.

![image](https://user-images.githubusercontent.com/89315023/210437549-3babc107-840f-4fce-9fe8-7913d50d6075.png)
- Adds `bolt_types_explained.md`. As the name implies, this explains in
detail what all the bolt types do, and what you should name the
iconstates for them when you're trying to make a new gun.
- Various comment changes in `ballistic.dm`, and the `combat.dm`
defines.
- De-souls the `boolets` variable name to `bullets` in the ammo counter
proc
- Adds a new parameter `handle_modifications = TRUE` to `sawoff()` When
set to false, it allows you to still use the sawing logic, but bypasses
all the snowflake code for variable changes, and only sets `sawn_off` to
true. This is helpful if you want to allow a weapon to be sawed off, but
don't want your icon forcibly set to `lefthand_file =
'icons/mob/inhands/weapons/guns_lefthand.dmi` or the weight class set to
normal.

## Why It's Good For The Game

Documentation is always good I hear. Also if you're trying to make a new
gun or fix a sprite issue, now you can look at the base type to
understand how it works!

## Changelog
🆑
fix: Mosin Nagant bolt sprites are now visible. It's like 5 pixels so
not a surprise nobody noticed for years.
/🆑

* Documents bolt_types and fixes Mosin Nagant Sprite

* Fixes our speargun overlay sprites

Co-authored-by: Stonetear <89315023+Stonetear@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-01-19 20:07:14 -08:00
SkyratBot
25f4961156 [MIRROR] Refactors memories to be less painful to add and apply, moves memory detail / text to memory subtypes. Adds some new memories to demonstrate. [MDB IGNORE] (#18487)
* Refactors memories to be less painful to add and apply, moves memory detail / text to memory subtypes. Adds some new memories to demonstrate.  (#72110)

So, a huge issue with memories and - what I personally believe is the
reason why not many have been added since their inception is - they're
very annoying to add!

Normally, adding subtypes of stuff like traumas or hallucinations are as
easy as doing just that, adding a subtype.

But memories used this factory argument passing method combined with
holding all their strings in a JSON file which made it just frustrating
to add, debug, or just mess with.

It also made it much harder to organize new memories keep it clean for
stuff like downstreams.

So I refactored it. Memories are now handled on a subtype by subtype
basis, instead of all memories being a `/datum/memory`.

Any variety of arguments can be passed into memories like addcomponent
(KWARGS) so each subtype can have their own `new` parameters.

This makes it much much easier to add a new memory. All you need to do
is make your subtype and add it somewhere. Don't need to mess with jsons
or defines or anything.

To demonstrate this, I added a few memories. Some existing memories had
their story values tweak to compensate.

Makes it way simpler to add new memories. Maybe we'll get some more fun
ones now?

🆑 Melbert
add: Roundstart captains will now memorize the code to the spare ID
safe.
add: Traitors will now memorize the location and code to their uplink.
add: Heads of staff winning a revolution will now get a memory of their
success.
add: Heads of staff and head revolutionaries who lose their respective
sides of the revolution also get a memory of their failure.
add: Completing a ritual of knowledge as a heretic grants you a quality
memory.
add: Successfully defusing a bomb now grants you a cool memory. Failing
it will also grant you a memory, though you will likely not be alive to
see it.
add: Planting bombs now increase their memory quality depending on how
cool the bomb is.
refactor: Memories have been refactored to be much easier to add.
/🆑

* Modular!

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-01-17 12:51:58 +13:00
SkyratBot
ef1ad8331a [MIRROR] Experiment with holding hard references to objects being qdeleted in 515 (saves 1.1+ seconds on init times, more on prod) [MDB IGNORE] (#18361)
* Experiment with holding hard references to objects being qdeleted in 515 (saves 1.1+ seconds on init times, more on prod) (#72033)

## About The Pull Request
Adds `EXPERIMENT_515_QDEL_HARD_REFERENCE`, which will queue to the GC
subsystem using hard references rather than `\ref`. This is only
possible in 515 because of the new `refcount` proc. `\ref` is very very
slow and has some nasty knock on effects, so removing its usages where
possible is good.

This is an explicit opt in define because I want to give us the ability
to test 515 on live while only testing 515 itself, not our experimental
changes. We have a few more of these we want to do so I made a separate
file for them. They're auto-defined in unit tests so we see them with
the alternate test runner. In a perfect world we'd test both on and off,
but eh.

Closes https://github.com/tgstation/dev-cycles-initiative/issues/10

* Experiment with holding hard references to objects being qdeleted in 515 (saves 1.1+ seconds on init times, more on prod)

* fix missed underbarrels

* HEV radio

* Keeps gc_destroyed from getting updated on every step thru the gc queue. (#72401)

Keeps gc_destroyed from getting updated on every step thru the gc queue.

Fixes logic that assumed gc_destroyed is the time the object first
qdel'ed. it used to get updated on each stage of the garbage controller
and there are 3 stages.

Added list index defines for the inner gc item list.

* test fix

* final fix

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2023-01-12 16:16:33 -05:00
SkyratBot
9e4a277cfd [MIRROR] Adds the Cursed quirk [MDB IGNORE] (#18492)
* Adds the Cursed quirk

* Update negative_quirks.dm

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-12 15:21:21 -05:00
SkyratBot
7cc0c9101e [MIRROR] Projectile hits on mobs are logged globally [MDB IGNORE] (#18447)
Projectile hits on mobs are logged globally

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2023-01-12 06:53:11 +00:00
SkyratBot
b44967501c [MIRROR] Optimizes explosions (very slightly) [MDB IGNORE] (#18624)
* Optimizes explosions (very slightly)

* Update explosions.dm

* Update atoms_movable.dm

* Update dungeon.dm

* Update stone.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-10 12:34:26 -08:00
SkyratBot
8e8002b555 [MIRROR] Converts drowsy and eye blur to status effects, striking yet another two carbon level status vars [MDB IGNORE] (#18348)
* Converts drowsy and eye blur to status effects, striking yet another two carbon level status vars

* merge conflicts

* adjust_eye_blur and set_eye_blur_if_lower

* adjust drowsiness overdoses

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 13:14:47 -05:00
SkyratBot
953aeaff4a [MIRROR] Clean up something else which was failing CI [MDB IGNORE] (#18372)
* Clean up something else which was failing CI (#72299)

## About The Pull Request

Well my last PR passed the CI but everything else is still failing and I
want a little tick next to my pull requests.
So I guess I'm whacking moles until everything that 515 doesn't know how
to dispose of is disposed of?

I'll be honest I don't know what change makes this a requirement when it
wasn't before but it seems like a logical thing to be doing.
Unfortunately running this test locally doesn't produce a failure for me
so my only solution is to keep getting the CI to do it and hope that it
doesn't report a false positive again.

## Why It's Good For The Game

![image](https://user-images.githubusercontent.com/7483112/209726114-4a6da427-f82b-433b-a7ef-39591dc72e7b.png)

## Changelog

Not player facing

* Clean up something else which was failing CI

* modular m90

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 06:36:16 -05:00
SkyratBot
a5d80be1c4 [MIRROR] [no GBP] Carp no longer die in space or break CI [MDB IGNORE] (#18365)
[no GBP] Carp no longer die in space or break CI

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 06:26:09 -05:00
SkyratBot
7ee524f748 [MIRROR] Basic Mob Carp Part VIII: Basic Mob Carp [MDB IGNORE] (#18344)
* Basic Mob Carp Part VIII: Basic Mob Carp

* maps

* missed killing main carp file

* shorki and ocean biomes

* shorki 2: pet-a-boogaloo

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 05:48:50 -05:00
SkyratBot
ae713bf18a [MIRROR] Crafting/Cooking menu update [MDB IGNORE] (#18334)
* Crafting/Cooking menu update

* Yeeted away all of the merge conflicts, time to fix the code

* Okay, now it compiles, and after testing, it seems to work just fine

* Actually, early addition of an upstream fix, so those that don't have hunger can still open the cooking menu

* Fixes the units tests by removing the extra comma in the Stuffed Muli Pod recipe

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-08 15:02:18 -05:00
SkyratBot
650d64f6d4 [MIRROR] afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item [MDB IGNORE] (#18519)
* afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item

* Update _neck.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-07 06:55:38 +00:00
SkyratBot
b80abedb59 [MIRROR] refreshes syndi-kits and syndicate surplus crates, introduces shared limited stock [MDB IGNORE] (#18209)
* refreshes syndi-kits and syndicate surplus crates, introduces shared limited stock

* merge conflict

* Surplus balance, Consolidated our surplus crate and the new tg one to just use our stats

* use upstream surplus loot crates

* syndicrate

Co-authored-by: Sol N <116288367+flowercuco@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-07 01:42:14 -05:00
SkyratBot
a878c3cc73 [MIRROR] Fixes dual wielding bypassing wizard checks [MDB IGNORE] (#18562)
* Fixes dual wielding bypassing wizard checks (#72431)

Fixes #72428

🆑 ShizCalev
fix: Non-magic inclined mobs will no longer fire staffs while duel
wielding.
/🆑

* Fixes dual wielding bypassing wizard checks

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2023-01-06 21:02:53 -08:00
SkyratBot
9e60e69323 [MIRROR] Adds an engraving to the staff of healing regarding proper healing beam usage. [MDB IGNORE] (#18496)
* Adds an engraving to the staff of healing regarding proper healing beam usage. (#72403)

🆑
fix: Adds an engraving to the staff of healing regarding proper healing
beam usage.
/🆑

Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>

* Adds an engraving to the staff of healing regarding proper healing beam usage.

Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
2023-01-04 00:49:45 +00:00
SkyratBot
5c6c91144c [MIRROR] Changes the missing food icon test to cover ALL /obj's [MDB IGNORE] (#18139)
* Changes the missing food icon test to cover ALL /obj's

* Update implant.dm

* Hopefully fixes all the failing integration tests!

* Fixes more missing icons

* Even more icon fixes

* Hopefully that was all of them

* Okay now SURELY that's all of them

* I'm tired of this shit man

* Hopefully that's all, for real this time!

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-12-28 19:30:05 -05:00
Zonespace
d8df1c97f7 Mirrors tgstation/tgstation#72269 (#18386)
fixes neurotoxin newtonian movement and alien hud hand icons (#72269)

neurotoxin now properly moves u
also the alien spit shot by simplemob xenos is now a subtype of normal
because it was fucking stupid
also the nt hud pr broke the hud hand icons so fixes that

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-28 22:37:32 +00:00
SkyratBot
15faaa54f5 [MIRROR] Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. [MDB IGNORE] (#17907)
* Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons.

* conflicts

* Modular!

* update modular

* icon icon icon icon icon

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2022-12-16 16:01:41 +00:00
SkyratBot
d5b5191e9d [MIRROR] Revolver Resprites: Imaginos Edition [MDB IGNORE] (#18166)
* Revolver Resprites: Imaginos Edition

* Removes the aesthetic module sprite

Co-authored-by: Imaginos16 <77556824+Imaginos16@users.noreply.github.com>
Co-authored-by: Halcyon <81479835+Ebin-Halcyon@users.noreply.github.com>
2022-12-16 01:15:37 +00:00
SkyratBot
632e356f81 [MIRROR] makes beams better (plus small kinesis tweaks) [MDB IGNORE] (#18041)
* makes beams better (plus small kinesis tweaks)

* meat hook

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-12-15 14:18:26 -05:00
SkyratBot
20ec22bca2 [MIRROR] The Indestructible objective energy guns protect their contents, preventing them from bricking [MDB IGNORE] (#18148)
* The Indestructible objective energy guns protect their contents, preventing them from bricking (#71976)

## About The Pull Request

Stops the two objective firearms from having their contents destroyed by
bombs. This isn't important for any other firearms, as they're all
destroyed by those explosions rather than surviving them, only to have
their contents deleted instead.

## Why It's Good For The Game

An everpresent consequence of oversimulation in firearms is that they're
prone to stupid shit like this happening. Since you can't replace the
power cell in these weapons, it just bricks the guns.

You can certainly replace the firing pin in the gun if that's destroyed,
but I figured it would be better to just wholesale make this no longer a
problem for these weapons.

## Changelog
🆑
fix: Stops strong enough explosions from bricking the objective energy
guns permanently.
/🆑

* The Indestructible objective energy guns protect their contents, preventing them from bricking

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2022-12-14 22:39:08 -08:00
SkyratBot
1d3c4dc8a1 [MIRROR] Getting hit by a nuclear particle will always irradiate you. [MDB IGNORE] (#18008)
* Getting hit by a nuclear particle will always irradiate you. (#71812)

## About The Pull Request
Makes nuclear particles directly irradiate people.
## Why It's Good For The Game
Getting hit by a nuclear particle should be a death sentence.
## Changelog
🆑
balance: Nuclear particles will always irradiate you on hit.
/🆑

* Getting hit by a nuclear particle will always irradiate you.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2022-12-09 03:45:09 +00:00
SkyratBot
cf67304574 [MIRROR] Refactors Pirates into Pirate Gangs, Adds the Psyker-gang as new pirates [MDB IGNORE] (#17920)
* Refactors Pirates into Pirate Gangs, Adds the Psyker-gang as new pirates

* [PR to PR] NRI raider de-conflicting (#17921)

* sosig

Update revolver.dm

* Update nri_raiders.dm

* Apply suggestions from code review

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

* Update nri_raiders.dm

* uhuh

* Update nri_raiders.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Stalkeros2 <42087567+Stalkeros2@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-08 09:43:43 -08:00