Skip to content

Darkpack Pull 8/19/26 - #147

Merged
FalloutFalcon merged 360 commits into
ApocryphaXIII:masterfrom
FalloutFalcon:apoc-pull-8-19-26
Aug 20, 2026
Merged

Darkpack Pull 8/19/26#147
FalloutFalcon merged 360 commits into
ApocryphaXIII:masterfrom
FalloutFalcon:apoc-pull-8-19-26

Conversation

@FalloutFalcon

Copy link
Copy Markdown
Member

No description provided.

Odairu and others added 30 commits August 5, 2026 18:11
…is set to specified (#97337)

## About The Pull Request
From what I can tell, CONFIG_CUSTOM, which is what it was previously,
reads laws off of a text file that have no law_id attached to them, this
means that they would not be able to be chosen by unique AI anyway,
while default laws (unless manually overridden in the config) will still
be in the pool. CONFIG_SPECIFIED does have a law ID attached, and as
such that law ID's weight should be the one getting reduced.
## Why It's Good For The Game
Unique AI will properly remove default laws if they are specified by the
server config
## Changelog
:cl:
fix: Unique AI properly removes law weight for default laws on the
specified lawset config option
/:cl:
## About The Pull Request
in #95801 it was made so that holograms can have colors other than blue,
to this day, this has not been used, now AI's will be able to make use
of it.
This also edits the holopad glow for ringing via holo calls, and the
glow from displaying a hologram to be overlays over the machine,
allowing them to change color as well with the AI's selections
## Why It's Good For The Game
Enables a bit more customization for AI holograms, as well as some
roleplay potential with visual aide (I can play my AI as having multiple
personalities with different colors representing them)
<img width="779" height="520" alt="image"
src="https://github.com/user-attachments/assets/a8e00b4a-f029-470f-94fb-9f49a288e680"
/>
<img width="335" height="190" alt="image"
src="https://github.com/user-attachments/assets/4c265dff-d6d3-498c-a60c-b8a3c974a9e8"
/>
<img width="249" height="203" alt="image"
src="https://github.com/user-attachments/assets/4940037c-2458-48b1-995b-e3bbfd474b83"
/>
<img width="317" height="205" alt="image"
src="https://github.com/user-attachments/assets/af55817f-45c7-418c-b7fb-ac13ad9c7bc1"
/>
<img width="334" height="220" alt="image"
src="https://github.com/user-attachments/assets/5cf52768-dfa6-46fc-878a-bd97059531b5"
/>


## Changelog
:cl:
add: AIs can pick the color of their hologram.
fix: holo ray on holograms no longer shows twice
/:cl:
## About The Pull Request

Pillows have the disarm attack element which means right clicking with
them shoves the target, but you need to right click to start smothering
someone in an aggro grab, adds a handler so the shove doesn't happen if
smothering is gonna happen instead. Also tiny cleanup bits like updating
the proc sig and adding return values

## Why It's Good For The Game

Fixes #97317 

## Changelog
:cl:
fix: fixed trying to pillow smother someone in a grab pushing them away
instead
/:cl:
## About The Pull Request

Don't need to drop it AND `forceMove()` it. If you throw, it ends up
`forceMove()`ing twice.

## Why It's Good For The Game

<img width="425" height="98" alt="image"
src="https://github.com/user-attachments/assets/e89aaf6a-9629-43fe-ac8b-19fb85e1eb78"
/>

## Changelog
:cl:
fix: Dropping or throwing a bug will no longer say that it uncurled
several times
/:cl:
## About The Pull Request

Missing arg

## Why It's Good For The Game

<img width="514" height="94" alt="image"
src="https://github.com/user-attachments/assets/6ee11eee-3370-404a-a6ca-1d1429b9b929"
/>

## Changelog
:cl:

fix: Slimepeople blushing shows an overlay now

/:cl:
## About The Pull Request

didn't recheck after `do_after()`

## Why It's Good For The Game

<img width="487" height="41" alt="image"
src="https://github.com/user-attachments/assets/562d1036-a130-4720-b8a7-c8904636b4c6"
/>

## Changelog
No behavioral change
## About The Pull Request

this makes it so the navigator just uses `SSpathfinder.pathfind` with a
callback instead of `get_path_to` - avoiding us needing to use `UNTIL`
at all. literally no need for a stoplag wait loop.

video proof that it still works and i tested it:


https://github.com/user-attachments/assets/f8768646-0065-4887-b8e6-da9453b9dd51

## Why It's Good For The Game

better for the server prolly

## Changelog

no user-facing changes, should be identical in-game

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
## About The Pull Request

This PR fixes 2 things:

- `SS13.unregister_signal` never releases the `/datum/callback`.
- `HandlerGroup.register_once` fires every time.

`handler_data.functions` is a table keyed by the handler functions, so
it has no array part and `#handler_data.functions` is always `0` which
is truthy in Lua, making the teardown condition unconditionally `false`.
The `/datum/callback` therefore stays registered on the datum even after
its last lua handler is gone, and every send still round trips into an
empty `signal_handler`.
Swapped in `next(...)`, the correct emptiness test for a keyed table.

`clear_on` registers its wrapper with `SS13.register_signal` instead of
`self:register_signal`, so the wrapper never lands in `self.registered`
and `clear()` cannot remove it. `register_once` builds on `clear_on`
with an empty group, so its "once" never happens, the callback runs on
every send.

## Why It's Good For The Game

`register_once` does not do what its name says, with no way to tell from
the calling side.
Scripts that unregister signals also leak a dead `/datum/callback` per
datum/signal pair.

## Changelog

:cl:
fix: SS13.unregister_signal now actually detaches a signal's callback
once its last handler has been removed.
fix: HandlerGroup.register_once now fires only once, instead of on every
send of the signal.
/:cl:
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

This fixes a bug *somewhat* introduced in Oroboros': 
- tgstation/tgstation#63654

The bug is located in
``proc/calculate_projectile_angle_and_pixel_offsets`` and you can locate
the disconnect pretty clearly

https://github.com/tgstation/tgstation/blob/3d7be3d6288b8e94bbaaaaf89d748475b649a373/code/modules/projectiles/projectile.dm#L1306-L1343

one macro call of ATAN2 does ``angle = ATAN2(dy, dx)``

and the next macro call does ``angle = ATAN2(tx - oy, ty - ox)``

Prior to the mentioned PR, the second call passed the y first as
intended.
However, afterwards, the y origin is now subtracted from the x target,
and vice-versa.

On a normal viewport, ``ox == oy``, so the subtraction cancels itself
out and leaves you with ``ATAN2(dx, dy)``. The angle mirrored across the
45 degree diagonal.

The primary beneficiary of this code, emitters, which never have a
target, also was passing a bad modifiers arg. This is unrelated to the
projectile PR, and seems to just have been some code that survived a few
attack() refactors, and seems to originate circa 2021.

With some hilarity, both of these bugs have managed to cancel eachother
out since atleast 2022. The emitter runtimes on the first LAZYACCESS,
and so doesnt set ``last_projectile_params``, making ``fire_beam()``
fall back to ``projectile.fire(dir2angle(dir))``.

Got all that? Good

Both are now fixed.

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

A garbage, mirrored angle will *always* occur when the calculation proc
is called with modifiers and no target.

At most, this bugfix just makes manual emitters fire at cursor, as
opposed to snapping to a cardinal direction.

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

:cl: rkz/Tsar-Salat
fix: manually aimed emitters now fire where you clicked instead of
snapping to the direction they face
fix: fixes a 4 year old projectile code bug that mirrored the angle
across the diagonal
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
## About The Pull Request

BTs broke lobstrocities, causing to them flee from everyone and not do
anything else.

## Changelog
:cl:
fix: Fixed lobstrocities doing nothing
/:cl:
## About The Pull Request

Projectile armor flag on spells is `NONE`.

## Why It's Good For The Game

<img width="462" height="97" alt="image"
src="https://github.com/user-attachments/assets/a1ab255a-3ea7-42a8-884b-c5eadb47e5fd"
/>

## Changelog
No behavioral change
Co-authored-by: Lucy <lucy@absolucy.moe>
darkpack13-api Bot and others added 15 commits August 17, 2026 22:47
## About The Pull Request

people are exploiting this on CG with the most notorious example being
copy pasting the dark litany into Gaian's heads

## Why It's Good For The Game

yeah its unintended

## Changelog
:cl:

del: removed /tg/ brainwashing

/:cl:
## About The Pull Request
Changes npc .45 acp ammo box price from 2.1k down to 700
## Why It's Good For The Game
45 acp ammo being more expensive than a box of 556 or a box of 44 is
kinda odd
## Changelog
:cl:
balance: npc vendor .45 acp ammo box price has been reduced from 2100 to
700
/:cl:
## About The Pull Request

Currently, Blood Form suffers from a bug in which the character's
brain/head sprite breaks when exiting Blood Form. The cause if this an
organ unremovable flag that correctly applies to Blood Form organs to
keep them from being accessible via surgery while in bloodform. This
flag, however, makes the species loss process break when trying to
replace those organs with the character's original ones. This fix simply
removes the unremovable organ tag at Blood Form species loss, to allow
for the organ switch.

## Why It's Good For The Game

Fixing things is good!

## Changelog
:cl:
fix: fixed Blood Form on-exit head sprite bug.
/:cl:

Co-authored-by: chazzyjazzy <33268885+chazzyjazzy@users.noreply.github.com>
## About The Pull Request

title

## Why It's Good For The Game

The monkey cubes circumvent the murder of NPCs to fuel a bloodcurse and
are a rather cheap "exploit" for Tremeres

The bees crashed peoples games so so bad 

## Changelog

:cl:

del: Removes Beekeeping supply pack from the warehouse
del: Removes Monkey Cubes supply pack from the warehouse

/:cl:

---------

Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
## About The Pull Request

...I forgot to put a duration timeperiod effect on dread gaze. Oopsy.

## Why It's Good For The Game

Fixes an issue where you were stuck moving away from people all round
long.

## Changelog
:cl:
fix: Fixes issue on Dread Gaze that was causing people to run away for
entire rounds. Adjusted to 2 minute timer.
/:cl:

Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Co-authored-by: chazzyjazzy <33268885+chazzyjazzy@users.noreply.github.com>
@FalloutFalcon
FalloutFalcon merged commit 019652d into ApocryphaXIII:master Aug 20, 2026
23 checks passed
@FalloutFalcon
FalloutFalcon deleted the apoc-pull-8-19-26 branch August 20, 2026 16:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.