Commit Graph
3 Commits
Author SHA1 Message Date
MrMelbertandGitHub 5d3519b9cf Adds Dustself, dust smite, divine smites (#89973)
## About The Pull Request

- Adds `dustself` admin verb

- Adds Dust admin smite 
   - Does what it says on the tin

- Adds Divine smites
- Variations of smites that come with the prayer sound and special
effects - so you can get the message across that this is a punishment
from god.


https://github.com/user-attachments/assets/1cf89ece-3e89-4135-a984-79ca10c278a6

## Why It's Good For The Game

- Request. Parity for `gibself`
- Request. Parity with "Gib"
- Request. Someone wanted to add some more flair to smites so I obliged.

## Changelog

🆑 Melbert
admin: Adds "Dustself"
admin: Adds "Dust" smite. Does what it says on the tin
admin: Adds "Divine" smites. They are variations of normal smites themed
around divine intervention.
/🆑
2025-03-17 14:23:46 +01:00
TimandGitHub d6f79f4427 Refactor gib code to use bitflags and have documentation (#78754)
## About The Pull Request
This takes all the gib related procs:
- `gib()`
- `spawn_gibs()` 
- `spill_organs()`
- `spread_bodyparts()`

And adds heavy documentation that communicates what the procs are used
for and how the different bitflags affect them. The difference is
noticeable:

`gib(TRUE, FALSE, FALSE, null)` vs `gib(DROP_ORGANS|DROP_BODYPARTS)`

The code is now much more legible which is important considering it's
used in a lot of places!

Another robust change, is that we had several places in the code where
there were double negatives like so:

```
/mob/living/carbon/spill_organs(no_brain, no_organs, no_bodyparts)
	if(!no_bodyparts) // DOUBLE NEGATIVES ARE BAD M'KAY?!?
		// do stuff here
```

This is a mindfuck to untangle. I inverted a lot of these parts so we
don't lose our sanity.

Last thing that was changed was a big `if()` loop in the `spill_organ()`
proc. This was refactored to just be a simple `for` loop with `continue`
statements where we needed to skip enabled bitflags. It's now shorter
and cleaner than before.

The only slight gameplay change this affects is that gibbing a mob now
guarantees to drop all items unless the `DROP_ITEMS` bitflag is
deliberately omitted. Some places like admin gib self, we don't want
this to happen.

## Why It's Good For The Game
Gib code is very old. (~15 years) People kept adding more arguments to
the procs when it should have been a bitflag initially. By doing it this
way, there is more flexibility and readability when it comes to adding
new code in the future.

## Changelog
🆑
refactor: Refactor gib code to be more robust.
qol: Gibbing a mob will result in all items being dropped instead of
getting deleted. There are a few exceptions (like admin gib self) where
this will not take place.
/🆑
2023-10-06 13:12:22 +01:00
Jared-FogleandGitHub 39fd90b17a Refactors smiting, adds smite build mode (#55327)
Refactors smiting out from being a large switch/case into datums.

Adds a new smite option to build mode. This lets you choose a smite and rapidly apply it to a lot of people, presumably for EORG. Requested for by...one of the admins, I forget which.
2020-12-11 00:22:00 +00:00