* overheating of the laser minigun doesnt care about burst size anymore (#59733)
with autofire, burst size is always 1
* overheating of the laser minigun doesnt care about burst size anymore
Co-authored-by: Fikou <piotrbryla@onet.pl>
* During unit tests, does extra verification on text based overlays (#59553)
This makes it so during unit tests, adding a text based overlay to something will runtime if the icon does not have an icon state matching that text. I would do this during normal compiles as well but getting the icon states from an icon is surprisingly expensive.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
* During unit tests, does extra verification on text based overlays
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
* Adds Neon Carpet (#59140)
Adds a couple varieties of neon carpet.
Makes decals care about their plane in addition to their layer.
* 0
* A
* a
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Fixes rifle scopes working despite not having the gun in hand (#59403)
Gun scopes no longer work unless you are holding them in hand (they persist even if you switch your active hand though, useful for reloading)
* Fixes rifle scopes working despite not having the gun in hand
* Mirror!
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
* Replacing Ebow's Default Shot Sound (#59416)
Replace the default (Unused) fire sound of the basic energy crossbow with the suppressed sound effect
* Large Energy Crossbows Now Sound Like Energy Crossbows
Co-authored-by: Beatrice <83368538+SpaceDragon00@users.noreply.github.com>
* use SIGNAL_HANDLER REEEEEE (#59242)
makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did
* USE SIGNAL_HANDLER REEEEEE
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Nanotransen Legal Liability Initiative - Weapon Stats but more RP (#58865)
* Weapon Descriptions (And Also Reversion)
Adds support for weapon statistics to be shown as part of examining an item, similar to the tags found on armor. Also, reverts the small changes I made on master because I'm a fucking idiot and made those changes on master.
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Nanotransen Legal Liability Initiative - Weapon Stats but more RP
Co-authored-by: Beatrice <83368538+SpaceDragon00@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Is that a fucking rocke- (#59056)
Being hit directly by a rocket launcher now has a 1% chance to make you briefly try processing what's about to happen before exploding you.
* Is that a fucking rocke-
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#58882)
* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more)
* AAAAAAAA
* Update spellbook.dm
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc
* WHEW THAT WAS EASY
* Update ammo.dm
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Caps misfire probability (#58902)
Not the proper fix for this but it at least prevents the exploitative behaviour.
This'll do for now, prevents infinite recursive loops
* [s] Caps misfire probability to prevent infinite recursive procs
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)
* Adds explosion SFX to the blastcannon and explosive compressor
- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.
* Miscellaneous changes
- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments
- Removes a whole bunch of argname = 0 in explosion calls.
* Removes named callback arguments.
* Changes the explosion signals to just use the arguments list
Adds a simple framework to let objects respond to explosions occurring inside of them.
Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.
Makes the explosive compressor and blastcannon actually use the TTVs they are given.
Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments
*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Full Auto Update: no crit firing, no spamclicking, more autofire, more balance
* aaa
* Update fullauto.dm
* aaaaa
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Fixes a bunch of invalid icon states. There's more, but my brain isn't fried enough for that. (#58608)
gibup1 and gibdown1 don't exist
items_and_weapons.dmi doesn't have an icon state called his_grace_ascended, in fact nothing does
items_cyborg.dmi doesn't have an icon state called laser, it does however have an icon state called
laser_cyborg
no porta_turret has an icon state with the _unpowered suffix, in fact I'm convinced none of them ever have
* Fixes a bunch of invalid icon states
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Hollowpoints and similar attacks/weapons double existing armor, not add total armor, to the their targets (#58114)
* Hollowpoints and similar attacks/weapons double existing armor, not add total armor, to the their targets
* a
* Update tools.dmi
* Update tools.dmi
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Redoes how stormtrooper aim works, makes it more consistently random (#58289)
* Redoes how stormtrooper aim works.
The old method was simply varying the spread angle, but that lead to you hitting the target too often, so
blinding was added in a manner that lead to pain at high td.
Then we switched over to using range(2, target), which works about as well as the old spread angle method, and
also had you shooting at yourself/the pipes in the floor.
Both of these methods have the same goal, prevent you from hitting your target outside of hyper close range. So
instead of picking a random close target or changing just the max spread angle, why don't we set a lowest value
you can roll for spread? That way we have some control over the randomness, and we can make the trait work as it
should.
As a part of this, I've changed a few rand()s to rand(0, 1). They were rolling floats between 0 and 1, so they
could in theory roll a 0.5, get 0.5 subtracted from them, and end up producing an angle change of 0. This also
lead to silly behavior with guns not deviating nearly as much as I wanted them to. I'm honestly not sure if this
was intentional or not, but it's dumb when combined with ALREADY ROLLING RANDOM NUMBERS FOR SPREAD
AHHHHHHHHHHHHH
Oh and I haven't readded a blur, since I'm not confident in my artistic ability. If you'd like I can give it a
go, or just use filters or something IDK
* Redoes how stormtrooper aim works, makes it more consistently random
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* makes the hook shotgun work on right click, adds new icons for it (#58270)
* makes the hook shotgun work on right click, adds new icons for it
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Implements Plant Biotype (#57108)
Implements a plant biotype for plant based mobs. Changes the wood golem mob to be an organic, humanoid, and plant biotype---because wood is an organic substance, not a mineral.
This additionally adds the ability for plantbgone/weedkiller to deal damage to plant biotypes.
Why It's Good For The Game
There's a curious lack of a defined plant biotype, despite plants sharing a unique number of traits. Ideally, this behavior can be more consistently implemented with something like biotypes. A minor example of this is utilized in this PR: weedkiller and plantbgone impacting plant-like mobs, which is what you'd expect.
Changelog
cl
add: Plant-like mobs are now impacted and take damage from plant-b-gone and weedkiller reagents
add: Plant-like mobs can be health scanned with a plant analyzer
add: Plant-like mobs are impacted by the floral gun in the same manner pod people are
/cl
* Implements Plant Biotype
Co-authored-by: Fox McCloud <Fox-McCloud@users.noreply.github.com>
* Gubman 2 Remastered 2561 Gubman Harder Game of The Year Edition HD Remaster Rising Dance Revolution Premium
* New descriptions to fit sprite changes, add custom icon code
* Add icon override comments for consistency
* Try to fix this thing
* Hold up just a second now
* I'm working on it okay
* Probably fixed this time around, or so I hope
* I'm genuinely retarded, okay?
* Tweak description to hopefully autofix monkey bullshit
* Update code/modules/projectiles/guns/energy/kinetic_accelerator.dm
* Update code/modules/projectiles/guns/energy/kinetic_accelerator.dm
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Full-Automatic Guns (#57084)
* fullauto component
* eh
* h
* brap
* it works!
* FUCK SHITUP
* dumbass
* l6
* oops
* GOD
* THE LAST 10% OF A PROJECT IS 90% OF THE WORK
* slopwer projecitles, replaces the tesla gun
* heavy
* minigun
* minigun stuff
* runtime fixes, pointer icon
* nuh uh
* makes modifeirs things
* nerf this
* yes
* aghh
* agh
* real high intensity changes here
Co-authored-by: Ryll-Ryll <3589655+Ryll-Ryll@ users.noreply.github.com>
* Full-Automatic Guns
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Ryll-Ryll <3589655+Ryll-Ryll@ users.noreply.github.com>
* Desnowflakes tank integrity (#56443)
Makes tanks use obj_integrity instead of their own snowflaked version.
Makes tanks check for exploding when they are destroyed, rather than once every process.
Makes tanks always leak their gases when they are deconstructed.
Removes the ability for tanks to seal themselves back up over time.
Makes the bomb spawner actually produce functional bombs.
Removes the extraneous syndicate bomb spawner subtype.
Miscellaneous code improvements to tanks, bomb spawners, and the blastcannon.
Fixes the explosives compressor doubling the power of any bomb you put in it.
The changes to tank rupturing behavior shouldn't effect most tritium fueled TTVs including the 50K recipe. Toxins players don't need to worry about suddenly being incapable of getting points or refining anomaly cores. They should only really effect singlecaps, but I don't know enough about singlecaps to know what recipes I should test. I have confirmation that at least one mix is not effected by this.
The self-sealing properties of tanks have been removed. I'm not sure what the purpose of it was, I have heard that it was used to enable hand-portable plasmaflooding, but I'm not familiar with the practice.
As it turns out, the basic bomb spawners were broken on master! I have made the bombs they produce maxcap instead of just spring a leak. Since they maxcap by default now I have removed the syndicate subtype used to spawn the TTV produced by the cuban pete arcade game and replaced it with the normal timer subtype. Since none of the bomb spawner subtypes were used for anything else this shouldn't have any effect on the game.
On a similar note, I have discovered that the maxcap recipe on the wiki stopped working at some point since it was written. I will replace it with a functioning set of instructions.
Less snowflake code.
Bomb spawners are actually functional now.
Slightly better code.
The explosives compressor accurately reflects the power of the bomb you put into it.
* Desnowflakes tank integrity
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Some explosions code cleanup (#57493)
Clears out two deprecated explosions systems (explosion ids and explosion levels)
Refactors a bunch of contents_explosions procs to be maybe slightly faster.
Cleans up a bunch of ex_act code.
Slightly cleaner code
A few less unused vars on /atom and /turf
* Some explosions code cleanup
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Remove the foam finger rocket launcher (#57763)
It's baaaaad. Very bad. There are way better ways to do this but I
don't honestly have the capacity to do them. The sprite states are all
fucked up, it's an odd case of something not being snowflake enough in
the right places, the goddamn thing breaks if you drop it... For fuck's
sake, Ryll tried to fix it and even they couldn't. No, fuck it, get rid
of it, we'll rewrite it later.
* Removes the foam finger rocket launcher
Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
* Replaces 9x19mm with 9mm, makes the PP-95 use a damage multiplier (#57687)
* Replaces 9x19mm with 9mm, makes the PP-95 use a damage multiplier instead.
* forgot the define
* actually if this is .35 it's 10 shots again so let's do that instead wow a .1 difference DOES matter fuck our health system
* Replaces 9x19mm with 9mm, makes the PP-95 use a damage multiplier
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Replace some turf in range() with RANGETURFS and fix(?) bspace trauma (#57566)
* Replace some turf in range() with RANGETURFS and fix(?) bspace trauma
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* don't get it (#57416)
#57013 added a foam finger that shoots rockets, and made the classic laser gatling mistake of being a ballistic gun and thus spawning 5000 rockets in its internal magazine when spawned. I don't know what this is a reference (It's a deadspace thing) to or why a foam finger was chosen for its appearance, but I do know spawning 5000 rockets is a bad idea. This avoids that issue by making it a subtype of wand (just about as good as magic anyway)
* Fixes the foam finger rocket launcher killing the server
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Buff 50 cal and add module
* Add warning in master file
* Rebalance firing delays to accomodate changes
* Fine tuning
* Fine tuning v.2
* Apply code suggestion + fine tuning 3
* 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>
* Fixes the randomly failing unit test that sometimes happens. (#57266)
* Fixes the randomly failing unit test that sometimes happens.
Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>