Commit Graph

136 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
3e59776a2b Line change to fix monkeys never devolving into humans if they started as a monkey (#56007)
I wondered if this would be a problem when I originally made #55844 since I only tested on humans devolving into monkeys and back, but not monkeys into humans if the monkey spawned as one.
2021-01-08 13:27:30 -03:00
necromanceranne
cdf16a2170 Makes the monkey mutation remember your species through transformations (#55844)
* Makes the monkey mutation remember your species through transformations

* Implements suggestions by ghommie
2021-01-06 10:43:21 +01:00
tralezab
1fd0485206 [READY] Hark! The Medieval Reality Simulation Dome Emergency Shuttle! (+speech mutation, NOTELEPORT fixes and teambuilder improvements) (#55424)
* HARK! THERE ARE SOME MAIDENS THAT NEED SAVING!

* claymores, chairs

* mapmerge, price increase, no losing the flag, no teleporting in, other small stuff

* oldworld language, medieval mutation, reviews

* see desc for full changelog

huge improvements to how medieval speech feels, CTF now fully lit, json beautified, bugs squashed and more NOTELEPORT exploits also quashed. (I NEED TO UNDO THIS FOR ATOMIZATION)

* removes my fixes? also bugfixes and CTF separation

* dumb json mistake, starting work on reality simulators

* BOWS ARE BROOOOOOOOOOOOOOOOOKEN

* br

* getting closer to working

* well, mostly everything now.

* finally ready

* removes languages stuff as it is buggy and does not work, fixes more bugs, fixes more bugs, fixes more bugs

* conflict fix

* linting

* more lint

* bow buff, speech fix, TON of ctf fixes

* oh fuck year

* NO MORE INSTA DELETING CREW

* whoops

* review handled

* pooosh

* conflict fix
2021-01-05 00:49:53 -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
oranges
fd87d26188 Add the license information (#55678)
Fixes goofs mistake when porting wrestling and adds a notif to hulk
swing loop
2020-12-24 22:47:53 -08:00
Ryll Ryll
845630fb89 Hulks can now swing people by their tails + small changes to carbon throw impacts (#55383)
This PR adds another little interaction to hulks, letting them swing monkeys and humanoids with tails (so lizardpeople and felinids mainly) similar to (copied from) the wrestling move. To do this, be a hulk, have a carbon with a tail in at least a neck grab, target the groin, enable throw mode, then click in the direction you'd like to chuck them. After a short 2 second do_after, you'll start swinging your victim around and around by the tail, eventually sending them flying at a very, very high speed! The full process takes about 14 seconds from start to finish, not including getting them in a neck grab to begin with. Impacting a solid wall with no armor will do about 30 brute damage and can cause up to a hairline fracture if you're very unlucky.

This PR also makes a few changes to the effects of being thrown into things. Previously, you'd only suffer damage and a 2 second paralyze if you were thrown into solid turfs or carbon mobs, which meant smashing into windows or girders at high speed didn't do anything. This PR makes it so high speed impacts (I.E. hulk throws and high speed disposal outputs, not normal body throwing) into solid atoms will still deal a lesser amount of damage. Structures like windows and girders will deal a bit more damage and a small 1 second paralyze compared to other atoms

Why It's Good For The Game

Tail spinning adds a goofy niche power to hulk that doesn't just involve deleting walls and shrugging off stuns, and the other throw impact changes make being thrown into things at high speed more consistent rather than only applying to a specific type of atom.
2020-12-20 20:01:49 +13:00
tralezab
d56b736ef8 putting a gun to my stupid fat brain (#55556)
Our new Pull Request is now established, and has an appearance that promises permanency; but in this world nothing can be said to be certain, except death and HARS bugs.
2020-12-17 14:18:50 -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
TiviPlus
0eaab0bc54 Grep for space indentation (#54850)
#54604 atomizing
Since a lot of the space indents are in lists ill atomize those later
2020-11-30 12:48:40 -05:00
Qustinnus
869b5720e6 removes a direct use of Destroy() (#55043)
* cursed

* Update code/datums/mutations/antenna.dm

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

* Update code/datums/mutations/antenna.dm

Co-authored-by: spookydonut <github@spooksoftware.com>

* Update code/datums/mutations/antenna.dm

Co-authored-by: spookydonut <github@spooksoftware.com>

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
2020-11-24 13:42:50 +08:00
spookydonut
0383c19ac2 Minor refactor to signal handlers to remove potential sleeps (#54649)
About The Pull Request

These are legacy sleepers, the remaining 12 are non-trivial to fix.
2020-11-23 09:49:12 +13:00
ATH1909
80882a53a8 fixes the flags of some shocks (#54906)
## About The Pull Request

The shocks from the shock touch mutation now ignore insulated gloves, because you're touching your victim's body, not giving them a handshake.

The shocks from punching charged energy fields (special holosigns from emagged cyborgs) now DON'T ignore insulated gloves, because you're literally punching them with your hand.

The shocks from running into charged energy fields now DON'T ignore insulated gloves, to be consistent with things like electrified doors.

The shocks from the on_mob_life() effect of liquid electricity now ignore insulated gloves, like the shocks from the on_mob_life() effect of teslium do (thanks for pointing this out, Angustmeta!).

## Why It's Good For The Game

Logical sense and consistency in what forms of protection shocks check for are good things, I think.
2020-11-13 13:23:23 -05:00
Rohesie
c07df08690 Standardizes attack chain signal returns and fixes a tk bug (#54475)
The attack chain is a bit of a mess, and the introduction of signals hasn't helped in simplifying it.

In order to take a step into untangling this, I re-ordered the attack signals to no longer be by source type and instead to be grouped more modularly, as they are all members of the attack chain and function similarly. They all share the trait of potentially ending the attack chain via a return, but had several different names for it. I joined it into one.

Additionally, fixed a tk bug reported by @Timberpoes by adding a signal return check at the base of /mob/proc/RangedAttack

Lastly, removed the async call of /datum/mutation/human/telekinesis/proc/on_ranged_attack, which was added as a lazy patch to appease the linter complaining about a sleep on a signal handler (namely in /obj/singularity/attack_tk). Fixed the problem using timers.

Also cleaned some code here and there.
2020-10-21 05:42:38 +01: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
spookydonut
2a0eac8772 Fix some potential sleeps as detected by SpacemanDMM improvements (#54230)
overrides weren't detected by should not sleep, i think i've mostly 
fixed that with SpaceManiac/SpacemanDMM#214

Some of these are wacky but overall this pr is harmless

signals shouldnt sleep even in weird 1 in a million situations or due 
to other people adding bad code

overrides of changeling can_sting() use alert() and input() and that's 
just too fucked for me to fix in this pr
2020-10-08 17:06:19 -07:00
tralezab
a5461dea09 HARS no longer cures brain traumas, it moves your brain to your chest (#54222) 2020-10-07 14:11:46 -07:00
Timberpoes
88e9b74e07 Fixes Dwarfism matrix transformation issue. (#54027)
Give person standing up Dwarfism. Their standing Y axis is scaled down.

Have them lie down. Transformation matrix applied to rotate them. Cure Dwarfism. Their lying Y axis is scaled up after they've been rotated. This is the equivalent to scaling up their X axis standing.

Repeat the process multiple times and eventually the player is only a couple of pixes tall and as wide as the screen.

This fix creates a new matrix, scales that matrix and then multiplies it with the existing transformation matrix. In this way, the scale is applied first and all other transformations stack ontop of it, to create the final transformation matrix.
2020-09-29 06:14:25 -03:00
Tad Hardesty
899a9e04cb Fix some missing Initialize hints (#53566)
* Fix some missing initialize hints

* Whitelist /mob/dview not calling /atom/Initialize()

* Better idea
2020-09-13 20:34:12 +08:00
AnturK
5d8c21e2d1 Fixes spacemandmm detected for mistakes. (#53503) 2020-09-07 19:05:22 -03:00
YPOQ
38e5a8fccb Fixes internal martyrdom (#53460) 2020-09-05 22:32:00 -07:00
Rohesie
3a1020e47d Crit status refactor (#53117) 2020-08-24 07:41:00 -07: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
msgerbs
5caca0385b Fix broken span class tag in mutations and other locations. (#53064) 2020-08-20 16:53:02 -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
Jared-Fogle
7df16c595e Confusion will no longer continue to confuse after being cured (#52286)
* Confusion will no longer continue to confuse after being cured

* Grammar comment fix

* Move to status effect

* Remove test per request

* Make confusion a status effect, confusion curing now completely neuters the confusion

* set_confusion changes, get_confusion

* Fix confusion going down twice per tick

* Change strength = to proc

* Move procs to status_procs
2020-08-05 16:36:00 -03:00
Timberpoes
8fc671f942 Implements job skillchip framework as per hackmd.io design document (#52630)
* Shift wire revealing logic to dedicated proc

* Bit of code modification. Framework for roundstart job skillchips.

* Implement roboticist skillchip trait functionality.

* Feex moth feet messup

* Add skill chips to robodrobe inventory

* Code refactor. Add missing skill_stations to Pubby and Delta.

* Implement special flags, changelings inherit skillchip skills

* Additional code refactor. Traitor chameleon skillchip framework.

* Implement traitor skillchip, fix up more code, move job chips to outfit datums

* Modify autosurgeon, create skillchip variant, add to uplink

* Implement chip cooldowns. Add new skillchip for station engineers. Cleanup some code. Add job chips to lockers.

* Feex

* Feex

* Code review implementation

* More feexes, improved chameleon chip code and more.

* Code review and minor refactor

* Additional review fixes, rebuild tgui

* Minor logic fixes

* Final Rohesie review

* Robust code changes, improved slot/complexity system.

* Rebuild tgui

* Code review

* Brain regeneration failsafe

* Lazylist cut fix
2020-08-05 21:21:29 +02:00
Rohesie
6ff08e1c69 Color standardization, vars moved, and signals (#52574)
Defined all the existing light_color values.
    Moved their definitions to colors.dm
    Made white the default color. It was so already, but that was very obscured.
    Moved the atom light-related variables to the atom definition.
    Wrapped changes to variables such as light_color into procs that report the event through signals.
    Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
    Cleaned up a little bit of code in where new variables were defined before redefinitions.

This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.

There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.
2020-08-04 13:59:48 +12:00
AnturK
e5cf3c05b8 Simple skill/skillchip framework (#52314)
* Simple skills framework.

* Map changes.

* Adds skillchips to vendor

* Adds skill stations to the map.

* Circuitboards

* Fix typo

* Some minimal instability

* Fixes,tweaks etc

* Suggest better names or we'll end up with these.

* sharpness thing

* tgui build

* Makes wine from booze synthetizer show to wine tasters.

* Makes wine from dispenser have taste for wine tasters.

* Apply suggestions from code review

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

* Swaps to carbon var.

* wordy helper proc

* While i'm at it, other relaymoves

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-29 05:13:36 -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
zxaber
87a3a7174b Fixes hulk arms breaking when punching non walls (#52250)
* fixes an oversight with hulk recoil

* locating a better solution

* asdf

* condenced
2020-07-20 17:28:10 -03:00
ShizCalev
f4c54ccea4 Fixes mobs that aren't able to speak being able to cast spoken spells (#52054)
* Fixes wizard speaking

* defines
2020-07-08 19:25:39 +02:00
zxaber
3ebbb96946 Adds recoil damage to hulk('s arms) when smashing walls or machines (#51389)
* wall buff

* hulk_recoil

* forgot to save this file

* Update code/game/turfs/closed/walls.dm

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

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-02 21:39:31 -04:00
KathyRyals
2a6bf841e8 Xray Mutation can no longer be obtained via combining Thermal and Radioactive. (#51683)
* Commented out the xray combination

* Implemented suggested changes.
2020-06-27 13:00:14 -04: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
ShizCalev
1059a64a98 I before E, except after C. (#51543) 2020-06-10 23:23:50 +02:00
nemvar
866c0931ab Fixes glow/antiglow (#51378)
* Fixes glow

* Removes unneeded variable

* Picks random colors

* Applies the lower strength
2020-05-31 23:03:51 -03:00
nemvar
9fe05f24d3 Glow no longer multiplies it's light strength with power (#51320) 2020-05-29 13:16:46 +08:00
nemvar
6ef421be42 Renames a few variables. Also reorders icon fallback order again. (#51060)
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.

* Fixes some comments

* Fixes map issue

* Restart lints

* Properly resolves conflicts
2020-05-25 06:47:19 +02:00
spessman-007
ab84042f94 [READY] Improve spelling (#51134)
* Improve spelling

* Spell isn't, ain't, shouldn't, hasn't, wasn't correctly

Co-authored-by: NewSta <spessman-007@users.noreply.github.com>
2020-05-25 02:13:37 +08:00
Ryll Ryll
47029eafab Shrapnel mines no longer crash server, cleans up pellets a bit, take 2 (#50637)
* adjusts mines and cleans code

* nerfs holding stingbangs

* self hold nerf

* pushes the missing push

* better docs, neatness

* armor fix

* remove NONE, fixes embedded() not being called

* doc

* check qdels

* qdel's for others

* Update code/datums/components/pellet_cloud.dm

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

* once more with feeling

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-05-03 02:16:54 -03:00
Timberpoes
20466d7d2a Change Wacky mutation description to not contain HTML. (#50479)
Fixes #50474

With new technology comes the necessary sacrifice to make our new age.
2020-04-18 11:16:58 +12:00
spookydonut
8dbf1cf4ec Changes to comply with GitHub TOS
Further changes to comply with the ToS

More ToS cleanup

Bye bye George Melons

Better to be safe than sorry
2020-04-14 21:24:50 +00:00
Timberpoes
bf6039215e tgui: DNA Console Overhaul Project (#50225)
* Initial work on tgui conversion for DNA Consoles

* Some initial button logic complete

TODO: Scanner Open button should disable while scanner is locked
TODO: Scramble DNA should disable while on cooldown

* Tabs for the tab God

* Dropdown changes, genetic sequencer modifications

* Mutation and genetic sequencer functionality

Almost complete. Need to implement Advanced Injectors still.

* Mostly done, converted most of genetic makeup code

* Tactical pocket linting

* More changes

* Everything except advanced injectors complete

* First complete alpha version

* Fixed debug/testing change

* Removal of more debugging code

* Fix pulse bug

* Bugbusters

* Fix for accidental changes

* Fix broken genetics disk changes, fix list of lists

* Squash tgui tab-key bugs and clean up attackby

* Code documenting, refactoring, bugfixing, spellcheck

* Documentation and misc bug squashes and runtime error fixes

* Fixes, features and tweaks

* Special check for those who have shuffled off this mortal coil

* New interface concept for console storage

* Mini code refactor

* Massive refactoring of DnaConsole interface (WIP)

- De-spaghettifying of LawyerCode
- Fixed the flex-basis bug, and removed ForcedBox since it's no
longer needed.
- Added a Divider component.

* Implemented requested changes.

Removed list() versions of strings.
Removed used TGUI-exclusive constants from data object. Currently unused ones still remain, can be removed if they're no longer necessary.
Fixed other DM data structures to serialise as JS Arrays instead of Objects.
Minor TGUI logic fixes for various edge cases.
Added some comments in DnaConsole.js outlining some minor notes and TODOs.

* Fixes "Save to X" being disabled.

* Included 2px outline CSS

* Additional minor logic patches

Don't want certain buttons active unless the mutation relation to them is also active

* Makes these transforms use a timer

* Fixed transformation race condition and stuff.

* Mutation source defined in DM. Conditional formatting improvements.

* Custom cache directory with BYOND_CACHE env var

* Fix gene cycler on index of -1

* Framework and TODO for next interface element. Cleared TODO list a bit.

* Fix 1px shift in gene cycle buttons

* Pass raw event with GeneCycler

* More robust combining logic

* Fix some cycler bugs, start working on enzymes

* Conditional highlighting for unsolved mutations and X'd genes.

* Lint for the Lint God

* Enzyme UI and more refactoring incoming

* Finish tgui refactoring, enzymes injectors done

* Whack-a-Bug

* Unlinted. Advanced injectors moved and improved. Implemented disk genetic data readout.

* Partial linting

* Assorted bug fixes

* Remove debugging code

* DNA Consoles are now more conversational. Initial state set.

* Final tweaks, implemented mutation combining, complete?

* Fixes tooltop, re-enables delayed enzyme transfer, cleans up some data params

* 10 Fix a bug, 20 make a bug, 30 goto 10

* The definition of irony

* Don't drink and derive, kids || How I learned to stop coding while drunk and rely on stylemistake to Flex on my formatting.

* uniqBy

* Add support for dropdowns with disabilities.

* Cleanup

* Remove current mutation from combinations

* Dividing

* Document BYOND_CACHE env var

* Outline cleanup

* Declare radiation constants since they were removed in DM

* Combine mutations only after checking for null

* Advanced Injectors actually work now.

* Comment cleanup, DMDOC, stard and end processing at appropriate times

* Pressing Ctrl-S occasionally helps things

* Fix enzyme mutator timeout bug, added injector timeout display.

* Rebuild tgui

* Rebuild tgui

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
2020-04-06 19:00:19 +03:00
Ryll Ryll
49970407fa Buffs the circle game, adds an achievement (#50145)
About The Pull Request

Examining someone holding a circled hand from using the *circle emote while next to them can now alert said person, and if you don't act fast, they'll bop you! You'll have a split second to move away before this happens. Losing the circle game to a hulk will result in a very forceful bop.

Bopping someone will award an achievement, "HA, GOTTEM"

Also adds COMSIG_PARENT_EXAMINE to carbon and human's examines, cause they never had that set, and adds TRAIT_HULK to being hulk since I forgot to actually give it its own trait when I added said trait in another PR
Why It's Good For The Game

Enhances pranking. It's honestly amazing to me that this functionality wasn't built in when this was first made.
Changelog

cl Ryll/Shaps
add: The *circle emote now has additional functionality! Go prank your friends!
/cl
2020-04-06 10:12:08 +12:00
Ryll Ryll
5c174800fb Grenades and projectiles can have shrapnel and embed, all carbons can suffer embeds, some bullets can ricochet, sizable refactor of embedding (#49634)
About The Pull Request

It annoyed me that we have a perfectly good frag grenade item, and a perfectly good shrapnel component, but no crossover episode between the two. This remedies that, and does a lot, lot more.

dreamseeker_2020-03-30_05-01-13.png

dreamseeker_2020-03-30_05-01-26.png

Big points:

    Adds new component: pellet_cloud, which can be used by ammo casings, guns, and landmines to spray shrapnel and display aggregate hit messages ("You're hit by 6 buckshot pellets!" vs "You're hit by the buckshot pellet in the X" x6). All gun ammo that shoot multiple pellets now use this component on firing.
    Adds stingbangs, premium less-lethal grenades that shoot off lots of stinger pellets, to cargo. Frag grenades are also reworked to have smaller booms, but shoot off lots of shrapnel shards. You can jump on top of these grenades to absorb a portion of the shrapnel to save those around you! There's an achievement for dying this way, called "Look Out, Sir!"
    Projectiles can now embed items/shrapnel. Adds .38 DumDum ammo to cargo that does less damage and has negative armor pen, but can embed in people. This is the only ammo that currently embeds.
    Bullets can now ricochet off walls, structures, and machinery (harder surfaces are more likely to ricochet). Only standard .38 and Match Grade .38/.357/L6 ammo can ricochet, with Match Grade being much better at ricocheting. You can buy Match Grade .38 from cargo and Match Grade L6 ammo from the nuke uplink, while Match .357 is admin only.
    Armor now protects you from harmful embeds, taking the better of the bullet/bomb armor on the affected limb. Armor penetration can modify this of course, and many blunt embeds like stingbangs and DumDum bullets are significantly worse if you have even 1 armor.

Other misc fixes/changes

    Refactored the embed element a bunch and fixed it creating new elements for every instance rather than expected bespoke behavior. There are new /obj/item helpers for modifying and adding embedding.
    Fixes #49989: Spears can no longer embed in turfs cause their sprite is annoying to me, it's generally harder for most things to embed in turfs
    Fixes #49741: New carbon helpers for removing embedded objects
    Fixes #46416: Handles embedded objects getting qdel'd or moved while embedded
    Renamed the old shrapnel component for RPG loot to MIRV to avoid confusion
    Repathed frag grenades from under minibombs to under base grenades, and added explosion vars to base grenades

Why It's Good For The Game

Fixes a bunch of janky design with embeds, adds lots of new avenues for projectile and grenade variety, ricochets and collateral damage are fun!
Changelog

🆑 Ryll/Shaps
add: Adds stingbangs to cargo (and one in the sec vendor premium), premium less-lethal grenades that shoot off a giant swarm of stingball pellets to help incapacitate swarms of people in tight quarters. You can jump on top of a live one to be a hero and absorb a bunch of shrapnel, same with frag grenades. There's even an achievement for dying to a grenade you jumped on!
add: Projectiles can now embed in people! Or at least grenade shrapnel and the new .38 DumDum ammo, now available in cargo, can. DumDum rounds excel against unarmored targets, but are pricey and do poorly against armored targets.
add: Bullets can now ricochet! Or at least, standard .38 and the new .38/L6 Match Grade ammo can. Match Grade ammo is finely tuned to ricochet easier and seek targets off bounces better, and can be purchased from cargo (for the .38) or nuke ops uplink (for the L6), but standard .38 ammo has a chance to ricochet as well.
tweak: Frag grenades now have smaller explosions but shoot off a bunch of devastating shrapnel, excellent for soft targets!
tweak: Shotguns and other multi-pellet guns now print aggregate messages, so you'll get one "You've been hit by 6 buckshot pellets!" rather than 6 "You've been hit by the buckshot pellet in the X!" messages. Bye bye lag!
balance: Armor can now protect against embedding weapons, taking the best of either the bullet or bomb armor for the limb in question away from the embed chance. Some weapons are better at piercing armor than others!
/🆑
2020-04-03 16:58:38 +13:00
skoglol
cf247d0e9c Merge pull request #49820 from Timberpoes/geneupdates
Allow DNA Consoles to show compatible chromosomes for activated mutations
2020-03-14 02:10:05 +01:00
spookydonut
beca456c0f Add new lints (#49751)
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-03-09 22:13:48 -07:00
Timberpoes
276c20cd98 Modifications to allow DNA Consoles to show compatible chromosomes for activated mutations 2020-03-08 13:23:31 +00:00
tralezab
43ec902cd1 fixes unremovable mutations, fixes weird tail organ shennanigans (#49771)
* THE mutations fix

* removes !owner

* removes redundant code (yay)
2020-03-06 23:39:50 +01:00