Commit Graph

76 Commits

Author SHA1 Message Date
LemonInTheDark
c906c44393 Fixes a fuck ton more harddels (#58779)
Redoes how geese handle eating shit, it was fucking stupid and caused harddels, and while this method is technically slower in the best case, it's a fucking goose
Fixes action related harddels, I hate how they work but at least this way they won't hold refs.
Fixes the hierophont causing its beacon to harddel
Removes the M variable from megafauna actions, it was used like a typed owner and caused harddels, so I burned it
Fixes target and targets_from harddels, replaces all setters of target with LoseTarget and GiveTarget, which should help maintain behavior. I'm not sure if this breaks anything, but if it does we should fix the assumptions that code makes instead of reverting this change
Fixes more area_senstive_contents related harddels, we need to allow the mob to move before clearing out its list.
Fixes marked object harddels (I'm coming for you admin team)
Fixes a language based human harddel
Fixes managed overlay related harddels (This was just emissive blockers, but I think this is a good safety net to have. If we clear the overlay list we should clear this one as well)
Fixes bot core harddels, I hate the fact that this exists but it has no reason to know who its owner is
Adds a walk(src, 0) to simple_animal destroy, it's the best bang for the buck in terms of stopping spurious harddels. Walk related harddels aren't that expensive in the first place, since byond does the same thing I'm doing here, but this makes finding mob harddels easier, so let's go with it
I fixed another source of part harddels, I hate fullupgrade so much
Fixes all the sound loop harddels
2021-05-05 10:57:27 -04:00
Jonathan Rubenstein
456e475da5 Renews Maintenance Drones (#58249)
It's the second try! (First: #48456)

Drones are little robots inspired by Keepers from the Mass Effect games. With laws to maintain both the station, and their distance from the matters of others, they were a great ghost role that let you fix up the station when you were otherwise out of the round. They were in the game for quite a while, but were abused. The abusive players completely ignored the laws and did whatever they wanted. Being tiny ventcrawlers, this became a huge issue for admins.

I attempted to bring them back, this time with some gameplay restrictions to enforce their laws a bit better. It seemed to go well, but I required headmin approval, and this all happened near a headmin election, so the project died.

Recently, some people have wanted to bring drones back. So, they gave me a ring, and I started a discussion with the admin team to see what other changes they would want in addition to the previous ones.

Here are those changes:

    They can't interact at all when close to another being, living or dead
    Their binary chat has been removed to separate them from AI and borgs
    They can only hold a whitelist of items necessary to do their job
    They can only interact with machines necessary to do their job
    The drone satchel is gone, and drones now have built in basic tools
    They also can't interact in some blacklisted high risk areas
    Finally, you must play 40 hours total as a Silicon role in order to play as a drone

Additionally, the drone dispenser is not mapped, and the drones must be researched to be constructed.
Why It's Good For The Game

Drones are a fun way to pass the time, and this time they have a lot less freedom. You can still perform the basic function of maintaining the station, but not without difficulty and tedium. This will allow other station roles to perform much better than the drones, while still letting them chug along at their slower pace.
2021-04-13 13:10:36 +12:00
tralezab
e09101cb4b Pirates are split into three different ghastly crews! (#56264)
Co-authored-by: DeAndre <robustness13@hotmail.com>
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-14 16:55:37 -08:00
Mothblocks
0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08: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
Ghom
7470e5766f Web edit fixing "Admins can't give spiders, and xenos common" (#55034)
About The Pull Request

See changelog.
Why It's Good For The Game

This will close #54987, close #50204.
Changelog

🆑
admin: Admins now have the option to remove a language from the blocked_languages list when granting it to a mob through the language menu.
/🆑
2020-11-20 09:12:17 +01:00
IndieanaJones
0279109cf9 Spider Rework (#54451)
Spider refactor and hostile animal stamina changes.
2020-11-10 15:31:08 +01:00
Timberpoes
0e6ac80e57 Dronespeak manual is once again infinite use, and can once again only be used on drones or silicons. (#54192) 2020-10-07 15:37:00 -03:00
Timberpoes
1f23cc281d Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
2020-09-26 11:52:39 -03:00
Timberpoes
9c95813da4 Rebalances space loot and space exploration (#53916) 2020-09-25 04:53:43 -07:00
skoglol
d4d754a107 Adds nekomimetic, the felinid language (#52958)
Currently felinids are the only roundstart species without a language, this sees to that.
Changelog

cl Skoglol
add: Adds nekomimetic.
/cl
2020-08-20 09:09:53 +12:00
Aleksej Komarov
0e1b20e6db tgchat (#52426)
Replaces goonchat with a tgui based chat panel

    Fixes #52898
    Fixes #52663

It is as fast as goonchat was (if not faster in certain circumstances), and is very extensible. It has all the necessary code for sorting messages into categories, which means that one of the next features will be multiple tab support.

Additional features that you will get with tgchat right now:
    Massively faster server-side performance compared to goonchat, especially if batching multiple messages to one client.
    Message persistence across rounds and reconnects. (All messages are stored client-side in IndexedDB)
    More robust scroll tracking. If you scroll up, it will not change the scroll position on new messages like goonchat did.
    Multiple message combining. (Currently set to combine up to 5 messages over last 5 seconds).
    If using the highlighting feature, it highlights the whole message as well as the matching word.
    "Now playing" widget, with preview of the song title, a knob for adjusting the volume and a stop button.

Architecture is as following:
```
to_chat() -+
           |
        SSchat
   (queue, batching)
           |
  window.send_message()
           |
           v
+-------------+
| tgui-panel  |
|+-----------+|
|| tgchat    ||
|+-----------+|
+-------------+
```

Subsystem is basically goonchat, but without all the garbage that slows the servers down (string concatenation, double urlencoding, sanitizing, etc). Now, instead of all that, it's being slowed down by json_encode in /datum/tgui_window/proc/send_message, which IMO is completely worth it, and allows sending various templates and widgets to tgchat.

/datum/tgui_window abstracts the whole window away from you, establishes a nice message-passing interface between DM and JS, with two message queues on each side, automatically loads js/css assets for you, basically does everything. You as a developer only have to worry about sending/receiving messages and write javascript.

tgui-panel is a slimmed down version of tgui, and functions as a container for various widgets, and tgchat is one of them. It of course can be expanded with more stuff.

It's also a separate entry point and a JS bundle, so it's not bloating the main tgui bundle, and is currently sitting at about 230kB.
2020-08-14 13:21:40 +12:00
Timberpoes
19c3bbde31 Cleanup up all instances of using var/ definitions in proc parameters. (#52728)
* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.
2020-08-07 12:23:42 -03:00
Aleksej Komarov
0cf00a2645 tgui 4.0 (#52085)
* tgui 4.0 hyper squash

* Upgrade dependencies
2020-07-16 20:13:04 +02: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
skoglol
13a6293508 Removes some dead code (#51426) 2020-06-03 15:58:53 +08:00
RaveRadbury
fae34292a7 Foreigner Quirk, Adds Galactic Uncommon (#50701)
* Adds Foreigner Quirk

Blocks Galactic Common

* Exceptions for species without secondary languages.

Adds beachtongue for humans and felinids

* Adds Galactic Uncommon

* Adds uncommon include into the .dme

Gotta tick that box
2020-04-30 21:38:46 -03:00
actioninja
b5dfd8880d id to component name 2020-04-19 19:36:35 +03:00
IndieanaJones
e99b50a7d5 [READY] Reworks the Venus Human Trap (#49736)
* Update venus_human_trap.dm

* Update venus_human_trap.dm

* Update spacevine.dm

* Update venus_human_trap.dm

* Update language_holder.dm

* Update venus_human_trap.dm

* Update spacevine.dm

* Update code/modules/events/spacevine.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

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

Co-Authored-By: spookydonut <github@spooksoftware.com>

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

Co-Authored-By: spookydonut <github@spooksoftware.com>

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

Co-Authored-By: spookydonut <github@spooksoftware.com>

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

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Appease the Great Circular One

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

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

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

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

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

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

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

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

* Update venus_human_trap.dm

* Fix Spacing

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

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

Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-03-21 20:51:50 -03:00
EOBGames
297d7e7d9b TG's Got the Pop Factor: The Singing Update (#49063)
* Sing a lovely song

* minor changes, ~ to %, and removal of specific logging

* 512 support

don't trust byond

* oops
2020-01-31 20:10:55 +01: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
EOBGames
fb1b9127ce New racial languages (#48309)
* Racial Languages

Adds a whole bunch of racial languages.

* Travis you are a cruel mistress

Snarky comments will be the death of me

* Better names, better language distribution

Decided to take some suggestions from the github and discord

* 2001: A Space Indent Odyssey

Fixed that stuff for you, green name man
2019-12-24 16:08:43 +01:00
skoglol
4a487ca803 Refactors language holder (#48106)
* Language holder refactor

* Ironed out bugs, testing

* adds sourced language, blocking list. more useful helpers.

* Replaced old usage

* Adresses requests

* Autodoc attempt #1

* Fixed monkeyize (again)

* Travis happy

* Language menu updated

* Final pass
2019-12-18 22:22:12 +01:00
Rob Bailey
4477fb387b Language and Crafting tgui-next (#47474)
* Crafting + Language Menu

crafting menu work start

personal crafting menu

rebuild

early return cleanup

remove a debug print

minor refactors

rebuil

* Crafting + Language Menu

crafting menu work start

personal crafting menu

rebuild

early return cleanup

remove a debug print

minor refactors

rebuil

* Unfuck crew console

* import cleanup

* one more
2019-11-02 19:52:17 -04: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
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
kingofkosmos
8358169b8e New 'hear' span class (#46369)
* Reverts italics-span back to no color.

* Cleans up many extra spaces and indents.

* Adds 'hear' span class.

* Replaces all 'italics' used in heard messages with 'hear'.
2019-09-14 23:56:34 -07:00
Rob Bailey
2029163d33 playsound vary boolean define conversion (#46254)
About The Pull Request

Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls

This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE

I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game

Code usability
2019-08-30 18:45:20 +12:00
xmikey555
31386f8f93 Pirate language (#41489)
cl
add: Added pirate language, equip a pirate hat to speak it.
/cl

I haven't made a PR here since #23676 but this is pretty simple, it just adds "pirate language" (language only spoken/readable by fellow piratespeakers that looks like pirate slang to others), and makes the pirate hat (yes, the one obtainable from the autodrobe) grant/remove the language.

also i have no experience in dream maker so i'm at least 87% sure i flubbed something up

thanks to qustinnus for helping me out
2018-11-27 14:31:57 +13:00
ShizCalev
8a7df8ba45 Makes usage of Nar-Sie consistent (#40029)
cl ShizCalev
spellcheck: Nar-Sie's name has been revised to Nar'Sie.
/cl
2018-09-08 13:31:09 +12:00
Tad Hardesty
cf6f064e21 Use spritesheets to reduce time spent sending PNG assets by 90+% (#37399)
The total number of assets to be sent has been reduced from 1532 to 76, with time between first asset and last going from about 112s to about 7s (a 93% reduction) by my measure. The following assets have been coalesced:

    705 pipe images (used by RPD) -> 1 spritesheet + css
    595 research design icons (used by R&D console) -> 3 spritesheets + css
    116 OOC emoji + 15 language icons -> 1 spritesheet + css
    27 PDA icons -> 1 spritesheet + css
    11 paperwork stamps -> 1 spritesheet + css
2018-05-10 14:34:57 +12:00
ShizCalev
ba1030f803 Makes more messages pronoun sensitive (#37582)
* Makes more messages pronoun sensitive

* Some cleanup

* more pronouns

* rever
2018-05-03 18:45:55 -04:00
Armhulen
84d4b3aae6 Mushroom people, revived! (#35858)
* caps fixed, small other fixes and mushpunch

* honey, i fixed the bugs!

* STUPID YORII DUMB GIRL STINK LEAVE

* boolean is such a fun word

* zoinks

* F_XED

* fixes part 2

* TRUEs and FALSEs

* don't drink and code boys unless you're goofball or like maybe kor

* for entirely different reasons i mean

* at what point is goofball too drunk to troll but not drunk enough to shitcode

* cool your jets, travis.

* what a TRAVIS-TY

* mush added to yet another blacklist!
2018-03-07 21:34:56 -06:00
Cruix
dedf5f5ed9 Disease antagonist (#35988)
* Virus antagonist initial commit

* Updated disease code

* Sentient virus improvements

* Renamed /mob/living/var/viruses to diseases, and /mob/living/var/resistances to disease_resistances

* Added sentient virus event

* Renamed VIRUS defines to DISEASE defines

* Fixed bugs in rewritten disease code

* Fixed advanced disease Copy()

* Finalized disease antagonist

* Made cooldown buttons stop processing if they are removed from an owner.
Made sentient disease active sneeze and cough not available if the host is unconscious.
Made sentient disease menu refresh when adaptations are ready or hosts are added or removed.
Made sentient disease following use movement signals instead of fastprocess.

* Added better icons to sentient disease abilities
2018-03-05 13:55:10 +01:00
FrozenGuy5
6c7534ff20 Removes the empty moth language file 2018-02-13 14:30:45 +00:00
XDTM
f4847c230e [Ready]Minor Slime Update: slimepeople get the slime language, slimes speak slime instead of common (#33773)
* Minor Slime Update: slimepeople get the slime language, slimes speak the slime language instead of common

* shadow language

* shadows part 2
2018-01-25 08:47:21 +13:00
FrozenGuy5
5c23deb7d8 removes moth language (#34745) 2018-01-22 19:40:26 -02:00
MoreRobustThanYou
b7deb9c118 Reduces spaces in the Lepidopterian language. (#34712) 2018-01-21 22:14:14 -05:00
Joan Lung
b30e2934e7 Moths, except I have stolen them and they no longer conflict (#34498)
* Moths, except with less conflicts

* if I remove your wings, will you die?

* it would be extremely painful
2018-01-19 10:32:22 -05:00
XDTM
b5d9845edf [Ready]Brain Trauma additions (#33405)
* Brain Trauma additions

* Adds Aphasia

* Adds the aphasia language

* Short window

* nuke exploits GONE

* fixes draggable portals

* psychobrawl won't just kill you if you use it too much, but stuns longer

* Adds anosognosia, and lowers thresholds

* .

* RANDOM GODWOKEN

* Default brain damage is now 0

* antur

* fix 1

* forcemove and afk friend adjustments

* okay it's ready now

* dead people can hear imaginary friends
2017-12-17 18:10:25 +01:00
Emmett Gaines
25080ff2c4 defines math (#33498) 2017-12-17 11:02:11 -05:00
Emmett Gaines
7c69cdcb8a Revert math (#33059)
* Revert "all this wrapping and it's not even christmas (#33035)"

This reverts commit faaf151580.

* Revert "fuck me for forgetting to graph this one"

This reverts commit 45d7acea2f.

* Revert "defines math"

This reverts commit 2817a1737b.
2017-11-23 20:59:52 -05:00
ninjanomnom
2817a1737b defines math 2017-11-22 17:36:58 -05:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
Kyle Spier-Swenson
f2cf4c2f5c [ready]Makes bIcon better (#29690)
Goonchat will use the asset cache, you now have to specify who to send the icons too.

Goonchat will now load icons in the background, displaying them once they load. this prevents the message from being delayed while the icons are sent.

Icons that aren't preloaded using the asset cache system will not render on ie8 clients. This is because of a ie8 bug that prevents changes on runtime created images from rendering.
2017-08-14 10:40:50 +12:00
ShizCalev
59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
nicbn
77a2d3f5cd Replaces "istype"s with is_helpers macros (#28676) 2017-06-22 15:03:19 -03:00
Leo
5e07c55565 Fixes language icons on goonchat 2017-06-10 22:44:46 -03:00
Leo
6f8c3fdf29 Merge pull request #27676 from KorPhaeron/shade
Makes shades/constructs able to speak galcommon again
2017-05-26 20:03:47 -03:00