Commit Graph

1308 Commits

Author SHA1 Message Date
Qustinnus
74755a5a3a Audio falloff re-work, and increased audio range. (#54362)
imo; the ss13 audio-scape is quite barren, you can only hear most things if you can see them, which in my opinion doesn't make much sense. This changes that so you can hear further away, but falloff is much higher, so in reality you will only hear things relatively quietly when they're out of sight.

This PR increases the hearing distance of most sound by 9, excluding sounds such as antag items that are meant to be used stealthily

This PR also replaces Byond's inbuilt falloff system with something I made, (And thanks to potato for helping me throw together a formula for it). This fall-off system makes sound fall off more naturally, with sounds being full volume within a certain range, and then softly falling off until they are completely quiet. This makes for a smoother transition between "This sound is full volume" and "I dont hear this sound".

Co-authored-by: ff <ff>
2020-10-20 17:14:16 -07:00
nicbn
a1c59cc9bc Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
2020-10-15 19:46:36 -03:00
ZeWaka
9629feed35 Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
2020-10-13 16:43:53 -03:00
Rohesie
0ef4856b19 Enables a click cooldown on throws (#54331) 2020-10-12 13:35:46 -07:00
Rohesie
af65c90125 Mobility refactor: no more update_mobility() (#54183)
This is a pretty big change all around. The gist of it is that it moves the mobility_flags into traits or variables that can track the sources, and to which we can append code to react to the events, be it via signals or via on_event-like procs.

For example, MOBILITY_STAND could mean, depending on context, that the mob is either already standing or that it may be able to stand, and thus is lying down.

There was a lot of snowflakery and redefinitions on top of redefinitions, so this is bound to create bugs I'm willing to fix as I learn them.

The end-goal is for every living mob to use the same mobility system, for the traits to mean the same among them, and for no place to just mass-change settings without a way to trace it, such as with mobility_flags = NONE and mobility_flags = ALL

Fixes AIs being able to strip nearby people. They've lost their hands usage.
2020-10-09 16:04:30 -07:00
Zxaber
74e1244cf4 Merge remote-tracking branch 'upstream/master' into kiltborg 2020-09-29 03:54:41 -07:00
Rohesie
3cc7733f34 Moblity refactor: hands blocked and restrained edition. (#53981)
Splits the restrained() proc into component traits: TRAIT_HANDS_BLOCKED for the general inability to use hands and TRAIT_RESTRAINED for the more specific condition that permits arrests.
    Code moved away from the update_mobility() proc so it doesn't have to wait for an update, instead changing based on events. The idea is to eventually kill that proc.
    Wrapper proc added for setting the handcuffed value so we can react to the event of it changing.
    Kills the RestrainedClickOn() proc. That is now just an UnarmedAttack(), in where the ability to use hands can be checked. Monkeys keep their bite attack and humans their self-examine.
2020-09-29 11:23:43 +01:00
zxaber
63a3f3f516 Merge branch 'master' into kiltborg 2020-09-29 02:56:02 -07:00
Jared-Fogle
7ccb721880 Prevent inventory HUDs from overlapping multiple overlays (#53974)
Currently, when you drag your mouse off an inventory button while holding it down, it'll leave a permanent ghost image (#53950). This is because MouseExited is not being called properly. However, I couldn't reproduce this in a non-SS13 BYOND project, which makes it difficult for me to fix that.

This is a band-aid fix. It'll leave a ghost image, but then the next time you hover over and exit, it'll remove it, making it much less annoying.
2020-09-29 06:32:12 -03:00
zxaber
27b8d4467c Merge branch 'master' into kiltborg 2020-09-28 19:13:43 -07:00
Zxaber
ead5115433 update 2020-09-28 05:14:40 -07:00
zxaber
8e98391dfb tgui: Borg tablets and RoboTact as a borg self-management app (#53373)
* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* take one

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* part 2

* Automatic changelog compile [ci skip]

* part 3

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* part three I think

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* who even knows what step I'm on anymore

* and another one

* Automatic changelog compile [ci skip]

* PR time

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile [ci skip]

* Forward Progress

* Automatic changelog compile [ci skip]

* Merge remote-tracking branch 'upstream/master' into SiliScreen

* more foward progress

* RoboTact

* bad tab

* Improvements all around

Plus some changes to vis_overlay to allow for color

* Lights and things

* borg network card

borg tablets lose networking when borg is locked or has no power

* hud changes

not done yet, but getting close

* better modPC screen button

* updoot

* more useful colors

* linter

* Do I finally get a green ✓

* better law sync catching

* hate linters

Co-authored-by: Changelogs <action@github.com>
2020-09-24 13:13:52 +03:00
Tad Hardesty
f80836d00d Fix broken dmdoc crosslinks (#53896)
- Backtick-escape code samples which contain `[]` syntax.
- Fix all crosslinks to nonexistent symbols.
- Somewhat improve docs for qdel defines, research defines, dynamic mode, and others.
- Remove unused bloodcrawling defines.

Some crosslinks to defined but undocumented symbols remain. For BYOND builtins, a future dmdoc version may link those symbols to their entries in the DM reference. Other symbols could be documented by a future PR.

New "file" crosslinks as used in `research.dm` are slated for release in a future dmdoc version.
2020-09-23 03:47:44 -03:00
AnturK
61e5c556df Custom statues and sculpting changes. (#53154)
### Gameplay changes:
- Spacemen lose their ability to sculpt all minerals into statues barehanded, you need a chisel now.
- You can now create carving blocks out of 5 sheets of most materials.
- Using a chisel on the blocks you can designate what to carve in it (including the preset statues from before).
- Chisels can be printed at autolathe, there's also one in art storage.
### Code changes:
- Squeak component now squeaks on attack_hand for structures.
- Radials now accept atom paths automatically extracting the name with initial.
- Base and rigid stack recipes renamed appropriately.
- Statues now use custom materials.
2020-09-23 02:46:01 -03:00
TiviPlus
ff1631b7b9 Fully removes devil and affiliated shitcode (#53612)
Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.
2020-09-23 00:46:21 +01:00
Timberpoes
b8ce0aa519 Cyborg inventory runtime fix. (#53741)
Following the cyborg inventory refactor, code changed a bit.

Cyborg inventory screens are inited in the HUD, however AI Shells don't generate a HUD until an AI assumes direct control.

Damaging an AI shell before the AI created a HUD in it would cause runtimes as modules disabled and enabled.

To remedy this, we now initialize the core inventory slots on the robit Init() and then update them as necessary in the HUD code later on if an AI ever deigns to grace your shell with their exalted presence instead of asking for it and then never using it.
2020-09-15 19:04:09 -04:00
Rohesie
457a3bb414 limb disabled refactor (#53374)
Fixes #53219
    Nukes is_disabled()
    Turns several variable value changes into events.
    bodypart_disabled turned into a boolean value.
    BODYPART_DISABLED_WOUND turned into TRAIT_DISABLED_BY_WOUND. Not the cleanest thing out there, but it works.
    Cleans some code and reduces number of updates, as only the extremities have a disabled effect.
2020-09-11 17:59:09 +01:00
TiviPlus
ce3d7e2f0d Mecha refactor 2020 (#52902)
-Mechs are a vehicle subtype
-Mech equipment half-rewritten
-Mech actions completely redone
-Cooldown macros
-New movement macros & replacing all var in GLOB.diagonals with ISDIAGONALDIR(var)
-New lazylist macro
-Support for lavaland only mechs
-Removed the tank because fuck off with that hacky shit
-Documentation
-Fuckton of fixes
2020-08-29 23:33:47 -03:00
TiviPlus
ca366c3ea1 Bools and returns super-pr (#53221)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-28 14:26:37 -07:00
Couls
e7f99e3b8b Browser Status Panel (#53112) 2020-08-27 15:28:03 -07:00
Jared-Fogle
2a43f2a5e9 Adds a succumb alert prompt (#52892)
* Adds a succumb action

* Change from action button to alert to stand out more

* CAN_SUCCUMB macro and early return

* Move updating to set_stat

* Bring back new_stat

* Move to new traits

* Observer check
2020-08-27 09:24:32 +02:00
81Denton
3858b72bdb Merge pull request #53020 from Qustinnus/fatgrowing
[READY] Vatgrowing: Third time's the charm
2020-08-24 22:46:08 +02:00
TemporalOroboros
6e950daccc Defines damage flags. (#53158) 2020-08-24 08:20:33 -03:00
floyd
d8c2e683a0 Merge branch 'master' into fatgrowing 2020-08-22 23:01:19 +02:00
Rohesie
eda7c6ca55 Overlay lighting component (#52413)
Sparks no longer lag, projectile beams move super smoothly, same with mobs and whatnot. This also allows for easy expansion into directional lights, field-of-view, wee-woo rotating lights or whatever.

It does have a downside: things right-clicked or checked through the alt+click tab will show the light overlay:


This is a BYOND limitation, very well worth it IMO.

🆑
add: Smooth movable lighting system implemented. Projectiles, sparks, thrown flashlights or moving mobs with lights should be much smoother and less laggy.
balance: Light sources no longer stack in range, though they still do in intensity.
/🆑
2020-08-22 14:56:38 +12:00
Qustinnus
f340bc4efc Update code/_onclick/hud/ooze.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-20 23:37:17 +03:00
floyd
9b4a488216 no food stuff 2020-08-20 23:36:18 +03:00
Jared-Fogle
45c14f6330 Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)
Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl
2020-08-20 09:11:28 +12:00
kingofkosmos
3263decaad Personalized combat messages part 2 (#52890)
Adds more "personalized" combat messages for all participants in a fight: the attacker, the victim and the spectators
2020-08-13 11:34:57 -03:00
Jared-Fogle
3a34223c01 Offers will now be retained if you move (#52799) 2020-08-10 11:20:54 -04:00
Fhaxaris
5409aa1bd4 Adds screen_glass.dmi (#52691)
transparent hud
2020-08-04 15:58:44 +02:00
LemonInTheDark
092af76b5d Adds an atmos debugging tool and excited group visualizer (#52395)
* Adds an atmos debugging tool and excited group visualizer

* rebuild moment

* yarn install -> yarn run build

* Sigh

* Fixed UI, did not test, needs a rebuild.

* Proper flexing

* Adds varied colors, improved ui courtusy of stylemistake:

* Fixes a runtime, updates tgui

* added superconductors, cleaned up some shitcode, removed a clashing color

* Woop

* Speed

* rebuild

* Adds a tick count

* begone auto-update

* color defines

* rebuild moment

* color improvements, fixes updating

* adds another preprocesser define to handle showing max shares in the ui

* test of application system?

* patches up some display issues, allows for smooth flowing from one group to another

* overlay-ified

* client testing

* dmi moment

* plane master

* it fucking works

* size change

* passthrough

* rebuild moment

* adresses review concerns, toggles active turf vis on when testing

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-03 09:15:08 +02:00
MrMelbert
db717b9566 Adds some user feedback to borgs using modules while buckled to things (#52459)
* user feedback

* c
2020-07-29 03:54:21 -03:00
MrMelbert
71cf2330ea Fixes another borg runtime + middle click cycling for borgs (#52476)
* zoom

* aight then
2020-07-27 23:15:43 -03:00
AnturK
da66d1a385 Fixes cinematics for widescreen. (#52464) 2020-07-26 13:47:46 -04:00
IndieanaJones
616177f4cb [READY] Swarmer Rework (#51558)
* Move swarmer.dm to the hostile simple mob folder, make changes

* Move swarmer event file to events, make changes

* Update Resource Pricing on Swarmer HUD

* Update traumas.dm

* Update parts.dm to remove deactivated swarmers

* Remove the Swarmer Drone Dispenser

* Remove swarmer.dm from the antagonist file

* Move the swarmer event to the events file

* Add a proper swarmer antagonist file

* Load proper files

* Various Fixes, Implement ATH's Rapid Consumption

* Utilize the Nightmare's Light Level Check on Xeno Spawns For Swarmers, Hopefully Filters Out Bad Spawns

* Update The Pricing In The Descriptions

* Get Rid of That Random Backslash

* Use the Proper Damage Proc for Cyborgs

* Fix the Bug Shiz pointed out

* Update code/modules/mob/living/simple_animal/hostile/swarmer.dm

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>

* Fix the Swarmer Antagonist File

* Fix the traumas issue

* Update traumas.dm

* Update code/modules/events/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/mob/living/simple_animal/hostile/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/mob/living/simple_animal/hostile/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/mob/living/simple_animal/hostile/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Upload Swarmers Folder

* Remove the swarmer file from the hostile folder

* Update the swarmer megafauna to work with changes

* Load the seperated swarmer files

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Catch-22 Variable

* Update code/modules/events/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_objs.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_objs.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_objs.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Fix all the references in the swarmer megafauna file

* Fix method names in the swarmer mob file

* Fix method names in swarmer_act.dm

* Fix Method Names in swarmer hud file

* Update code/modules/swarmers/swarmer_objs.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_objs.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_objs.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/swarmers/swarmer_act.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Fix the naming issues to let it compile

* Change the Things Rohsie Wanted Changed

* Change CLRF Back To LF

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-24 03:56:58 -03:00
Ryll Ryll
46dd89b07a [READY] Wounds part 2: Piercing wounds, dismemberment changes, housekeeping (#51786)
* pierce the heavens

* starts doing projs

* continue pierce

* before armor

* before sharpness redefine

* rename sharp defines, before further implementation

* finishing undoing atk_type back to sharpness

* neatens up sharpness defines, FALSE -> SHARP_NONE

* more piercing, removes brute damage bleed, bubblegum no longer wound

* starts letting embeds get in on the fun

* half with embed

* work on dismembering

* continued embed work

* more moving bandaging to limbs

* more dismemberment work

* removing embed pierce stuff

* tweaking bullets

* more docs and work on dismemberment

* spans, piercing, guns

* dismemberment and scar fixes

* bee changes

* bullets embedding

* more bullet and dismember work

* dismemberment, surgery, piercing, formaldehyde,

* pleases travis

* pierce smite

* nicer on blood

* Auto stash before rebase of "tgstation/master"

* more neatening

* wounds only consider up to 35 damage, wounds on l6 and 762

* updates hulk

* balance

* defines

* lower slug to 50 brute to accommodate wounds

* adds differentiation for having flesh/bones/both in mobs

* moves scar descs to json, renames organic_state

* excises removed healing skill

* fixes logs, inconsistencies, some balance changes

* untab

* slight compress

* a

* kills pointed global list

* dmdoc

* halfway through roh

* finishes roh review

* okay NOW i finished roh's reviews

* roh roh roh your boat

* gently down the stream

* global lists

* list ops, fix scanner for bone gel improvised fix

* travis moment

* sounds added and moved

* pellet clouds can join the fun fully, slight gun balancing for wounds

* doc moment

* unconflicts myself

* update hulk

* Update code/_onclick/item_attack.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* crying ascii face

* final rohview

* oops

* final final

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-23 23:19:30 -03:00
Jared-Fogle
c3fd280a01 You can now take off clothes while on stasis 2020-07-21 23:16:55 -07:00
Ryll-Ryll
1f31064c3e Merge remote-tracking branch 'tgstation/master' into who-named-this-damned-proc 2020-07-16 21:43:14 -04:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
Ryll-Ryll
7f15be7f68 Merge branch 'master' into who-named-this-damned-proc 2020-07-11 23:30:49 -04:00
Ryll-Ryll
fc0b247738 rename 2020-07-11 23:23:23 -04:00
AnturK
f4af5ed28c Makes CanReach default to blocking. (#52115) 2020-07-12 04:25:27 +10:00
tralezab
fd9b5efae7 Mafia: a minigame for ghosts to sign up for while dead (#51788)
* pre-removal of mafia_game_signups

* redoes the whole joining system, start of the role popup datum

* MAPMERGE 💪

* bundle fix + working on a fix

* even more testing

* lobby working, fail text, comments out 2>3 player test setup

* mapmerge

* uhhh maybe?

* updates mafia controls panel

* megafix + megafeature pack

* lint, small fix bundle. should compile after this

* bye test setup

* big changes, no revs yet though

* godmode, why not

* bundle frick off man

* SORRY

* doesn't send rev messages and mafia messages if they don't exist

* removes revs, improves tgui by a shit ton

* mostly mafia panel stuff

* maps + improvements

* disables this map because bugs

* bundle, take that

* Apply suggestions from stylemistake code review

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>

* 1/2 review

* bad maps gone

* goodbye game ID

* e

* finally done

* voila

* don't forget bundle!

* e

* last commit before i irrevocably BOUNDS myself to death

* Rebuild tgui

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-06 19:02:45 +03:00
Tlaltecuhtli
9a15ba2eeb eye stabbing returns a normal attack if it fails instead of doing nothing (#51842)
* 2

* ghfdfsffhjftyfthfhttfhrsrgr

* dfonisdifoniosdfnosdfnoidf
2020-06-26 11:22:31 -04:00
spookydonut
88d1d36aef Removes some var/const that should be defines (#51461)
* Removes some var/const that should be defines

* change requests

* change requests
2020-06-25 03:00:09 -04:00
nemvar
b87f65d95e Converts ALL typepaths to lowercase (#51642)
* Case of lower

* More changes

* Ruins the nice 420 diff, brainfart when doing the second batch of conversions

* More changes

* Next batch. I think

* Converts even more paths

* Restarts bots

* Capital Free Zone

* Come on travis, do something

* Renames areas

* Bots, please stop dying

* Updates CONTRIBUTING.md and updates a few paths I missed.

* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
2020-06-17 20:47:57 -03:00
Jared-Fogle
1ca9ebb73f Implement unused drunk alert 2020-06-14 01:33:42 -07:00
Ryll Ryll
0f6496a55c [READY] Adds Medical Wounds: Bamboo Bones and the Skin of Your Teeth (#50558)
About The Pull Request

This PR adds medical wounds, new forms of injuries that people can suffer that cause debilitation and complications, and often require more than what can be found in a medkit to treat. But let's be honest, big complicated walls of text about medical changes make people's eyes glaze over easily- so I created a handy infograph to explain the basics!

Also there's a full guide here!

dreamseeker_2020-04-18_20-42-19.png

The infograph may not be fully up to date with the specifics of the PR's status, but it'll be updated along with major changes so people have something to use as a crash course for familiarizing themselves with how wounds function. I also have another infograph with all 9 of the possible initial wounds coming, and will be up soon. You can also find the longform design doc here with more info on the broad details, including descriptions of treatments: hackmd whee
What this does

There's a lot to cover, but here's the bullet points of the main features and changes:

    Getting lots of damage on a limb can result in wounds, with more damage causing worse wounds. These can range from dislocated joints and minor cuts to compound fractures and fourth degree burns, and can affect you in different ways depending on what bodypart they're applied to (namely with broken bones).
    You can damage individual bodyparts on clothing (only jumpsuits for now) through the use of lasers and sharp weapons. Bodyparts that reach max damage are considered "shredded" and will not apply any protection for that zone until it is repaired with cloth. If all zones are disabled, the entire piece of clothing is shredded and unwearable until repaired with 3 cloth. Jumpsuits give a small amount of wound protection, and since sharp weapons and lasers generally get extra wound bonuses against bare flesh, even a plain jumpsuit provides decent protection from a few laser shots or scalpel stabs.
    Lasers gain a powerful niche versus unarmored/lightly armored carbons! As noted above, lasers can shred clothing and burn away zones of jumpsuits in 2 shots each, after which the target's bare flesh is exposed (barring other clothing), and lasers excel at dealing burn wounds against uncovered skin. Think big, nasty charring!
    Bleeding is now totally limb based, and gauze is as well. Bleeding is also 95% cut wound based, meaning sharp weapons make you bleed rather than just having 40+ brute on a limb.
    The more wounds and damage you get on a bodypart, the easier it'll be to gain more severe wounds. Wounds are arranged from Moderate, to Severe, to Critical in increasing severity, and you'll generally have to suffer the lesser ones before getting the worse ones.

dreamseeker_2020-05-15_03-15-59.png
Above: Someone having an incredibly bad day from bloodloss

dreamseeker_2020-05-04_22-29-29.png
Above: Scars from healed wounds

ShareX_2020-05-15_06-55-20.png
Above: Actual combat involving someone's head getting cracked

Here's a quick, if non-exhaustive, list of things I have left to do before I consider it feature complete

Finish adding treatments for each wound type/severity (mostly surgeries/triage for critical wounds)
Add second winds for bad injuries to give the victim a chance to get away
Flesh out severe & critical injuries in general
Find sprites for the bonesetter, bone gel, and anything else that might be needed
Add the medical items for treating the less severe wounds to the station
Polish code and remove any redundancies I left behind

    Quick balance pass to make sure nothing is horribly abuseable

Why It's Good For The Game

Adds a flexible new system for representing damage on carbons with injuries that can be treated in different ways. Moderate wounds from getting toolboxed or sliced with a scalpel can usually be treated by a buddy or even by yourself with the right tools, but getting flayed with a fireaxe or a laser gun emptied into your bare skin may require extra attention or even surgery in bad cases! Also makes laser guns cooler and more like 40k lasguns that can flash fry people (cool!)

This should also make spessmen more resilient and harder to kill outright, while still adding consequences and complications to getting hurt. Wounds aren't immediately fatal, but they can do things like slow down interactions, deal damage over time through infections, and generally make you more fragile until fixed. They can also give you a "second wind" on being applied that gives you a small adrenaline boost (or whatever) to help disengage and escape immediate danger.
Changelog

🆑 Ryll/Shaps
add: Introduces medical wounds, new injuries that can happen to fleshy carbons when they sustain lots of damage on a bodypart. There's quite a lot of change here, but you can read the guide at: https://tgstation13.org/wiki/Guide_to_wounds and an extended changelog is available here: https://hackmd.io/l_FI9b3tSqa_woDadewJXA
add: Introduces scars and temporal scarring! Healing a wound leaves a scar behind that can be seen by examining someone twice rapidly, and if Temporal Scarring is enabled in character prefs, surviving a round with scars will save them to be granted at roundstart another round! Let your body tell stories!
tweak: Bleeding is now fully bodypart-focused, and 95% of bleeding comes from cut wounds from sharp weapons. Gauze is applied on a limb-by-limb basis, and helps staunch bloodflow rather than totally stop it. Notably, you no longer bleed just from having 40+ brute damage on a limb.
del: Organic bodyparts are no longer disabled at maximum damage, but are easier to cause wounds to
add: O2 medkits in emergency lockers have been replaced with new emergency medkits with basic tools for diagnosing and treating wounds and basic damage
tweak: Herapin now rapidly increases bleeding on all open cuts, rather than causing bleeding by itself. The more cuts on the target, the more it will affect them.
tweak: Neckgrab table slams now hit the targeted limb rather than just the head, with a large chance to dislocate or break a bone
tweak: Sharp weapons and burning weapons can now shred zones on jumpsuits, disabling protection on that limb. Damaged clothes can be repaired with cloth.
tweak: Slaughter demons now deal less raw damage, but gain the ability to cause cut wounds, which becomes more powerful with each attack on a humanoid but resets when bloodcrawling.
/🆑
2020-06-12 23:47:33 +12:00
tmtmtl30
a2b60fcbce Ports Families gamemode to Dynamic roundstart + midround rulesets (#51244)
* stage one

doesn't compile yet

* step 2

added newer changes and goof's balance requests. still doesn't compile

* phase 3

somewhere along the way, wanted code got fucked, and i have to commit to switch branches to debug it better

* documentation, first dyn rulesets

-deprecates a proc nobody needed
-documents a lot of things, hopefully enough of them
-reorganizes a lot of things to allow for admin-spawned families
-adds dynamic rulesets (unfinished, debug settings left in)
-hopefully finally fixes wanted level displays. all code sucks; ui code sucks especially. why can i put an acid level on a screen element? Fuck you
-implements fully functional jewish qabbalah system to replace families gamemode. discover secret names of god + knowledge of universe structure through study of tanach and talmud, use them to secure the station for israel 2
-introduces gay agenda to unsuspecting stationgoers
-remind me to check out gang tag code for mentions of ssticker.mode etc. if one of my later commits doesn't say i did that

* finishes up rulesets

-rulesets work now
-hopefully cleaned up the debug code for them
-minor adjustment to check_wanted_level() proc to ensure wanted stars update appearance correctly post-space cops
-i resisted the urge to modify one of the systems so that it was more "elegant" or whatever because knowing my luck it'd result in another 10 years of failures and tests
-checked out gang tag code; seems fine. perhaps the only part of families code i haven't gotten my mitts on. hopefully it won't break
-you can now print fully functional geneseed organs from the roundstart medlathe for use in self-augmentation
-consumed my soul and replaced it with a pathetic, empty husk
-implemented social security number skimming operation
-removed herobrine

* addressing issues

from the github

* suggestions

cleanin some things up

* more tweaks

goof requested on discord that i ensure 3 families every time, and adding the highlander ruleset flag makes sense because it means the 1-2 families-revs or families-nukies punch is less likely

* adjustments for midround ruleset

-wanted level no longer cares about deaths that happened before the handler's pre_setup_analogue() proc is called
-midround ruleset will not trigger if more people have died during the shift than there were people readied up at roundstart (in addition to the minimum population of 36).
-changes to antagonist code; only nonhumans may roll antagonist. if you have more than 1 hour of time spent playing as a human you are ineligible. something something 13%

* #51315 compatibility

removes useless "high_population_requirement" vars on families rulesets

* moves stuff

team creation should have gone in create_team() not on_gain() since the former gets called directly before the latter

* shuffles some procs

removes unnecessasry blocking_rules list for roundstart families gamemode
2020-06-11 23:29:18 +02:00