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

GAS fixes #1756

Closed
wants to merge 202 commits into from
Closed

GAS fixes #1756

wants to merge 202 commits into from

Conversation

msw7007
Copy link

@msw7007 msw7007 commented Jan 20, 2025

Что этот PR делает

Фиксы ГБС которые обнаружились в ходе эксплуатации

Почему это хорошо для игры

Меньше ошибок

Изображения изменений

Тестирование

Локальный серве

Changelog

🆑
tweak: Исправление спама ГБС
/:cl:

Summary by Sourcery

Implement species overlay shifts for various equipment slots.

Bug Fixes:

  • Fix graphical glitches related to Genetic Bio-Suit (GBS) equipment overlays.

Enhancements:

  • Add new signals for various game events, such as item attacks, organ damage, and cybernetic implant interactions.
  • Refactor code for handling organ damage and healing.
  • Add new chemical reagents and reactions.
  • Implement a system for carrying items and mobs using the tail.
  • Add new emotes for serpentids.
  • Add a new type of combat knife for serpentids.
  • Implement a system for shifting overlays based on the mob's direction and equipment slot.
  • Add new alerts for carapace damage and carrying status.

Chores:

  • Update map area definitions and descriptions.

msw7007 and others added 30 commits September 24, 2024 07:17
Copy link

sourcery-ai bot commented Jan 20, 2025

Reviewer's Guide by Sourcery

This pull request introduces several bug fixes related to the GAS system, primarily focusing on adjusting the positioning of various overlays on the character model, especially for serpentid species. It also adds new signals for better modularity and introduces a new 'serpadrone' reagent.

Sequence diagram for overlay shift handling

sequenceDiagram
    participant M as Mob
    participant OS as Overlay Shift Component
    participant O as Overlays

    M->>OS: Change Direction
    activate OS
    OS->>OS: Calculate new shifts
    OS->>O: Update overlay positions
    deactivate OS

    M->>OS: Equip Item
    activate OS
    OS->>OS: Get shift data
    OS->>O: Apply shifts to item overlay
    deactivate OS
Loading

Class diagram for new components and organs

classDiagram
    class Component {
      +RegisterWithParent()
      +UnregisterFromParent()
    }

    class carapace_shell {
      -mob/living/carbon/human/H
      -broken_stage: int
      -last_time_action: int
      +stage_1_break()
      +stage_1_repair()
      +stage_2_break()
      +stage_2_repair()
      +stage_3_break()
      +stage_3_repair()
    }

    class mob_overlay_shift {
      -dir: int
      -shift_data: list
      +shift_call()
      +update_call()
      +get_list()
    }

    class organ_action {
      -organ: obj
      -radial_additive_state
      -radial_additive_icon
      +call_actions()
      +open_actions()
      +resort_buttons()
    }

    Component <|-- carapace_shell
    Component <|-- mob_overlay_shift
    Component <|-- organ_action
Loading

State diagram for carapace shell states

stateDiagram-v2
    [*] --> Intact
    Intact --> Stage1_Broken: Damage > Threshold1
    Stage1_Broken --> Stage2_Broken: Damage > Threshold2
    Stage2_Broken --> Stage3_Broken: Damage > Threshold3

    Stage3_Broken --> Stage2_Broken: Heal/Surgery
    Stage2_Broken --> Stage1_Broken: Heal/Surgery
    Stage1_Broken --> Intact: Heal/Surgery

    Stage1_Broken: Lost Armor
    Stage2_Broken: Lost Stealth
    Stage3_Broken: Lost Environment Protection
Loading

File-Level Changes

Change Details Files
Added species-specific overlay shifts for various equipment and body parts.
  • Added a signal to retrieve overlay shifts for head, belt, inhand, and back.
  • Implemented logic to apply pixel shifts to glasses, left ear, right ear, head, belt, facemask, back, right hand, and left hand overlays based on the signal response.
  • Added a new variable for standing overlays to apply shifts.
code/modules/mob/living/carbon/human/human_update_icons.dm
Introduced new signals for various object and mob interactions.
  • Added signals for object destruction, item attacks, limb damage, limb healing, cybernetic implant synchronization, organ actions, and more.
  • Added signals for mob equipment changes, direction changes, clicks, and drag-and-drop interactions.
  • Added defines for new signals.
  • Added a signal for getting overlay shifts.
modular_ss220/_signals220/code/signals_obj.dm
modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm
modular_ss220/_defines220/code/signals_obj.dm
modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm
modular_ss220/_defines220/code/signals_atom.dm
modular_ss220/_signals220/code/signals_mob/signals_mob_carbon.dm
code/__DEFINES/modular_ss220/_ss220.dm
Added new areas and modified existing ones.
  • Added a new 'Vox Base' area.
  • Added a new 'Sierra' area with sub-areas for med, rnd, hall, maint, and shelter.
  • Added a new 'Sierra Wreckage' map template.
  • Added the new sierra map to the active space ruins.
modular_ss220/maps220/code/RandomRuins/space/space_areas.dm
modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm
config/example/config.toml
Implemented changes to the text-to-speech system.
  • Added a check to prevent TTS from processing messages with the no_tts flag.
  • Added a new trait for robotized voices.
modular_ss220/text_to_speech/code/tts_component.dm
modular_ss220/text_to_speech/code/_defines.dm
Modified the way chat messages are displayed.
  • Added an offset to chat messages to adjust their vertical position.
code/datums/chatmessage.dm
Modified how species-specific icons are generated.
  • Modified the way eyes icons are generated to use the species' eyes_icon variable.
  • Modified the way butt icons are generated to use the species' butt_sprite_icon variable.
code/modules/mob/living/carbon/human/human_mob.dm
code/modules/paperwork/photocopier.dm
Added a new 'serpadrone' reagent and related effects.
  • Added a new reagent 'serpadrone' that increases action speed for serpentids and movement speed for other species.
  • Added visual effects for 'serpadrone' usage, including screen filters and afterimages.
  • Added a new chemical reaction for 'serpadrone'.
modular_ss220/species/_code/reagents.dm
Implemented a new carapace system for serpentids.
  • Added a carapace component that provides armor and can break upon taking damage.
  • Added a carapace shell component that manages the overall state of the carapace.
  • Added new surgery types for carapace repair and breaking.
  • Added new alerts for carapace damage.
  • Added new external organs for serpentids with carapace.
modular_ss220/species/_components/carapace/carapace_shell.dm
modular_ss220/species/_components/carapace/carapace.dm
modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm
modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm
modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm
modular_ss220/species/serpentids/code/mob/serpentids.dm
modular_ss220/species/_defines/alerts.dm
Implemented a system for carrying crates and mobs.
  • Added components for carrying crates and mobs.
  • Added logic for loading and unloading crates and mobs.
  • Added a new alert for carrying objects.
modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm
modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm
modular_ss220/species/serpentids/code/mob/serpentids.dm
Implemented a system for shifting overlays.
  • Added a component for shifting overlays based on direction.
  • Added logic for applying shifts to different body parts.
modular_ss220/species/_components/appearance/mob_overlay_shift.dm
Implemented a system for paired implants.
  • Added a component for synchronizing paired implants.
  • Added logic for retracting and extending paired implants.
modular_ss220/species/_components/implants/paired_implants.dm
Implemented a system for organ actions.
  • Added a component for grouping organ actions into a radial menu.
  • Added logic for calling organ actions.
modular_ss220/species/_components/organs/organ_actions_component.dm
Implemented new emotes for serpentids.
  • Added new emotes for serpentids, including roar, hiss, and wiggle.
  • Added keybindings for new emotes.
modular_ss220/species/serpentids/code/mob/emotes.dm
Implemented new internal organs for serpentids.
  • Added new internal organs for serpentids, including lungs, eyes, kidneys, heart, and brain.
  • Added a new cybernetic implant for serpentid chest.
  • Added a new mantis blade item.
  • Added components for organ decay, toxin damage, heart defibrillation, and hunger.
  • Added a new liver organ for serpentids.
modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm
modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm
modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm
modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm
modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm
modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm
modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm
modular_ss220/species/_components/organs/organ_decay.dm
modular_ss220/species/_components/organs/organ_toxins.dm
modular_ss220/species/_components/organs/heart_defib_hunger.dm
modular_ss220/species/_components/organs/organ_hunger.dm
modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm
Implemented a system for double attacks.
  • Added a component for double attacks with a single weapon.
  • Added a component for paired attacks with two weapons.
modular_ss220/species/_components/attacking/double_attack.dm
modular_ss220/species/_components/attacking/pair_attack.dm
Implemented a new language for serpentids.
  • Added a new language for serpentids with unique characteristics.
  • Added a new function for generating random names for serpentids.
modular_ss220/species/serpentids/code/mob/language.dm
Added a new component for updating icons.
  • Added a new component for updating preview icons for custom races.
modular_ss220/species/_code/update_icons.dm
Added a new component for chat offsets.
  • Added a new component for setting chat message offsets.
modular_ss220/species/_code/chat_offset.dm
Added a new signal for species-specific attacks.
  • Added a new signal for species-specific attacks.
modular_ss220/_signals220/code/species.dm

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time. You can also use
    this command to specify where the summary should be inserted.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@github-actions github-actions bot added Merge Conflict Ну блять... 💾 Изменение конфига Ф-ф-фуриор...? 🔧 Фикс Переписываем ошибку так, чтобы она проявлялась в других обстоятельствах :feelsgood: Частичная модульность Не всегда получается всё впихнуть в модуль, увы. 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один. 🔉 Звук Услада для ушей. 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! and removed Merge Conflict Ну блять... labels Jan 20, 2025
@msw7007 msw7007 closed this Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:feelsgood: Частичная модульность Не всегда получается всё впихнуть в модуль, увы. 💾 Изменение конфига Ф-ф-фуриор...? 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🔉 Звук Услада для ушей. 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один. 🔧 Фикс Переписываем ошибку так, чтобы она проявлялась в других обстоятельствах
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants