Commit Graph

2683 Commits

Author SHA1 Message Date
Imaginos16
0ccd96e910 Revolver Resprites: Imaginos Edition (#72008)
## About The Pull Request
Self Explanatory! This PR resprites every revolver in the game and adds
a new variety: The Syndicate Revolver!

![image](https://user-images.githubusercontent.com/77556824/207713437-c4908250-be0b-47bc-9991-20dd106ebdd3.png)

This also takes into account detective revolvers and their reskins!

![image](https://user-images.githubusercontent.com/77556824/207713493-bcc384c6-fc9a-4a98-9199-acfe937d6d9b.png)

The Syndicate Revolver itself is a cosmetic change of the regular .357
revolver, which can still be found via gatfruit, or Garbage Day. The
Syndicate Revolver can be obtained via the battlecruiser, or any uplink.

Special thanks to @axietheaxolotl for making the Syndicate Revolver
sprite.
## Why It's Good For The Game
The previous sprites were either too old, or looked like plastic toys,
and desperately needed a visual overhaul. This PR addresses that issue
in a very direct manner!
## Changelog
🆑 PositiveEntropy, AxieTheAxolotl
imageadd: Resprites every revolver!
imageadd: Adds the Syndicate Revolver, a visually new, but mechanically
identical .357 revolver to uplinks!
/🆑

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-16 01:00:33 +00:00
necromanceranne
cdabfade59 The Indestructible objective energy guns protect their contents, preventing them from bricking (#71976)
## About The Pull Request

Stops the two objective firearms from having their contents destroyed by
bombs. This isn't important for any other firearms, as they're all
destroyed by those explosions rather than surviving them, only to have
their contents deleted instead.

## Why It's Good For The Game

An everpresent consequence of oversimulation in firearms is that they're
prone to stupid shit like this happening. Since you can't replace the
power cell in these weapons, it just bricks the guns.

You can certainly replace the firing pin in the gun if that's destroyed,
but I figured it would be better to just wholesale make this no longer a
problem for these weapons.

## Changelog
🆑
fix: Stops strong enough explosions from bricking the objective energy
guns permanently.
/🆑
2022-12-14 08:53:27 +01:00
ShizCalev
ae8ed395e1 Changes the missing food icon test to cover ALL /obj's (#71908)
Might as well cover everyyyyyyyyything. :)

Fixes https://github.com/tgstation/tgstation/issues/71953
Fixes https://github.com/tgstation/tgstation/issues/71983

🆑 ShizCalev
code: We now unit test all /obj's for missing icons. :)
/🆑


todo: Fix the fucked up icons.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-12-13 17:51:40 -08:00
Fikou
f9445e027f makes beams better (plus small kinesis tweaks) (#71768)
## About The Pull Request
kinesis now waits for its first inputs to be given before firing, it
should no longer pull the item to the center of the screen
the kinesis overlay now is emissive
beam emissivity now works (emissive appearances no longer reset
transform)
beams now have a variable whether or not they should be emissive,
because of stuff like vines or chains from the meat hook
fixes https://github.com/tgstation/tgstation/issues/71640

## Why It's Good For The Game
neat visual stuff

## Changelog
🆑
fix: fixes beam glow in the dark effects
fix: kinesis now doesnt pull the item to the centre of the screen when
first used
fix: physical beams (like vines or meat hook chain) no longer glow in
the dark
/🆑
2022-12-09 15:58:58 -05:00
Pickle-Coding
d31090b6b7 Getting hit by a nuclear particle will always irradiate you. (#71812)
## About The Pull Request
Makes nuclear particles directly irradiate people.
## Why It's Good For The Game
Getting hit by a nuclear particle should be a death sentence.
## Changelog
🆑
balance: Nuclear particles will always irradiate you on hit.
/🆑
2022-12-08 16:53:01 -08:00
Mothblocks
998dff2e62 Revert "Updates the Syndicate revolver into a new revolver (with the same stats)" (#71792)
Reverts tgstation/tgstation#71704

The sprite team did not approve this PR, I misread and
thought they did and would not have merged it if I had paid attention
2022-12-08 05:38:45 +00:00
ReinaCoder
0eea6b1302 Updates the Syndicate revolver into a new revolver (with the same stats) (#71704)
## About The Pull Request
Makes the syndicate revolver a subtype of the normal revolver and gives
it its own sprite, name (S-357) and a new uplink description.
Pics: 

![image](https://user-images.githubusercontent.com/83892995/205606224-32ae1c73-103b-4199-8d1f-ecb6cce92fa1.png)

![image](https://user-images.githubusercontent.com/83892995/205606424-afc2a3ea-8b49-4278-acac-3e4b6d65f20d.png)

Before:

![image](https://user-images.githubusercontent.com/83892995/205485375-b5201679-81ad-4f2c-ac1a-647f89468902.png)
## Why It's Good For The Game
Currently the revolver is a bland, generic, brown gun that doesn't look
like a sci-fi revolver. Now it has a cleaner, more unique design that
fits into the setting and into the Syndicate standard of high tech
ballistics.

Changing the uplink description gives players a clearer idea of what
they are buying.

Moving the Syndicate .357 from the base of all revolvers into its own
entry allows for future changes on the Syndicate revolver to not impact
every single revolver in the game.

## Changelog
🆑
add: The Syndicate uplink revolver has been changed from the default
.357 to the S-357. It has the same stats and price as the old version
but with a new sprite.
qol: Adds a better explanation on the .357 uplink entry so players have
an better understanding of what they are buying.
/🆑

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-06 22:59:15 -08:00
FinancialGoose
17587615e0 Fixes changeling tentacle secondary behaviour (#71686)
## About The Pull Request
Fixes #69013 
## Why It's Good For The Game
## Changelog
🆑
fix: fixed using the changeling tentacle arm via right mouse click
holding people up instead of firing it. Now it will fire like normal
/🆑

Co-authored-by: Time-Green <timkoster1@hotmail.com>
2022-12-05 17:49:34 -08:00
tralezab
e9cff525dc Refactors Pirates into Pirate Gangs, Adds the Psyker-gang as new pirates (#71650)
## About The Pull Request

### Refactor
Pirate gangs are now datumized for extendability, custom dialogue, etc.

### Psyker Gang 🧠 
Psyker-gang Members are pirates who are... yes, Psykers. They're on a
gore-binge and need some money for more hits of gore!

- Gore autoinjectors, filled with dirty kronkaine. Don't overdose,
you'll go splat.
- Psykerboost armor, reactive armor that refreshes psychic abilities.
Given to the leader.

- [x] @Fikou is making the map :D

## Why It's Good For The Game

God I fucking love variety also now we can add as many different pirates
as we so desire

<details>
  <summary>Spoiler warning</summary>
  

![image](https://user-images.githubusercontent.com/40974010/205342701-9cba63ef-a22c-4f07-9b48-8793c4a2b5af.png)
  
</details>

## Changelog
🆑 Tralezab code, Fikou's map, PigeonVerde and Halcyon for sprites!
add: Psyker-gangers are new pirates
refactor: refactored pirate code so we can add more in the future
/🆑

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-05 02:18:23 +00:00
GuillaumePrata
ef3a3e2a31 Radial menu to remove PKA modkits with a right click from an empty hand. (#71603)
## About The Pull Request
You can choose and remove one at a time, code blatantly stolen from the
shotgun cabinet.
The crowbar functionality stays because Cyborgs need it to empty their
PKA.
## Why It's Good For The Game
![Right click
PKA](https://user-images.githubusercontent.com/55374212/204449791-209afc83-9e72-42c4-aa08-92c39216b979.png)

This gives more control for miners to swap modkits from one fight to the
next or possibly mid fight.
Miners often have a favorite PKA setup that they use for most shifts, by
making swapping easier we have a little more freedom to add modkits that
are only useful occasionally (say a specific fauna counter) and these
are more likely to be used with an easier swaps system.
The old way to remove modkits was just pain, it would remove every
modkit at once and dump them on the floor.
Something something UX.

And hey, excuse to give better sprites to each modkit in the future. 
## Changelog
🆑 Guillaume Prata
qol: Right clicking a PKA with an empty hand will show a radial menu
that lets you remove modkits one at the time.
/🆑
2022-12-04 12:47:46 +01:00
MrMelbert
329921639a Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. (#71339)
## About The Pull Request

- Rewrites how action button icons are generated.
- Prior, generated an action button icon was fairly simplistic and
didn't allow for many changes. Someone recently added the option for
overlays to be generated over action buttons, but the framework was very
weak.
- Now, action button icon generation is split across multiple procs,
like atom icon updates.
      - The background of action buttons are underlays
- The actual icon of the action button is the icon and icon state of the
action button movable
- The rim / border of the button is an overlay, layered overtop the
button.

- Allows observers to see what action buttons a mob has. They even
update in real time! And no, the observers cannot click on them.

## Why It's Good For The Game

- Runechat text of action buttons are no longer hidden behind the actual
icon. This was very ugly with cooldown actions, as the cooldown text was
hidden behind a lot of spell icons.
- Cuts down on a lot of icon duplication. 
- Gives much finer control over action button icons
- Saves a bit of processing from generating full action button icons
when not necessary. Not implemented in many places, but is in some.


![image](https://user-images.githubusercontent.com/51863163/202816617-342e87e6-2cc6-488e-9af2-4b2053dc3dc6.png)


![image](https://user-images.githubusercontent.com/51863163/202816604-da8d4821-0e2b-45af-b289-7442367f98ce.png)

## Changelog

🆑 Melbert
add: Observers can now see what action buttons an observed mob has. No,
you can't click them. And no it doesn't show EVERY action.
refactor: Refactored how action button icons are generated. Some actions
will now use a colored border when active instead of just turning green.
Cooldown text will also appear on the top layer of actions too. If you
see any funky lookin' icons (namely their borders), let me know.
refactor: Bluespace Golem's teleport action is now a cooldown action.
fix: Construct actions go to the middle of the screen like expected. 
/🆑
2022-12-03 19:01:08 -08:00
necromanceranne
c09b7509a1 Adds ion carbine inhands as well as fixes pink sproite belt/suit storage sprites (#71572)
Unique inhands for the ion carbines and makes sure that the ion carbine has a defined worn sprite.
2022-12-01 01:02:14 -03:00
Fikou
35b5ac0c4e Psykers (#71566)
## About The Pull Request
Finishes #66471
At burden level nine (or through a deadly genetic breakdown), you now
turn into a psyker.
This splits your skull in half and transforms it into a weird fleshy
mass. You become blind, but your skull is perfectly suited for sending
out psychic waves. You get potent psy abilities.
First one is brainwave echolocation, inspired by Gehennites (but not as
laggy).
Secondly, you get the ability of Psychic Walls, which act similarly to
wizard ones, but last shorter, and cause projectiles to ricochet off
them.
Thirdly, you get a projectile boost ability, this temporarily lets you
fire guns twice as fast and gives them homing to the target you clicked.
Lastly, you get the ability of psychic projection. This terrifies the
victim, fucking their screen up and causing them to rapidfire any gun
they have in their general direction (they'll probably miss you)
With most of the abilities being based around guns, a burden level nine
chaplain now gets a new rite, Transmogrify. This lets them turn their
null rod into a 5-shot 18 damage .77 revolver. The revolver possesses a
weaker version of antimagic (protects against mind and unholy spells,
but not wizard/cult ones). It is reloaded by a prayer action (can also
only be performed by a max burdened person).
General Video: https://streamable.com/w3kkrk
Psychic Projection Video: https://streamable.com/4ibu7o

![image](https://user-images.githubusercontent.com/23585223/204150279-a6cf8e2f-c678-476e-b72c-6088cd8b684b.png)

## Why It's Good For The Game
Rewards the burdened chaplain with some pretty cool stuff for going
through hell like losing half his limbs, cause the current psychics dont
cut it as much as probably necessary, adds echolocation which can be
used for neat stuff in the future (bat organs for DNA infuser for
example).

## Changelog
🆑 Fikou, sprites from Halcyon, some old code from Basilman and
Armhulen.
refactor: Honorbound and Burdened mutations are brain traumas now.
add: Psykers. Become a psyker through the path of the burdened, or a
genetic breakdown.
add: Echolocation Component.
/🆑

Co-authored-by: tralezab <spamqetuo2@gmail.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-11-29 20:13:28 +00:00
Ryll Ryll
f55aafcc68 Adds the Marksman Revolver from Ultrakill, with coinflipping and splitshotting! (#70612)
## About The Pull Request
Ultrakill is a neat game that I like, and I like to add fun things from
things I like. This PR adds the marksman revolver as an admin-only
weapon, complete with coin flipping and splitshotting mechanics! [Have a
video demonstration!](https://streamable.com/5x4mnj)

Basically, right clicking on a visible tile flips a coin towards a
random adjacent tile to the one you targeted. Shooting the coin
projectile with the hitscan primary fire while it's within one tile of
the target will trigger a splitshot. Those two child splitshots will
roughly follow the priority order of Ultrakill (prioritizing coins [for
even more splits!], then nearby mobs, then less nearby mobs, then other
random stuff nearby). I plan to add other stuff for the shots to
prioritize like fuel tanks, windows, and others.

I'm still working out some of the finer details of balance and more
closely matching how it works to UK (while still working in the realm of
SS13), and of course I hope to get unique sprites/sounds/whatever.

<img src='https://imgur.com/XUTqksD.png'>

## Why It's Good For The Game
Adds more funny/unique things for admins to spawn in.

## Changelog

🆑 Ryll/Shaps
add: Added the Marksman Revolver, for admins to spawn.
/🆑
2022-11-21 23:21:18 -08:00
SkeletalElite
b449dbbfb7 Fixes Riot Dart Damage Exploit (#71261)
Fixes an issue where riot darts would do damage even if they had no pen
in them if recovered after being fired while modified to be able to
accept pens
## About The Pull Request
Fixes an issue where riot darts would do damage even if they had no pen
in them if recovered after being fired while modified to be able to
accept pens
Fixes #71084 
## Why It's Good For The Game
bug bad
## Changelog
🆑
fix: Riot darts no longer do damage with no pen inserted if recovered
after being fired while modified to accept pens.
/🆑
2022-11-22 07:17:27 +00:00
necromanceranne
87f5f2ecfa What if meteorslugs were mini cannonballs (#71137)
## About The Pull Request

Meteorslug shells fire effectively mini cannonballs. They're not as
strong, but they tear through everything they shoot, including walls and
airlocks. They're not as lethal as the real deal or go nearly as far
(range of 7, not even a screens length), but they are still pretty
destructive. They don't fling people, but they could potentially barrel
over several people, which I think is a good trade-off.

Meteorslugs need gunpowder (for a bigger shot) and rum (yarr) to
construct.

## Why It's Good For The Game

Only through sleep deprivation do I get such diabolical ideas.

Also, the original functionality wasn't very interesting except for
like, maybe a few niche silly things, but the real value was using them
to get into places. This version still definitely does that. But it's
_cooler_.

(The object displacement was pretty jank and I think this accomplishes a
very similar effect without actively harming why people would look to
use meteorslugs)

## Changelog
🆑
balance: Meteorslugs are now miniature cannonballs. They also need more
gunpowder and rum to be constructed.
/🆑
2022-11-21 21:03:26 -08:00
Zephyr
1aded37cfc Changes check_grep to use ripgrep and reformats/cleans up the check_grep file (#71324)
## About The Pull Request

I fucked up the check_grep entry for docking ports.
default grep doesn't support newlines and so I need to use `pcregrep -M`

## Why It's Good For The Game

linters working good
## Changelog

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
2022-11-21 11:46:22 -08:00
MrMelbert
79ffefa06d Allows Fully Heal to be passed a series of flags, fixes Adminordrazine being horrible (#71123)
## About The Pull Request

- Fully heal can be passed a series of flags detailing what all is
healed by the proc. This allows for things to provide
almost-but-not-quite fully heals.
- Uses this in Adminordrazine, so that it stops being a pain to update
every time fully heal is updated.

This includes some small balance changes which i'll go over, nothing
extremely noticable.

## Why It's Good For The Game

Allows for more precise control over full heals. 

## Changelog

🆑 Melbert
refactor: Fully heal can be passed a series of flags. As a result, some
things which previously did a full heal might heal slightly less, or
some things which did partial full heals might do slightly more.
fix: Adminordrazine will no longer completely break every facet of a
person
admin: Ahealing a changeling will refill all of their chems.
/🆑
2022-11-17 10:09:00 -08:00
AnturK
4d6a8bc537 515 Compatibility (#71161)
Makes the code compatible with 515.1594+

Few simple changes and one very painful one.
Let's start with the easy:
* puts call behind `LIBCALL` define, so call_ext is properly used in 515
* Adds `NAMEOF_STATIC(_,X)` macro for nameof in static definitions since
src is now invalid there.
* Fixes tgui and devserver. From 515 onward the tmp3333{procid} cache
directory is not appened to base path in browser controls so we don't
check for it in base js and put the dev server dummy window file in
actual directory not the byond root.
* Renames the few things that had /final/ in typepath to ultimate since
final is a new keyword

And the very painful change:
`.proc/whatever` format is no longer valid, so we're replacing it with
new nameof() function. All this wrapped in three new macros.
`PROC_REF(X)`,`TYPE_PROC_REF(TYPE,X)`,`GLOBAL_PROC_REF(X)`. Global is
not actually necessary but if we get nameof that does not allow globals
it would be nice validation.
This is pretty unwieldy but there's no real alternative.
If you notice anything weird in the commits let me know because majority
was done with regex replace.

@tgstation/commit-access Since the .proc/stuff is pretty big change.

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-15 03:50:11 +00:00
tattle
ad5debaaa1 Add investigate_deaths (#71112)
## About The Pull Request
Adds INVESTIGATE_DEATHS, an investigate category intended to better show
causes of death.


![image](https://user-images.githubusercontent.com/66640614/200142461-c17b5e51-1116-4eef-bbfb-49bc024c0953.png)


![image](https://user-images.githubusercontent.com/66640614/200147306-09bef76e-68c6-4f0a-bdf9-0211eb274e66.png)

Also makes suicide_act take a `mob/living` as an argument instead of a
`mob`, and some minor style improvements since apparently I hate
atomicity.

## Why It's Good For The Game
Inspired by a mysterious death and dusting. More logging and leads for
admins investigating deaths.

Also fixes #59028

## Changelog
🆑 Tattle
admin: added investigate deaths to shed some more light on unusual
demises, dustings, and gibbings
/🆑

Co-authored-by: tattle <article.disaster@gmail.com>
2022-11-07 16:22:37 -08:00
VexingRaven
a91e732cc2 [NO GBP] More balloon alerts for guns + fixes a wrong alert (#71136)
## About The Pull Request

Turns out I missed a few to_chats in #70398. Also I accidentally
inverted one so it said close the cover instead of open it. Oops!
## Why It's Good For The Game

Same reason as the original PR, balloon alerts are handy for stuff you
care about right now and not in 5 minutes. Also they should probably not
tell you to do the opposite of what you actually need to do.
## Changelog
🆑 VexingRaven
fix: Fixed a few balloon alerts for guns and moved a few more chat
messages to balloon alerts
/🆑
2022-11-07 09:33:29 -08:00
Fikou
5bb972c94a (hopefully) improvements to use of scope and kinesis module (#70934)
## About The Pull Request
so, scope and kinesis are the only things in the game (other than the
body zone selector) which use the function MouseMove. this tracks every
mouse movement, which meant we had to stuff a cooldown on it to not
calculate a ton of useless stuff. this time can misalign if you move
your mouse fast, not registering at all, as well as not working out with
the 0.2 second processing time of the things handling it (the scope
component and kinesis module)
instead of doing that, we are now keeping the mouse parameters as a
variable, which we update with every mousemove to the current
parameters. then we handle the calculations right as we need them (in
the kinesis/scope) module, rather than relying on mousemove cooldowns,
this should hopefully feel way better

## Why It's Good For The Game
😁 

## Changelog
🆑
qol: sniper scopes and kinesis module should feel better to use
/🆑
2022-11-01 20:02:13 +00:00
Thunder12345
df13fc1dec De-runtimes dueling pistols (#70816)
* de-runtimes dueling pistols

* more refactors, pairing of unpaired guns

* return
2022-10-29 12:02:27 +00:00
necromanceranne
c29b3781a9 Missile Sanity Checking: I made it explode better? (#70813)
* Fixes robotics and nukies gaining access to the wrong type of exosuit missiles, renames the BRM-6 to the PEP-6 (Precision Explosive Projectile), ensures the defines match to which gun goes where, also renames the ammo paths to also prevent the same confusion, swaps around a whole lot of the pathing for what missile is the baseline and what is the parents, makes the PEP use the missile procs instead of its own snowflake code, inadvertently makes the missile a borg murder device but fuck it they're dense objects
2022-10-27 21:12:57 +02:00
SeigaSeiga
6560d523c7 Carrying a null rod no longer disables the ability to use the traitor chef's meat hook (#70783)
override meat_hook's inherited antimagic flags

Co-authored-by: SeigaSeiga <seigacomm@gmail.com>
2022-10-25 19:54:22 -04:00
san7890
1a536ed000 Fixes Type Mismatch Causing Infinite Irrevocable Welding (#70670)
* Fixes Type Mismatch Causing Infinite Irrevocable Welding

(and plasma cutters too, because that seemed to be broken as well).

Hey there,

Behavior introduced in #70235 caused this shit to break, causing infinite welding that you could never undo, with an overlay that could never be removed. This was due to a type_mismatch runtime that plagued servers for a bit, I just stole the pattern from Lemon and used LAZYADD/LAZYREMOVE and that seemed to have fixed the issue.

* fixes plasmacutter since it had the same broken pattern
2022-10-19 23:35:26 -04:00
LemonInTheDark
a625fc8038 Cleans up the fallout from plane cube (#70235)
* Cleans up the fallout from plane cube

Alright.
Makes cleaning bubbles respect planes
Adds support for updating overlays on move, fixing an issue with pointing at items
Adds better error messages for failing to provide args for mutable_appearance()
Fixes a bug where string overlays were not respecting insertion order

* Adds documentation for offset spokesman and offset_const

* Better stack trace

* Removes some redundant uses of cached MAs

At this scale, attempting to cache MAs like this has 0 impact on anything
And just makes things more messy then they need to be

* ensures fullscreen objects START offset, so things are always proper

* ensures chatmessages always have the right offset

* fixes compile

* whoops, the above lighting plane should actually be ABOVE the lighting plane

* fixes compile, also cleans up the fire overlay a tad

* Adds a unit test for plane masters that are shrunk by multiz being double shrunk

This is slightly hacky because of how I'm handing the plane master
group, but it's not THAT bad, and gives me some real good coverage

* Properly targets the seethrough plane at the game world plate. This fixes unit tests, and also just makes more sense

* whoops

* oh

* adds datum support for allocate(), cleans up a harddel from testing

* Makes camera chunks index at 1, and also makes them support non powers of two sizes, since that was unneeded

* fixes runtime in allocate
2022-10-20 09:00:02 +13:00
Tim
09d88b31ee Wizard DLC - Tower of Babel (#69629)
About The Pull Request

This adds a new status effect called - Tower of Babel

Any carbon mob afflicted by the status effect will lose knowledge of every known language and gain a randomized one as a replacement. The affected mob will also be hit with a depressing moodlet that lasts for 15 seconds. Silicons are immune to all effects.

This effect is implemented in several ways:

    Tower of Babel wizard event (all crew on the station z level are affected. The wizard is not and gains mastery of every language to taunt their victims)
    Admin smite option
    Admin secret event (can be reversed)
    Staff of Babel (formerly the Staff of Sapping) will spawn during spawn magic wizard event
    Magicarp will randomly shoot bolts of babel
    Staff of Chaos will randomly shoot bolts of babel
    Overdosing on Mushroom Hallucinogen will temporarily and sporadically acquire the effect

The effect can be blocked or cured in several ways:

    Curators are given immunity
    Reading a book of babel (via lavaland loot) cures and gives immunity
    Reading a language book cures and gives immunity ONLY for that particular language

Note - The Tower of Babel does not allow tongueless, mute, or tongue tied people the ability to speak
2022-10-19 05:17:05 +00:00
san7890
2878345ebb Swaps sleep() to use SECONDS define, changes some sleep(1) to sleep(1 TICKS) (#70452) 2022-10-18 21:25:23 -07:00
John Willard
d6000a1cc1 Russian revolver now lets you suicide with it (#70568)
* Russian revolver now lets you suicide with it

Russian revolvers now use fire_gun instead of afterattack, so the gun's suicide (which uses process_fire) will now work.
I haven't tested, but this seems to fix https://github.com/tgstation/tgstation/issues/66152 too (Monkeys getting aggro on people pointing the gun at them).

* actually, don't check for mob

Now the text is consistent with how it previously was, while always displaying the visible message.

* fix the comment to state yourself only
2022-10-18 08:36:58 -04:00
VexingRaven
9a70367815 Replace some chat messages for guns with balloon alerts (#70398)
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-10-15 14:14:23 -07:00
MrMelbert
ced20c8e63 Converts silent to status effect + small cleanup of can_speak / can_speak_basic / IsVocal, and sign language (#69963)
* Gets rid of a lot of weird vocal checks
- unifies all vocal checks under can_speak and try_speak
- de-spaghettis a bit of sign language stuff
- introduce a silence status effect
2022-10-09 23:46:57 -04:00
arnociiroc
2b02bf103b nerfs shotgun darts (#70112)
* Shotgun darts now only hold up to 15 units, with the nukie-variation being able to hold up to 30. This puts it on-par with the Syringe gun.
2022-10-09 23:33:15 -04:00
ShizCalev
7048110298 Inhands var hardsetting (#70364) 2022-10-07 19:08:09 -07:00
Yaroslav Nurkov
04ca99d7e9 NT Pay app. Money send on distance, transaction log! (#70108)
* base

* reasons

* GetToken proc, with a many remarks

* Add a way to change reason in transfer_money proc. Add a reasons.

* Reason to use the app. Commission. Standard application.

* Apply suggestions from code review - Tralezab

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>

* Tralezab & jlsnow301 advices. New format(everywhere)

* Nanotrasen

* Refactor TGUI(not me:( ). Fix useless capitalize

* Update code/modules/economy/account.dm

* Trans transforms in transaction

* coMmission. little autodoc mistalke. Translation != Transaction

* oops

* Merge Conflict

* ...

* back feats

* mistakes bye!

* ну да

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2022-10-05 18:25:38 -04:00
ShizCalev
1a32f60cf4 [ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons (#70037)
fix: Fixed a bunch of missing inhand icons.
fix: Fixed cables in electrical toolboxes not randomizing their colors.
fix: Fixed the wrong colored icon showing when trying to make cable cuffs out of cables.
fix: The collectable SWAT helmet is now using the proper icon again!
refactor: Pipecleaners and power cables now share a unified color system, so they're once again available in ALL the same colors.
imageadd: Updated the screwdriver belt overlay to represent the newer sprite.
imageadd: Added a bunch of new inhand icons. Special thanks to Twaticus for doing the helmets! <3
fix: Wirecutters now have an icon when inside a belt again!
admin: Added a new omnitool subtype that allows you to spawn all items in a typepath!
fix: Explorer gaskmasks now properly reflect their adjusted state when held.
fix: Fixed balaclavas having the wrong icon when pulled up.
fix: Fixed the base energy sword (admin spawn only) being invisible.
fix: The rainbow energy sword is now a little bit more rainbowy!
fix: Fixed an tk exploit with orange handcuffed shoes.
fix: The traitor outfit in the select equipment panel is now actually functional!
2022-10-04 10:20:24 -07:00
John Willard
91f02f2a6b canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE (#69790)
* canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE

The most idiotic thing I've seen is canUseTopic's defines, they literally just define TRUE, you can use it however you want, it doesn't matter, it just means TRUE. You can mix and match the args and it will set that arg to true, despite the name.

It's so idiotic I decided to remove it, so now I can reclaim a little bit of my sanity.
2022-10-01 09:47:52 -07:00
AnturK
839b7a4c14 Fixes pulse rifle sound and converts some text paths (#70189) 2022-09-29 11:08:25 -07:00
ShizCalev
80f0d27188 energy gun infinite cell runtime fix (#70115) 2022-09-27 08:31:45 -07:00
MrMelbert
45516f4741 Adds macros to help with common set_- and adjust_timed_status_effect uses (#69951)
* Adds helpers for status effect application
2022-09-24 11:04:26 -04:00
MrMelbert
6baebf47a1 Completely refactors hallucinations, and also adds a few (#69706)
* Refactors hallucinations slightly, organizes them

* Refactors hallucination into a status effect

* Further hallucination proper refactoring

* Refactors battle hallucinations

* Refactors "fake item other" hallucination

* Gets it a bit closer to working state

* Refactors screwydoll and fake alerts

* Refactors fake inhand items

* Refactors a few more.
- Fake death
- Fake messages
- Fake sounds
- Projectiles

* Refactoring delusions, hallucination effects

* Furthering the hallucination status effect
- removes copypaste of hallucination pulses

* Almost finalizes the changeover to status effect

* Last staus effect stuff

* Delusion business

* Airlocks, fire, and more delusion stuff

* Finishes screwyhud. It compiles now!

* Swaps screwyhud over to a grouped status effect

* Removes hal_screwyhud

* Comment

* Bugfixing

* image cleaning

* Get rid of this it came back

* What if I finished this branch?

* Oops

* Messing with the randomness

* Mass hallucination tweaks

* +

* Some more mass tweaks

* Review

* Updates

* Unit tests hallucination icons

* More tweaks

* Move folder

* Another re-name

* Minor tweaks

* Anomaly unity

* Mass hallucination buffs

* t

* Sig

* Merge

* Lints

* Unit test already coming in clutch

* Another failure

* Use named args for cause_hallucination via some define trickery

* Some cleanup

* This is better

* adds some hallucinations

* Oops

* More sounds

* Tweaks

* Some additional documentation

* Flash

* Fixes mass hallucination

* Json changes

* Updates documentation

* Json conflicts

* Makes it work

* Missed that one too

* Helpers

* More signalization (WIP)

* Fixes bump

* Missed a helper use

* Dumb
2022-09-21 01:30:04 -04:00
ShizCalev
310d880ceb Makes medibeams more resilient to lag (#69919) 2022-09-17 20:32:23 -07:00
Tim
8f59a6dbac Fix plasma cutter or guns that burn not being able to ignite plasma (#69584)
* Plasmacutter projectiles now deal BURN instead of BRUTE
* BURN projectiles now properly detonate plasma and explodables.
2022-09-14 23:43:58 -04:00
ShizCalev
d881920e0c Improves mecha / projectile logging (#69805)
fix: Projectiles fired by non-mob sources (IE turrets) now log reagents contained after hitting a target.
admin: Cleaned up projectile reagent logging a little.
admin: Projectiles fired from mecha will now combat log on the target AND the firer.
admin: Mecha chassis logs will now contain the name/ckey of the person who fired the mecha's weapon.
admin: Projectiles fired from vehicles are now more likely to be combat logged properly after hitting a target (this logs for all people with control of the mecha which is a little messy with multi-seat mecha. Check the vehicle's logs or a user's combat logs for the person that actually SHOT the projectile.)
2022-09-10 17:43:51 -07:00
tralezab
a88a2f8132 Shadowpeople's healing is from their brain, splits up surgery.dmi (#69543)
About The Pull Request

    Shadowpeople
        brain now holds their healing properties.
            while possible to extract the brain and put them in another species, the burn-in-light downside really makes it a lot more worth it to just stay a shadowperson and enjoy their other benefits than to swap.
        Now use burning eyes from nightmares instead of an unsprited nightvision granting eyeball.
    surgery.dmi split up
        surgery_ui.dmi holds zone selection ui things for research
        surgery_tools.dmi holds surgical tools
        /organs folder holds organs.dmi, and species specific organ files for flies and shadowpeople
            flies don't put in their random organs because of dmi memes, all their UNIQUE organs will be in the .dmi

Why It's Good For The Game

moving behavior onto the organ moves us closer to species as a blueprint, not species as something that magically grants immutable bonuses.
surgery.dmi is poorly described, holds many different things, and conflicts often because of it.
Changelog

cl
add: Shadowpeople now heal from their brains! Their brain-tumor-thingy!
code: split up surgery.dmi
/cl
2022-09-02 10:07:24 +12:00
MrMelbert
de04b3be80 Kills /obj/shapeshift_holder, replaces it with /datum/status_effect/shapechange_mob, also does a lot of Wabbajack refactoring (#69091)
About The Pull Request

    Deletes /obj/shapeshift_holder, replaces it with /datum/status_effect/shapechange_mob
    Refactors Heretic worm form into a shapeshift spell
    Refactors Wabbajack, and associated code

Fixes #69117
Fixes #65653
Fixes #59127
Fixes #52786
Why It's Good For The Game

/obj/shapeshift_holder was one of the worst remaining abuses of /obj direct subtypes, so I replaced it with a cool fancy datum.

This also decouples the shapeshifting behavior entirely from the shapeshifting spell. So we have support for shapeshifted mobs not sourced from a spell. Which is neat, we could technically swap Wabbajack to use this in the future.
Changelog

cl Melbert
fix: Wabbajacking a shapeshifted mob no longer runtimes horribly. When a shapeshifted mob is wabbajacked, they'll now be removed from their shapeshift and stunned.
fix: Transforming via a shapeshift should no longer rob you of your hearing / runechat awareness.
fix: Shapeshifting plays nicer with holoparasites.
fix: Being polymorphed from a xeno to a non-xeno correctly makes you a non-xeno
refactor: Refactored shapeshifting, the shapeshift holder is now a status effect instead of an object.
refactor: Heretic worm form is a shapeshift spell now, this might have some minor behavioral changes but should overall be the same.
refactor: Refactored Wabbajack (+ cursed pool). Overall a bit more clean / consistent behavior.
/cl
2022-09-02 09:44:41 +12:00
tattle
d91390a447 [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1) (#69416)
Moves singulo and supermatter dmis into obj/engine, renamed from obj/tesla_engine
Moves Halloween, Christmas, and misc holiday items to obj/holiday
Moves lollipops to obj/food
Moves crates, closets, and storage to obj/storage
Moves assemblies to obj/assemblies
Renames decals.dmi to signs.dmi ...because they're signs and not decals
Moves statues, cutouts, instruments, art supplies, and crayons to obj/art
Moves balloons, plushes, toys, cards, dice, the hourglass, and TCG to obj/toys
Moves guns, swords, shields to obj/weapons
2022-08-24 20:49:35 -03:00
ShizCalev
50f8a03502 Converts a bunch of things over to get_random_valid_zone() (#69331)
refactor: A bunch of things that used to not do anything (or just fall back on the chest) when targeting a limb that someone was missing will now be far more likely to attack another limb!
2022-08-21 16:27:12 -07:00
Seth Scherer
f1a363c825 Converts a shitload of istypes to their more concise macros (#69260)
* Converts a lot of istypes() to use their istype macro helpers.
2022-08-18 22:08:44 -04:00
Kapu1178
2eccf3cea0 Cleans up update_icons, makes the update_icon_updates_onmob element bespoke, updates CODEOWNERS (#69179)
* I just realised this is all one commit.

* hail marry

* fix.

* FIXES IT FOR REAL

* Update code/datums/elements/update_icon_updates_onmob.dm
2022-08-16 13:50:21 -04:00