Skip to content

Commit

Permalink
Merge branch 'Fansana:master' into Aine-Longcoats
Browse files Browse the repository at this point in the history
  • Loading branch information
foxcumberland authored Jul 24, 2024
2 parents c190e86 + 95a9304 commit 55df2ff
Show file tree
Hide file tree
Showing 134 changed files with 1,746 additions and 442 deletions.
14 changes: 8 additions & 6 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,15 @@ jobs:
PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }}
ARTIFACT_ID: ${{ steps.artifact-upload-step.outputs.artifact-id }}
GITHUB_REPOSITORY: ${{ vars.GITHUB_REPOSITORY }}
ROBUST_CDN_URL: ${{ vars.ROBUST_CDN_URL }}
FORK_ID: ${{ vars.FORK_ID }}

- name: Publish changelog (Discord)
run: Tools/actions_changelogs_since_last_run.py
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHANGELOG_DIR: ${{ vars.CHANGELOG_DIR }}
DISCORD_WEBHOOK_URL: ${{ secrets.CHANGELOG_DISCORD_WEBHOOK }}
# - name: Publish changelog (Discord)
# run: Tools/actions_changelogs_since_last_run.py
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# CHANGELOG_DIR: ${{ vars.CHANGELOG_DIR }}
# DISCORD_WEBHOOK_URL: ${{ secrets.CHANGELOG_DISCORD_WEBHOOK }}

- name: Publish changelog (RSS)
run: Tools/actions_changelog_rss.py
Expand Down
54 changes: 46 additions & 8 deletions Content.Server/Chat/Systems/ChatSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,17 @@ public void TrySendInGameICMessage(
if (string.IsNullOrEmpty(message))
return;

// Check if the message is in sign language
if (desiredType == InGameICChatType.Speak || desiredType == InGameICChatType.Whisper)
{
var language = languageOverride ?? _language.GetLanguage(source);
if (language.SignLanguage ?? false)
{
SendEntityEmote(source, message, range, nameOverride, ignoreActionBlocker, signLanguage: true, languageOverride: languageOverride);
return;
}
}

// This message may have a radio prefix, and should then be whispered to the resolved radio channel
if (checkRadioPrefix)
{
Expand Down Expand Up @@ -576,7 +587,9 @@ private void SendEntityEmote(
bool hideLog = false,
bool checkEmote = true,
bool ignoreActionBlocker = false,
NetUserId? author = null
NetUserId? author = null,
LanguagePrototype? languageOverride = null,
bool? signLanguage = false
)
{
if (!_actionBlocker.CanEmote(source) && !ignoreActionBlocker)
Expand All @@ -586,15 +599,32 @@ private void SendEntityEmote(
var ent = Identity.Entity(source, EntityManager);
string name = FormattedMessage.EscapeText(nameOverride ?? Name(ent));

var language = languageOverride ?? _language.GetLanguage(source);

// Emotes use Identity.Name, since it doesn't actually involve your voice at all.
var wrappedMessage = Loc.GetString("chat-manager-entity-me-wrap-message",
("entityName", name),
("entity", ent),
("message", FormattedMessage.RemoveMarkup(action)));
var wrappedMessage = "";
var obfuscatedWrappedMessage = "";
if (signLanguage == true)
{
wrappedMessage = Loc.GetString("entity-signlanguage-message",
("entityName", name),
("message", FormattedMessage.EscapeText(action)));

obfuscatedWrappedMessage = Loc.GetString(_language.ObfuscateSpeech(action, language),
("entityName", name));
}
else
{
wrappedMessage = Loc.GetString("chat-manager-entity-me-wrap-message",
("entityName", name),
("entity", ent),
("message", FormattedMessage.RemoveMarkup(action)));

}

if (checkEmote)
TryEmoteChatInput(source, action);
SendInVoiceRange(ChatChannel.Emotes, name, action, wrappedMessage, obfuscated: "", obfuscatedWrappedMessage: "", source, range, author);
SendInVoiceRange(ChatChannel.Emotes, name, action, wrappedMessage, obfuscated: "", obfuscatedWrappedMessage, source, range, author, signLanguage: true);
if (!hideLog)
if (name != Name(source))
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"Emote from {ToPrettyString(source):user} as {name}: {action}");
Expand Down Expand Up @@ -749,7 +779,7 @@ private MessageRangeCheckResult MessageRangeCheck(ICommonSession session, ICChat
/// <summary>
/// Sends a chat message to the given players in range of the source entity.
/// </summary>
private void SendInVoiceRange(ChatChannel channel, string name, string message, string wrappedMessage, string obfuscated, string obfuscatedWrappedMessage, EntityUid source, ChatTransmitRange range, NetUserId? author = null, LanguagePrototype? languageOverride = null)
private void SendInVoiceRange(ChatChannel channel, string name, string message, string wrappedMessage, string obfuscated, string obfuscatedWrappedMessage, EntityUid source, ChatTransmitRange range, NetUserId? author = null, LanguagePrototype? languageOverride = null, bool? signLanguage = false)
{
var language = languageOverride ?? _language.GetLanguage(source);
foreach (var (session, data) in GetRecipients(source, VoiceRange))
Expand All @@ -762,9 +792,17 @@ private void SendInVoiceRange(ChatChannel channel, string name, string message,
continue;
EntityUid listener = session.AttachedEntity.Value;

// Quickly Checking if the Emote is a real one or Sign Language.
var notSignLanguage = false;
if (channel == ChatChannel.Emotes)
{
notSignLanguage = true;
if (signLanguage == true)
notSignLanguage = false;
}

// If the channel does not support languages, or the entity can understand the message, send the original message, otherwise send the obfuscated version
if (channel == ChatChannel.LOOC || channel == ChatChannel.Emotes || _language.CanUnderstand(listener, language.ID))
if (channel == ChatChannel.LOOC || notSignLanguage || _language.CanUnderstand(listener, language.ID))
{
_chatManager.ChatMessageToOne(channel, message, wrappedMessage, source, entHideChat, session.Channel, author: author);
}
Expand Down
8 changes: 7 additions & 1 deletion Content.Shared/Language/LanguagePrototype.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@ public sealed class LanguagePrototype : IPrototype

[DataField("fontSize")]
public int? FontSize;


/// <summary>
/// If true, will mark the language as a SignLanguage and will be handled as such.
/// </summary>
[DataField("signLanguage")]
public bool? SignLanguage;

/// <summary>
/// Obfuscation method used by this language. By default, uses <see cref="ObfuscationMethod.Default"/>
/// </summary>
Expand Down
20 changes: 12 additions & 8 deletions Resources/Audio/Animals/attributions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
license: "CC-BY-3.0"
copyright: "Modified from 'Meow 4.wav' by freesound user 'TRNGLE. The original audio was trimmed, split to mono, and converted from WAV to OGG format"
source: "https://freesound.org/people/TRNGLE/sounds/368006/"

- files: ["cat_meow2.ogg"]
license: "CC-BY-3.0"
copyright: "Created by freesound user 'TRNGLE. The original audio split to mono, and converted from WAV to OGG format"
Expand Down Expand Up @@ -117,24 +117,28 @@
license: "CC-BY-4.0"
copyright: "Audio is recorded/created by Pfranzen 'FreeSound.org'. The original audio was trimmed and renamed"
source: "https://freesound.org/people/pfranzen/sounds/322744/"

- files: ["dog_bark1.ogg"]
license: "CC0-1.0"
copyright: "Audio is recorded/created by KFerentchak 'FreeSound.org'. The original audio was trimmed and renamed"
source: "https://freesound.org/people/KFerentchak/sounds/235912/"
source: "https://freesound.org/people/KFerentchak/sounds/235912/"

- files: ["dog_bark2.ogg"]
license: "CC0-1.0"
copyright: "Audio is recorded/created by KFerentchak 'FreeSound.org'. The original audio was trimmed and renamed"
source: "https://freesound.org/people/KFerentchak/sounds/235912/"
source: "https://freesound.org/people/KFerentchak/sounds/235912/"

- files: ["dog_bark3.ogg"]
license: "CC0-1.0"
copyright: "Audio is recorded/created by KFerentchak 'FreeSound.org'. The original audio was trimmed and renamed"
source: "https://freesound.org/people/KFerentchak/sounds/235912/"

- files: ["nymph_chirp.ogg"]
license: "CC-BY-SA-3.0"
copyright: "Taken from ParadiseSS13"
source: "https://github.com/ParadiseSS13/Paradise/commit/a34f1054cef5a44a67fdac3b67b811137c6071dd"


- files: ["wawa_exclaim.wav", "wawa_question.wav", "wawa_statement.wav"]
license: "Custom"
copyright: "GPL-3.0 license // andreweathan"
source: "https://github.com/Andrew-Eathan/push-to-meow"
Binary file added Resources/Audio/Animals/wawa_exclaim.wav
Binary file not shown.
Binary file added Resources/Audio/Animals/wawa_question.wav
Binary file not shown.
Binary file added Resources/Audio/Animals/wawa_statement.wav
Binary file not shown.
46 changes: 46 additions & 0 deletions Resources/Changelog/Floof.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,3 +147,49 @@ Entries:
message: shuttle and alert announcements
id: 21
time: '2024-07-22T04:29:24.0000000+00:00'
- author: SnowyFoxxo
changes:
- type: Tweak
message: >-
Added, tweaked or removed a few rules. Also finally should have a
modicum of formatting.
id: 22
time: '2024-07-22T17:02:37.0000000+00:00'
- author: FoxxoTrystan
changes:
- type: Add
message: Sign Languages!
id: 23
time: '2024-07-22T20:14:58.0000000+00:00'
- author: Tilkku
changes:
- type: Add
message: Added a new series of cocktails and new bottles to the booze'o'mat
id: 24
time: '2024-07-22T20:15:08.0000000+00:00'
- author: FoxxoTrystan
changes:
- type: Add
message: ScugCats! Wawa!
id: 25
time: '2024-07-22T21:25:23.0000000+00:00'
- author: SnowyFoxxo
changes:
- type: Tweak
message: Further tweaks and fixes to rules.
id: 26
time: '2024-07-23T12:17:28.0000000+00:00'
- author: FoxxoTrystan
changes:
- type: Add
message: Scugs can now go in bags and resist grabs!
- type: Fix
message: Scugs cannot fit under doors anymore.
id: 27
time: '2024-07-23T13:59:07.0000000+00:00'
- author: Aidenkrz
changes:
- type: Fix
message: Rules header now correctly displays server name.
id: 28
time: '2024-07-23T13:59:17.0000000+00:00'
13 changes: 13 additions & 0 deletions Resources/Locale/en-US/Floof/flavors/flavor-profiles.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
flavor-complex-anisette = like sweet anise
flavor-complex-blueballer = like fruit and unrequited love
flavor-complex-demonseed = metallic, sweet, and smooth
flavor-complex-doublecreamblaster = creamy and sweet
flavor-complex-emeraldswinger = fruity and colorful
flavor-complex-mariejulep = minty and spicy
flavor-complex-orgasmonthebeach = like a tart infection
flavor-complex-pompassion = fruity and like candy
flavor-complex-redrocket = incredibly sweet, like a rocket pop
flavor-complex-semenbomb = bitter and oleogustus
flavor-complex-semenhemorrhage = clumpy and sweet
flavor-complex-watermelonginjizz = bubbly and fruity
flavor-complex-yeolhandy = like oranges and solitude
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
reagent-name-anisette = anisette
reagent-desc-anisette = Liquor made of anise and sugar, typically used as a sweeter form of absinthe.
reagent-name-blueballer = blue baller
reagent-desc-blueballer = For those love-shy workers.
reagent-name-demonseed = demon seed
reagent-desc-demonseed = Tastes like an actual demon's nethers.
reagent-name-doublecreamblaster = double cream blaster
reagent-desc-doublecreamblaster = For twice the creaminess and twice the fun.
reagent-name-emeraldswinger = emerald swinger
reagent-desc-emeraldswinger = A colorful cocktail, perfect for the platter at a sex party.
reagent-name-mariejulep = marie julep
reagent-desc-mariejulep = A minty, sweet cocktail. For those who can't stomach their absinthe.
reagent-name-orgasmonthebeach = orgasm on the beach
reagent-desc-orgasmonthebeach = A classic drink that tickles the pudendal nerve.
reagent-name-pompassion = pom passion
reagent-desc-pompassion = An incredibly fruity drink, the smell so strong it could be a perfume.
reagent-name-redrocket = red rocket
reagent-desc-redrocket = A sugary drink that would be very sought after in an apocalypse. Favored by canines.
reagent-name-semenbomb = semen bomb
reagent-desc-semenbomb = A drink that will make one feel like they have a full stomach, one way or another.
reagent-name-semenhemorrhage = semen hemorrhage
reagent-desc-semenhemorrhage = A succubi spin on a classic spooky shot.
reagent-name-watermelonginjizz = watermelon gin jizz
reagent-desc-watermelonginjizz = Perfect for a luncheon on a warm sunny afternoon.
reagent-name-yeolhandy = ye ol handy
reagent-desc-yeolhandy = The loner's choice, cold as their bed.
6 changes: 6 additions & 0 deletions Resources/Locale/en-US/Floof/scugcat.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ghost-role-information-scugcat-name = ScugCat
ghost-role-information-scugcat-description = You're a scugcat! a very smart creature capable of many things!
chat-speech-verb-wawa-1 = intones
chat-speech-verb-wawa-2 = states
chat-speech-verb-wawa-3 = declares
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
station-event-scug-cat-spawn-announcement = Attention. A large influx of unknown life forms have been detected residing within the station's ventilation systems. Please be rid of these creatures before it begins to affect productivity.
4 changes: 2 additions & 2 deletions Resources/Locale/en-US/info/rules.ftl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Rules

ui-rules-header = DeltaV Official Server Rules
ui-rules-header-rp = DeltaV Roleplay Official Server Rules
ui-rules-header = Floof Station Official Server Rules
ui-rules-header-rp = Floof Station Roleplay Official Server Rules
ui-rules-accept = I have read and agree to follow the rules
ui-rules-wait = The accept button will be enabled after {$time} seconds.
6 changes: 6 additions & 0 deletions Resources/Locale/en-US/language/languages.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ language-Universal-description = What are you?
language-GalacticCommon-name = Galactic common
language-GalacticCommon-description = The standard Galatic language, most commonly used for inter-species communications and legal work.
language-SignLanguage-name = Sign Language
language-SignLanguage-description = The standard Galactic sign language, used by those that are unable to speak Galactic Common or at all.
language-Bubblish-name = Bubblish
language-Bubblish-description = The language of Slimes. Being a mixture of bubbling noises and pops it's very difficult to speak for humans without the use of mechanical aids.
Expand Down Expand Up @@ -69,3 +72,6 @@ language-Crab-description = Click!
language-Kobold-name = Kobold
language-Kobold-description = Hiss!
language-ScugSign-name = ScugSign
language-ScugSign-description = Wawa! The secret ScugSign making you able to understand your fellows scug!
8 changes: 8 additions & 0 deletions Resources/Locale/en-US/language/sign-language.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
entity-signlanguage-message = [italic]{$entityName} signs "[BubbleContent]{$message}[/BubbleContent]"[/italic]
language-signlanguage-1 = [italic]{$entityName} signs something.[/italic]
language-signlanguage-2 = [italic]{$entityName} makes weird hand gestures.[/italic]
language-scugsign-1 = [italic]{$entityName} signs something.[/italic]
language-scugsign-2 = [italic]{$entityName} gestures something.[/italic]
language-scugsign-3 = [italic]{$entityName} makes jumping gestures.[/italic]
3 changes: 3 additions & 0 deletions Resources/Prototypes/Announcers/template
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,9 @@
## NyanoTrasen
- id: noosphericStorm # A large amount of glimmer has joined the station and made people psionic
path: events/noospheric_storm.ogg
## Floofstation
- id: scugCatSpawn # Several scugs have appeared in a random place
path: comms/attention.ogg

# Shuttle
- id: shuttleCalled # The shuttle is on its way
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@
DrinkShaker: 5
CustomDrinkJug: 2 #to allow for custom drinks in the soda/booze dispensers
DrinkAbsintheBottleFull: 2
DrinkAnisetteBottleFull: 2 # Floofstation
DrinkAleBottleFull: 5
DrinkBeerBottleFull: 5
DrinkBlueCuracaoBottleFull: 2
DrinkCognacBottleFull: 4
DrinkColaBottleFull: 4
DrinkCreamCarton: 5
DrinkCumBottleFull: 1 # Floofstation
DrinkGinBottleFull: 3
DrinkGildlagerBottleFull: 2 #if champagne gets less because its premium, then gildlager should match this and have two
DrinkGrenadineBottleFull: 2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#small item
prototypes:
- DrinkAbsintheBottleFull
- DrinkAnisetteBottleFull # Floofstation
- DrinkBlueCuracaoBottleFull
- DrinkCognacBottleFull
- DrinkGrenadineBottleFull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
- DrinkBeerglass
- DrinkBerryJuice
- DrinkBlackRussianGlass
- DrinkBlueBallerGlass # Floofstaion
- DrinkBlueCuracaoGlass
- DrinkBloodyMaryGlass
- DrinkBooger
Expand Down Expand Up @@ -66,9 +67,12 @@
- DrinkMilkshake
- DrinkMojito
- DrinkNTCahors
- DrinkOrgasmOnTheBeachGlass # Floofstation
- DrinkPatronGlass
- DrinkPomPassionGlass # Floofstation
- DrinkPoscaGlass
- DrinkRedMeadGlass
- DrinkRedRocketGlass # Floofstation
- DrinkRewriter
- DrinkRootBeerFloatGlass
- DrinkRumGlass
Expand All @@ -85,10 +89,12 @@
- DrinkVodkaMartiniGlass
- DrinkVodkaTonicGlass
- DrinkWatermelonJuice
- DrinkWatermelonGinJizzGlass # Floofstaion
- DrinkWhiskeyColaGlass
- DrinkWhiskeySodaGlass
- DrinkWhiteRussianGlass
- DrinkWineGlass
- DrinkYeOlHandyGlass
- DrinkShakeBlue
- DrinkShakeWhite
- DrinkTheMartinez
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@
- Pig
- Crab
- Kobold
- ScugSign
requires:
- GalacticCommon
setLanguageOnInteract: false
Loading

0 comments on commit 55df2ff

Please sign in to comment.