Commit Graph

32882 Commits

Author SHA1 Message Date
SkyratBot
7762cf3a6e [MIRROR] My Great Big Fat Heretic Proofreading (#1691)
* My Great Big Fat Heretic Proofreading (#54705)

* My Great Big Fat Heretic Proofreading

Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
2020-11-14 22:22:32 +01:00
SkyratBot
a1e93f452e [MIRROR] Butchering mobs will now drop their embedded objects. (#1689)
* Butchering mobs will now drop their embedded objects. (#54934)

Fixes #54835. Prevents monkeys from taking your embedded throwing spears and ninja stars to the grave.

* Butchering mobs will now drop their embedded objects.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-11-14 22:19:57 +01:00
SkyratBot
11a506fdbf [MIRROR] tgui: Refactor Asset Delivery (#1688)
* tgui: Refactor Asset Delivery

* a

* Update tgui.bundle.js

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-14 22:19:40 +01:00
SkyratBot
c0cdf25886 [MIRROR] Arconomy: Amputating the Invisible Hand of Income. (#1687)
* Arconomy: Amputating the Invisible Hand of Income.

* Update tgui.bundle.js

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-14 21:52:07 +01:00
SkyratBot
9e88359f04 [MIRROR] Re-assesses 99% of vending prices through Arconomics to match player resources and round-length. (#1686)
* Re-assesses 99% of vending prices through Arconomics to match player resources and round-length. (#54715)

* The Re-pricening

* Rewritten and adjusted for paycheck defines.

* I made the map changes finally.

* And the refills too.

* "OH YEAH REPLACING IT ALL WITH DEFINES AND SCALING IT THE EXCEL DOCUMENT WILL BE EASY, ARCANE!!!"

* And the premium ones too.

* Accidently spoiled a future pr due to dme bleedover

* Re-assesses 99% of vending prices through Arconomics to match player resources and round-length.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-11-14 21:49:11 +01:00
SkyratBot
6733d6debb [MIRROR] fixes the flags of some shocks (#1685)
* fixes the flags of some shocks (#54906)

## About The Pull Request

The shocks from the shock touch mutation now ignore insulated gloves, because you're touching your victim's body, not giving them a handshake.

The shocks from punching charged energy fields (special holosigns from emagged cyborgs) now DON'T ignore insulated gloves, because you're literally punching them with your hand.

The shocks from running into charged energy fields now DON'T ignore insulated gloves, to be consistent with things like electrified doors.

The shocks from the on_mob_life() effect of liquid electricity now ignore insulated gloves, like the shocks from the on_mob_life() effect of teslium do (thanks for pointing this out, Angustmeta!).

## Why It's Good For The Game

Logical sense and consistency in what forms of protection shocks check for are good things, I think.

* fixes the flags of some shocks

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
2020-11-14 21:33:12 +01:00
SkyratBot
645209bd8d [MIRROR] Fixes Space Ninja Comms Console Hack Not Working on Occasion (#1684)
* Fixes Space Ninja Comms Console Hack Not Working on Occasion (#54921)

* Fixes Space Ninja Comms Console Hack Not Working on Occasion

Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
2020-11-14 21:32:55 +01:00
SkyratBot
098e1fe440 [MIRROR] Removes unintentional garbleing in a garbled message (#1683)
* Removes unintentional garbleing in a garbled message (#54913)

* Removes unintentional garbleing in a garbled message

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
2020-11-14 21:32:27 +01:00
SkyratBot
d9c2f7a5a4 [MIRROR] Old Medibot should now heal things besides brute (#1682)
* Old Medibot should now heal things besides brute (#54907)

Old medibot had a heal_threshold of 0, so all the heal_threshold checks will always evaluate to TRUE, so the medbots always get stuck in brute healing.

* Old Medibot should now heal things besides brute

Co-authored-by: prodirus <44090982+prodirus@users.noreply.github.com>
2020-11-13 02:08:38 +00:00
Azarak
1ae9add3bf [SEMI-MODULAR] Combat Indicator (#1678)
* aaa

* a
2020-11-12 06:12:25 +00:00
SkyratBot
5adb2790a0 [MIRROR] Spider Rework (#1667)
* Spider Rework

* Update giant_spider.dm

Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-11 18:32:13 +01:00
SkyratBot
e768cef297 [MIRROR] /obj/screen --> /atom/movable/screen (#1646)
* /obj/screen --> /atom/movable/screen

* Update storage.dm

* Update radial.dm

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-11 04:12:50 +01:00
SkyratBot
314041ed3c [MIRROR] Removes yellow slime core plasma reaction, part 2 (#1680)
* Removes yellow slime core plasma reaction, part 2 (#54569)

* Removes yellow slime core plasma reaction, part 2
* Update slime_extracts.dm

* Removes yellow slime core plasma reaction, part 2

Co-authored-by: Gogo9001 <72946484+Gogo9001@users.noreply.github.com>
2020-11-11 02:55:43 +00:00
SkyratBot
bfaa5be1c0 [MIRROR] Pies are now refactored for new foods. (#1677)
* Pies are now refactored for new foods. (#54751)

Moves over pies to the newfood typepaths, as well as the few select pie slices.

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

* Pies are now refactored for new foods.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
2020-11-11 02:55:01 +00:00
SkyratBot
2b8353ed20 [MIRROR] Fixing cult turf overlays not showing under transparent tiles. (#1675)
* Fixing cult turf overlays not showing under transparent tiles. (#54782)

vis_contents always render the turf above other atoms of the same layer

* Fixing cult turf overlays not showing under transparent tiles.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-11 02:53:40 +00:00
SkyratBot
eedf2362cc [MIRROR] Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'. (#1674)
* Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'. (#54665)

The PR aims to allow advanced tool users to be defined by traits rather than a hardcoded proc.
Also necessary for the CanUseTopic refactor I'm working on, which will be PRed separately for atomization purposes.
This PR also fixes an inconsistency with can_hold_items (since monkeys can actually hold items).

* Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-11 02:52:32 +00:00
SkyratBot
0f96939336 [MIRROR] Automatic TGS DMAPI Update (#1672)
* Update TGS DMAPI (#54872)

* Automatic TGS DMAPI Update

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-11-11 02:51:59 +00:00
SkyratBot
263bb50a31 [MIRROR] Makes the old reftracking option compile! (#1671)
* fixes a compile error in reference tracking verbs caused by an improper versioning change (#54877)

* Makes the old reftracking option compile!

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-11-11 02:51:49 +00:00
SkyratBot
186f4bd4c2 [MIRROR] Fixes a few bugs with greyscale stacks. (#1670)
* Fixes a few bugs with greyscale stacks. (#54858)

    Fixes greyscale floor tiles merging regardless of their materials.
    Fixes greyscale floor tiles voiding materials when splitting the stack.
    Fixes greyscale floor tile stacks being created with no mats_per_unit and only enough custom materials for a single unit.
    Fixes greyscale tile flooring being created with the wrong amount of materials.
    Fixes greyscale tile flooring not producing floor tiles/producing floor tiles with 0 units.

* Fixes a few bugs with greyscale stacks.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-11-11 02:51:23 +00:00
SkyratBot
43e821c474 [MIRROR] Cell chargers now respect the law of conservation of energy. (#1668)
* Cell chargers now respect the law of conservation of energy. (#54886)

## About The Pull Request

Hopefully I can make this PR as knowledge filled as possible, so sit down and buckle up, because we're about to talk about POWER USE.

So, machines use power. The station uses power. Without power, key, critical aspects of the game don't function, and keeping the station's lifeblood pumped with electricity is the primary goal of the engineering department. Cool. So there's currently 2 methods of "power use" that machines can use, that is, through the passive use of power (Assigned by the `idle_power_usage` and `active_power_usage` variables), or through the `use_power()` proc. What's interesting, is that neither proc actually draws directly from the cell of the APC, which is sort of assumed by a proc called `use_power()`, after all. Where the passive power draw aspect of an APC is done automatically as machines are processed, and then applied to the APC seperately, taking power per cycle, use_power just applies a temporary blip of power usage to one of the APC's power tracks (Equipment, Lighting, or Enviroment). One would assume then that this temporary power drain would apply for long enough that it would apply the intended cost to the cell, and then turn off.

But I'm making this PR, right?

So the most egregious issue this brings is in terms of the cell recharger. If you place a power cell into a cell recharger, the recharger calls use_power every processing tick in order to reduce the APC cell by an equivalent amount to what the cell is intending to gain in charge. After all, you're just moving the charge from the APC to the power cell, plus the processing charge required by the cell_charger. However, lets look a bit closer at how use_power actually works. For this example we'll use a default, unupgraded cell recharger attempting to put it's default 250 watts into an empty bluespace cell.
Because power is heavily linked to the area that the machinery is placed in, we snag the area, determine the power channel, and call a use power proc on the area. The area use power proc simply adds that 250 watts, or rather joules into the equipment power channel of the APC, a part of power usage. All of this is parroted over to the APC's processing side, where the actual cost to the power cell is calcualted as follows:
`var/cellused = min(cell.charge, GLOB.CELLRATE * lastused_total)	// clamp deduction to a max, amount left in cell
		cell.use(cellused)`
So that number, the 250 joules of power we're calling to the cell, is actually being multiplied by a global cellrate, which is applied to every power drain on the station, actually charging the APC cell a total of 0.5 kj.
Based on some rumentary math and some experimentation, I filled a full bluespace power cell with 40Mj of power using 351 Kj of power from a standard, stock APC cell with no other drain except the 5 joules of power draw from the cell recharger.

So: What does this mean?

- Power draw is completely fucking busted (We knew this).
- Using two power cells, an APC, and an inducer, you can create infinite energy, anywhere, at zero cost to the station.
- We really need to make cell recharging a direct power draw.

Thankfully, that last one actually fits the portfolio of being a fix!
This adds a new proc to machines called `directly_use_power`. It does what it says on the tin, directly charges the APC for instances where power is going 1-1 from a power cell to another cell, in order to prevent infinite energy exploits.

## Why It's Good For The Game

Power is all kinds of unbalanced. Attempting to enforce the concept that a single unit of power is equal to itself is probably a good step in the right direction and in all likelyhood appears to have been the original intent with cell chargers in the first place.

I'm self-aware enough to see that this has ramifications beyond just fixing an issue within the cell charger alone, so if maintainers want to close this until december that's perfectly fine, but this is one of those things that could really easily snap basic station balance in twain.

* Cell chargers now respect the law of conservation of energy.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-11-11 02:51:11 +00:00
SkyratBot
176a45b280 [MIRROR] Fixes mob_holders not going into storage (#1669)
* Fixes mob_holders not going into storage (#54837)

#53305 made it so clothing objects without an icon_state on initialize were given ABSTRACT flags.

unfortunately for mob_holder objs, they gained their icon after that step of initialization.

this PR just moves the parent call to after the icon_state is updated, preventing them from incorrectly gaining the abstract flag.

Fixes #53872

* Fixes mob_holders not going into storage

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2020-11-11 02:51:01 +00:00
SkyratBot
334b75472c [MIRROR] Fixing armsy del ref issue and invincibility (#1663)
* Fixing armsy del ref issue and invincibility (#54879)

On the second iteration of the for/var loop found on `Initialize()` the `front` variable of the second link of the armsy worm (the one just before the head) is set to `null` because `next` is also `null`. That said, the second link will fail to soft delete because it's still referenced in the `back` variable of the first link since the `front.back = null` line on `Destroy()` can't reached.

Also the code was formulated in a byzantine way.

* Fixing armsy del ref issue and invincibility

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-11 02:49:38 +00:00
SkyratBot
7f07420a40 [MIRROR] removes duplicate flyperson organ assignments (#1661)
* Removes duplicate flyperson organ assignments (#54897)

mutantliver and mutantstomach were set twice for the flyperson race; this is no longer the case.

Also, I moved the place where mutanttongue is set for the flyperson race down to where the other mutant organ variables are set for them.

* removes duplicate flyperson organ assignments

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
2020-11-11 02:49:25 +00:00
SkyratBot
63a78950cd [MIRROR] Borgs synced to an AI using Doomsday will have their lights force-set to red and enabled to at least level 1 (#1659)
* Borgs synced to an AI using Doomsday will have their lights force-set to red and enabled to at least level 1 (#54677)

* Borgs synced to an AI using Doomsday will have their lights force-set to red and enabled to at least level 1

Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
2020-11-11 02:47:11 +00:00
SkyratBot
8db24d79e6 [MIRROR] Fix royal alien pixel offset, change getter to variable (#1641)
* Fix royal alien pixel offset, change getter to variable (#54706)

Fixed a bug where royal aliens would have their base pixel offset applied twice, making them off-center (https://i.imgur.com/BtspaM0.png)

Changed the mob/living procs get_standard_pixel_x_offset() and get_standard_pixel_y_offset() to variables (body_position_pixel_x_offset and body_position_pixel_y_offset), to match the contribution guidelines.

Also corrected a few random things that weren't using base pixels but should have been.

* Fix royal alien pixel offset, change getter to variable

* Update pixel_shift.dm

Co-authored-by: Yenwodyah <yenwodyah@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-11 02:47:05 +00:00
SkyratBot
2ff5f9b259 [MIRROR] Move death(), gib(), and dust() from /mob to /mob/living (#1634)
* Move death(), gib(), and dust() from /mob to /mob/living

* a

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-10 22:01:47 +01:00
ShadeAware
179f7a25e0 [Modular] Robotics Clothing update (#1617)
* Yay, robotics clothing

* Update modular_skyrat/modules/roboclothes/code/clothing/robotics_clothing.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-11-09 20:20:01 +00:00
SkyratBot
0441b967de [MIRROR] Self-CPR fix. (#1657)
* Self-CPR fix. (#54802)

* Self-CPR fix.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-09 20:19:19 +00:00
SkyratBot
0fde7bb93e [MIRROR] Construction icon states for multiz disposals and another peeve. (#1655)
* Construction icon states for multiz disposals and another peeve. (#54861)

Title. Also added handle_atom_del to disposal machines/pipes in the case the stored construction part is somehow deleted.

* Construction icon states for multiz disposals and another peeve.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-09 20:18:41 +00:00
SkyratBot
8894ac50fb [MIRROR] Grep for proc(var/bad) (#1652)
* Grep for proc(var/bad) (#54848)

* Grep for proc(var/bad)

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-11-09 20:17:31 +00:00
SkyratBot
966616f023 [MIRROR] Luminescent eyes no longer toggle back on with movement. Colour switching keeps light on. (#1649)
* Luminescent eyes no longer toggle back on with movement. Colour switching keeps light on. (#54873)

* Luminescent eyes no longer toggle back on with movement. Colour switching keeps light on.

Co-authored-by: prodirus <44090982+prodirus@users.noreply.github.com>
2020-11-09 20:15:11 +00:00
SkyratBot
9fc23fdc93 [MIRROR] Space Ninja Fixes (#1648)
* Space Ninja Fixes (#54865)

* Space Ninja Fixes

Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
2020-11-09 20:14:32 +00:00
SkyratBot
13c953e150 [MIRROR] The clown PDA now has in-built comedy detection for when something happens to the clown and plays a fitting sound. (#1644)
* The clown PDA now has in-built comedy detection for when something happens to the clown and plays a fitting sound. (#54695)

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

* The clown PDA now has in-built comedy detection for when something happens to the clown and plays a fitting sound.

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
2020-11-09 20:13:41 +00:00
SkyratBot
19683ec00c [MIRROR] Rearranges and adds user check to ghost spawners. (#1643)
* Rearranges and adds user check to ghost spawners. (#54684)

* Rearranges and adds user check to ghost spawners.

Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
2020-11-09 20:13:14 +00:00
SkyratBot
ca026b9f08 [MIRROR] Observing now broadcasts to deadchat (#1642)
* Observing now broadcasts to deadchat (#54673)

* Observing now broadcasts to deadchat

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-11-09 20:12:47 +00:00
SkyratBot
1d3c2a7274 [MIRROR] Reactive table teleport armor uses teleport instead of forcemove (#1638)
* Reactive table teleport armor uses teleport instead of forcemove (#54838)

* Reactive table teleport armor uses teleport instead of forcemove

Co-authored-by: tattlemothe <66640614+dragomagol@users.noreply.github.com>
2020-11-09 20:10:52 +00:00
SkyratBot
6b1da44c8a [MIRROR] Mob stays vertical while in cryo (#1639)
* Mob stays vertical while in cryo (#54800)

Currently, mobs in cryo will turn horizontal in the cryotube when they fall unconscious. This should stop that.

* Mob stays vertical while in cryo

Co-authored-by: prodirus <44090982+prodirus@users.noreply.github.com>
2020-11-09 08:42:53 +00:00
SkyratBot
ec75a270eb [MIRROR] PR about an old ghastly ref issue. (#1630)
* Fixing an old ghastly reference issue. (#54820)

* PR about an old ghastly ref issue.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-08 19:30:01 +00:00
SkyratBot
46f9ef7cc6 [MIRROR] Fix TRAIT_PERFECT_ATTACKER (#1636)
* Fix randomness in combat test (#54874)

* Fix TRAIT_PERFECT_ATTACKER

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-11-08 19:29:36 +00:00
SkyratBot
2dbcb39458 [MIRROR] Handful of minor text fixes (#1622)
* Handful of minor text fixes #54774

Space Dragons used a visible_message when the user renamed themselves, and touch spells messaged the wrong person about disappearing when destroyed. This PR fixes those two issues.

Edit: Also fixes an extra space in bodies slamming into bodies and admin edited shuttle timers showing the wrong value (setting the timer to 30 seconds would show 3 seconds, 300 would show 30, etc)

* Handful of minor text fixes

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-11-08 05:00:41 +00:00
SkyratBot
665a7d3673 [MIRROR] Easier Medipen Identification, Medipen Box (#1619)
* Easier Medipen Identification, Medipen Box (#54698)

* Medipen Differences

Adds a box for medipens, and gives each of the "common" pens a new look.

* Adds medipen box to craftables.

* Lighter first aid pen.

* Easier Medipen Identification, Medipen Box

Co-authored-by: Winter Flare <7543955+Owai-Seek@users.noreply.github.com>
2020-11-08 01:06:21 +00:00
Gandalf
6d40c65920 Energy gun rebalance [Semi-Modular] (#1346)
* lguns

* aaa

* Update laser.dm
2020-11-07 22:33:42 +00:00
SkyratBot
3fba2ab57b [MIRROR] Syndrones no longer have references to eating weaker drones for health. (#1612)
* Syndrones no longer have references to eating weaker drones for health. (#54744)

Turns out that syndrones had an issue in 2 parts.
Previously they had a feature where they spawned with 30 health, and then if they found another drone, they would heal several points to health to get to their maximum of 120 points. However, due to an issue, they were spawning with 120 health regardless, and since they could just screwdriver themselves to full anyway, there wasn't any mechanical backing on that feature, and it was removed at some point.
In addition, when you rejoin as a syndrone if you went offline, you still got a line about being able to eat other drones for health.

The drone vore line has been removed, and their health has been set to 120 as is expected from them in modern balance.

* Syndrones no longer have references to eating weaker drones for health.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-11-07 22:05:37 +00:00
SkyratBot
8d7193f43e [MIRROR] Fix pai emitter regen rate that was incorrectly modified by delta_time changes. (#1607)
* Fix pai emitter regen rate that was incorrectly modified by delta_time changes. (#54764)

Personal AI emitters now regenerate at their properly intended speed instead of 1/10th of that speed.

Feex coding oversight from delta_time changes, restore previous behaviour with delta_time support.

Old behaviour - 0.25 regen 5 times per second for 1.25 per second.

delta_time PR behaviour - 0.125 regen multiplied by delta_time value of 0.2 per processing tick, intended to be run 5 times per second, for 0.125 regen per second.

Fixed behaviour - 1.25 regen multiplied by delta_time value of 0.2 per processing tick, intended to be run 5 times per second, for 1.25 per second.

* Fix pai emitter regen rate that was incorrectly modified by delta_time changes.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-11-07 22:04:05 +00:00
SkyratBot
6a915d7ccc [MIRROR] [READY] Space Ninja Rework (#1611)
* [READY] Space Ninja Rework (#53492)

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Revert "Automatic changelog compile [ci skip]"

This reverts commit 48a63defa644ec9826ee5eb1736e5158d2a636d4.

* Revert "Automatic changelog compile [ci skip]"

This reverts commit cb68f4988edd9d841c4203eecee2067a49ce75c5.

* Revert "Revert "Automatic changelog compile [ci skip]""

This reverts commit e6e1f1ef53ee6611c334efcae6ca7c102edaf351.

* Revert "Revert "Automatic changelog compile [ci skip]""

This reverts commit 1782210527b9819772c0781122bec35b7979bf7d.

* Update changelog.html

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Move suit_initialization into better location

* Clean up cost check

* Clean up net using

* Clean up Ninja Star

* Clean Up Ninja Stealth

* Clean Up Sword Recall

* Move the event file

* Re-Merge the Changes

* Get your ninja code out of my human.dm

* Move the event into events folder and clean it up

* Can the old space ninja antagonist file

* Roll in the shiny new bad boy

* Get rid of actions/ninja.dm and move its info into respective ability files

* Update one_click_antag with new ninja

* Move proc out of ninja code into proper location

* Update the dme properly this time

* Update code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm

Co-authored-by: Fikou <piotrbryla@ onet.pl>

* Update code/modules/ninja/suit/gloves.dm

Co-authored-by: Fikou <piotrbryla@ onet.pl>

* Update the antagonist file

* Update ninjaDrainAct

* Re-Add MGS Voice Lines

* Up the Katana Damage Back Up to 30

* Attempting a Risky Manuever

* Adjusting some numbers to fit the delta time PR

* Fix Var Names and do a return ..()

* Remove Unused Defines, Update qdels to QDEL_NULLs

* Update code/modules/antagonists/space_ninja/space_ninja.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/modules/antagonists/space_ninja/space_ninja.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/modules/events/space_ninja.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/modules/ninja/energy_katana.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/modules/ninja/ninja_explosive.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Remove Unnecessary Condition Checks

* I'll show you what A stands for!

* Turn some things into defines

* Remove is_ninja()

* Gives the SN roles on Antag Gain, not on event spawn

* Clean up mind/key code to be efficient and modern

* Have Deactivated Suit Gloves use default black sprite

* Add the new clothing sprites

* Add new inventory sprites for alternate sprites

* Get Rid of These Again

* Re-add suit changes

* Implement all the suggestions for the antag file

* And then everything else

* Updating the Weight for purpose of testmerge

* Balance Updates

* Update the Objective Definitions

* Remove Now Unreachable Cyborg Interaction Code

* Get That Shit Out of My Forest

* Re-Add Cowl Wearing Sprite

* Re-Add Cowl Inventory Sprite

* Adapt to the new thing?.thing changes

* Re-add New Katana Inhand Sprites

* Re-Add glove's shock but have it do knockdown instead

* Get rid of the these stupid changelog changes

* Update sounds

* Re-add New Mask Sprite

* Re-update katana inventory sprite

* Revert Event Weight

* Update code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>

* Re-Add Dynamic Ninja

* Revert Changelog thing

* Update Mob Sprites

* Add files via upload

Co-authored-by: Changelogs <action@ github.com>
Co-authored-by: Fikou <piotrbryla@ onet.pl>
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>

* [READY] Space Ninja Rework

Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Changelogs <action@ github.com>
Co-authored-by: Fikou <piotrbryla@ onet.pl>
Co-authored-by: Rohesie <rohesie@ gmail.com>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
2020-11-07 15:43:32 +00:00
SkyratBot
4df9bf0979 [MIRROR] Speargun: Now actually a gun! Again! (#1610)
* Speargun: Now actually a gun! Again! (#54289)

Turns the speargun from the syndikit bundle into a bolt action rifle instead of a pnuematic cannon.

The spears the rifle fires embeds using the new bullet embedding system by Ryll. The spears do a lot of fucking damage.

The new bundle includes:

The Ballistic Harpoon Gun

The weapon is a single shot rifle that can be loaded with harpoons. The rifle, being bolt action, requires pulling back the bolt, loading the new harpoon, then locking the bolt every time you wish to fire the weapon. This is more busy work than the pnuematic cannon version, but more reliable in functionality without any messy business with throwing.

The harpoons do 60 force, have a high wound chance against unarmored targets and very high embed chance, with a 100% against unarmored targets. They also have considerable armor piercing at 50, letting you nearly entirely shoot through a ballistic vest.

The weapon is essentially a powered-up single shot mosin or a significantly more powerful improvised shotgun filled with slugs.

The Quiver

Now a bag that goes on your belt. It holds up to 40 harpoons for your harpoon gun. This change was done because the harpoons cannot be retrieved, unlike the magspears, which were simply hacky ninja stars and could be pulled out with surgical tools/wirecutters. Previously you had 20 magspears, which because of their retrievable nature lasted a little longer than you would expect.

Sprites

New back sprites for the harpoon gun, ensuring nobody is missing it when you have it. Additionally, the Mosin Nagant now has it's back sprite as a suit storage sprite.

New sprite for the quiver.

* Speargun: Now actually a gun! Again!

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2020-11-07 15:43:22 +00:00
SkyratBot
a608adb52e [MIRROR] Cleans up try_eject proc prototype and various proc usages to fix some runtimes (#1609)
* Feex (#54716)

[09:18:04] Runtime in card_slot.dm, line 72: Cannot execute 1.put in hands().

Usage of the try_eject proc is an eclectic mix of unimplemented behaviour and incorrect argument order, with behaviour that can cause runtimes.

Prototype for the try_eject proc wasn't even implemented properly by children. Nothing implemented it used the slots arg, so I modified the base prototype. Cleaned up various proc calls. Should no longer have incorrect arg-based runtimes.

* Cleans up try_eject proc prototype and various proc usages to fix some runtimes

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-11-07 15:43:03 +00:00
SkyratBot
26a0de3477 [MIRROR] BotKeeper (tablet app) list populates based on bot unlock access (#1608)
* BotKeeper (tablet app) list populates based on bot unlock access (#54730)

Anyone can now download BotKeeper. Only bots your current ID can unlock will be listed to control. Stylised Botkeeper as BotKeeper because it looks better.

* BotKeeper (tablet app) list populates based on bot unlock access

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2020-11-07 15:42:39 +00:00
SkyratBot
2ae7555c53 [MIRROR] Tweaks Floorbot pathfinding to prevent dogpiles and help prevent duplicate tile placements. (#1605)
* Tweaks Floorbot pathfinding to prevent dogpiles and help prevent duplicate tile placements. (#54786)

This pr adjusts floorbots behaviors in order to attempt to fix any of the following issues:
#54159, #54196, #37421.
More or less the issue appears to have been that floorbots would place floor platings on top of where another floorbot would already be repairing a tile, and since they don't check for each other's work, they were stacking floor turfs ontop of each other, creating either A: Infinite piles of floor tiles, or B: Multiple floor tiles stacked on top of each other. The former I think may have been fixed in the previous changes to how shuttlecode turfs were stacking on-top of each other, but the multiple stacks of floor tiles overlaying was not resolved.

This adds a check to the beginning of floorbots repair proc which determines if another floorbot is there and repairing the turf already. If so, it begins to ignore the turf until it is reset next, which it tends to go over the course of a single job. This helps split up and divide multiple floorbots working on the same tile at a time, in order to prevent infinite floorstacks.

If 2 floorbots are on the same tile and conflicting, then a little whistle effect will play to indicate that they're moving to a new worksite.

* Tweaks Floorbot pathfinding to prevent dogpiles and help prevent duplicate tile placements.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-11-07 15:21:23 +00:00
SkyratBot
4af1148b13 [MIRROR] Non-human mobs can now benefit from held id cards and economy. (#1603)
* Non-human mobs can now benefit from held id cards and economy. (#54647)

* Non-human mobs can now benefit from held id cards and economy.

* Moved these getters toward the upper end.

* oui?
...
dump eet.

* .tee pump
      ...
     ?iuo

* Non-human mobs can now benefit from held id cards and economy.

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-11-07 05:08:36 +00:00