Commit Graph

2533 Commits

Author SHA1 Message Date
SkyratBot
b88b41ceb7 [MIRROR] Shooting specific wizard staffs as a non-wizard or non-magician now backfires in different ways. [MDB IGNORE] (#9089)
* Shooting specific wizard staffs as a non-wizard or non-magician now backfires in different ways. (#62257)

About The Pull Request

If you try using the staff of change, the staff of chaos, the spellblade or the staff of healing as a crewmember, then it'll backfire.
People who can use the staff normally: Apprentices, Wizards, Amateur Magician (from Summon Magic event)

Backfiring is different depending on the staff, each effect is listed below and happens when you try firing the staff.
Staff of change - Wabbajacks the imposter, although they can't become a xeno or a borg.
Staff of chaos - 5% chance to fire the staff at the imposter using it.
Staff of healing - Acts as a medibeam gun to the imposter.
Why It's Good For The Game

Crew getting access to the Staff of Change tends to end in a lot of people becoming xenomorphs or syndicate borgs. It forces the round into a turn for the worse for all antags as xenomorphs have hardstuns, syndicate borgs have emag, greatly improved healing chemicals and powerful weaponary.
Crew getting access to the Staff of Healing results in death being irrelevant. Killing people is no longer a viable tactic as an antagonist because anyone killed, no matter how damaged their body is, can be instantly healed with this staff.
Crew getting access to the Staff of Chaos is like crew getting access to the staff of change and the staff of healing at the same time, only more unpredictable. It's better if they can't reliably use it to get the spells they want as chaos is implied in the name, it becomes russian roulette trying to get the correct bolt as you can also get shot by a bolt of death, instantly killing you.

This is a better alternative to outright removing the staffs or making them usable only by wizards as it gives a quirky use to trying to use them as a crewmember. Maybe not the staff of healing, but fuck the staff of healing.
Changelog

cl
balance: If you try using the staff of change, the staff of chaos or the staff of healing as a crewmember, then it'll backfire. The Staff of change wabbajacks the user, like the pool of change; this means you can't become a xenomorph or a syndicate borg. The Staff of chaos has a 5% chance of firing the bolt directly at the user using it. The Staff of healing now behaves like a medibeam gun to non-wizards trying to use it.
/cl

* Shooting specific wizard staffs as a non-wizard or non-magician now backfires in different ways.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-10-27 20:09:22 -04:00
Iamgoofball
fd577e0227 GoofSec: Departmental Guards, Stamina Crit Fixes, Armory Rework, 3-Hit-Stamcrit Batons, Flashbang fixes (#8524)
* GoofSec: Departmental Guards, Stamina Crit Fixes, Armory Rework, 3-Hit-Stamcrit Batons, Flashbang fixes

* More realism changes to the guns.

* "lmao lets just make bullets do double damage!!!!!"

* maint-fu properly restored

* fixes disabler desc

* sagwfwdqdqa

* Departmental Guard Drip + Fixing Guard Rolling Antags

* adds the trims for the guards

* haha yes i totally forgot the knockdown

* Brute damage hardlight bullets + map fixes!

* afwefqdqwd

* fixes security armor balance lmfao

* NICE FUCKIN MERGE CONFLICT

* Big Security Armor Rework + Fixing cell swapping issues

* Space Police!

* removes 2hand from the guns for now

* Fixes Guard antag rolling.

* Stamina crit filter is back!

* Fixed vendors, 911 overhaul, Re-added sec crates to cargo

* whoops haha

* afwvwsadcwaed

* efWEFwedqadq

* bank error, you have been rewarded 20 thousand credits

Co-authored-by: Funce <funce.973@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-26 17:17:20 +01:00
Pinta
ca4fc14518 [MOSTLY MODULAR][REFACTOR] Changes the way that cell-based guns display the selected ammo type. (#8974)
* hey, it mostly works!

* sprite tweaks

* base colors are in

* This is a better color

* removes images
2021-10-23 00:51:39 +01:00
SkyratBot
770a21701f [MIRROR] Mining Gear Resprite [MDB IGNORE] (#8911)
* Mining Gear Resprite (#62168)

* mining gear resprite

* Merge branch 'master' of https://github.com/tgstation/tgstation into laaland

* update

* oopsie woopsie

* PKA CODE SUX BALZ

* woopsie

* Mining Gear Resprite

* Update device.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-23 00:18:28 +01:00
SkyratBot
13d38add93 [MIRROR] Repaths knives to not all be children of the kitchen knife. [MDB IGNORE] (#8843)
* Repaths knives to not all be children of the kitchen knife.

* Fix

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-23 00:07:08 +01:00
SkyratBot
fa519bdde3 [MIRROR] cleanup _HELPERS/_lists.dm and all the necessary files [MDB IGNORE] (#8783)
* cleanup _HELPERS/_lists.dm and all the necessary files

* Epbic

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-13 21:07:35 +01:00
SkyratBot
58c7729d88 [MIRROR] Rad collectors gone, tesla coils to generate power [MDB IGNORE] (#8697)
* Rad collectors gone, tesla coils to generate power (#61917)

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

* Rad collectors gone, tesla coils to generate power

* replaces rad collectors

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Kat <evesovereign@hotmail.co.uk>
2021-10-10 17:13:06 +01:00
SkyratBot
ced8a70537 [MIRROR] Rename freon_gas_act to freeze_turf [MDB IGNORE] (#8690)
* Rename freon_gas_act to freeze_turf (#61958)

This was only used from two places, neither of which involved freon.

* Rename freon_gas_act to freeze_turf

Co-authored-by: esainane <esainane+github@gmail.com>
2021-10-08 15:32:52 +01:00
SkyratBot
f193b48051 [MIRROR] fixes penetrator rounds phasing through vehicles [MDB IGNORE] (#8657)
* fixes penetrator rounds phasing through vehicles (#61907)

When I gave vehicles the PASSMACHINE flag in #61793 I forgot that penetrator rounds existed leading to them completely ignoring mechs. This time I created a new flag for vehicles, added it to water particle effects, and excluded it from the penetrator rounds.

Additionally this flag has been added to the heretic's phasing ability.

* fixes penetrator rounds phasing through vehicles

Co-authored-by: Invalid <51190031+InvalidArgument3@users.noreply.github.com>
2021-10-07 13:26:48 +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
f8a082ce4d [MIRROR] Fix bow controlling dropped arrow [MDB IGNORE] (#8644)
* Fix bow controlling dropped arrow (#61868)

When loading an arrow into a bow and firing the bow without drawing it, the arrow would drop and still be able to be dropped repeatedly, making the arrow follow the player on the ground. See before clip. Also resulted in cleaning up a pointless if statement.

* Fix bow controlling dropped arrow

Co-authored-by: Peter <30943236+PeterMorrison1@users.noreply.github.com>
2021-10-06 15:34:35 -04:00
SkyratBot
fc25cdf757 [MIRROR] Fix ebow acceting pka modkits [MDB IGNORE] (#8633)
* Fix ebow acceting pka modkits (#61879)

This pull request make ebow think that he has -1% of mod capacity because ebow is not pka but still pka. So you will be unable to slap modkits from pka to ebow. Its not best way to deal with issue but best i can afford.

* Fix ebow acceting pka modkits

Co-authored-by: kopoba <kopoba.webmaster@gmail.com>
2021-10-05 23:56:13 +01:00
SkyratBot
425c5bb100 [MIRROR] cleanup of _HELPERS/game.dm [MDB IGNORE] (#8593)
* cleanup of _HELPERS/game.dm (#61859)

some more cleanup, game.dm this time

* cleanup of _HELPERS/game.dm

* E

* Update oneclickantag.dm

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-04 00:28:22 +01:00
SkyratBot
087da53b8d [MIRROR] Meteor guns, the admin weapon, once again harms living mobs (#8392)
* Meteor guns, the admin weapon, once again harms living mobs (#61520)

When explosions got refactored, this stopped harming mobs because it lacked a check. Goof must have missed this, but it's also probably not as simple to put everything back as it was. This mostly restores old behaviour by putting the relevant code into on_hit() and out of Bump() when handling living mobs, since it's a projectile and all. I don't know if the values I added are appropriate but given that the old behaviour was a high damage localized explosion, it almost certainly isn't far off.

fixes #61244

* Meteor guns, the admin weapon, once again harms living mobs

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2021-09-25 14:40:26 +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
e8d78089fc [MIRROR] [TM Candidate] Overhauls orbit and POI code to fix part of issue #61508 where players could observe /mob/living/new_player on the lobby. (#8339)
* [TM Candidate] Overhauls orbit and POI code to fix part of issue #61508 where players could observe /mob/living/new_player on the lobby.

* E

* Missed merge

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-24 18:16:17 +01:00
SkyratBot
089330e0bf [MIRROR] Fixes flatgun drop code (#8325)
* Fixes flatgun drop code (#61453)

About The Pull Request

Changes the drop code handling from being in pickup (requiring some shitcode to work) to instead handle the same code in equip. This behaviour is nonsense, but it at least now works as intended.

fixes #61281
Why It's Good For The Game

Shit ruin with bad loot and bullshit like this
Changelog

cl
fix: Stickmen flatguns now properly drop out of your hands when picked up, as intended.
/cl

* Fixes flatgun drop code

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2021-09-23 01:46:27 +01:00
SkyratBot
1e0f6f0e12 [MIRROR] Removes Tactical Resting (#8303)
* Removes Tactical Resting (#61552)

About The Pull Request

If you are on combat mode, your bullets will hit people lying down or stunned, otherwise they pass through.
Why It's Good For The Game

The original PR that added it was labeled a fix (#55495) only mentioning it in the changelog once, when it was a balance change, as resting to avoid bullets was intentionally removed after we added crawling and a rest button, for being fucking stupid.
The thing that original pr "fixed" was mobs being bullet sponges, which you can now prevent by switching off combat mode, so it is no longer needed.
Avoiding people shooting at you while also having guns of your own you are perfectly able to shoot is stupid.
It makes mobs like beepsky super annoying, where unless youre in a large area the robot chasing you with one of the only hardstuns left in the game will be really hard to hit.
Changelog

cl
balance: If you are on Combat Mode, your bullets no longer pass through prone people
/cl

* Removes Tactical Resting

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2021-09-21 01:40:36 +01:00
SkyratBot
6bfb914351 Harddeletes: Accident edition (#8294)
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-09-20 23:20:46 +01:00
SkyratBot
39ecb0a174 [MIRROR] Radically improves explosion logging. (#8255)
* Radically improves explosion logging.

* Update eldritch_effects.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-19 22:25:20 +01:00
SkyratBot
b855a90d2b [MIRROR] hopefully fixes buckshots only shooting one projectile (#8227)
* hopefully fixes buckshots only shooting one projectile  (#61464)

* hopefully fixes buckshots only shooting one projectile

Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
2021-09-17 21:21:14 +01:00
SkyratBot
b9fb37ced2 [MIRROR] The Odysseus is no longer an artillery mech. (#8170)
* The Odysseus is no longer an artillery mech. (#61372)

Removes the ability for the Odysseus to fire syringes filled with dangerous chemical combos that only react on impact. Does this by removing the NO_REACT flag when syringe darts are created.

This doesn't change any behaviour of handheld syringe guns. You can't fire a Water/Potassium syringe out of a handheld syringe gun as doing so requires creating a syringe of Water/Potassium, which will instantly react. The same holds true for other chem reactions. The traitor reagent dartgun which synths its own syringes uses different projectiles that are not impacted by this change. It functions identically to how it did before and is unchanged and untouched.

This change specifically targets Ody behaviour.

The Ody is intended to be a medical support mech. Stop using the Ody as a cheap spammable artillery mech with RDX/Teslium combos.

Use the Odysseus the way God himself intended. Fire sleepy chems into your victim, abduct him in your vore chamber and keep him sedated with a slow infusion of sleepy chems for the rest of the shift.

* The Odysseus is no longer an artillery mech.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-09-15 03:32:13 +01:00
SkyratBot
a02a6d7570 [MIRROR] Makes tank explosions scale with volume and have diminishing returns. (Nerfs singlecaps) (#8158)
* Makes tank explosions scale with volume and have diminishing returns. (Nerfs singlecaps) (#60600)

Changes tank explosions to take tank volume into account and use sqrt scaling when calculating explosion range.
This basically means that they scale faster at lower pressures and slower at high pressures.
Rebalances tank explosion scaling so that maxcap TTVs are where they used to be pressure-wise.
Rebalances the research doppler arrays cash generation algorithm so it maxes out at the same TTV pressure. This does however mean that the doppler array will grant more points at lower explosion pressures.
Rebalances blastcannon shot range calculation so it scales as it used to with normal TTVs.

The comparatively tiny emergency tanks no longer produce the same size explosion as a TTV at the same pressure.
It is much more difficult to carry around 70 maxcaps in a single duffle bag. (I don't think it renders this completely impossible but it does kill oxy-trit emergency tank singlecaps as far as I know.)

Lemon posting past this line.

How it works:

Change assumes maxcaps should be just as easy with the standard ttv setup of 2 70L tanks.
So it divides the bomb's strength by 14, then scales it using dyn_explosion's (x*2)^0.5.
If you graph it the strength is exactly the same with a 140L reaction vessel, but as volume goes down, strength falls off very quickly because of that division, and the use of dyn_explosion.

Hopefully this will effectively disincentivize singlecapping, and remove the everpresent threat of someone leaking the station leveling method.

Reasoning for when github blows up:

I don't think single caps are on the same level as typical atmos antag threats. They're a hell problem
1: tanks should explode when someone hyper pressurizes them
2: we want all tank explosions to act the same, for the sake of a believable world
3: really well put together tank explosions (ttvs), should be really powerful
4: reaction code is a son of a bitch

I do think knowledge gating has some place. Knowing how to do something well should have a benefit. but that isn't like, an ultimate truth.
I've seen what proper, full on atmos autism single capping looks like. I don't like that level of absolute destruction at speed being feasible full stop.

I consider single caps to be a necessary side effect of how explosion code works. I think it's really cool that people have gotten so deep into this game and the systems around it that they've started optimizing this side effect into a tool/bragging rights thing.
But I'm still not a huge fan. If big booms are gated only by knowledge, then as soon as that knowledge spreads we're fucked. I've seen this happen before with things like rad batteries (cue crit being cringe).
It's not just single caps mind, the destruction you can make with em scales with knowledge.

I'm not in love with this pr mind, because it means I need to worry about bomb code when someone makes some silly tank volume balance pr. but it's a good solution. better then what's been tried in the past. still leaves space for things just blowing up in your face without maxcaps coming into the equation easily.

* Makes tank explosions scale with volume and have diminishing returns. (Nerfs singlecaps)

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-09-15 03:29:13 +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
701da750f2 [MIRROR] kills 4 object definitions that are inside of proc arguments (#7987)
* kills 4 object definitions that are inside of proc arguments (#61152)

thanks to putnam for reporting this in coderbus
/obj/machinery/smartfridge/drying_rack/load(/obj/item/dried_object)
looks pretty harmless right? youd think that this would make a proc argument called dried_object of type /obj/item but no, this defines a new /obj/item class definition called dried_object with zero changes from /obj/item

you can use this to do weird things, like /obj/machinery/smartfridge/drying_rack/load(/obj/item/var/dried_object = 3)
creates a new var on /obj/item called dried_object and is very cursed
gets rid of 4 of these abominations, they dont seem to have caused any bugs except for maybe behavior that relies on typesof(/some/path)

* kills 4 object definitions that are inside of proc arguments

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-09-05 22:54:54 +01:00
SkyratBot
98ee0b19e5 [MIRROR] Using a soulstone on a construct shell no longer destroys it and the shade if no option is taken. Plus code improvement (#7928)
* Using a soulstone on a construct shell no longer destroys it and the shade if no option is taken. Plus code improvement

* Fixed the merge conflicts.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-09-03 20:31:43 -04:00
SkyratBot
ebbd5fae19 [MIRROR] adds a gun circuit shell (#7934)
* adds a gun circuit shell (#61156)

adds the circuit gun shell, every projectile it hits with outputs the shot mob, everytime its shot charge from an attached circuit is transferred to it, it deals no damage
increases the range of the to string circuit to 7 tiles from 5, now should get everything in view range

* adds a gun circuit shell

* Update gun.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-03 03:56:14 +01:00
SkyratBot
b267e1922b [MIRROR] Fixes being able to spam ghost role notifications. (#7904)
* Fixes being able to spam ghost role notifications. (#61085)

There are methods that let players spam the everloving shit out of ghosts with BONG BONG BONG BONG BONG BONG BONG etc. through being able to constantly poll ghosts for roles with no restriction or cooldown.

Examples are laughter and slaughter demon antag_spawners.

It makes no sense to be able to concurrently poll for the same mob. As a result, I've now added a guard against this. The proc has been given a static list of mobs it's polling for ghost roles for. If it's already polling for ghost roles for a given mob, then it just early returns with an empty list, otherwise it adds the mob to the static list when the poll starts and removes it when the poll ends.

I've also done a little cleanup in var names and the proc name, with a find-and-replace done. There weren't many things calling it and none used named keywords in the args so should be fine.

There is also poll_candidates_for_mobs (also included in my cleanup) - This proc is basically only called by admins via sentience balloons and they have their own guards against spamming (the balloon pops and thus can only be used once)

Also fixes an issue in /mob/living/silicon/robot/proc/replace_banned_cyborg() where incorrect args were used in the proc call to poll for candidates.

* Fixes being able to spam ghost role notifications.

* a

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-01 17:00:32 +01:00
SkyratBot
f5312385b6 [MIRROR] wormhole projectors now fire blue wormholes with lmb and orange ones with rmb. (#7588)
* wormhole projectors now fire blue wormholes with lmb and orange ones with rmb.

* a

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-29 00:09:12 +01:00
jjpark-kb
6dfd617177 fixes some of the issues of the createanddestroy unit test (#7648)
* send help

* polychromic createanddestroy fix
2021-08-20 23:23:23 -04:00
SkyratBot
b0c01e40af [MIRROR] Del The World: Unit testing for hard deletes (#7589)
* Del The World: Unit testing for hard deletes (#59612)

Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>

* Del The World: Unit testing for hard deletes

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
2021-08-17 18:58:57 +01:00
SkyratBot
c43b8d5b0a [MIRROR] Fixes shotgun meteorslugs not displacing airlocks (#7516)
* Fixes shotgun meteorslugs not displacing airlocks (#60808)

Gives meteorslugs MOVE_FORCE_EXTREMELY_STRONG force.

Turns out safe_throw_at was created to fix "situations involving mechas and the clock cult, and meteor slugs moving grav gen" (rip clock clut) and then later some force checks were added that made some movables resist meteorslugs with default force like airlocks.

* Fixes shotgun meteorslugs not displacing airlocks

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2021-08-12 22:48:37 +01:00
SkyratBot
432f7c4b57 [MIRROR] Fixes a singular hard delete (#7497)
* Fixes a hanging reference to decaying lockers in locker spell code, weakrefs babyyyy (#60764)

* Fixes a singular hard delete

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-08-11 08:32:30 +01:00
SkyratBot
d2d89a863a [MIRROR] [Ready] Mining Loot Rework (#7461)
* [Ready] Mining Loot Rework

* AAAA

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-10 16:12:36 +01:00
SkyratBot
c8cae9692c [MIRROR] Fix polymorph behavior for pAIs and mimics (#7406)
* Fix polymorph behavior for pAIs and mimics (#60502)

This fixes #58258. Basically anytime a pAI holoform gets shot with a staff of changing or polymorph item it would change their mob type. This allowed ghost roles infinite respawns since the pAI card is not destroyed when it gets polymorphed. An unlimited army can be created with no downsides since you can keep bringing people back to life with the pAI requests.

I also went and fixed another strange behavior with polymorph, where if you used a staff of animate on an object, you could turn around and then polymorph the object into a mob. The animate magic is supposed to wear off the object after a certain while so I made the mimic immune to polymorph effects.

* Fix polymorph behavior for pAIs and mimics

Co-authored-by: Tim <timothymtorres@gmail.com>
2021-08-05 22:50:28 +01:00
SkyratBot
bce50c3a84 [MIRROR] Deployable Component (Big Dakka Included) (#7380)
* Deployable Component (Big Dakka Included) (#60554)

* Deployable Component (Big Dakka Included)

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2021-08-04 15:08:40 +01:00
SkyratBot
36715e85ef [MIRROR] ballistic.dm text cleanup (#7288)
* ballistic.dm text cleanup (#60536)

* ballistic.dm text cleanup

Co-authored-by: Kokonut <38844529+maxymax13@users.noreply.github.com>
2021-08-01 11:41:52 +01:00
SkyratBot
b05b1a18fb [MIRROR] Exosuit Proto-kinetic Accelerator (#7231)
* Exosuit Proto-kinetic Accelerator (#60384)

Adds new equipment for mechas: the Exosuit Proto-kinetic Accelerator, unlocked with the mining tech research. Compared to the standard one, it is able to hit 5 tiles away with a low cooldown.

However, unlike the handheld version, it draws a considerable amount of power from the battery, pretty much requiring you to bring generator equipment or upgraded parts.

The projectile is identical to the standard handheld version otherwise and will do little damage in pressurized environments.

* Exosuit Proto-kinetic Accelerator

Co-authored-by: InvalidArgument3 <51190031+InvalidArgument3@users.noreply.github.com>
2021-07-29 23:43:23 +01:00
SkyratBot
ccc38b0fc4 [MIRROR] Trash Cannons (#7225)
* Trash Cannons (#60476)

* Trash Cannons

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2021-07-29 11:15:03 +01:00
SkyratBot
c0bd3dd08a [MIRROR] Makes it so you actually SPIN YOUR GUN while gun-spinning (#7196)
* Makes it so you actually SPIN YOUR GUN while gun-spinning (#60457)

* Makes it so you actually SPIN YOUR GUN while gun-spinning

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
2021-07-28 23:12:15 +01:00
SkyratBot
4a94dc6472 [MIRROR] Meat-hooks and changeling tentacle's firing pins are no longer visable (#7193)
* Meat-hooks and changeling tentacle's firing pins are no longer visable (#60455)

Adds a Boolean to mark guns as "pinless" so they don't care about or show firing pins

* Meat-hooks and changeling tentacle's firing pins are no longer visable

* Update gun.dm

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 22:16:58 +01:00
SkyratBot
227b722820 [MIRROR] Job refactor: strings to references and typepaths [This could seriously break things :)] (#7006)
* Job refactor: strings to references and typepaths

* 0

* holy fuck

* Update preferences.dm

* Update preferences.dm

* Update preferences.dm

* Update preferences.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 21:12:42 +01:00
SkyratBot
783f1ae329 [MIRROR] Kills all miscs in guncode (#7186)
* removes all misc files/folders from the projectiles module (#60478)

Co-authored-by: Thunder12345 <stewart@ critar.demon.co.uk>

* Kills all miscs in guncode

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Thunder12345 <stewart@ critar.demon.co.uk>
2021-07-28 18:59:28 +01:00
SkyratBot
8f0b4cc264 [MIRROR] Fix runtime when deleting crossbows/syringe guns (#7138)
* Fix runtime when deleting crossbows/syringe guns (#60421)

* Fix runtime when deleting crossbows/syringe guns

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-07-26 15:48:59 +01:00
SkyratBot
7201c920cc [MIRROR] Capture The Flag: Class Warfare (#7108)
* Capture The Flag: Class Warfare (#59629)

Co-authored-by: Thunder12345 <stewart@ critar.demon.co.uk>

* Capture The Flag: Class Warfare

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Thunder12345 <stewart@ critar.demon.co.uk>
2021-07-26 15:46:56 +01:00
SkyratBot
c1163dff19 [MIRROR] EVEN MORE HARDDEL FIXES (#7017)
* EVEN MORE HARDDEL FIXES (#60228)

Fixes a ton of harddels, sourced from #59996
I think this brings us down to like, ~100 per round from ~200, with only like 20 of those being proper hell failures. I've seen harddel profiles below 1 second of total cost. Feeling good.

See you on the other side

Makes the cryopod control computer into a weakref, never trust bee code
Converts brig door timer internal lists to weakrefs
Fixes a harddel caused by qdeling a motion sensitive camera after it had left its source area, jesus christ why didn't we do this already holy shit
Converts the radio implant ref held by the antenna mutation to weakrefs because it isn't reliably cleaned up, makes the radio implant actually qdel its fucking radio
Removes the target var from the throwing datum, it does literally nothing and just exists to cause harddels, mostly for the singularity
 Fixes a cable harddel sourced from things that try to enter blueprints after smoothing, but before roundstart. IE, shuttles. Removes shuttles from the blueprints
Fixes emmisive blockers being added post qdel
Removes some manual ghosting from cryopods, I initially did this for harddel reasons, but I figured out a better fix for that. I'm now doing it because it's got this really strange logic for like "re-entering the game" that doesn't actually link to what the ghostize proc does. We should remove this at some point
Fixes robot hud objects harddeling due to hanging refs
Fixes buildmode related hanging refs, I'm coming for you admin team
Fixes a few instances of trying to add the forensics component post qdel, hhhhhhhhhhh
Fixes some split personality harddels/weirdness
Replaces a use of disconnect_duct with an init qdel hint, I suspect there's more issues with duct harddels, I've seen some odd logs about ahhh the area_contents list, but we can worry about that later
Makes teleporter targets into weakrefs, properly types them as /atom
Makes frequency devices into weakrefs
Makes cameras remove themselves from camera nets on Destroy
Makes tgui ui datums implement destroy, this means if I ever see one hang a ref to user or whatever, I know there's an error with calling close() properly. I've seen this harddel once, but not after this change so I assume there was some error with close(). IDK maybe this is a papering over? Would have to ask @ stylemistake
I've seen logs of beartraps being in world post del, putting a return there just in case. The same is true of nerf darts, but I haven't really looked into that yet
Makes a shoe's ref to untying alerts a weakref, yes this is needed.
Moves clearing client_in_contents to the Login of the new mob. This prevents doing things like ghosting someone before a mob qdel causing harddels
Fixes a harddel set sourced from adding a status effect to a qdeleted thing. Is this an error? I'm honestly not sure.
Converts bsa code to weakrefs
Converts the partner var of heat exchangers to weakrefs
Converts camera assemblies to weakrefs
Fixes some dumb behavior with ammo casings and assuming you'll be on a turf post Destroy parent call
Fixes? merger related harddels, you were never cleared from your own members list, so origin objects would end up making a new list, creating harddels. Potential input from @ ninjanomnom about the logic
Chasms store a static list of "falling atoms", which only exists for chasms that go somewhere else. This list wasn't being cleared of qdeleted objects, which is what happens when you fall in most chasms. Fixes this, and converts the list to weakrefs.
Fixes some runtimes in both sheet code, and the weather listener element. This is here because runtime spam made testing more of a pain, didn't think it needed its own pr
Fixes colorful reagent harddels sourced from reagents that were qdel'd before roundstart. I'm only like 50% sure this actually got it, but the issue may have been solved by #60174, so eh
Turns the nuke op antag datum's ref to the war button into a weakref
Fixes some holopad code that was not nulling refs all the time
Converts camera bugs to weakrefs, this was the result of the bug being "reworked" like 6 years back without taking the existing ref clearing into account. Whole item needs a redo, but this'll do for now.
Ensures that the both pulling and pullee refs are cleared on Destroy
The crew monitor held all users in a non clearing list, makes that list a weakref because I hate everything

Oh and I removed all sources of gas_mixture qdeletion, I'm kinda unsure on this since it's not technically supported, but any harddels from it might? indicate something going wrong with like, gas passing logic. I'd like @ MrStonedOne's thoughts, since I trust him to call me an idiot if I'm wrong.

<!-- Please add a short description of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding. -->

## Why it's not good for the game

I crashed sybil like 10 times to get this data, I'm gonna put it to good use. Don't think you're safe sybilites, I'm coming for you.

* EVEN MORE HARDDEL FIXES

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-07-20 12:59:41 +02:00
SkyratBot
064d8de91f [MIRROR] Balloon alert for energy gun swap mode (#6998)
* Balloon alert for energy gun swap mode (#60279)

* Balloon alert for energy gun swap mode

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-07-19 16:49:13 +02:00
SkyratBot
a370161b52 [MIRROR] Improves item's action button updating code (#6969)
* Improves item's action button updating code (#60149)

This PR improves item action button updating code by introducing a proc to update all item's associated action buttons, which simplifies the process and reduces code duplication.

I also fixed a relevant bug where a PDA's action button icon did not properly update upon light toggle because it did not force the button update. Forcing the button update is needed in this case due to how light overlay operates, where the button icon state stays the same, so the code thought updating the action button icon was unnecessary.

* Improves item's action button updating code

* Mirror!

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-19 20:08:13 +12:00
SkyratBot
f79ab4b516 [MIRROR] Fix honkstaff not being affected by antimagic (#6879)
* Fix honkstaff not being affected by antimagic (#60164)

* Fix honkstaff not being affected by antimagic

* Update special.dm

removes a line that doesnt do anything

* Fix honkstaff not being affected by antimagic

Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
2021-07-12 21:49:15 +01:00