Commit Graph

12764 Commits

Author SHA1 Message Date
Jack7D1
8c44c500e8 New flight potion wing sprites for moths (#56412)
Wing sprites are courtesy of Papaporo Paprito over on Fulpstation!
This PR adds a second sprite for flight potion wings for moths.
A new system is implemented to make this possible, using radial menus.
2021-02-04 01:36:45 -03:00
Qustinnus
63399f90ee removes the test-merge only code from the combat mode commit (#56634)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-03 19:55:38 -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
necromanceranne
98642bfe97 Changes fireman carrying from a trait on gloves to a skillchip (#56593) 2021-02-03 13:31:01 -08:00
Fikou
c4f9a86bdb adds vars for damage done by temp on simplemobs (#56572)
instead of heat and cold damage being handled by unsuitable_atmos_damage, instead its handled by unsuitable_heat_damage and unsuitable_cold_damage
if these vars arent set on the mob, they are set by default to the value of unsuitable_atmos_damage
2021-02-03 00:06:56 -08:00
LemonInTheDark
20d2fb6787 reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)
It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis
2021-02-03 06:27:53 +00:00
Gamer025
db0dd61a96 Fixes emote runtime / changes how emotes work for ghosts (#56519)
* Fixes / refactors emotes

Crack emote no longer runtimes
Ghosts can use help emote
Exhale / inhale emote only work for living
Move beep emote living subtype
Help emote no longer tells you that you can't use it

* Remove var in arguments

Lint

* Replace loop with join
2021-02-02 21:30:13 +01:00
Fikou
f20894b7db fixes wizard corpses not having beard (#56574)
"long beard" is not a beard option
replaced it with Beard (Very Long) which is the same thing
adds vars for corpses to set their hair colors
makes wizard have white beard
2021-02-02 15:12:35 -03: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
Gamer025
bc31848af3 Fix 2 wendigo runtimes (#56540)
Fixes 2 wendigo runtimes:

- When the wendigo tries to teleport to you but there is no location to teleport it would runtimes because the code tried to pick from a empty list
- The wendigo scream message used capitalize which is not needed and also runtimed, since capitalize expects a string not some object
2021-02-01 13:54:42 -05:00
Fikou
fbcc11e8c2 Fix simplemob runtime (#56541)
Handfeeding dead simplemobs no longer runtimes.
2021-02-01 17:18:44 +00:00
RaveRadbury
ade69e6425 We're </span>\n now, lads. (#56487) 2021-01-30 23:50:07 -08:00
Y0SH1M4S73R
bbd794db51 Miscellaneous Pronoun & Grammar Fixes (#56504)
Changes a few uses of static pronouns in dynamically generated strings to calls to the p_ procs.
2021-01-30 22:06:26 -03:00
Fikou
c55d881a00 makes movement reset tolerance less harsh on jousting component, adds keycheck to mob riding (#56497)
the current tolerance on jousting is 2 deciseconds not enough to do fun stuff with any of the mobs you can ride on station like cows or goliaths, this is now 3
mob riding never had a keycheck so u could ride goliaths without a lasso and stuff like that
2021-01-30 21:34:38 -03:00
Y0SH1M4S73R
75da4a0b70 Visual Indicator for Bad Touch Quirk (#56474)
Adds a visual indicator for when you trigger someone's Bad Touch quirk.

Players who have this quirk may not have the time to convey that they do
when hugged, as the hugger may be off-screen by the time the quirk holder
has finished typing a say or emote. This provides a clear indicator that
the quirk holder gets a negative moodlet from hugs.

Co-authored-by: Y0SH1M4S73R <Y0SH1M4S73R@github.com>
2021-01-29 14:54:17 +00: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
RaveRadbury
1a7314b4ff Fixes mime scream (#56466)
Mimes act out screams when their vow is active
2021-01-28 17:16:48 -08:00
RaveRadbury
09d9069177 Audits audible emotes (#56465)
Emotes have been audited for whether they should be seen or heard. No more hearing glares or seeing groans.
2021-01-28 17:13:35 -08:00
itseasytosee
654dd4a20d Adds a surrender button for when you are being held at gunpoint (#56393)
add: Adds a surrender button that pops up when you are at gunpoint that can be pressed to do the *surrender emote
2021-01-28 09:09:59 -05:00
SmArtKar
f5d28ae887 Fixes shitty martial arts code (#56397)
Fixes martial arts being handled in 2 places with a bit of a hack, this needs more attention in future (Hello 2025) -Lemon
2021-01-27 01:29:42 -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
TemporalOroboros
1f1b58bb26 Adds Neon Carpet (#55782)
* Adds emissive carpet, adds plane support to decal element

- Adds a basic abstract/debugging emissive carpet
- Makes decals capable of supporting plane
- Adds auto-smoothing decals

* Adds simple neon carpet variations

* Adds neon carpet reagents and recipes

* Refactors emissive blockers to allow multiple layers of emissive / emissive blocking objects

- Splits the emissive and emissive blocker plane masters into several plane masters which handle different layers of emissiveness.

* Makes neon carpet tile stacks emissive

* Rearranges and docs some emissive plane masters

- Folds the overlay lighting plane master into the emissive planes since it is also used to mask the lighting plane

* Fixes null mats_per_unit stack recombining after splitting

- I think I broke this a while ago when I reworked how stacks handle materials. Whoops.
- This basically only effects carpet at the moment. Good thing I did this when I did!

* Adds neon carpets to cargo

- Adds a cargo supply crate containing a _lot_ of neon carpets for 3000 credits

* Fixes neon carpet highlights leaking through vending machines and such

- Turns out vending machines axed their own emissive blockers whenever they updated their icon because they cleared their managed_vis_overlays...
- Generic emissive blocking has been elementized and some update_overlays procs have been straightened out.

* Fixes id_arg_index for the emissive blocker element

* Commits @Rohsie's suggestions
2021-01-25 01:55:04 -08:00
AdamElTablawy
36d0249e0d Update giant_spider.dm (#56395)
Spiders are now stuck on harm rather than help intent, meaning you can't trade places with them like other simplemobs.
2021-01-25 00:22:19 -08:00
tralezab
c3d4797813 Improvements to Anon Names + Refactoring + Wizard Academy theme and event (#55935)
Co-authored-by: Rohesie <rohesie@gmail.com>
2021-01-23 12:11:22 -08:00
coiax
5ea2c1dfb4 Reworks skittish quirk to be automatic (#56048)
* Reworks skittish quirk to be automatic

🆑 coiax
tweak: The Skittish quirk will now cause you to automatically dive into
a locker/crate if you move into it while it is closed. Walk to avoid
this behaviour.
/🆑

This makes the quirk more useful, while also making it more thematic,
since the "diving into" behaviour can't be disabled, only supressed by
walking.

The cost is unchanged, as the quirk in its current form is overcosted at
2 points.

The emergent effect of skittish people diving into closets when caught
into explosions is definitely a feature, and not a bug.

* Reworks skittish into a element

Skittish is now an element attached to mobs, when the TRAIT_SKITTISH is
added, rather than code that runs on every single Bump of a closet.

Some crates that don't function like normal crates, like the "loot
mastermind" crate, or the wooden crate than can only be deconstructed,
are not divable into.
2021-01-23 02:28:38 -08:00
coiax
65437675f1 Rework AI status displays with emote and radials (#56255)
🆑 coiax
tweak: AI status displays are now controlled either by emotes (like
`*happy`), or by clicking on the status display as an AI.
/🆑

The code that deals with AI status displays is very old, and was hooked
into events like Login() and Logout(). This reworks the code to
something resembling modern standards.

AIs can control their AI status boards in the same way that slimes can
do with things like `*slimesneak`, and can also use the radial menu to
preview what emotion they will be sending to the world.

By removing the Login()/Logout() code as well, the final BSOD of the AI
will now no longer disappear the instant that the AI leaves their corpse
(calling a Logout()).
2021-01-23 02:04:12 -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
1989497576 Frame stacking fix and unit test addition. (#56287)
* Reverts #56205

* Allow things without density to bypass checks

* The rest of the owl

* The rest of the owl

* Doc and tweak

* More feex

* RCD machine frame unit test

* I suck

* AAAAA

* Bad at unit tests

* Revert unit tests (for including in another PR)

* Fix windoor_assembly return logic

* Comment /mob/living/proc/PushAM logic

* Windoor assembley logic tweak

* Fix frame stacking

* Unit test

* Better wording from macros?
2021-01-22 21:18:05 +08:00
Ryll Ryll
d982b4b619 Adds Noogies (Perfect for bullying Moths) (#56286)
* i HATE mothblocks
2021-01-22 02:01:59 -08:00
zxaber
50357cb9d6 Admins transforming a humanoid into an AI can now choose to not move them to the satellite. (#56075)
Adds a Yes/No/Cancel button to the AI transform proc that admins use on whether the new AI should be moved to the satellite or not.

Sometimes admins want to make an AI somewhere off-station for whatever reason. Also makes testing things with AIs less of a hassle.
2021-01-21 12:04:31 -08:00
Jack LeCroy
928b5b8b32 Monkey Martial Arts (#55583)
Moves martial arts to mob/living and lets monkeys use them.

Monkeys have got arms so they should be able to do cool martial arts.
2021-01-20 21:30:21 +02:00
coiax
d4cdeab33d Refactors step_action to pure signals (#56238)
For historical purposes, there was a `step_action()` proc on shoes,
which were called on every step. It normally triggers a signal, which
some components, like squeaky clown shoes use to hook on behaviour. But
there were a few remaining procs that still used the old format; they
now use signals.

This thus saves a proc call on nearly all Move() calls by humans, unless
their shoes have special behaviour, and also enables non-shoes being
able to hook into stepping behaviour.
2021-01-19 21:08:21 -05:00
dragomagol
f54fb8f2fd Replacing magic numbers with defines in robot code (#56241)
While scouring robot code for some (hopefully upcoming) fixes, I found a bunch of gross numbers. These numbers are now letters.
2021-01-19 21:08:10 -05:00
CRITAWAKETS
ca1e06f05c Adds in the comet hairstyle. (#56217)
## About The Pull Request

This PR adds in the new "Comet" hairstyle. A bit anime-ish.

[Example](https://i.imgur.com/e5Xg9It.png)

## Why It's Good For The Game

New hairstyles are good, and so far i've recieved positive feedback on this one.
2021-01-18 12:15:38 -05:00
c420-o
f46a6a5a7d Replaces paralyzed typo (#56208) 2021-01-17 17:13:26 -03: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
cacogen
c871bc742e Makes wayfinding great again (#56055)
Interacting with the wayfinding pinpointer dispenser recently after leaving it untouched basically since I added it I realised it has a bunch of bad design decisions that make it unpleasant to interact with so while this can never solve the lack of desirability of the pinpointers themselves hopefully it prevents the machine from contributing to the problem.
2021-01-15 23:19:07 -03:00
Ryll Ryll
787bbeddbb Improves Bleeding Feedback + Misc Wound/Organ Decay Tweaks (+ Removes Teeth) (#56056) 2021-01-14 23:53:34 -08:00
Timberpoes
9440883233 Fixes checking a person's inventory requiring a do_after and causing a buckle notification. (#56153)
`/atom/movable/proc/mouse_buckle_handling(mob/living/M, mob/living/user)` has functionality that is too generic for `/mob/living/carbon/human/`

`/mob/living/carbon/human/MouseDrop_T(mob/living/target, mob/living/user)` contains code that is better suited for `mouse_buckle_handling()`

`/mob/living/carbon/human/MouseDrop_T()` results in a call stack that calls the generic `/atom/movable/proc/mouse_buckle_handling()` when the prerequisites for piggybacking or fireman carrying are not satisfied. But this makes no sense and means that when the game state is such that you should be inspecting the inventory, the game state is ALSO such that you are attempting to erroneously buckle a player to yourself.

In addition, `MouseDrop_T()` should really not be holding mouse buckling logic in this scenario. As a result, this proc override has been removed from /living/carbon/human entirely. All functionality has been shifted into an overriden `mouse_buckle_handling()` at the /living/carbon/human level.

Piggybacking and fireman carrying now actually return a value on success.

Finally, if we have successfully handled the MouseDrop_T event through a parent proc call chain, we no longer go on to show the mob's inventory.

All these tweaks combined mean that you can now click-drag to view inventories without a do_after and without attempting buckling, /mob/living/carbon/human buckling logic is now appropriately in `mouse_buckle_handling()` and no longer falls through to generic buckling checks, which is not relevant when trying to air quotes "buckle" a mob to a /mob/living/carbon/human. Successfully buckling a player to yourself (in this scenario through fireman carrying) no longer opens the inventory window.

I have tested the following behaviours and they work as intended.

- [x] Piggybacking
- [x] Fireman carrying
- [x] Inspecting inventory of /mob/living/carbon/human
- [x] Inspecting inventory of /mob/living/simple_animal/pet/dog/corgi/ian
- [x] Buckling /mob/living/carbon/human to a chair.
- [x] Buckling /mob/living/simple_animal/pet/dog/corgi/ian to a dog bed.
2021-01-14 16:38:34 -03:00
Qustinnus
8ba1f283df Makes hulk more susceptible to cold damage (#56131)
cl Qustinnus
tweak: Hulks now get more damage from freeze damage, take it in brute, and get the damage at higher temps than normal
/cl

requested by oranges, makes the temp-gun better against hulkies
2021-01-14 10:39:32 +13:00
interestingusernam3
38b72dc69c Prevents everything except carbons, PAIs and cats from resting to fix Ian paralysis (this time with bitflags). (#56089)
There is now a mobility flag that determines a mob's ability to rest. Only works with living mobs. Most living mobs shouldn't be able to rest, so it's only true for carbons, cats and PAIs. Fixes #56034. Fixes #55975 by making borgs unable to rest.
2021-01-13 16:28:28 -03:00
EgorDinamit
a9d20fdcb8 Fix moth aheal runtime (#56109)
Fixes misplaced square bracket to solve runtime issue.
2021-01-12 13:31:32 +00:00
Ghom
bd582f2098 Fixing bugs about the worst simple_animal coded in and material tiles. (#54885)
Fixed floorbots applying floor tiles onto already tiled turfs.
Fixed floorbot issues with material tiles.
Fixed emagged floorbots spawning lattice when deconstructing floor into plating.
2021-01-11 18:03:54 -08:00
coiax
3c3e8ecf72 Regular CTF no longer has wounding (#56093)
🆑 coiax
tweak: Regular Capture-The-Flag players can no longer be wounded.
Simulated participants in the Medieval Shuttle can still be violently
murdered with wounds however.
/🆑

CTF is very fast paced, and if you've taken damage without your shield,
you are nearly dead most of the time. However, if you do survive, you're
supposed to slowly heal, but wounds are untreatable on the battlefield.

People still being able to be bloodily stabbed in the Medieval Shuttle
is definitely a feature.

- Aliens (xenomorphs) are still immune to wounds, but that immunity is
  now done with a trait, rather than a typecheck.
2021-01-11 14:47:38 -08:00
coiax
e986d3245c Refactor caltrop component into element (#56020)
Refactors the nearly completely stateless component "caltrop" into an
element. The previous limit on "one message per caltrop per second" has
been changed to "one message (about caltrops) per mob per second".

This avoids a unique component for each shard of glass, and each cactus
in the world, so saves some much needed memory.

A message about "sliding over" caltrops has been removed, since it's
now intended that you only trigger caltrops if you're not lying down.
2021-01-11 18:50:51 -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
Coffee
6f7d25c9d6 Fixes #55670, AIs will be able to see clearly after getting un-pied (#56087)
Fixes #55670. There was a bug where AIs wouldn't have their blurriness lowered after getting cleaned up. This fixes it by enabling the system that allows living things to lower blurriness on AIs.
2021-01-11 15:07:08 -03:00
Gamer025
c329f7c709 Move module creation up in Initialize (#56086)
This is caused by Initialize trying to link the Cyborg to an AI, when this is done successfully toggle_headlamp is called
Toggle_headlamp however calls update_icons which tries to set icon_state to module.cyborg_base_icon however module at this point is null because the default module is assigned later in Initialize.
This PR moves the module creation up inside Initialize to prevent this.
2021-01-11 15:06:33 -03:00
Tlaltecuhtli
7a750c8907 moves quirk stating from medhud to a button instead of being spammed on your chat (#56067)
shift clicking people with medhud shouldnt fill your whole chat with stuff u dont want except when u press button to see it
2021-01-11 15:04:00 -03:00
Coffee
653d75e429 Flesh to stone no longer makes you immune to bleeding, refactors bleedsuppress into a trait (#56078)
Being hit by the Flesh to Stone makes you bleed immune to prevent you from getting petrified while bleeding, and bleeding out while turned into stone. However, it doesn't make you vulnerable when you get unpetrified. This is a bug. This also makes bleedsuppress into a trait, as both is broken and should be a trait.
2021-01-11 14:59:48 -03:00