Commit Graph

2436 Commits

Author SHA1 Message Date
Fox McCloud
59e1e79d61 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
2021-03-26 10:03:43 +13:00
NamelessFairy
a8a6625714 Additional CTF maps (#57230)
This pull request adds a map loader as well as new maps to CTF. When a game starts a CTF map will be selected at random and will be playable by ghosts.

As well as this new functionality CTF now fully supports 4 teams. A green and yellow team have been added complete with both standard and instagib gear.

At current five maps are planned:
Classic - the original map we all know and love
Four Side - A four team CTF map where all teams compete over one flag
Downtown - Terrestrial city themed map
Limbo - Wizard themed map featuring portals and uses KOTH rather than CTF
Cruiser - Space themed map utilizing the powerup system

Random maps are selected on game load
Support for four teams added

Why It's Good For The Game

CTF has been more or less the same on the surface since its creation. This PR allows for some much needed map variety which will increase replay value. CTF is far more regularly played then mafia due to its fast rounds and common use during round end delays and I believe that it deserves a boost in content.
Changelog

cl
add: CTF can now selects a random map at game start
add: CTF now supports four teams
add: Gear for yellow and green CTF teams has been added
add: CTF ID cards for all 4 teams have been added - courtesy of maxymax13
add: a new CTF map, Four Side has been added
add: a new CTF map, Downtown has been added
add: a new KOTH map, Limbo has been added
add: a new CTF map, Cruiser has been added
fix: KOTH capture points retain their sprites after being claimed
/cl
2021-03-26 10:01:43 +13:00
Fikou
ed85d3f5aa 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>
2021-03-20 21:39:52 -07:00
TemporalOroboros
687f91d8bd 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.
2021-03-20 18:15:24 -07:00
TemporalOroboros
fb488fdfff 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
2021-03-20 16:03:59 -07:00
TheVekter
54d9e117b3 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.
2021-03-17 14:42:24 +00:00
necromanceranne
bacf80e858 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
2021-03-16 22:14:52 -04:00
TiviPlus
f0cf7ea5ac Replace some turf in range() with RANGETURFS and fix(?) bspace trauma (#57566) 2021-03-11 02:26:21 -08:00
Ryll Ryll
ba42d027dd 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)
2021-03-05 16:52:11 -08:00
Ryll Ryll
3feb8c959b Fixes runtimes from firing projectiles, adds unit test for firing guns (#57345) 2021-03-03 16:27:36 -08:00
Thalpy
13f9934ed4 Fixes the randomly failing unit test that sometimes happens. (#57266) 2021-03-01 13:57:20 -08:00
Ryll Ryll
66daec9eb8 *smacks table* Hot Damn! (#57269) 2021-02-28 22:22:33 -08:00
Mothblocks
0de523f853 Move the curse hand's visual effects out of Destroy (#57271) 2021-02-28 13:48:15 +01:00
Gurkenglas
95f37913d9 RangedAttack now takes modifiers. (#57214) 2021-02-27 19:55:23 -08:00
Thalpy
5bfab4a84b Fermichem 2.4 - C2 medicine recipe adaptations and atunements to the new mechanics (#57104)
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-27 14:10:53 -08:00
Iamgoofball
499226fea4 Poor Aim now gives you Stormtrooper Aim. (#56511) 2021-02-27 00:21:58 -08:00
Fikou
eea0599511 moves gun related icons to guns folder (#57077)
moves ammo icons, projectile icons and hitscan effect icons to guns folder
renames projectile.dmi to ballistic.dmi so its less confusing
moves rcd ammo from ammo.dmi to tools.dmi with the rcd
2021-02-21 13:58:33 -05:00
Tlaltecuhtli
152fd762a1 improves fire extinguisher code, and makes fire extinguisher water go through machinery, lockers, and crates (#57004) 2021-02-21 03:31:51 -08:00
c420-o
08b9927aa4 Add a new admin weapon: foam finger that shoots missiles (#57013)
An admin only rocket firing foam finger has been added. There is also
a toy version available from arcades that is just a giant foam finger.
2021-02-20 15:08:53 +00:00
necromanceranne
a7a53d423d Regal pipeguns, being flawless, no longer jam (#57017)
Atomized out of the pipegun PR, this fixes specifically regal pipeguns jamming when they're meant to not carry any of the detriments of their parent gun.
2021-02-19 21:17:28 -03:00
necromanceranne
1c14ac771f Fixes projectile damage multiplier not applying to stamina damage dealt by projectiles. (#57016) 2021-02-19 13:40:48 -03:00
TemporalOroboros
e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
NotRanged
0427c0c1ba Fixes reflection of hitscan beams against tiles (#56881)
Co-authored-by: Ranged <nickvanderkroon@gmail.com>
2021-02-18 12:56:43 -08:00
Kylerace
45ccba3809 replaces all instances of ammo_casing/BB to loaded_projectile again without crashing this time (#56989) 2021-02-18 02:50:56 -03:00
LemonInTheDark
5c22a0cfc1 Converts many proc overrides to properly use list/modifiers, lots of other smaller things (#56847)
Converts many proc overrides to properly use list/modifiers, fixes some spots where modifiers should have been passed, calls modifiers what it is, a lazy list, and cleans up some improper arg names like L, M, C, and N. Oh and I think there was a spot where someone was trying to pass M.name in as a string, but forgot to wrap it in []. I fixed that too.
2021-02-16 09:18:46 -05:00
Kylerace
1abe77bd4d Holodeck Bugs are NOT ALLOWED!!!! Fixes Issue with Holodeck Projectiles (#56933) 2021-02-15 23:30:30 -08:00
necromanceranne
efa1f8088f Sprite fixes: Suppressed Sniper Rifles and Donksoft Pistols (#56754)
* Gives the sniper rifle a suppressor overlay so that it no longer shows up as missing a sprite, also fixes donksoft pistols by repathing them from pistols over repathing them from toy saber smgs. Creates a flag for checking if a gun needs a toy overlay, so it is handled in the parent.
2021-02-14 21:33:48 -08:00
tralezab
e09101cb4b Pirates are split into three different ghastly crews! (#56264)
Co-authored-by: DeAndre <robustness13@hotmail.com>
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-14 16:55:37 -08:00
Mothblocks
0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08:00
LemonInTheDark
f4160f26db Converts all uses of modifiers to lazy access to avoid memes in future (#56846) 2021-02-12 15:25:31 -08:00
Tlaltecuhtli
2bbf5dd298 breaching missiles breach windows and rwindows (#56858)
Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-02-12 15:18:48 -08:00
Sparkezel
f8044754eb Refactors sharpness to use a bitfield (#56817)
Refactors sharpness to use bitfield instead of bitflags in case someone wants to add more types of sharp things, or unique behaviour with them
2021-02-11 15:53:29 -03:00
Mothblocks
a1046d8e37 Refactor can_inject, and introduce try_inject (#56816)
Splits can_inject into can_inject and try_inject. The latter can perform side effects, while the former cannot. Moved the show_error bool parameter to a flag that try_inject checks.

Changes the signature to can_inject(mob/user, target_zone, injection_flags). This was previously redefined in several places, making it impossible to use named parameters. This refactor now allows named parameters to be used, and thus avoiding the ugliness of TRUE, FALSE, FALSE in parameters.
2021-02-11 15:45:18 -03:00
necromanceranne
3159949009 Fixes the harpoon gun jamming because of inheritance (#56823) 2021-02-11 15:34:45 -03:00
Sparkezel
06d2f1d27e bloodlust (#56818)
Co-authored-by: Sparkezel <1haslo4@gmail.com>
2021-02-11 13:36:25 +01:00
TJatPBnJ
27e51bc557 fixes 2 runtimes caused by holding people up with a gun (#56800)
Fixes two runtimes, one caused by status effects always expecting a return from throw_alert, and another caused by holding yourself up (which you shouldn't even be able to do). Also fixes an issue caused by multiple people holding up the same person, when one of the perpetrators stopped holding up the victim, all of the victim's related alerts disappeared.
2021-02-10 22:56:38 -05:00
TJatPBnJ
b89748f8fd M90 changes (#56667)
The m90 is now 14tc instead of 18. Its grenades can be bought from the uplink in boxes for 6tc, instead of individual grenades for 2tc each. You can also fire the m90's grenade launcher with right click.
2021-02-08 22:35:48 -08:00
Rohesie
596a5ec731 Renames the _alt attacks to _secondary for clarity (#56752) 2021-02-08 21:33:15 -08:00
Ryll Ryll
694519e98b Change captain's gun to shoots hellfire lasers (#56625)
This PR changes the Captain's antique laser to fire hellfire lasers
instead of normal ones, which for those who don't know, deal much more
grievous burn wounds and slightly more damage (25 burn vs 20).
Originally this PR let the Cap's gun switch between normal lasers at
the normal energy cost and hellfires at 30% more energy cost, but coiax
suggested just making it shoot hellfires only so here we are.

This gives the Cap's gun more personality and utility than just being a
smaller advanced energy gun without disablers. Hellfire lasers and burn
wounds work best against unarmored targets (like, say, a swarm of
assistants breaking into your office), so this gives the wielder an
extra edge against rowdy crewmembers who need to be brought back into
line.

It also works out fluff-wise, since hellguns are supposed to be really
old laser guns that were so gruesome that NT limited their power to
avoid the bad PR that comes with selling war-crime guns, so an antique
from before that change would still have them. Plus I think it's funny
that the Captain gets a gun that specializes in maiming and disfiguring
people.
2021-02-07 13:05:02 +00:00
Mothblocks
33ca41c0bd Add alternate attack procs (#56663)
Adds alternate attack procs for right-clicking. Updates the gunpoint code to use this new proc as an example (though I suspect this is being changed soon, so oops).

This makes it easier to add new behavior to right click, which we should be doing.
2021-02-05 16:23:09 -08:00
Qustinnus
1b8fe656b2 You can no longer shoot and melee with guns at the same time (#56647) 2021-02-05 15:51:52 -08:00
Fikou
9d4f49d52a makes blast cannons not seem like an innocent item before a bomb is loaded (#56645) 2021-02-05 11:45:23 -08:00
Ryll Ryll
293c9a4add You can now remove embedded objects directly with a hemostat (#56637) 2021-02-05 01:08:19 -08:00
Fikou
efbb133167 Adds powerup system, refactors ctf pickups and powerup mine subtypes into it (#56605) 2021-02-03 23:46:08 -08:00
Qustinnus
707fc287b4 Replaces intents with combat mode (#56601)
About The Pull Request

This PR removes intents and replaces them with a combat mode. An explanation of what this means can be found below
Major changes:

    Disarm and Grab intents have been removed.
    Harm/Help is now combat mode, toggled by F or 4 by default
    The context/verb/popup menu now only works when you do shift+right-click
    Right click is now disarm, both in and out of combat mode.
    Grabbing is now on ctrl-click.
    If you're in combat mode, and are currently grabbing/pulling someone, and ctrl-click somewhere else, it will not release the grab (To prevent misclicks)

Minor interaction changes:

Right click to dissasemble tables, racks, filing cabinets (When holding the right tool to do so)
Left click to stunbaton, right click to harmbaton
Right click to tip cows
Right click to malpractice surgery
Right click to hold people at gunpoint (if youre holding a gun)
Why It's Good For The Game

Intents heavily cripple both the code and the UI design of interactions. While I understand that a lot of people will dislike this PR as they are used to intents, they are one of our weakest links in terms of explaining to players how to do specific things, and require a lot more keypresses to do compared to this.

As an example, martial arts can now be done without having to juggle 1 2 3 and 4 to switch intents quickly.

As some of you who saw the first combat mode PR, the context menu used to be disabled in combat mode. In this version it is instead on shift-right click ensuring that you can always use it in the same way.

In this version, combat mode also no longer prevents you from attacking with items when you would so before, as this was something that was commonly complained about.

The full intention of this shift in control scheme is that right click will become "secondary interaction" for items, which prevents some of the awkward juggling we have now with item modes etcetera.
Changelog

cl Qustinnus
add: Intents have been replaced with a combat mode. For more info find the PR here: #56601
/cl
2021-02-04 16:37:32 +13:00
ATH1909
610c88afd7 cyborg disablers and cyborg t*sers are now emp-proof like the other cyborg-mounted energy-based guns are (#56481) 2021-02-03 15:34:35 -08:00
necromanceranne
1611aaa70a Pipeguns: Elitism Edition (#56322)
About The Pull Request

The core of the PR:

The improvised shotgun that was is dead and removed.

Now we have Pipeguns. Pipeguns are bolt action rifles that have a damage multiplier that reduces their damage to 75%, and can be modified to fit the rare 7.62mm bullets. If you want to that is.

The pipegun also slowly increases in misfire probability for every shot at a rate of 5% per shot.

Pipeguns can also be upgraded to Regal Pipeguns. These contain more bullets, don't misfire and don't have a damage multiplier. To acquire one is a maint secret, only available to lucky assistants who come across the diary of a dead assistant. The probability of finding the book is quite, quite low.

Bandoliers now fit individual 7.62mm. Because why not. Currently they're available in stripper clips that fit into most combat belts so this is mostly a style preference at the moment

Other shit

Ammo modification and misfire behaviour is now generalized to all ballistics. You can now make any gun misfire and any internal magazine gun swap ammunition.

Misfires are not a flat chance. Instead, they increment as the gun fires over time.

Ports over this PR Citadel-Station-13/Citadel-Station-13#12274 which I felt was pretty neat conceptually for making some weapons weaker.

Makes the icemoon hermit's mosin into a regal pipegun, just to get mosins out of easy access.
Why It's Good For The Game

Improvised shotguns were one of my favourite weapons to horribly abuse while they were utterly broken a nice alternative, but I fully support moving towards curbing gun power curve. Part of that should include looking at improvised weapons like this which are seeing considerable usage with the removal of buckshot and slugs.

Initially I wanted to pair this with a PR of my own to bop Mosins on the skull along with it, but #56319 is already doing that, and while it's a very lenient approach to my own (I was going to remove them entirely from cargo), I respect it.

Changelog

cl
add: Replaces improvised shotguns with Pipeguns (with a special variant for those willing to go through arbitrary bullshit to acquire it and sheer good luck).
add: Now all guns can be set to misfire and swap ammunition.
add: Misfire chance is incremental as you fire the weapon, and not a flat static chance. This can be reset by using a piece of cloth on the gun and 10 seconds of cleaning.
balance: This has been applied to the detective revolver, but it only increments while using .357 bullets.
add: Guns can have damage multipliers attached for the bullets they fire. The pipegun (but not the regal version) is the first example with a 75% damage output.
balance: The Ice Hermit now has a regal pipegun instead of a Mosin Nagant.
balance: The bandolier fits 7.62mm.
balance: You can construct receivers and rifle stocks in the crafting menu.
balance: Detaches the magical rifles from the boltaction subtype, since they are just basically not using any variables attached to that subtype and made from a series of early returns.
/cl
2021-02-04 11:37:01 +13:00
NotRanged
ec83d8a2ec Makes emitters hitscan (#56579) 2021-02-03 13:33:57 -08:00
TemporalOroboros
0782e92d1d Defines calibers (#56476)
Adds defines for all of the ammo calibers
Replaces all current magic strings with defines
Docs what guns use what calibers
Corrects the name of the incendiary .45 ammo casing to indicate that it fires incendiary rounds rather than armor piercing rounds
2021-01-30 22:16:30 -03:00
RaveRadbury
2542a7a078 Adds gun-shyness (#56463) 2021-01-29 14:29:38 +08:00