Commit Graph

101 Commits

Author SHA1 Message Date
SkyratBot
ff1ed23942 [MIRROR] Fix connect_loc not reconnecting turf changes (#5040)
* Fixes connect_loc not reconnecting turf changes (#58507)

* Fix connect_loc not reconnecting turf changes

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-04-20 16:28:25 +01:00
SkyratBot
c0a0c8055c Fixes edge cases revolving who can strip and who can't (#58445) (#4946)
Fixes all simple mobs being able to strip, as well as being able to strip when your hands are blocked (e.g. cuffed).

Fixes #58260.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-04-16 13:25:55 +02:00
SkyratBot
7e00730859 [MIRROR] Some more harddel fixes (#4836)
* Some more harddel fixes (#58305)

* Some more harddel fixes

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-04-12 04:42:55 +01:00
SkyratBot
f5478b7dce [MIRROR] Allows the connect_loc element to have a listener different from the tracked object (#4818)
* Allows the connect_loc element to have a listener different from the tracked object (#58276)

* Allows the connect_loc element to have a listener different from the tracked object

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-04-11 03:51:14 +01:00
SkyratBot
37a04ef096 [MIRROR] Remove Uncross() and CheckExit(), add connect_loc element to cover the cases we used it for (#4756)
* Remove Uncross() and CheckExit(), add connect_loc element to cover the cases we used it for (#58188)

* Remove Uncross(), add create_loc element

* Update on ChangeTurf

* Explicit return

* Hold onto elements and remove TEST_FOCUS

* Remove UNIT_TESTS compile flag

* Follow my own advice.

* Comment about Uncross + CRASH

* Remove /atom/Exit ..()

* Apply suggestions from code review

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>

* Use keyed locs

* Re-add Bump()

* Superfluous check

* Correct change turf signal, remove old continue check

* Fix compile failure

* Fix tests

* Don't create element for fulltile windows

* Correctly unregister old location

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>

* Fixed (?)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-04-11 02:34:12 +02:00
SkyratBot
7e45890f63 Fix connect_loc runtiming when connecting to the same turf. (#4799)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-04-10 20:23:00 +01:00
SkyratBot
62cf66483a [MIRROR] Xenomorphs can now strip humans again, create granular tgui state compositors (#4498)
* Xenomorphs can now strip humans again (#58007)

* Xenomorphs can now strip humans again, create granular tgui state compositors

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-29 13:29:39 +01:00
SkyratBot
a3f6a41ee9 [MIRROR] Ref Tracking: Revengance (#4413)
* Ref Tracking: Revengance (#57728)

* Ref Tracking: Revengance

Fixes reference tracking ignoring self references due to a poorly thought out tick checking system.
Fixes reference tracking ignoring the contents of assoc lists
Makes the reference tracking printouts actually describe what list the ref is in, rather then just saying "list"

Adds REFERENCE_TRACKING_DEBUG, a define which toggles tracking info for the ref tracking procs, which allows for
oversight on how the proc is working

Allows for direct calls of qdel_and_find_ref_if_fail(), makes it use ref rather then REF(), fixing it breaking
for mobs. (Ditto for the qdel hint which does the same thing)

Moves REAGENTS_TESTING out of the reftracking define block
Makes unit tests define REFERENCE_TRACKING, REFERENCE_TRACKING_DEBUG, and FIND_REF_NO_CHECK_TICK

Adds a unit test that sanity checks the reference finder proc

* Ref Tracking: Revengance

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-03-26 10:30:59 +00:00
SkyratBot
70f4b22b18 [MIRROR] Thermomachine rework (#4324)
* Thermomachine rework

* Create gun_hud_component.dm

* Update gun_hud_component.dm

* Revert "Update gun_hud_component.dm"

This reverts commit 50afb747c3a3c6935d5ae121d13475fd0503dd7a.

* Revert "Create gun_hud_component.dm"

This reverts commit bd5da24bc9bcb62afe074456c7fbb7a5a0ff648f.

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-03-24 15:52:14 +00:00
SkyratBot
5764f24f98 [MIRROR] Departmental officers are now put together, rather than separate, if possible (#4285)
* Departmental officers are now put together, rather than separate, if possible (#57685)

Security officers will now be paired up together in the same department, across departments. This means that, instead of 4 officers being split across 4 departments, there'll now be 2 groups of 2.

Late-join officers will be put into any department with only 1 officer. If none exist, the least populous department will be chosen, with their preference having priority.

Updates the maps to have more spawns for departmental officers. Delta previously had none, and now has some. Fixed a bug where MetaStation's security departmental officer was a supply one instead.

Removes the "random" departmental preference. All security officers are now given a department. The "none" preference still exists, but just to show that you don't care which department you're put into.

Updates the config to comment out SEC_START_BRIG. This is what the configuration was already on live servers.

This is something that should likely be test merged, but it mucks with savefiles. Luckily, the only damage it does is changing random departments to none, so if a TM is reverted, only that will have to be changed.

* Departmental officers are now put together, rather than separate, if possible

* Update preferences.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-03-21 23:12:41 +00:00
SkyratBot
ad1b0c37e9 [MIRROR] Makes gas actually dissipate (#4110)
* Makes gas actually dissipate (#57634)

* Raises the quantize threshold from 1E-7 to 1E-4.

This makes gas dissipate as expected, and should help with the amount of useless gas floating around the station
at highpop

Adds a garbage_collect() call to the portion of pipeline code where all gasmixes are in one place, this should
clean things up properly.

Changes BREATH_VOLUME from 2 to 1.99. This is imperative
Documents a FUCKING HELLBUG in quantize/breathcode that can lead to breaths just not working sometimes. I'm not
sure how to fix this totally, so I'll document it and pray.
See <https://www.desmos.com/calculator/5icdlnktus>
Adds a unit test to check for this sort of failure.

Addendum for people tweaking this value in the future.
Because o2 tank release values/human o2 requirements are very strictly set to the same pressure, small errors
can cause breakage
This comes from QUANTIZE being used in /datum/gas_mixture.remove(), forming a slight sawtooth pattern of the
added/removed gas, centered on the actual pressure
Changing BREATH_VOLUME can set us on the lower half of this sawtooth, making humans unable to breath at standard
pressure.
There's no good way I can come up with to hardcode a fix for this. So if you're going to change this variable
graph the functions that describe how it is used/how it interacts with breath code, and pick something on the
upper half of the sawtooth
NOTE: I've made this change with a focus on o2 requirements. Changing this will effect other settings, but most
all of them can be ignored, as none will notice.

* Thank you moth man

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

* Docs the purpose of the breath unit test, and better explains partial pressure

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

* Makes gas actually dissipate

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-03-13 14:33:27 +00:00
SkyratBot
413b6bf1b4 [MIRROR] Fix 2.4 damage test bug, with proof (#4017)
* Fix 2.4 damage test bug, with proof (#57560)

I tracked down every source of damage, and just ran the test 100 times until it failed.

It was shrapnel.

I made the victim pierce immune, meaning they'll never take embeds.

* Fix 2.4 damage test bug, with proof

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-09 17:31:24 +00:00
SkyratBot
71efaf0d7a [MIRROR] Put unit tests in a box, fixes sporradic gun test failure (#3896)
* Put unit tests in a box, fixes sporradic gun test failure (#57408)

* Initial commit

* Fix removing old objects

* Remove define

* TGM

* Put unit tests in a box, fixes sporradic gun test failure

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-05 14:06:09 +00:00
Azarak
ac89749ff4 Fixes gun go bang integration test (#3851)
* Update projectiles.dm

* Update projectiles.dm
2021-03-04 12:40:13 +00:00
SkyratBot
1a7cb09623 [MIRROR] Fixes runtimes from firing projectiles, adds unit test for firing guns (#3828)
* Fixes runtimes from firing projectiles, adds unit test for firing guns (#57345)

* Fixes runtimes from firing projectiles, adds unit test for firing guns

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-03-04 01:02:50 +00:00
SkyratBot
4032c73891 [MIRROR] Fermichem 2.4 - C2 medicine recipe adaptations and atunements to the new mechanics (#3701)
* Fermichem 2.4 - C2 medicine recipe adaptations and atunements to the new mechanics

* Update human_defense.dm

Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-28 15:21:34 +00:00
SkyratBot
098b4074e0 [MIRROR] Adds unit test for spawned food edibility (#3704)
* Adds unit test for spawned food edibility (#57232)

* Adds unit test for spawned food having reagents

- Adds stack trace for biting food failing due to a lack of reagents
- Adds checks for seed var being set under food/grown's initialize() in grown.dm
- Fixes issue with gondola meat code duplicated for penguin meat slabs resulting in a runtime and being unable to slice penguin meat
- Adds seeds for bombananas

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

* Adds unit test for spawned food edibility

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-02-28 12:23:56 +00:00
SkyratBot
eb765f958a [MIRROR] Crafting menu tells you which colour of crayon is needed (#3519)
* Crafting menu tells you which colour of crayon is needed (#56950)

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

* Crafting menu tells you which colour of crayon is needed

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-02-19 23:15:11 +00:00
SkyratBot
da71129f87 [MIRROR] Fermichem part 2.1: Adds a reaction/reagent lookup GUI! (#3513)
* Fermichem part 2.1: Adds a reaction/reagent lookup GUI!

* Update chem_dispenser.dm

* Update reagents.dm

Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-02-19 23:14:45 +00:00
SkyratBot
d0dc199815 [MIRROR] /mob/living/proc/Life(delta_time) (#3509)
* /mob/living/proc/Life(delta_time)

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:55:52 +00:00
SkyratBot
3b85cf1430 [MIRROR] Addiction rework (#3445)
* Addiction rework

* a

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-17 14:26:44 +00:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
495b35a679 [MIRROR] Converts all uses of modifiers to lazy access to avoid memes in future (#3331)
* Converts all uses of modifiers to lazy access to avoid memes in future

* Update work_tools.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
2021-02-13 11:06:39 +00:00
SkyratBot
b43845d267 [MIRROR] Syringe toggle has been replaced with left-click to inject, right-click to draw. You can also now change transfer amount. (#3345)
* Syringe toggle has been replaced with left-click to inject, right-click to draw. You can also now change transfer amount. (#56865)

* Syringe toggle has been replaced with left-click to inject, right-click to draw. You can also now change transfer amount.

Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-13 10:13:50 +00:00
SkyratBot
8007eb1578 [MIRROR] Refactors sharpness to use a bitfield (#3301)
* Refactors sharpness to use a bitfield (#56817)

Refactors sharpness to use bitfield instead of bitflags in case someone wants to add more types of sharp things, or unique behaviour with them

* Refactors sharpness to use a bitfield

* Update bullets.dm

Co-authored-by: Sparkezel <53384660+Sparkezel@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-11 23:57:06 +00:00
Tom
167584ee95 [SEMI-MODULAR] Adds catnip & felinid race drink (#3267)
* yes yes

* updates plantgrowth test

* comment
2021-02-11 23:52:38 +00:00
SkyratBot
cc9ef500c7 [MIRROR] repaths plasteel tiles to iron (#3155)
* repaths plasteel tiles to iron

* Update robot_modules.dm

* a

* fuck me

Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-08 23:29:36 +00:00
SkyratBot
389b366c84 [MIRROR] Unit tests harvesting plants from hydroponics trays (#3093)
* Unit tests harvesting plants from hydroponics trays (#56335)

* Unit tests harvesting plants from hydroponics trays

* Merge branch 'master' into upstream-merge-56335

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-05 21:17:59 +00:00
SkyratBot
e890b1282b [MIRROR] Replaces intents with combat mode (#3063)
* Replaces intents with combat mode

* updates

* a

* Update living_defense.dm

* https://github.com/tgstation/tgstation/pull/56638/files

* gunsafety!

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-05 16:58:16 +01:00
SkyratBot
528c8b4659 [MIRROR] Dynamic 2021 (#3070)
* Dynamic 2021 (#56221)

About The Pull Request

Dynamic 2021, among much other things, splits the threat level into two separate budgets, one for round start and one for midround/latejoin. You can read the design doc, plus methodology and charts here: https://hackmd.io/@ tgstation/S1C4dYJkO.

To server owners: this is incompatible with current dynamic.json configurations. This is not just because some fields have different values now, but because the older values are not balanced towards this system.

Inidividual list of changes (as I remember them):

    Threat level is now split into two separate budgets, one for round start and one for midround/latejoin.
    In TESTING, you can now run dynamic simulations to see the roundstart picks.
    antag_cap is now based on an equation rather than a fixed list of antags per indice--the old system is not scalable. You can now pass it either a number for a fixed constant, or a list with "denominator" and an optional "offset" to fit the equation ceil(x / denominator) + offset, with x being population.
    Midround/latejoin timers are now vars on /datum/game_mode/dynamic itself, and thus can be configured by head admins per server.
    Removes some older, as far as I can tell completely unused admin tools relating to dynamic.
    autotraitor_cooldown is now properly respected from config, and is based on an exact time rather than on ticks (450 used to be 15 minutes, now it's just 15 MINUTES).
    The rulesets dynamic chooses are now in a dynamic.json file in round logs. Relies on tgstation/tgstation13.org#64 to be public.
    Adds more logging to the autotraitor ruleset for admins.
    Midround/latejoin chance modifiers are now configurable.

Labelled "Do Not Merge", as the design doc outlines the specific playtesting schedule I would like to perform.

    Note to self: Remove the custom MOTD before merge.

Why It's Good For The Game

(Copied from design doc)

Dynamic currently dumps as much threat as it can into round start threats. This means that rounds at ~50 threat can have an absurd amount of antagonists round start, while leaving very little threat for midround/latejoin antagonists. What inevitably happens is just one of those picked decides to murderbone, leading to the inevitable 20 minute shuttle call. Furthermore, once those antagonists are dead, Dynamic doesn’t have any threat left to spend on new antagonists that keep the round flowing, promoting the mentality of “antags dead, I’m bored, let’s leave”.

The proposed solution of Dynamic 2021 is to split threat level into two separate budgets, one for round start and one for midround/latejoin. This split, like threat level, will also be done on a lorentz curve–meaning that while most rounds will have them evenly split, there is still the possibility of chaotic high antagonist round start rounds, or the possibility of a midround onslaught.

* Dynamic 2021

Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-04 16:08:32 +00:00
SkyratBot
0d687afc93 [MIRROR] Reverts the recent config changes (#3039)
* Reverts the recent config changes

* aaa

* a

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-03 14:53:43 +00:00
SkyratBot
51bb9fb188 [MIRROR] Adds configuration consistency tests (#3036)
* Adds configuration consistency tests (#56562)

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

* Adds configuration consistency tests

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>
2021-02-03 14:24:16 +00:00
Azarak
311089f611 [WIP] Combat rework - less lethality, less hardstuns, nonlethal takedowns. Focus on combat ineffectivity (#1285)
* woo

* ye

* base done

* some stuff

* weh

* bang bang

* Update carbon_defense.dm

* stuff

* Update stunbaton.dm

* flash

* Update carbon.dm

* weh

* weh

* Update stun.dm

* weh

* Update combat.dm

* a

* aaa

* a

* aaaa

* aa

* hh

* h

* Update combat.dm

* a

* Update other_reagents.dm

* a

* Update pie.dm

* Update combat.dm

* Update pie.dm

* Update combat.dm

* Update combat.dm

* Update combat.dm

* aaa

* aaa

* a

* aaa

* Update combat.dm

* Update combat.dm

* aa

* aaa

* Update carbon_defense.dm

* Update living.dm

* aaa

* Update combat.dm

* aaaa

* Update combat.dm

* aaaa

* Update combat.dm

* Update cat2_medicine_reagents.dm

* Update combat.dm

* Update misc.dm

* Update misc.dm

* Update misc.dm

* Update door.dm

* a

* Update life.dm

* aaa

* aaa

* Update code/_onclick/item_attack.dm

* Update code/game/machinery/doors/airlock.dm

* Update code/game/machinery/doors/door.dm

* Update code/game/machinery/doors/door.dm

* Update code/game/objects/items/grenades/flashbang.dm

* Update modular_skyrat/master_files/code/modules/mob/living/carbon/carbon_say.dm

* Update modular_skyrat/modules/blueshield/code/game/objects/items/melee/misc.dm

* Update modular_skyrat/modules/blueshield/code/game/objects/items/melee/misc.dm

* Update modular_skyrat/modules/blueshield/code/game/objects/items/melee/misc.dm

* Update code/modules/surgery/bodyparts/parts.dm

* Update code/game/objects/items/grenades/flashbang.dm

* Update code/game/objects/items/grenades/flashbang.dm

* Update code/game/objects/items/grenades/flashbang.dm

* Update code/game/objects/items/melee/misc.dm

* Update code/game/objects/items/melee/misc.dm

* Update code/game/objects/items/melee/misc.dm

* Update code/game/objects/items/melee/misc.dm

* Update code/game/objects/items/melee/misc.dm

* Update code/game/objects/items/melee/misc.dm

* Update code/game/objects/items/melee/misc.dm

* Update code/game/objects/items/stunbaton.dm

* Update code/game/objects/items/stunbaton.dm

* Update code/game/objects/items/stunbaton.dm

* Update code/game/objects/items/stunbaton.dm

* Update code/game/objects/items/stunbaton.dm

* Update code/game/objects/items/stunbaton.dm

* Update code/game/objects/items/stunbaton.dm

* Update code/game/objects/items/stunbaton.dm

* Update code/game/objects/items/stunbaton.dm

* Update code/game/objects/items/stunbaton.dm

* Update code/game/turfs/open/_open.dm

* Update code/game/turfs/turf.dm

* Update code/modules/antagonists/abductor/equipment/abduction_gear.dm

* Apply suggestions from code review

* Update modular_skyrat/master_files/code/modules/mob/living/carbon/carbon_say.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-01-29 23:16:05 +00:00
SkyratBot
6bab35951b [MIRROR] Frame stacking fix and unit test addition. (#2833)
* Frame stacking fix and unit test addition. (#56287)

* Reverts #56205

* Allow things without density to bypass checks

* The rest of the owl

* The rest of the owl

* Doc and tweak

* More feex

* RCD machine frame unit test

* I suck

* AAAAA

* Bad at unit tests

* Revert unit tests (for including in another PR)

* Fix windoor_assembly return logic

* Comment /mob/living/proc/PushAM logic

* Windoor assembley logic tweak

* Fix frame stacking

* Unit test

* Better wording from macros?

* Frame stacking fix and unit test addition.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-01-22 15:31:26 +00:00
SkyratBot
7efde01cae [MIRROR] Attempts to fix addictions being utterly broken and almost impossible to obtain. (#2827)
* Attempts to fix addictions being utterly broken and almost impossible to obtain. (#56302)

* Attempts to fix addictions being utterly broken and almost impossible to obtain.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-01-22 04:06:35 +00:00
SkyratBot
dace06e524 [MIRROR] Added a standardized json unit test results log and added my vscode test runner to recommendations (#2627)
* Added a standardized json unit test results log and added my vscode test runner to recommendations (#56058)

Link to the test explorer: https://marketplace.visualstudio.com/items?itemName=Donkie.vscode-tgstation-test-adapter

The test explorer adapter lets you compile and run the code in one click of a button, with no messing about with defines necessary

The extension supports reading test results from the unit test logs, but its shitty having to parse logs for that, so this PR also adds support for a somewhat standardized method of logging unit test results to a json file instead.

* Added a standardized json unit test results log and added my vscode test runner to recommendations

Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
2021-01-10 23:19:03 +01:00
SkyratBot
1ea52ad8a8 [MIRROR] Add unit test for spawning simple_animals (#2581)
* Add unit test for spawning simple_animals (#56021)

Simple unit test that allocates all mobs a gold slime could spawn

* Add unit test for spawning simple_animals

Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
2021-01-09 05:19:44 +01:00
SkyratBot
d7f054b035 [MIRROR] Refactors monkeys into a species (#2379)
* Refactors monkeys into a species

* aaa

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-31 21:08:07 +01:00
SkyratBot
4c5433d5cf [MIRROR] The Great Radio Rework: NTNET Part 1 of many. (#2384)
* The Great Radio Rework: NTNET Part 1 of many.

* Update airlock.dm

Co-authored-by: WarlockD <warlockd@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2020-12-30 21:14:49 +00:00
Alex 'Avunia' Takiya
2e503b73ec remove *beep and *deathgasp test steps (#2373) 2020-12-29 23:58:41 +01:00
SkyratBot
22854490e7 [MIRROR] Replaces US Indigenous People's Day with International Indigenous People's Day (#2356)
* Replaces US Indigenous People's Day with International Indigenous People's Day (#55458)

Title. This modifies a unit test that tested the holiday I'm removing to test mother's day instead, as International Indigenous People's Day isn't an nth week holiday.

* Replaces US Indigenous People's Day with International Indigenous People's Day

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
2020-12-29 02:38:46 +00:00
SkyratBot
356bc047a4 [MIRROR] Add Designs Unit Test (#2352)
* Add Designs Unit Test (#55760)

* Add Designs Unit Test

Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
2020-12-29 02:38:18 +00:00
SkyratBot
312a312dc6 [MIRROR] Fix Hanukkah (again) and refactor Moth Week and Beer Day (#2200)
* Fix Hanukkah (again) and refactor Moth Week and Beer Day (#55532)

* Fix Hanukkah (again) and refactor Moth Week and Beer Day

* Remove unnecessary changes

* Fix Hanukkah (again) and refactor Moth Week and Beer Day

Co-authored-by: Jack LeCroy <3073035+jacklecroy@users.noreply.github.com>
2020-12-17 08:05:26 +01:00
SkyratBot
548ed09ed1 [MIRROR] Temperature control unit (#2154)
* Temperature control unit

* Update tgui.bundle.js

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2020-12-13 13:54:41 +00:00
SkyratBot
afce3e2a94 [MIRROR] pass_flags handling refactor + rewrites a part of projectiles for the n-th time (#2097)
* pass_flags handling refactor + rewrites a part of projectiles for the n-th time (#54924)

Yeah uhh this'll probably need testmerging even after it's done because yeah it's a bit big.
If y'all want me to atomize this into two PRs (pass flags vs projectiles) tell me please. Pass flags would have to go in first though, in that case, as new projectile hit handling will rely on pass_flags_self.
Pass flags:

Pass flags handling now uses an atom variable named pass_flags_self.
If any of these match a pass_flag on a thing trying to pass through, it's allowed through by default.
This makes overriding CanAllowThrough unnecessary for the majority of things. I've however not removed overrides for very.. weird cases, like plastic flaps which uses a prob(60) for letting PASSGLASS things through for god knows why.
LETPASSTHROW is now on pass_flags_self
Projectiles:

Not finalized yet, need to do something to make the system I have in mind have less unneeded overhead + snowflake

Basically, for piercing/phasing/otherwise projectiles that go through things instead of hitting the first dense object, I have them use pass_flags flags for two new variables, projectile_phasing and projectile_piercing. Anything with pass_flags_self in the former gets phased through entirely. Anything in the latter gets hit, and the projectile then goes through. on_hit will also register a piercing hit vs a normal hit (so things like missiles can only explode on a normal hit or otherwise, instead of exploding multiple times. Not needed as missiles qdel(src) right now but it's nice to have for the future).

I still need to decide what to do for hit handling proper, as Bump() is still preferred due to it not being as high-overhead as something like scanning on Moved(). I'm thinking I'll make Moved() only scan for cases where it needs to hit a non-dense object - a prone human the user clicked on, anything special like that. Don't know the exact specifics yet, which is why this is still WIP.

Projectiles now use check_pierce() to determine if it goes through something and hits it, doesn't hit it, or doesn't go through something at all (should delete self after hitting). Will likely make an on_pierce proc to be called post-piercing something so you can have !fun! things like projectiles that go down in damage after piercing something. This will likely deprecate the process_hit proc, or at least make it less awful.

scan_for_hit() is now used to attempt to hit something and will return whether the projectile got deleted or not. It will delete the projectile if the projectile does hit something and fails to pierce through it.

scan_moved_turf() (WIP) will be used for handling moving onto a turf.

permutated has been renamed to impacted. Ricocheting projectiles get it reset, allowing projectiles to pierce and potentially hit something again if it goes back around.

A new unit test has been added checking for projectiles with movement type of PHASING. This is because PHASING completely causes projectiles to break down as projectiles mainly sense collisions through Bump. The small boost in performance from using PHASING instead of having all pass flags active/overriding check_pierce is in my opinion not worth the extra snowflake in scan_moved_turf() I'd have to do to deal with having to check for hits manually rather than Bump()ing things.
Movement types

UNSTOPPABLE renamed to PHASING to better describe what it is, going through and crossing everything but not actually bumping.
Why It's Good For The Game

Better pass flags handling allows for less proc overrides, bitflag checks are far less expensive in general.

Fixes penetrating projectiles like sniper penetrators

This system also allows for better handling of piercing projectiles (see above) without too much snowflake code, as you'd only need to modify on_pierce() if you needed to do special handling like dampening damage per target pierced, and otherwise you could just use the standardized system and just set pass flags to what's needed. If you really need a projectile that pierces almost everything, override check_pierce(), which is still going to be easier than what was done before (even with snowflake handling of UNSTOPPABLE flag process_hit() was extremely ugly, now we don't rely on movement types at all.)

* pass_flags handling refactor + rewrites a part of projectiles for the n-th time

Co-authored-by: silicons <2003111+silicons@users.noreply.github.com>
2020-12-09 23:44:54 +01:00
SkyratBot
ddbcca4de3 [MIRROR] Fix nth week holidays (#2061)
* Fix nth week holidays (#55364)

 fix: Holidays appearing on the nth day of the month like Thanksgiving will work now.
tweak: Columbus day is now called Indigenous Peoples' Day.

* Fix nth week holidays

Co-authored-by: Jack LeCroy <3073035+jacklecroy@users.noreply.github.com>
2020-12-07 10:32:35 +00:00
SkyratBot
2913364658 [MIRROR] Kills oldfood, Puts newfood on top. (#2041)
* Kills oldfood, Puts newfood on top. (#55160)

Slays the last of old-food, making new-food the new normal.

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

* Kills oldfood, Puts newfood on top.

* Update collars.dm

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: MrMelbert <kmelbert4@ gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-04 16:46:26 +01:00
SkyratBot
2d58d386ef [MIRROR] Migrate some docs from the GitHub wiki into the repository (#2027)
* Merge pull request #55268 from AutomaticFrenzy/patch/docs-from-github-wiki

Migrate some docs from the GitHub wiki into the repository

* Migrate some docs from the GitHub wiki into the repository

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-12-03 17:16:02 +00:00
SkyratBot
7ea03fcebc [MIRROR] Make unit tests visible to linter and IDE (#2006)
* Make unit tests visible to linter and IDE (#55270)

* Make unit tests visible to linter and IDE

Co-authored-by: Tad Hardesty <tad@platymuus.com>
2020-12-02 07:51:28 +00:00
SkyratBot
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00