Commit Graph

518 Commits

Author SHA1 Message Date
Arkatos1 38ce339d94 Artificer spell icon fix (#50440)
* Artificer spell icon cleanup

* redundant line cleanup
2020-04-17 15:41:03 +02: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 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
Arkatos1 3bb4b326d0 Curse of the Barnyard is now a pointed spell (#50257)
* Initial commit

* Barnyard Curse is not a pointed spell, pointed spell code improvements

* Selection type consistency

* Grammar cleanup

* Cleanup and better mousepointer icon

* Line endings
2020-03-31 16:21:08 +08:00
Arkatos1 c7c2e4b531 Mouse pointer icons cleanup (#50241)
About The Pull Request

This PR reorganizes all mouse pointers icons in the codebase into a single folder under /effects, and removes 4 unused mouse pointer icons, all of which are remnants of the Clockwork Cult.

Also removes one rogue white pixel in blind_target.dmi.
Why It's Good For The Game

Better organization and less space taken by unused icons.
Changelog

cl Arkatos
code: Mouse pointer icons were reorganized to be more easily used in the future.
/cl
2020-03-30 10:00:39 +13:00
ATH1909 444b17be9d Massively Buffs the Lightning Bolt Spell (#49745)
* Update aimed.dm

* Update spellbook.dm

* Update aimed.dm

* Update aimed.dm

* minimum cooldown is now 2 seconds
2020-03-29 13:15:31 -04:00
Arkatos1 7fb478c83b Mind Transfer is now a pointed spell (#50119)
* Mind Swap pointed spell

* Cast safety, cleanup

* Warning messages cleanup

* Autodoc

* Update code/game/objects/items/granters.dm

Co-Authored-By: Rohesie <rohesie@gmail.com>

* Update code/modules/spells/spell_types/mind_transfer.dm

Co-Authored-By: Rohesie <rohesie@gmail.com>

* Review fixes

* Blind range check fix

* Generic range check and cleanup

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-03-26 15:47:29 -03:00
Arkatos1 9bf056f7ac New spell type - Pointed spells (#49909)
* Initial commit

* Ranged Blind override version

* Pointed spells category, repath, blind icons and blind pointed spell

* Icon resize, cleanup

* Trigger bugfix

* Code cleanup

* Cast cleanup

* Refactor, easier inheritance, specific intercept checks
2020-03-20 00:12:31 -07:00
Emmett Gaines d0870a95ac Makes Crossed and Moved should call parent (#49671) 2020-03-05 10:25:24 -05:00
nightred 15452cac44 [READY] Two Handed Component (#49422)
About The Pull Request

For an item to be two handed just add this handy component.

All existing two handed items have been converted to use this component.
Why It's Good For The Game

It has components and signals, and now you can make items two handed so simply.

/obj/item/shockpaddles/ComponentInitialize()
	. = ..()
	AddComponent(/datum/component/two_handed)
2020-03-04 11:26:01 +13:00
LemonInTheDark df9d859da8 Fixes tesla bugs, makes code better (#49260)
* Cleans shit up, adds some upper limits on zap count, makes explosions less commen. Need to fix apc issue before
I test how it plays

* Mood, buffs and nerfs tesla

* Cherry-Picking

* eyyo

* back to basics

* aight

* broooooooooooooooooo

* adds else

* range

* fixes shit

* Sure

* Cleans shit up

* Fixes prob issue

* Gee I like this spooky guy

* I swear to god if prob picks just makes a list I am gonna blow a gasket
2020-02-27 12:06:52 +01:00
fluffe9911 5eea39977d [READY TO BE MERGED] King Goat Achievements, bugfixes, and minor tweaks (#49159)
* king goat memes

* I cant grammar

* newline

* the arena is no longer pressurised

* How into grammar

* I am embarrassed I did not notice this

* no hotel vacations in the arena

* better goat hoof sprite curticy of stephen

* new goat gun sprite

* might as well

* grammar

* no more king goat plushies in toy crates

* Update code/modules/mob/living/simple_animal/hostile/megafauna/king_of_goats.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* done

* based and redpilled

Co-authored-by: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2020-02-24 20:47:42 -05:00
ShizCalev 12bf56f5df Merge pull request #49449 from XDTM/deadNdeaf
Makes sixth sense only able to hear regular deadchat
2020-02-20 22:56:16 -05:00
spookydonut 3792c44717 Merge pull request #49447 from trollbreeder/master
Fixes #49156, godhand touch spells now visible as item
2020-02-21 11:45:22 +08:00
XDTM 19655de8c7 Makes sixth sense only able to hear regular deadchat 2020-02-19 18:57:22 +01:00
trollbreeder 687fcbf80d I've had EI NATH of you. 2020-02-19 13:56:15 +01:00
ShizCalev 7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
AnturK e3fca45a78 Fix a few small runtimes (#49352)
Nothing special here, mostly sanity.
Defib hud is awful, needs rewrite.
2020-02-16 00:40:11 -08:00
itseasytosee 31ffa4a2da Tastes like nothing (#49240) 2020-02-08 14:57:50 -05:00
spookydonut 01b4d9e811 Fix cast() parameters (#48997)
About The Pull Request

Working on detecting type mismatches of parameters for SpacemanDMM and discovered these.

I also checked by hand that all uses of cast() provide a list as the first argument.
2020-01-27 09:48:42 +13:00
MrPerson f7eb2c905b Unicode awareness Part 2 -- copytext() (#48512)
* Unicode support Part 2 -- copytext()

This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.

I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````

with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.

This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.

* Makes the code functional

* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.

* Removes ninjaspeak since it's unused
2020-01-18 13:07:22 +13:00
spookydonut 3195ceaa22 Update SpacemanDMM suite to 1.2 (#48785)
* Update SpacemanDMM suite to 1.2

* Fix new lint errors
2020-01-16 11:49:39 -05:00
LemonInTheDark f4f8a686df Makes grounding rods consistent, changes the supermatters bolts a great deal. (#48472)
* Goof I will find you and I will berate you

holy hell

Calm and peaceful ahhhhh

I swear goofs pc failing was the biggest tragedy in gaming

Fixes some flags

More touchups

Now to squash

Goofs PC failing was the biggest tragady in GAMING

* Fixing some misspellings before the bee gets me

* GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

* Full vehicle support

* Changes some flags around, "fixes" some bugs, makes being shocked less insane

* Makes spliting more reasonable, unfucks some shitty tesla code I copypasta'd into the sm, godspeed shitcode,
none noticed you.

* Removes my tesla_ignore_1 fix, another pr is up that should solve things, so we're just leaving it in for now,
gonna have to deal with merge conflicts when it gets merged, but that won't be too bad

* tfw

* Nothing to see here folks

* I'm a boomer
2020-01-10 23:25:11 +11:00
Emmett Gaines 53024590de Can pass refactor (#48659)
* Makes all CanPass procs call parent

* Makes CanPass more extendable and gives the mover a say in the matter

* Replace CanPass with CanAllowThrough to use the new system

Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`

* Simple optimization pass
2020-01-08 21:31:49 +01:00
81Denton e4b6de4097 Removes unneeded teleport check (#48314) 2019-12-21 18:29:08 +01:00
JDHoffmann3 8f492ac42f Vampires maintain blood level over bat form (#48203)
* Vampires maintain blood level over bat form

* Blood level tracked if damage tracked
2019-12-11 19:29:36 -05:00
skoglol c815deb6ce Fixes some misused ghostize (#48121) 2019-12-05 18:05:00 +00:00
tralezab b521e214db [READY] shapeshifting in a pipe violently kills you: I WON EDITION (#47515)
* cast proc edit

I like these fringe interactions that punish you for trying something stupid in the hopes it does something game breaking.

* dead project style *dabs*

* cleaning up the code 1/2

* still needs work, fuu

* Update code/modules/spells/spell_types/shapeshift.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* fixes the check, once and for all

* FINALLY

* 😔 💯

Co-Authored-By: skoglol <skoglol@users.noreply.github.com>

* even more improvements

Co-Authored-By: skoglol <kriskog@users.noreply.github.com>

* here we go
2019-11-22 20:30:13 -05:00
Emmett Gaines 5481515dff Removes the non bitflag slot defines (#47742)
Removes the non bitflag slot defines
2019-11-17 17:52:11 -08:00
oranges 1d6bb45d74 Remove some overly broad bad helpers and limit them to spell code (#47789) 2019-11-16 09:27:15 -08:00
Arkatos1 2179dd5c1f New mime spells icons (#47607)
* File, first few spells

* Changed path, more icons, clean dme

* Cleanu and tweaks, finger guns
2019-11-08 22:23:32 +01:00
spookydonut 2591ce17a6 Travis EOF newline detection v3 (#47539)
* scream

* aaa

* aaa

* new one
2019-11-04 19:16:50 -08:00
Tlaltecuhtli fcfbd9f92e fixes a missing space in spit personality radio (#47558)
🆑
spellcheck: adds a missing space in split personailty radio
/🆑
2019-11-04 11:44:22 -05:00
kingofkosmos 8768b6b3b5 Removes unused & undefined spans (#47436)
* Removes all instances of 'caution', 'error' and 'notify'.

* Removes span classes which were either not used at all or were used very infrequently.
2019-10-30 02:00:11 -07:00
81Denton 6b1161ecd9 Cleans up revive related procs (#47025)
* Cleans up revive related procs

* h

* fuck

* Fixes proc arguments

* Further fixes

* Unfucks line endings
2019-10-22 15:16:13 -07:00
skoglol 938e66f62c Adds sorting to most input() lists (#47117)
* Adds sorting to most input() lists.

* Sorted some global lists, added more input sorting

* Should now use correct sort everywhere.

* compiles

* Last fixes.
2019-10-22 04:28:42 -07:00
81Denton f5bd6a381d Merge pull request #47052 from kingofkosmos/misc_span_fixes1
Misc span fixes
2019-10-20 18:46:54 +02:00
spookydonut 4e8ff18b07 Fix Travis grep script to use PCRE to actually match things (#47065)
Several of the greps were missing the `-P` switch which caused them to 
fail to match things. The EOL grep also wasn't working right so I 
replaced it with the one I added to TGMC.
2019-10-19 10:21:05 -07:00
kingofkosmos 52325eda25 Merge branch 'master' of https://github.com/tgstation/tgstation into misc_span_fixes1
# Conflicts:
#	code/game/machinery/Sleeper.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/objects/structures/beds_chairs/chair.dm
#	code/game/objects/structures/lavaland/geyser.dm
#	code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm
#	code/modules/antagonists/clockcult/clock_mobs/_eminence.dm
#	code/modules/paperwork/contract.dm
2019-10-17 06:02:06 +03:00
KomradeSpectre 9ff071af60 Clockcult Removal 2019 (#47057)
* Nanotrasen fires the Wave Motion Gun at the Clock Cult

* Fixes a random changelog appearing from the reebe void.

* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.

* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.

* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron

* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
2019-10-15 10:13:41 +02:00
kingofkosmos 228b4282ca Merge branch 'master' of https://github.com/tgstation/tgstation into misc_span_fixes1
# Conflicts:
#	code/game/objects/items/devices/PDA/PDA.dm
#	code/modules/mob/dead/new_player/new_player.dm
2019-10-13 15:21:17 +03:00
kingofkosmos 259626a8b4 Removes excess spaces in messages. 2019-10-13 14:36:43 +03:00
James a05d954b45 Split personalities can now communicate directly (#46875)
About The Pull Request

This PR allows people with the split personality trauma to communicate with the stranger and vice versa through an action button. I also considered adding an option for the active player to release control but I felt that would be breaking the spirit of brain traumas a bit much.
Why It's Good For The Game

Split personality has always been a situation where the second player's only real option is "How many times can I shout "I'm Gay"/WGW over radio and try and avoid surgery until I inevitably get removed?" Don't get me wrong, you can still do that, but I aim in this PR to give players another option to get some of that sweet RP in. The main argument I can see coming up against this change is that traumas are supposed to be negatives, but how I see it, this doesn't make Split Personality a positive trauma so much as it allows roleplay similar to how you can roleplay as a paraplegic war veteran or as an ex-security officer who developed a phobia following an 'incident'. I'm happy to add a cooldown to the action if it proves to be an issue.
Changelog

cl
add: Split personalities can now communicate with an action button
/cl
2019-10-13 16:54:12 +13:00
Couls ec1df6c7e7 fix some blindness issues (#47024)
About The Pull Request

fixes #47020 #47022
I didn't have a max set for the adjust_blindness proc which allowed it to go below zero which meant if you took eye healing chems it would actually make you blind forever, the issue with the wizard spell blinding you permanently was due to a check to see if duration was less than charge_max for genetic spells which was used for making mutate permanent, but also made the blindness spell permament
Why It's Good For The Game

Being blind forever can suck
Changelog

cl
fix: blindness spell now only blinds you temporarily
fix: drinking carrot juice no longer permanently blinds you
/cl
2019-10-13 16:45:47 +13:00
kingofkosmos 280d416d4f Adds missing spans, missing periods and missing span endings. Also changes spans to suit the situation better. 2019-10-12 19:34:11 +03:00
Rob Bailey e1683f674f Merge pull request #46978 from willox/duplicate-variable-stuff
removed a bunch of duplicate member variable definitions and entirely duplicated types
2019-10-12 03:44:15 -07:00
nemvar c38a7a3bb5 Removes a bunch of var/ in procs (#46946)
* Removes a bunch of /var in procs

* reset this

* Why wasn't this already?
2019-10-10 04:20:27 -07:00
William Wallace 66202f3e2c remove duplicate var definition in /obj/effect/proc_holder/spell/targeted/turf_teleport/blink/cult 2019-10-09 00:22:39 +01:00
nemvar a148cae769 Kills obj/item/projectile in favour of obj/projectile (#46692)
* Kills obj/item/projectile in favour of obj/projectile

* Resolves conflicts properly

* fixes that one map

* it lives
2019-10-06 13:37:24 -04:00
nemvar daffaefb71 Switches out the three billion args of electrocute act for flags (#46564)
* Switches out the three billion args of electrocute act for flags

* Adds autodoc to electrocute flags, sets the boolean I removed and tries to fix the ed209 file

* tries to fix ed209 again

* Fixes 209 hopefully

* Finally fixes that darn file

* one final one to fix the diff

* Or i guess i'll just do it myself
2019-10-02 23:14:19 +02:00