Commit Graph

1229 Commits

Author SHA1 Message Date
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
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
necromanceranne
1bfcf2a02c Duffelbag Curse: Sane Edition 2: Melee? (#56438)
* Makes duffelbag curse less cheesey and more for what it was intended to do by limiting the number of bags you can have forced on you

* Makes casting the spell a whisper. Because putting duffelbags on sec while disguised sounds really funny.

* Makes duffelcurse equivalent to the blind spell in cooldown and cost
2021-02-03 13:27:01 -08:00
NotRanged
2c12e87256 Cleans up blob code, removes a lot of hardcoded stuff, many new defines (#56306)
Cleaned up, commented on, and (hopefully) improves a lot of blob code.
Put pretty much everything balance-related (except for the strains themselves) into a define file, for easier viewing, changing, and balancing.
Added a bunch of new functionality that new strains (some of which I plan to add in the future) could use: from increased expansion range to more spores per factory.
2021-02-02 14:20:28 -03:00
Tlaltecuhtli
6a0f58d83b ssdads (#56441)
qol as you are gonna check the name of the dude anyway with pda while the input window is open and then missclick into the captain, with this you dont have to
2021-02-01 00:41:20 -08:00
Sparkezel
e8886025a7 Heretic influence fix (#56461)
Co-authored-by: Sparkezel <1haslo4@gmail.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-01-31 12:49:27 -08:00
Timberpoes
e85cf07b96 Mirror logging for brainwashing and hypnosis in the player panel and attack logs. (#56515)
Hypnosis and brainwashing now have entries in the Player Panel logging
under attack and entries in the attack logs.

Mirrors some logging that would otherwise just be in the game logs.
From an admin-perspective, issues where you'd want to check
brainwashing/hypnosis tend to go hand-in-hand with issues relating to
attack logs as opposed to game logs.
2021-01-31 20:21:38 +00: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
Timberpoes
f457ad5f02 Slaughter Demons no longer have an infinite range, point-and-click attack that can also be used while phased. (#56495)
Fixes this by adding an adjacency check.
2021-01-30 21:25:06 -03:00
TemporalOroboros
11b3d16edb Adds logging to uplinks, spellbooks, and the codex ciatrix (#56450)
* Initial logging

* Bugfix and adds uplink logging to config file

* Another bugfix
2021-01-29 14:34:59 +08:00
elle
3fa2ad5c99 fixes various grammar issues (#56446)
fixes misspellings of 'permanently'
fixes grammar with bandaging wounds on yourself
2021-01-28 17:23:30 -08:00
MrMelbert
6908705ffb Log nuclear arming and disarming (#56451)
Recently a fluke-ops round went down there the nukies armed then immediately disarmed the nuke and no one was sure who disarmed it by accident. When I went to check the logs I realized we don't log who starts or stops a station destroying event?

This PR adds messaging and logging to arming and disarming nuclear devices.
2021-01-28 17:21:20 -08:00
tralezab
5d6f272077 Modernizes Admin Only Wizard Event, Department Revolt (#56061)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-01-26 03:36:19 -08:00
Arkatos1
13c96e7b4b Changeling flesh disguise fixes (#56344)
* Changeling ID icons

* Examine fix

* Suit storage fix

* Cleaner ling ID code

* Cleanup

* Nodrop cleanup

* Cleanup
2021-01-25 02:02:11 -08:00
Sparkezel
3c9913b12c The day has come gamers, the mosin nerf/rework (#56319)
* THE NERF

* fixes a dumb mistake

* Sanity check and second thoughts

* mosin jamming

* adds the cleaning supplies, sprites, slight changes to dmg and jamming and HNNNG ONE LAST BUG

* adds maint kit to russian surplus, second try at fixing

* everything is fixed now :)

* finishing touches

* Last fix?

* fix

* fix var names

* a new sound and few more fixes

* add /brand_new variant to all ert/special spawned mosins, added a check if bolt is locked

* Bolt_locked is true when bolt is open 😂

* added a clamp just in case

Co-authored-by: Sparkezel <1haslo4@gmail.com>
2021-01-25 01:58:50 -08:00
Sparkezel
a554d7825f Splits Grasp of Rust using intents (#56304)
Co-authored-by: Sparkezel <1haslo4@gmail.com>
2021-01-22 13:25:05 -08:00
Tlaltecuhtli
df08104650 mining keys to open tendrills crates buyable with miner points (#56267) 2021-01-22 13:22:54 -08:00
dragomagol
f837ce4397 Cyborg modules renamed to models (#56312)
Changes the references of borg module (type) to model, adds a file for robot declarations and one for model declarations. Basically trying to make the code layout a little more sane.

Initially changed them to 'configurations' but I prefer model; its meaning is closer to module than configuration and avoids confusion with actual config.
2021-01-22 21:38:35 +02:00
Timberpoes
b478bc68d5 Fixes Codex Cicatrix having infinite charges - Maintainer edition (#56307)
Gets rid of pointless text2num.
EK is a path and not an object. Fixes it being used as if it was an object through using initial.
2021-01-21 09:42:50 -05:00
eeSPee
1961f90e78 Small Heretics Fixes (#56268)
Eldritch Book: UI passes the knowledge cost instead of params["cost"], prevents exploits.
Eldritch Rune: Prevents rune from becoming permanently 'is_in_use ', rendering it unusable, if a knowledge's 'on_finished_recipe' returns false.
2021-01-20 11:04:05 -05:00
coiax
e98d79ff27 Laughter demons now eject spontaneous revivals (#56095)
Very occasionally, a laughter demon will eat a changeling, or someone
with very strong nanites, and then are rendered helpless as someone
punches their way out.

Instead, now they will be confusingly ejected from the laughter demon's
internal hammerspace pocket, where they can than then attempt to make
their escape.
2021-01-18 19:02:59 -03:00
Cimika/Lessie/KathyRyals
8ac2276f03 [runtime] Fixes a runtime caused by the sickly blade. (#56226)
Prevents a runtime if the mind of the user is somehow null.
2021-01-18 12:15:17 -05:00
TemporalOroboros
976c1fcb8c [READY] Bespoke Datum Mats (#55296)
* Bespoke Material Backend

- Adds support for bespoke materials:
  - Reimplements [/datum/material/var/id]
  - Ports GetIdFromArguments from SSdcs
  - Adds a wrapper define for GetMaterialRef
  - Adds [MATERIAL_INIT_BESPOKE]
  - Adds [/datum/material/proc/Initialize]
- Does not actually add any bespoke materials

- [ ] TODO: Code docs
- [ ] TODO: Actually adding bespoke materials

* Some has_material procs and cleaning up some spaghetti

- Adds a pair of has_material procs for use in checking whether a given atom has a given material

* Adds meat

- Adds bespoke meat variants
  - Does not make them accessible
- Shuts up the linter

* Implements bespoke meat

- Makes the material container preserve bespoke materials
- Makes the sheetifier accept bespoke materials
- Makes the autolathe accept bespoke materials
- Makes the gibber produce bespoke meats

* Makes butchering produce bespoke meats

This is jank and really needs to be folded into a unified butchering and gibbing system

* Material documentation

- Adds, fixes, and touches up some documentation

* Material container insertion callback

- Changes the proc used to expand the material container's material list ot a proc used to check whether a material fits into a material container
- Instantiating new materials is no longer O(n) relative to the number of autolathes in existence.

* Makes processing meat conserve materials

- Makes bespoke meat carry over into meatballs

* Makes preserving custom materials an option

- Implements the ability to turn preserving custom materials _off_ for processor recipes

* Fixes all bespoke materials of the same type using the same singleton

- We use ids now, not just types.

* Makes the fat sucker produce bespoke meats

- Because consistency is good.

* Fixes autolathes merging bespoke stacks into normal stacks.

* Makes the callback to test materials for holdibility optional

- @Floyd

* GetMaterialRef -> GET_MATERIAL_REF

- We capitalize macros.

* Removes an extraneous callback

- Makes the sheetifier use functionality I didn't notice I implemented a few commits ago.

* Makes mob and species meat null compatible

* Fixes the ore silo

- The ore silo had really snowflake material handling that has been brought in line with the rest.
- The materials should show up in the correct order.

* Fixes minor lathe bugs

- Fixes stack_traces caused when lathes tried to fetch materials using reagent typepaths
- Fixed the selective reagent disposal topic. I have no idea how long this has been broken.

* Various documentation fixes

- Clarified a couple comments
- Removes an extraneous ?. operator
- Fixed mat floor tiles having bugged reagent temperatures

* More fixes

-/datum/material/meat/mob -> /datum/material/meat/mob_meat
- Adds atom typecheck to material containers.

* Fixes old typepaths
2021-01-15 23:39:58 -08:00
Mothblocks
a4c61a37ad [READY] A victory for revolutionaries will no longer end the round on dynamic, instead no new security and command will be allowed to join (#55956)
Currently, a victory for revoutionaries leads to the round abruptly ending on dynamic. This has been replaced by all revolutionaries being deconverted, and no new security or command positions being available.

Also attempts to unionize (pun intended) copy and paste code in the round start and late join revolutionary rulesets into being handled under the revolutionary team instead.
2021-01-12 01:52:40 +00:00
interestingusernam3
18030779cb Makes it possible to create an /obj/item/sharpener with multiple uses (#55958)
Whetstones will now become worn when at 0 uses instead of being either used or not used. All currently existing whetstones start at 1 use.
2021-01-11 16:41:34 -03:00
coiax
89eea73703 Rework job food/alchohol benefits into livers (#55721)
By moving the "special behaviour" of something like security officers
eating donuts, or engineers losing radiation by drinking Screwdrivers,
into traits on the liver, this makes the "origin" of that behaviour more
clearly defined, rather than something that's attached to the mind of
the person. (For example, now if a wizard mindswaps into a Security
Officer, they too can now digest donuts good.)

Having this behaviour be partially visible to the more medically
inclined members of the station (like doctors, and the chaplain for
"entrails reading mystic" themes), means that a dismembered liver tells
a story to those who know how to read it.

Some jobs have more "benefits" than others, for example the only thing
that the liver of a Quartermaster gives them is a sense of inadequacy
when consuming royal carpet.

Clowns having livers that honk make them easier to identify, and plays
into the retconned "bike horns are clown livers lore"? Also, why not cut
out a clown's liver then honk them with it? You monster.
2021-01-11 16:34:40 -03:00
Sparkezel
8f0a2f1f7e Fixes the bloodbeam (#56012)
Fixes the cultist blood beam power targeting angle.
2021-01-08 13:25:55 -03:00
LemonInTheDark
6d1cb94ffb LINDA Reforged (#55604)
Speeds up gas movement significantly
Documents the intent and finer details of the atmos system (Thanks dunc)
Fixes excited groups constantly rebuilding, this broke 4 years ago
Fixes superconductors just straight up not working
Allows turfs to sleep while inside an excited group
Adds a new subprocess to SSAir to support rebuilding in this state
Most heat based behavior no longer relies on being inside a fire
Adds a new element to support doing this cleanly
Adds a new subprocess to SSAir to support doing this while a turf is asleep
Refactors air_update_turf to allow for finer control
Makes apcs take damage in heat to prevent infinite plasma fire diffs
Cleans up immutable gas mixtures to make them work properly when the mix has gas in it
Planetary turfs no longer create a new copy of themselves each time they process. We instead use a global
immutable mix
Cleans up a typed for loop in reactions
Canisters will take damage from outside heat now
Speeds up excited group dismantle
Increases the superconductor threshold by 200k
Cleans up some roundstart ATs on some ruins
Uses /turf/open/var/excited to track if a turf is actively processing, preventing a |=
Prevents openspace from trying to melt
Tweaks a canister examine line
Makes planetary turfs reset to base when broken down as part of an excited group
Makes it impossible for planetary turfs to rebuild, just like space tiles
Fixes closed turfs not activating their replacement when destroyed by moving closed -> open turf activation to
the adjacent air subsystem. They were activating and then going back to sleep before adjacent air got a chance
to tick.
Fire alarms will trigger when the area gets too cold for humans
2021-01-08 08:14:08 +01:00
Sparkezel
5804a42b53 Buffs Void heretic carving knife into a good throw weapon (#55667)
Buffs carving knife into a good throw weapon, 5 damage less than cult dagger. It now has slightly higher embed chance than a combat knife and can become quite a pain to deal with. I believe that its worth it for an item quite far in the research tree.

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-01-06 14:56:43 -08:00
MrMelbert
4b9869b97d Allows you to tuck the nuclear authentication disk (and plushes) into bed. (#55940)
Adds an element, the tuckable element. Objects with this element can be tucked into bed by hitting a bed with it.

You can now make beds by hitting them with a blanket.
You can now tuck plushes into bed.
You can now tuck the disk into bed, too.
2021-01-05 17:57:11 -05:00
NotRanged
907170321d Fixes two bugs with Blob strain rerolling (#55833)
* tested locally and it works

* As suggested

Co-authored-by: Ranged <nickvanderkroon@gmail.com>
2021-01-01 20:08:27 -08:00
Jordan Brown
fb0a1f6367 Merge pull request #55834 from coiax/k33p-th4t-d15k
Move disk verification into skillchip
2021-01-01 12:53:27 -05:00
necromanceranne
66e1ca1646 Clownlike creatures are now more consistent. #fix #honk #banana (#55603)
* Bananium golems can wear clown shoes and are clumsy. Clownlike creatures, including clowns, bananium golems and clown ops, heal from bananas and bananahonk. Clown Ops also don't understand death, like real clowns!
2020-12-31 18:17:46 -08:00
Qustinnus
f66ca34626 Refactors monkeys into a species (#55614)
Changes monkeys from carbon subtype to species.
2020-12-30 16:30:15 +01:00
Jack Edge
3606b62033 Move disk verification into skillchip
🆑 coiax
tweak: The knowledge of nuclear disk serial numbers is now stored as a
skillchip installed in captains, death squad members and nuclear
operatives.
/🆑

Captain gone braindead, lost the pinpointer, and you need to work out if
a given disk is legitimate? Just cut out the skillchip from their brain,
and install it for knowledge of that horrendously long serial number.

---

Moving the TRAIT_DISK_VERIFIFER from an innate mind trait from the job,
to a skillchip allows for some more in-game methods to gaining access to
disk verification, including the chameleon skillship.
2020-12-30 14:31:44 +00:00
coiax
c794c313cd Refactor outfit skillchips (#55652)
* 🏭 Refactor outfit skillchips

- Skillchips now are on /datum/outfit, rather than /datum/outfit/job,
  since we may want other roles to start with skillchips in the future.
- Skillchips are now a list of types to install, rather than a single
  one.
- Traits for the deathsquad are now listed just below the deathsquad
  initial antag datum definition.

* Remove accidental debug testing code

It was not intended for janitors to start with engineering skillchips,
and a really weak lightbulb removing skillchip.

* Fix indentation of comment
2020-12-29 14:27:51 +01:00
Ghom
7bc81e5831 Refactors how movetypes are added and removed, No timers this time. (#55444) 2020-12-28 17:57:51 -08:00
Jared-Fogle
2566d04776 Fix hard dels with rune knives and their creations (#55711)
Rune knives held hard references to the runes they created, which were not cleaned when the rune was eventually deleted. These have been replaced with weakrefs.
2020-12-26 01:35:11 -08:00
小月猫
f7a2d10ed8 Void Finisher now survives the Void (#55437)
It makes it so when you finish the Void Path as a Heretic, you can actually survive in the void (as well as not suffocate in your own storm), you no longer need to breathe, and you resist low pressure (but not high pressure). (the add_traits show a reference to space_adaptation, it doesnt seem to work if i change the reference, and it doesnt seem to have any issues referencing that, so it should be fine as is)

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
2020-12-24 01:43:59 -08:00
Tlaltecuhtli
cd4bca5257 adds new wiz spell: duffelbag curse (#55286)
it gives target a no drop duffelbag which every around 100s will try check if there is food inside else it attacks you, you can poison the food to make it die faster.
more variety for wiz to annoy crew that isnt murder bone
2020-12-24 01:38:06 -08:00
Arkatos1
5fc1b8ad2a Changelings now use a radial menu to select DNAs (#55680)
Changelings are now using a radial menu when choosing DNAs instead of a clumsy input menu, which affects transformation and transformation sting abilities. This is important so that changelings have an idea what exact disguise are they putting on.

"Drop" button in the menu is for Drop Flesh Disguise, which removes all disguise parts changeling have currently on.
2020-12-23 09:37:01 +00:00
Sparkezel
2d77d6ce8e Void is finally exclusive only to void. (#55630)
Co-authored-by: Sparkezel <1haslo4@gmail.com>
2020-12-23 00:39:20 -08:00
Ghom
cd1d49112c Fixing a very old issue about lizard snouts and hoods, fake mustaches and similars. (#55574)
Fixing a little visual issue with certain hoods, fake mustaches and similars making lizard snouts magically disappear when worn.
2020-12-20 16:28:52 -08:00
Rohesie
83e8dd3bc1 Generalizes hands blocked as unarmed attack block (#55579)
I suppose for bots there's a certain level of abstraction involved, but it makes sense within the context.
There's a pretty bad bug associated with shades here that this fixes.
2020-12-20 16:15:02 -08:00
Jared-Fogle
e4edb06fb8 Rerolling blob strains now uses a radial menu, and lets you see what the strain does before picking it (#55559)
Also provides a generic, forward proof way to provide information to radial menu choices.
Why It's Good For The Game

    input is old and crummy.
    Blob is a very wiki reliant mechanic. This moves a bit of it into the game itself to fix that.
    Provides a real cancel option, whereas the old one had none. This is not a balance change, but a QoL one--everyone just moved the input window off to the side.
2020-12-21 10:28:21 +13:00
tralezab
ade6d47ed1 Refactors Beams to use signals: Revived from 2019 edition! BONUS: Medbeams are also refactored to use signals (#55193)
Huge removal of dead vars, bad timers, and other sloppy jitteriness from beams. They go from checking movement to waiting for a signal.
VARIABLE KILL LIST:

sleep_time: signals baby
finished: signals BAYBEEE
target_oldloc: not only not typecasted as a turf or named as a turf, it was unused. when are we going to use this? the beam starts from the origin!
origin_oldloc: bad name, not typecasted. renamed to originturf
static_beam: how are you an unused variable and still get replaced by signals like really
timing_id: signallllss bbbaaaabbyy
recalculating: you get the drill by now signals baby
base_icon: unused, seemingly replaced by visuals I think
2020-12-18 13:52:55 -08:00
Rob Bailey
cb01640043 Filterrific! (#55246)
Filter refactor + In Game Filter Editor
Accessed via VV in the dropdown of atoms. "Edit Filters.
Makes filters actually usable.

Co-authored-by: ghgh <hghgh>
2020-12-18 20:05:20 +02:00
NotRanged
afbe4c2f03 Fixes blob announcement time (#55582)
Co-authored-by: Ranged <nickvanderkroon@gmail.com>
2020-12-17 19:46:13 -08:00
silicons
7bddb07fc9 fixes the clusterfuck of projectile issues (#55495) 2020-12-16 14:13:31 -08:00
Qustinnus
12c1464bc3 [READY] Creates Datumized AI and applies it to monkeys (#55238)
New AI system, implemented for monkeys.
2020-12-13 13:19:54 +01:00