Commit Graph

103 Commits

Author SHA1 Message Date
SkyratBot
98774c8580 [MIRROR] Fixes mind traits (Curator, Miner, Clown) [MDB IGNORE] (#21397)
* Fixes mind traits (Curator, Miner, Clown) (#75593)

## About The Pull Request

Tower of Babel (Curator), Naive (Clown), and Storm detector (Shaft
Miner), are all traits that are given to your mind upon taking these
jobs.
However, we have been checking the body for these traits, not the mind.
This meant that Shaft miners werent alerted of ice storms, Clowns didnt
have their unique examine text, and Curators were affected by Tower of
Babel.
This fixes all those issues.

Naive and Tower of Babel realistically should only be on the mind, so I
changed all instances to check the mind. Storm detection is something
you can get through analyzers, so I left it as a check for both your
body and mind traits.

Clown's Naive:

![image](https://github.com/tgstation/tgstation/assets/53777086/30e92026-5d1d-44a5-9969-206df99c5e8f)

Tower of Babel:

![image](https://github.com/tgstation/tgstation/assets/53777086/b1d41f9d-e020-495c-89de-0d4e2c953442)

## Why It's Good For The Game

Fixes several bugs for 3 jobs all at once. I don't see any issue reports
on any of these, but they existed.

## Changelog

🆑
fix: Shaft Miners are now alerted of Icemoon storms, Clowns are naive,
and Curators are immune to the Tower of Babel again.
/🆑

* Fixes mind traits (Curator, Miner, Clown)

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-05-24 16:34:55 +02:00
Bloop
6d36e7cd5d [MODULAR] Fixes syndicate ghost roles not spawning with codespeak language, & an assortment of language related fixes/improvements (#19311)
* Fixes syndicate ghost roles not spawning with codespeak language

* Fixes related NRI issues as well while we're at it

* Fixes a couple issue and adds the new naming scheme

* Phonetic alphabet numbers, fixes trailing space in formatting

* change to NATO numbers rather than phonetic

* final quality sweep

* moved this into the proper place

* Removes the no longer in use 'rank' var

* fixes a runtime

* Update modular_skyrat/master_files/code/modules/mob_spawn/mob_spawn.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Fixes a mistake

* refactor outfit paths

* Doc

* Fixes ashwalkers sometimes spawning without language

* Removes the need for post_transfer_prefs for languages and fixes language prefs not being applied correctly due to a bug

Fixes another bug - the innate language (common) was always being applied when a new mob was spawned on the station, but interestingly it works fine for ghost roles.

My solution to ensure that things are always set up correctly is to use the proc 'adjust_language_to_prefs' to do just that, and call it at the highest level after a mob spawns.

This fixes the bug that was making it so that even if you deselected common from language prefs you'd still get it no matter what. Which honestly I am still fuzzy on the precise cause of because of how much coupling there is between mind code, language holders, and spawning new mobs.  The logic of this code is absolutely mental and rather than try to weave things into functions it seems best to just do this instead. Less prone to breakage that way.

* Update modular_skyrat/master_files/code/modules/client/preferences/middleware/languages.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Suggestions

* A more fitting description for this var

* Modifies language perk tooltips to better fit the codebase, refactors do_not_sanitize into a whitelist instead that can be configured for species

The Ashwalker tooltip inaccurately listed common as a language they were able to speak. Also slightly changed the wording of the rest of the tooltips to reflect the fact it is possible to disable a species' native tongue via prefs.

Refactored the 'do_not_sanitize' var to use a whitelist instead, allowing for more reliable sanitizing and also more configuration for new species to have such features.

* rephrasing

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-03-10 19:56:28 +00:00
SkyratBot
c5ca08fd01 [MIRROR] Adds spaces around logical operators [MDB IGNORE] (#18776)
* Adds spaces around logical operators

* Update code/modules/admin/verbs/admingame.dm

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-01-21 22:16:43 -08:00
SkyratBot
076e3fd31f [MIRROR] Refactors how tongue languages are set [MDB IGNORE] (#18362)
* Refactors how tongue languages are set

* skew and modular

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2023-01-12 12:27:47 -05:00
SkyratBot
6ddf11b8ca [MIRROR] Add language variety to machines that speak [MDB IGNORE] (#18262)
* Add language variety to machines that speak (#71643)

## About The Pull Request
This builds on #70278 by giving other machines (vendors, newscasters,
computers, etc.) the ability to speak different languages. If the
station "Bot language malfunction" trait is rolled, then these machines
will select a random race starting language. If a machine is EMP'd then
it has a chance to change the language. There is also a language wire
that can be pulsed to change the language for vending machines.

Default language for machines is galactic common, but there are rare
exceptions:

- Beach vendors will now speak beachbum
- Syndicate vendors will now speak codespeak
- Changeling vendors will now speak a random language after each slogan

## Why It's Good For The Game
More depth to the language feature.

## Changelog
🆑
add: Add language variety to machines that speak. You can also pulse the
vendor language wire to make it switch languages or EMP a machine to get
the same effect.
add: Shambling cola vendors will now speak a different language each
time they talk. Syndicate vendors will now speak codespeak. Beach
vendors will now speak beachbum.
/🆑

* Add language variety to machines that speak

* updates imported vendors

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2022-12-25 18:00:29 -08:00
SkyratBot
4c6159657a [MIRROR] Allows languages to weight the likelihood of certain syllables, refactors certain code related to pick_weight() [MDB IGNORE] (#17505)
* Allows languages to weight the likelihood of certain syllables, refactors certain code related to pick_weight() (#71275)

## About The Pull Request

This PR does the following:
- Defines a new proc in __HELPERS/_lists.dm called
`pick_weight_recursive()`. This is the code from
`/obj/effect/spawner/random/` that allows for nested weighted lists,
moved to its own proc.
- Replaces explicit code in spawners/random.dm with calls to
`pick_weight_recursive()` where appropriate
- Deletes the redundant (and barely used) proc
`/obj/item/loot_table_maker/proc/pick_loot`, as this was equivalent to
`pick_weight_recursive()`
- Moves the global proc `fill_with_ones()` from spawners/random.dm to
__HELPERS/_lists.dm
- Replaces `pick()` in language syllable selection with
`pick_weight_recursive()`, allowing languages to define syllable weights
or use nested lists of syllables.
- Reformats Galactic Common to use nested lists of syllables, allowing
English and Chinese syllables to occur at equal frequency despite having
different numbers of each.

## Why It's Good For The Game

Allowing languages to define syllable weights and nested groups of
syllables is a relatively small change that greatly expands what you can
do with them. In addition to making Galactic Common look nicer in code,
this change also allows for the easy creation of languages with highly
uneven syllable distributions (including ultra-rare secret syllables,
perhaps) or the quick creation of pidgin languages that combine multiple
syllable sets.

Using a new proc simplifies spawner code by reducing repetition. Making
it global allows for other code to easily implement the same flexible
and elegant system of nested lists that spawners already use.

## Changelog
🆑
refactor: defines a new global proc, pick_weight_recursive()
code: languages can weight syllables, and galactic common's definition
is easier to look at
/🆑

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Allows languages to weight the likelihood of certain syllables, refactors certain code related to pick_weight()

Co-authored-by: skylord-a52 <skylord-a52@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2022-11-16 10:58:23 -05:00
SkyratBot
375fea374a [MIRROR] Optimizes qdel related things (slight init time savings) [MDB IGNORE] (#17240)
* Optimizes qdel related things (slight init time savings)

* lang holder

* cleanup custom spawners slightly

* ref update

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-30 23:15:38 -04:00
SkyratBot
2853e3ffef [MIRROR] Wizard DLC - Tower of Babel [MDB IGNORE] (#16978)
* Wizard DLC - Tower of Babel (#69629)

About The Pull Request

This adds a new status effect called - Tower of Babel

Any carbon mob afflicted by the status effect will lose knowledge of every known language and gain a randomized one as a replacement. The affected mob will also be hit with a depressing moodlet that lasts for 15 seconds. Silicons are immune to all effects.

This effect is implemented in several ways:

    Tower of Babel wizard event (all crew on the station z level are affected. The wizard is not and gains mastery of every language to taunt their victims)
    Admin smite option
    Admin secret event (can be reversed)
    Staff of Babel (formerly the Staff of Sapping) will spawn during spawn magic wizard event
    Magicarp will randomly shoot bolts of babel
    Staff of Chaos will randomly shoot bolts of babel
    Overdosing on Mushroom Hallucinogen will temporarily and sporadically acquire the effect

The effect can be blocked or cured in several ways:

    Curators are given immunity
    Reading a book of babel (via lavaland loot) cures and gives immunity
    Reading a language book cures and gives immunity ONLY for that particular language

Note - The Tower of Babel does not allow tongueless, mute, or tongue tied people the ability to speak

* Wizard DLC - Tower of Babel

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-10-19 12:25:29 +01:00
SkyratBot
e276534402 [MIRROR] Station trait "Bot language malfunction" triggers on newly created station bots [MDB IGNORE] (#16630)
* Station trait "Bot language malfunction" triggers on newly created station bots (#70278)

* Bot language malfunction triggers on new bots

* List

* Station trait "Bot language malfunction" triggers on newly created station bots

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-10-04 09:43:31 -04:00
SarmentiCampbell
87cc6688c0 [NON-MODULAR] Remove piratespeak from the language menu (#14864)
* done

* readded monkie to language

* okay
2022-08-04 16:03:30 +01:00
Gandalf
de8807eee2 TGUI reset and removal of unticked files and ci suite update (#14677)
* Adds easy to extend custom svg font. (#57717)

Just throw in svgs into tgui/packages/tgfont/icons directory and you can use them in tgui with tg- prefix.

Co-authored-by: Style Mistake <stylemistake@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Update build.js

* Update build.js

* Update build.js

* ew

* more??

* Update validate_dme.py

* Update validate_dme.py

* Delete explorer_gear.dm

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Style Mistake <stylemistake@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-07-02 01:16:15 +01:00
Nerevar
495ba78f11 [Half-Modular] Ashtongue for Ashwalkers (#14574)
* uwah

* thanks goofball!

* thx zonespace

* i'm screaming

* wew

Co-authored-by: Snakebittenn <12636964+Snakebittenn@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-06-28 18:18:08 -07:00
SkyratBot
36f7daf001 [MIRROR] De-hardcodes the species preference pages, deleting the species pages and generating them in constant data on the DM side instead [MDB IGNORE] (#11774)
* De-hardcodes the species preference pages, deleting the species pages and generating them in constant data on the DM side instead

* fc

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-03-13 21:24:04 +00:00
SkyratBot
17e4f6ad76 [MIRROR] Converts SFX keys into DEFINES [MDB IGNORE] (#11990)
* Converts SFX keys into DEFINES

* fixes and updates

Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-03-11 16:43:39 -07:00
SkyratBot
422f8b3719 [MIRROR] Fixes bug where people could teach themselves dronespeak [MDB IGNORE] (#11449)
* Fixes bug where people could teach themselves dronespeak (#64785)

Oversight from #54192 (0e6ac80e57) which in turn fixed an oversight from #53916 (9c95813da4)

* Fixes bug where people could teach themselves dronespeak

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
2022-02-11 10:31:26 +00:00
SkyratBot
0ce579e284 [MIRROR] Da clownana update! Clownana rework, global hOnKeRbLaSt & monkey synergy. [MDB IGNORE] (#11408)
* Da clownana update! Clownana rework, global hOnKeRbLaSt & monkey synergy. (#63899)

Since maintainer have expressed dissatisfaction with the state of clownanans, i've taken it upon myself to not only reduce their lag generation potential but to also make them more interesting.

All simplemob clowns now:
Are able to speak and understand the monkey language.
Are able to hit banana bunches to initiate the explosive ripening process.

The changes to clownananas speciecially are as follow;
Clownanas are able to rustle every 10 seconds to spawn 3 peels.
Clownanas have a speed of -1 rather than -10.
Clownanas gain the ability to spawn a banana bunch every minute.

Banana bunches are food items imbued with extra banana juice and monkey energy.

Hitting a banana bunch as a simplemob clown causes a honkerblast after a 3 seconds delay.

I've implemented a global honkerblast proc for future use, the honkerblast effects are similiar and inspired by the mech weapon, but less severe at light intensity and more severe at high intensity.

Maintainers are unhappy with the current state of the mob (It spawned enough bananas which never went away that when swept up into one place over 30 minutes, walking over the pile would cause minute long server freezes), and while the mob is popular and enjoyed by many players it is currently quite poorly designed and implemented by a novice coder.

These changes increase the strategic depth of playing this particular mob and rewards more active input from the player.

Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>

* Da clownana update! Clownana rework, global hOnKeRbLaSt & monkey synergy.

Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
2022-02-09 14:30:36 +00:00
SkyratBot
f42d424b49 [MIRROR] Removes swarmers from the game [MDB IGNORE] (#10645)
* Removes swarmers from the game

* Removes swarmers from the game

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-15 17:19:18 +00:00
SkyratBot
65b8082678 [MIRROR] Harddel Fix Pack #42 + Better Live Reftracking Support [MDB IGNORE] (#10639)
* Harddel Fix Pack #42 + Better Live Reftracking Support

* awooga

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 21:57:49 +00:00
SkyratBot
092e534e75 [MIRROR] TGUI list conversions + bug fixes [MDB IGNORE] (#10355)
* TGUI list conversions + bug fixes

* Fixing conflicts

* Maintaining a few modular files while we're at it...

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-01-03 22:53:58 +00:00
Iamgoofball
68e84c432e Skyrat Prefs Menu: Fixing everything to work correctly (#8350)
* Skyrat Prefs Menu: Fixing everything to work correctly

* whoops haha

* Examine menu!

* haha whoops

* Mutant Parts in tgui prefs

* fug

* LIMBS, MARKINGS, LANGUAGES

* EEEE FUCK

* Update tgui_prefs_migration.dm

* Update tgui_prefs_migration.dm

* FUCK

* Proper migration

* Update preferences.dm

* Final fixes for this shit

* Update LoadoutManager.js

* adds cursed shit

* e

* Update preferences.dm

* fixes examine panel

* adds // SKYRAT EDIT to bullshit

* sabshesgawgzxghsv

* wargesthgeargfea

* stegresgdytfrw

* EEE

* Update species_features.tsx

* EEE

* Update cursed_shit.tsx

* fixed taurs

* body size is now a 0.01 step

* Fixes some bugs

* Some required changes.

* Update examine.dm

* actually nekked

* Update code/modules/client/preferences/middleware/jobs.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/modules/client/preferences/middleware/limbs_and_markings.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/modules/client/preferences/middleware/limbs_and_markings.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/modules/client/preferences/middleware/limbs_and_markings.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/master_files/code/modules/client/preferences/erp_preferences.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/loadouts/loadout_ui/loadout_manager.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* More fixes

* Donator items no show

* EEE

* fixes rapier sheaths

* gender =/= body type

* Loadout fixes

* Skintone

* Update skin_tone.dm

* Slick it up

* Update loadout_manager.dm

* Fixes typing indicator

* SSD indicator fixes

* fixes

* oops

* Fix this.

* Fixing the Occupations Menu

* Fixing NT Rep's alt-titles

* Update tgui/packages/tgui/interfaces/PreferencesMenu/jobs/jobs/janitor.ts

Co-authored-by: death and coding <58394696+thestubborn@users.noreply.github.com>

* Update code/controllers/subsystem/language.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update tgui/packages/tgui/interfaces/PreferencesMenu/jobs/jobs/research_director.ts

Co-authored-by: death and coding <58394696+thestubborn@users.noreply.github.com>

Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: death and coding <58394696+thestubborn@users.noreply.github.com>
2021-09-29 15:24:30 +01:00
SkyratBot
c23bd1cb8c [MIRROR] every case of initialize that should have mapload, does (#8374)
* every case of initialize that should have mapload, does

* E

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-24 23:07:53 +01:00
GoldenAlpharex
8601492223 Modularizing synthetic language_holder + other languages renamed (#7894) 2021-09-01 00:49:22 +01:00
death and coding
67f9d4dd70 [nonmodular] gatto (#7093)
Co-authored-by: louiseedwardstuart <bonniefluff>
2021-07-26 16:03:44 +01:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
6f3b151bb8 [MIRROR] Fixes a bunch of harddels that are sourced from player action (#6252)
* Fixes a bunch of harddels that are sourced from player action

* Mirror!

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-11 03:13:33 +01:00
SkyratBot
ea9aed5554 [MIRROR] Replace alert usage with tgui_alert (#5815)
* Replace alert usage with tgui_alert

* a

* Update observer.dm

Co-authored-by: Celotajs <81999976+celotajstg@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-21 00:06:09 +01:00
SkyratBot
42bd885efd [MIRROR] Fixes a fuck ton more harddels (#5476)
* 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

* Fixes a fuck ton more harddels

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-05-05 17:46:22 +01:00
SkyratBot
a08d398675 [MIRROR] Renews Maintenance Drones (#4868)
* Renews Maintenance Drones

* And these have conflicts too, but you can't see them

* Skyrat Map Updates (Adding Supermatter Room Area)

Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-04-16 13:04:21 +02:00
Azarak
85b5cbc378 cultures and languages (#4647)
* cultures and languages

* botanist fix

* missing languages

* make sure new saves from scratch get a species set correctly

* Update preferences.dm

* Update new_player.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-04-10 18:30:32 +01:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
a765e5b0db [MIRROR] Pirates are split into three different ghastly crews! (#3395)
* 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>

* Pirates are split into three different ghastly crews!

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
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-15 13:32:35 +00:00
SkyratBot
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00
SkyratBot
07584e6d41 [MIRROR] Web edit fixing "Admins can't give spiders, and xenos common" (#1740)
* 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.
/🆑

* Web edit fixing "Admins can't give spiders, and xenos common"

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-20 10:42:10 +01:00
SkyratBot
5adb2790a0 [MIRROR] Spider Rework (#1667)
* Spider Rework

* Update giant_spider.dm

Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-11 18:32:13 +01:00
SkyratBot
bc7ece19fa [MIRROR] Dronespeak manual is once again infinite use, and can once again only be used on drones or silicons. (#1191)
* Dronespeak manual is once again infinite use, and can once again only be used on drones or silicons. (#54192)

* Dronespeak manual is once again infinite use, and can once again only be used on drones or silicons.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-10-07 20:49:33 +02:00
SkyratBot
98568e191a [MIRROR] Enforce preserving parent proc return values across ui_act call stacks (#999)
* 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.

* Enforce preserving parent proc return values across ui_act call stacks

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-26 17:17:59 +02:00
SkyratBot
13b96bfe01 [MIRROR] Rebalances space loot and space exploration (#981)
* Rebalances space loot and space exploration (#53916)

* Rebalances space loot and space exploration

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-25 14:34:13 +02:00
SkyratBot
4a4587b854 [MIRROR] Adds nekomimetic, the felinid language (#429)
* 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

* Adds nekomimetic, the felinid language

Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
2020-08-19 20:16:38 -04:00
SkyratBot
d9b246cca9 [MIRROR] tgchat (#342)
* 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.

* tgchat

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-14 23:30:16 +02:00
SkyratBot
ee324ab3c2 [MIRROR] Cleanup up all instances of using var/ definitions in proc parameters. (#240)
* 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.

* Cleanup up all instances of using var/ definitions in proc parameters.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-07 18:26:21 +01: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