Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Port] Better Lizards 2 #929

Merged
merged 1 commit into from
Nov 24, 2024
Merged

Conversation

PuroSlavKing
Copy link
Contributor

@PuroSlavKing PuroSlavKing commented Nov 22, 2024

Описание PR

Taken from: space-syndicate/space-station-14-next#68

4 новых еблета, анимация для сигма-хвоста и версия наспинных шипов без шипов на хвосте.

Медиа

image

Тип PR

  • Feature
  • Fix
  • Tweak
  • Balance
  • Refactor
  • Port
  • Translate
  • Resprite

Изменения

Summary by CodeRabbit

Release Notes

  • New Features

    • Introduced a variety of new reptilian markings, including heads, shouts, and tails, enhancing customization options for characters.
    • Added new texture states for reptilian models, providing more visual variety.
  • Bug Fixes

    • Updated state names for clarity and consistency across various resources.
  • Documentation

    • Updated copyright information in texture resources.

@PuroSlavKing PuroSlavKing requested a review from Rxup as a code owner November 22, 2024 10:31
Copy link
Contributor

coderabbitai bot commented Nov 22, 2024

Walkthrough

The changes in this pull request involve the addition of numerous new markings and states related to reptilian features across multiple localization and configuration files. New entries for lizard heads, shouts, tails, and chest spines have been introduced in both English and Russian localization files. Additionally, the YAML configuration for mob customization has been updated with new markings, while JSON files for textures have been modified to include new states and updated naming conventions for clarity.

Changes

File Path Change Summary
Resources/Locale/en-US/_backmen/markings/reptilian.ftl Added multiple new markings for lizard features, including heads, shouts, and chest spines.
Resources/Locale/ru-RU/backmen/markings/reptilian.ftl Added new markings for lizard features; similar to the English file, focusing on localization.
Resources/Prototypes/_Backmen/Entities/Mobs/Customization/Markings/reptilian.yml Introduced new marking entries for various lizard features; updated existing state names for clarity.
Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/meta.json Added new texture states for reptilian characters, enhancing customization options.
Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/meta.json Updated license and state names for clarity; added new states related to snake textures.
Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/meta.json Updated copyright information and added new states for snouts; renamed existing states for clarity.

Poem

🐰 In the realm of scales and spines,
New markings dance, where lizards shine.
Shouts of dragons, heads that gleam,
In every detail, we chase our dream.
With tails and textures, oh what a sight,
A vibrant world, both day and night! 🌟


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added Changes: Sprites Should be reviewed or fixed by people who are knowledgeable with spriting or visual design. No C# Нету кода. Changes: Localization Can be reviewed or fixed by people who are knowledgeable with translation labels Nov 22, 2024
Copy link
Contributor

RSI Diff Bot; head commit ce6bc20 merging into 37db6b0
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi

State Old New Status
tail_kangaroo Removed
tail_snakelarge Removed
tail_snakelarge_overlay Removed
tail_westerndragon_overlay Removed
kangaroo Added
snake_large Added
snake_large_overlay Added
snake_large_wagging Added
snake_large_wagging_overlay Added
western_dragon_overlay Added

Resources/Textures/Backmen/Mobs/Customization/snouts.rsi

State Old New Status
easterndnw_primary Removed
easterndnw_secondary Removed
easterndw_primary Removed
eastern_dragon Added
eastern_dragon_overlay Added
eastern_dragon_usiki Added
guilmon Added
noodle Added
noodle_overlay_1 Added
noodle_overlay_2 Added

Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi

State Old New Status
spines_aquatic_alt Added
spines_long_alt Added
spines_longmembrane_alt Added
spines_short_alt Added
spines_shortmembrane_alt Added

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🧹 Outside diff range and nitpick comments (5)
Resources/Locale/ru-RU/backmen/markings/reptilian.ftl (2)

5-17: Fix typo and standardize formatting

  1. Fix the typo in "Внутреняя" → "Внутренняя" (line 7, 11)
  2. Standardize spacing after equals signs for consistency

Apply these changes:

-marking-LizardShoutEasternDragon= Ящер, восточный дракон
+marking-LizardShoutEasternDragon = Ящер, восточный дракон
-marking-LizardShoutEasternDragon-cobra_hood_with_ears_overlay = Внутреняя часть
+marking-LizardShoutEasternDragon-cobra_hood_with_ears_overlay = Внутренняя часть
-marking-LizardShoutEasternDragonUsiki= Ящер, восточный дракон (Усики)
+marking-LizardShoutEasternDragonUsiki = Ящер, восточный дракон (Усики)
-marking-LizardShoutEasternDragonUsiki-eastern_dragon_overlay = Внутреняя часть
+marking-LizardShoutEasternDragonUsiki-eastern_dragon_overlay = Внутренняя часть
-marking-LizardShoutNoodle= Ящер, крокодил
+marking-LizardShoutNoodle = Ящер, крокодил

Incorrect marking keys used in Russian translation for Eastern Dragon

The Russian translation for marking-LizardShoutEasternDragon uses incorrect marking keys:

  • Uses cobra_hood_with_ears instead of the correct eastern_dragon
  • Uses cobra_hood_with_ears_overlay instead of the correct eastern_dragon_overlay

This appears to be a copy-paste error where the cobra hood marking keys were accidentally used for the eastern dragon marking. The main label is correctly translated, but the component keys need to match the English version.

🔗 Analysis chain

Line range hint 1-76: Verify translation completeness against English version

Let's ensure all entries from the English version have corresponding Russian translations.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Compare English and Russian reptilian marking entries

# Get all marking keys from both files
echo "=== Comparing marking keys ==="
echo "English keys:"
rg "^marking-" "Resources/Locale/en-US/_backmen/markings/reptilian.ftl" | cut -d'=' -f1 | sort > /tmp/en_keys.txt
echo "Russian keys:"
rg "^marking-" "Resources/Locale/ru-RU/backmen/markings/reptilian.ftl" | cut -d'=' -f1 | sort > /tmp/ru_keys.txt

# Show differences
echo "=== Missing translations ==="
diff /tmp/en_keys.txt /tmp/ru_keys.txt

Length of output: 685


Script:

#!/bin/bash
# Let's get the full context of these entries to understand the discrepancy

echo "=== English version ==="
rg "marking-LizardShoutEasternDragon" "Resources/Locale/en-US/_backmen/markings/reptilian.ftl" -A 2

echo -e "\n=== Russian version ==="
rg "marking-LizardShoutEasternDragon" "Resources/Locale/ru-RU/backmen/markings/reptilian.ftl" -A 2

Length of output: 1347

Resources/Locale/en-US/_backmen/markings/reptilian.ftl (1)

29-31: Standardize capitalization and wording in horn descriptions

There are inconsistencies in the horn descriptions:

  • Line 30: "The right horn" differs from the pattern "Right horn" used elsewhere
  • Lines 41-42: "Horn" is capitalized while other entries use lowercase "horn"

Apply these changes for consistency:

-marking-LizardHornsShort-horns_short_r = The right horn
+marking-LizardHornsShort-horns_short_r = Right horn
-marking-LizardHornsAyrshire-horns_ayrshire_l = Left Horn
-marking-LizardHornsAyrshire-horns_ayrshire_r = Right Horn
+marking-LizardHornsAyrshire-horns_ayrshire_l = Left horn
+marking-LizardHornsAyrshire-horns_ayrshire_r = Right horn

Also applies to: 41-42

Resources/Prototypes/_Backmen/Entities/Mobs/Customization/Markings/reptilian.yml (1)

21-57: Consider optimizing duplicate EasternDragon definitions

LizardShoutEasternDragon and LizardShoutEasternDragonUsiki share identical base sprites and states. Consider implementing a base marking type that can be extended or using a feature flag to toggle the additional usiki sprite.

Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/meta.json (1)

14-17: Consider adding animation data for new spine states

The existing tail states have detailed animation data with specific delay patterns. Consider whether the new spine states should also have animation frames for consistency with the tail animations.

If animation is needed, you can follow the same delay pattern as the tail states:

"delays": [
    [0.125, 0.1, 0.075, 0.075, 0.075, 0.075, 0.075, 0.1, 0.125, 0.1, 0.075, 0.075, 0.075, 0.075, 0.075, 0.1],
    [0.125, 0.1, 0.075, 0.075, 0.075, 0.075, 0.075, 0.1, 0.125, 0.1, 0.075, 0.075, 0.075, 0.075, 0.075, 0.1],
    [0.125, 0.1, 0.075, 0.075, 0.075, 0.075, 0.075, 0.1, 0.125, 0.1, 0.075, 0.075, 0.075, 0.075, 0.075, 0.1],
    [0.125, 0.1, 0.075, 0.075, 0.075, 0.075, 0.075, 0.1, 0.125, 0.1, 0.075, 0.075, 0.075, 0.075, 0.075, 0.1]
]

Also applies to: 22-25, 30-33, 38-41, 46-49

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 37db6b0 and ce6bc20.

⛔ Files ignored due to path filters (26)
  • Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/spines_aquatic_alt.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/spines_long_alt.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/spines_longmembrane_alt.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/spines_short_alt.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/spines_shortmembrane_alt.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/kangaroo.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/snake_large.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/snake_large_overlay.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/snake_large_wagging.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/snake_large_wagging_overlay.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/tail_kangaroo.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/tail_snakelarge.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/tail_snakelarge_overlay.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/tail_westerndragon_overlay.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/western_dragon.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/western_dragon_overlay.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/eastern_dragon.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/eastern_dragon_overlay.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/eastern_dragon_usiki.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/easterndnw_primary.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/easterndnw_secondary.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/easterndw_primary.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/guilmon.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/noodle.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/noodle_overlay_1.png is excluded by !**/*.png
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/noodle_overlay_2.png is excluded by !**/*.png
📒 Files selected for processing (6)
  • Resources/Locale/en-US/_backmen/markings/reptilian.ftl (1 hunks)
  • Resources/Locale/ru-RU/backmen/markings/reptilian.ftl (2 hunks)
  • Resources/Prototypes/_Backmen/Entities/Mobs/Customization/Markings/reptilian.yml (4 hunks)
  • Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/meta.json (1 hunks)
  • Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/meta.json (1 hunks)
  • Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/meta.json (2 hunks)
🔇 Additional comments (9)
Resources/Textures/Backmen/Mobs/Customization/snouts.rsi/meta.json (2)

8-8: LGTM! Well-documented attribution

The copyright information is thorough, including both the original source with commit reference and modification credits.


11-19: LGTM! Improved naming clarity

The state names have been improved to be more descriptive and consistent, making the code more maintainable.

Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/meta.json (3)

30-96: Animation timing looks good!

The snake tail wagging animation is well-implemented with:

  • Consistent timing across all directions
  • Good rhythm with quick wag motion (0.075s and 0.05s frames)
  • Natural pause between wags (1s delay)

11-27: Verify state name changes for correctness

Some state renames appear potentially incorrect:

  • tail_kangaroo is renamed to western_dragon_overlay
  • tail_snakelarge is renamed to kangaroo

Please confirm these mappings are intentional and not mixed up.

✅ Verification successful

State name changes appear to be correct

Based on the configuration files and directory contents, the state name changes are actually correct:

  • The marking configuration shows WesternDragonTail using states western_dragon and western_dragon_overlay
  • The marking configuration shows KangarooTail using state kangaroo
  • The marking configuration shows SnakeLargeTail using states snake_large and snake_large_overlay
  • The .rsi directory contains all these state files with matching names

The new names align with their corresponding marking configurations and sprite files, indicating this is an intentional cleanup to make the naming more consistent.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for references to these state names in the codebase
echo "Searching for references to the new state names..."
rg "western_dragon_overlay|kangaroo" --type yaml --type json

# Check the original source file for state names
echo "Checking original state names in BlueMoon repository..."
gh api repos/BlueMoon-Labs/MOLOT-BlueMoon-Station/contents/modular_splurt/icons/mob/64_mam_tails.dmi

Length of output: 13623


Script:

#!/bin/bash
# Let's check the git history of the file to understand the state name changes
echo "Checking git history of the file..."
git log -p -- Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/meta.json

# Let's also check for any other references to these states in the codebase
echo "Searching for references to the old state names..."
rg "tail_westerndragon|tail_kangaroo|tail_snakelarge" --type yaml --type json

# Let's check for any related configuration or prototype files
echo "Checking for related configuration files..."
fd reptilian.yml

Length of output: 1018


Script:

#!/bin/bash
# Let's check the content of the relevant marking configuration files
echo "Checking reptilian marking configurations..."
cat Resources/Prototypes/_Backmen/Entities/Mobs/Customization/Markings/reptilian.yml
cat Resources/Prototypes/Entities/Mobs/Customization/Markings/reptilian.yml

# Let's also check if there are any other files in the same directory that might provide context
echo "Checking other files in the same directory..."
ls -la Resources/Textures/Backmen/Mobs/Customization/reptilian_64x32.rsi/

Length of output: 14993


3-4: Verify license compatibility with source material

The license has been changed to remove the "Non-Commercial" restriction. Please verify that this change is compatible with the original source material from BlueMoon-Labs repository.

Resources/Locale/ru-RU/backmen/markings/reptilian.ftl (1)

2-4: LGTM: Head marking translation is consistent

The translation for the Guilmon head marking follows the established pattern and maintains consistency with existing entries.

Resources/Locale/en-US/_backmen/markings/reptilian.ftl (2)

50-61: LGTM! Well-structured tail markings section

The tail markings section maintains consistent naming conventions and clear inner/outer part distinctions.


1-76: Verify completeness of lizard variant localizations

The PR objectives mention four new lizard variants and a sigma tail, but I don't see localizations for the sigma tail variant.

Let's check if we're missing any localizations:

Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/meta.json (1)

14-49: ⚠️ Potential issue

Remove duplicate state entry and verify texture files

The new spine states look good, but there are a couple of concerns:

  1. The state "spines_shortmembrane_alt" appears to be duplicated in the file.
  2. We should verify that all the new states have corresponding texture files in the .rsi directory.

Let's verify the texture files and remove the duplicate entry:

✅ Verification successful

All texture files present and no duplicate states found

The verification shows that:

  1. All new spine states (spines_aquatic_alt, spines_long_alt, spines_longmembrane_alt, spines_short_alt, spines_shortmembrane_alt) have corresponding texture files in the .rsi directory
  2. The jq query returned an empty array [], indicating there are no duplicate states in meta.json
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for texture files corresponding to new states

# List all texture files in the .rsi directory
echo "Checking for texture files..."
ls Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/*.png 2>/dev/null

# Check for states in meta.json
echo -e "\nChecking for duplicate states..."
jq '.states | map(.name) | group_by(.) | map(select(length > 1))' Resources/Textures/Backmen/Mobs/Customization/reptilian.rsi/meta.json

Length of output: 3359

Comment on lines +69 to +71
marking-LizardChestSpinesLongMembraneWithoutTail = Lizard, chest, spines (Long, Membrane, without tail)
marking-LizardChestSpinesLongMembraneWithoutTail-spines_longmembrane = spines

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix critical issues in spikes section

Found two issues:

  1. Inconsistent capitalization: "spines" vs "Spikes"
  2. Duplicate marking ID: -spines_short is used for both short and short membrane variants

Apply these fixes:

-marking-LizardChestSpinesLongMembraneWithoutTail-spines_longmembrane = spines
+marking-LizardChestSpinesLongMembraneWithoutTail-spines_longmembrane = Spikes
-marking-LizardChestSpinesShortMembraneWithoutTail-spines_short = Spikes
+marking-LizardChestSpinesShortMembraneWithoutTail-spines_shortmembrane = Spikes

Also applies to: 75-76

@CrimeMoot
Copy link
Contributor

нихя ты живой

@Rxup Rxup requested review from nomad0260 and removed request for Rxup November 23, 2024 22:23
@nomad0260
Copy link
Collaborator

ужас какой

@PuroSlavKing
Copy link
Contributor Author

ужас какой

:(

Copy link
Collaborator

@nomad0260 nomad0260 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

выглядит убедительно

@nomad0260 nomad0260 merged commit aeea8f4 into Rxup:master Nov 24, 2024
13 checks passed
@PuroSlavKing PuroSlavKing deleted the BetterLizards2 branch November 24, 2024 01:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Localization Can be reviewed or fixed by people who are knowledgeable with translation Changes: Sprites Should be reviewed or fixed by people who are knowledgeable with spriting or visual design. No C# Нету кода.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants