Commit Graph

8 Commits

Author SHA1 Message Date
SkyratBot
5335e458e0 [MIRROR] portable gravity machine (#29429)
* portable gravity machine (#85694)

## About The Pull Request

https://github.com/user-attachments/assets/98aa2177-ee0f-48d0-bbd4-83d01e688b54

it makes gravity in a radius
you may order it from cargo
may take power from wire instead
## Why It's Good For The Game

good for like space bases and stuff

## Changelog

🆑
add: portable gravity unit, bought at cargo
/🆑

* portable gravity machine

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2024-08-21 06:34:18 +07:00
Waterpig
08d9f59838 [NO GBP] Slime AI fixes + prerequisites (newest mirror: makes slimes not idle) (#27470)
* Reworks targeting behavior to fall back onto proximity monitors. Refactors ai cooldowns a bit (#82640)

## About The Pull Request

Nother bit ripped out of #79498
[Implements a get_cooldown() proc to get around dumb manual overrides
and empower me to optimize the findtarget
logic](7047d294dd)

[Adds modify_cooldown, uses it to optimize find_potential_targets
further](4ebc8cedce)

No sense running the behavior if we're just waiting on its output, so
let's run it once a minute just in case, then push an update instantly
if we find something

[Optimizes connect_range and
promxity_monitors](bcf7d7c5b3)

We know what turfs exist before and after a move
We can use this information to prevent trying to update turfs we don't
care about.

This is important because post these changes mobs with fields will be
moving a lot more, so it's gotta be cheap

[Implements a special kind of field to handle ai
targeting](80b63b3445)

If we run targeting and don't like, find anything, we should setup a
field that listens for things coming near us and then handle those
things as we find them.

This incurs a slight startup cost but saves so much time on the churn of
constant costs

Note:
We should also work to figure out a way to avoid waking ais if none is
near them/they aren't doing anything interesting

We don't need to do that immediately this acts as somewhat of a stopgap
(and would be good regardless) but it is worth keeping in mind)

## IMPORTANT

I am unsure whether this is worth it anymore since #82539 was merged. As
I say it was done as a stopgap because ais didn't know how to idle.
If not I'll rip er out and we'll keep the other
refactoring/optimizations.

## Why It's Good For The Game

Cleaner basic ai code, maybe? faster basic ai code, for sure faster
proximity monitors (significantly)

* ai controllers use cell trackers to know when to idle (#82691)

## About The Pull Request
this makes ai controllers use cell trackers and signals to determine
when to idle

## Why It's Good For The Game
might be better than looping over all clients for every controller

## Changelog
🆑
code: The way mobs idle has been refactored, please report any issues
with non-reactive mobs
/🆑

* makes slimes not idle (#82742)

## About The Pull Request
slimes should still be able to do their everyday routine without needing
to be watched over

## Why It's Good For The Game
makes xenobiologist's lives easier

## Changelog
🆑
qol: slimes will stay active without needing any one to watch over
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2024-04-25 15:05:23 +00:00
SkyratBot
c2825f2a70 [MIRROR] Gravitational Anomalies will not make areas permanently have weird gravity [MDB IGNORE] (#23133)
* Gravitational Anomalies will not make areas permanently have weird gravity (#77647)

## About The Pull Request

See title.
Someone added a new argument to this element, passed it in on creation,
and forgot to pass it in on removal.

## Why It's Good For The Game

A shift where the whole of the cargo bay has no gravity is fun, but the
crew can't fix it.
I might think of a way to bring it back in a more temporary fashion.

## Changelog

🆑
fix: Gravitational Anomalies will now correctly clean up after
themselves, instead of leaving an area of the station permanently heavy
or with no gravity at all.
/🆑

fixes https://github.com/tgstation/tgstation/issues/77249

* Gravitational Anomalies will not make areas permanently have weird gravity

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-08-16 18:23:57 -04:00
SkyratBot
2e40d3fac0 [MIRROR] Attempts to fix an issue with gravity generators triggering CI failures [MDB IGNORE] (#22588)
* Attempts to fix an issue with gravity generators triggering CI failures

* Update forced_gravity.dm

* Update forced_gravity.dm

* Update gravity.dm

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-07-19 15:26:25 -04:00
Bloop
ec02c28529 Attempt to fix CI error (again) (#22385)
* Attempt to fix CI (again)

* Revert

* Add TODO comments

* Update forced_gravity.dm
2023-07-11 22:20:26 -07:00
SkyratBot
33adb63d55 [MIRROR] Re-pr of #70522 "Space Dragon Update: Up Close and Personal" [MDB IGNORE] (#21553)
* Re-pr of #70522 "Space Dragon Update: Up Close and Personal"

* Update mind_linker.dm

* Update hivemind.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-06-05 20:56:31 -07:00
SkyratBot
e2d6aa1683 [MIRROR] FIxes Time Stop being a 3x3 instead of a 5x5 (no seriously) [MDB IGNORE] (#19353)
* FIxes Time Stop being a 3x3 instead of a 5x5 (no seriously)  (#73339)

## About The Pull Request

Keen eyes will notice time stop is intended to have a radius of 2

3c0013dfa5/code/modules/spells/spell_types/self/stop_time.dm (L14-L17)

This implies it's supposed to be a 5x5 - radius of 2

Back when it was originally coded, it was a 5x5

f2abe13f51

(scroll down a bit, and you will see `orange(2)`. This is a 5x5.)

So where did it become a 3x3? I can't find a single PR nerfing it, and
the radius is still 2 as it always has been

The answer: Here, in 2017 it was refactored to use fields

#30858

Fields track their inner fields and edge fields separately, but it used
the same radius as before, so it quietly shrunk by 1 tile as the outer
edge was no longer counted as frozen, and I guess no one noticed? or
cared? I don't know??

So I updated advanced fields to have a "mode" that tracks edge fields as
field turfs.

While I was here, I fixed some other issues with timestop. A runtime
when movelooping mobs were time stopped, sign languagers (emote mute).

And while I was "while I was here", Gravity aura had a similar issue,
causing the grav gen's aura to never work. That was fixed as well

## Why It's Good For The Game

This caused an hour long search over a 5 year old bug

## Changelog

🆑 Melbert
fix: Fixed a FIVE YEAR OLD issue causing Time Stop to be a 3x3 instead
of a 5x5. Really.
fix: The gravity generator correctly gives "forced gravity" to all
adjacent mobs
fix: Fixed some runtimes with Time Stop, and other miscellaneous issues
/🆑

* FIxes Time Stop being a 3x3 instead of a 5x5 (no seriously)

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-02-15 12:58:00 -08:00
SkyratBot
645b90d34a proximity monitors cleanup (plus connect_range and connect_containers components) (#10192)
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-12-23 03:51:23 +00:00