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

Merge Upstream 30.01.2025 #1774

Merged
merged 30 commits into from
Jan 30, 2025
Merged

Merge Upstream 30.01.2025 #1774

merged 30 commits into from
Jan 30, 2025

Conversation

ss220app[bot]
Copy link

@ss220app ss220app bot commented Jan 30, 2025

This pull request merges upstream/master. Resolve possible conflicts manually and make sure all the changes are applied correctly.

Changelog

🆑 ParadiseSS13
fix: Теневой захват снова работает как задумано.
fix: Исправлена ошибка, из-за которой мехи тратили время восстановления рукопашной атаки при клике по полу.
fix: Фазоны теперь действительно наносят ожоговый урон в режиме ожога.
tweak: Офисные стулья больше не накладываются друг на друга странным образом.
fix: Исправлена проблема с консолями камер, которые не следовали за движущимися камерами (например, видеокамеры, камеры ERT, жучки).
fix: Исправлено повторяющееся отображение кнопок способностей при удалении захваченных ксеноморфных органов.
fix: ИИ больше не телепортирует диски и семена из манипулятора ДНК растений в ядро при их извлечении.
tweak: Тюремный хлеб Синдиката теперь имеет те же питательные свойства, что и обычный, которые слегка ниже их прежних значений.
tweak: Убран синдром Туретта.
fix: Дистанционные пульты для дверей снова можно помещать в рюкзак.
fix: Исправлен неправильный спрайт газовой маски службы безопасности для таяран.
add: Добавлены пользовательские автоматы, которые можно настраивать для продажи и покупки. Повар и бармен могут приобрести набор для таких автоматов у своих автоматов, а сами автоматы могут быть построены так же, как стандартные автоматы, при помощи платы, но без необходимости в наборах для пополнения.
tweak: Админ-интерфейсы для редактирования переменных и вызова процедур теперь используют один общий выборщик значений, который позволяет выбирать объекты, кликая по ним.
fix: Исправлено принуждение мёртвых ИИ к объявлению о новых прибытиях.
fix: Байкеры теперь могут правильно тащить предметы, находясь в движении.
fix: Байкеры могут корректно использовать предметы в руках, сидя на байке.
fix: Предметы для хранения и ёмкости с реагентами больше не "бьются" об кухонные машины.
fix: Исправлено отображение давления в отчетах анализа газа без режима детализации.
fix: Мыши больше не будут есть кабели под настилами.
tweak: Горящие огнемёты и электрокоагуляторы теперь наносят ожоговый урон при физических атаках.
fix: Функция коагуляции требует горящих огнемётов или зажигалок.
/:cl:

Summary by Sourcery

Update vending machines to allow for custom vending products. Fix several bugs related to shadow grappling, mecha melee attacks, phazon damage, kitchen appliance interactions, office chair overlapping, camera consoles, xeno organ removal, AI item teleportation, door remotes, gas mask sprites, dead AI announcements, traitor tips, speedbike item usage, gas scan reports, and reagent dispensing. Add custom vending machines, improve admin UIs for variable editing and procedure calls, add more chargers to the brig, add fire alarms to various locations, prevent mice from eating cables through catwalks, make lit flamethrowers and cauteries deal burn damage, and require lit flamethrowers or lighters for cauterization.

New Features:

  • Add custom vending machines that can be configured for buying and selling.

Bug Fixes:

  • Fix shadow grappling not working as intended.
  • Fix mechas having melee attack cooldowns taken up by clicking the floor.
  • Fix phazons not dealing burn damage on burn mode.
  • Fix players attempting to hit kitchen machines when inserting ingredients.
  • Fix camera consoles not following moving cameras.
  • Fix stacking ability buttons when removing hijacked xeno organs.
  • Fix AI teleporting disks and seeds from the plant DNA manipulator to the core on eject.
  • Fix door remotes not being able to be placed in backpacks.
  • Fix incorrect tajaran security gas mask sprite.
  • Fix dead AIs being forced to announce new arrivals.
  • Fix speedbike riders not being able to pull things while riding.
  • Fix speedbike riders not being able to use items in their hands while buckled.
  • Fix storage items and reagent containers bonking on kitchen machinery.
  • Fix pressure display in non-detailed gas scan reports.

Enhancements:

  • Admin UIs for editing variables and calling procs now use a shared value picker that allows clicking on objects to select them.

1080pCat and others added 29 commits January 27, 2025 01:32
Co-authored-by: NanoMap Generation <action@github.com>
…floor. And phazons finally deal burn on the burn mode (ParadiseSS13#28042)

* Mechas no longer get their attack cooldowns taken up by clicking the floor, and phazons finally deal burn on the burn mode

* lewc cooldown timer review
* Verbose RunQueue errors.

* Looser tracking

* Add line numbers.

* Point fingers at subsystems.

* SSinput debugging, useless debugging cleanup
…8149)

* Make wind not unpredictably break CI due to bad init.

* Is THIS your card?
…rs (1 line lol) (ParadiseSS13#27844)

* Add Office Chair to the Armrest system, tiny refactor of armrest system.

* Implicit armrest null from DrSmail

Co-authored-by: Drsmail <60036448+Drsmail@users.noreply.github.com>
Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com>

* Update code/game/objects/structures/stool_bed_chair_nest/chairs.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com>

* Update code/game/objects/structures/stool_bed_chair_nest/chairs.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com>

* Update code/game/objects/structures/stool_bed_chair_nest/chairs.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com>

* Yeah so I impulsively ported the entirety of this system without knowing what it did

* Revert "Yeah so I impulsively ported the entirety of this system without knowing what it did"

This reverts commit d4edb72.

---------

Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com>
Co-authored-by: Drsmail <60036448+Drsmail@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
…7851)

* Fix unmoving video cam feeds.

This change refactor the screen-setting logic in camera consoles to its
own method, and additionally calls that method whenever a video camera
is moved, if that video camera's feed is being watched by a camera
console.

* Reduce follow lag and add stabilization to vidcams

Extracts camera follow lag into a variable on video cameras called
`update_viewer_cooldown_rate` and reduces it from 3 to 2 seconds.
Additionally, adds another variable on video cameras called
`update_viewer_stabilization_rate`, which updates all tuned-in camera
consoles with the new position of the video camera a final time, so the
feed remains centered on the camera.

* Change video camera feed follow to use signals

* Fix unmoving camera console feeds

Makes camera consoles refresh their feeds every 2 seconds as long as
they have active watchers. This fixes camera bugs, ERT cameras, video
cameras (including the journalist's advanced video camera), and any
other mobile cameras on a console's camera network.

* Replace manual camera feed cooldown with process()

Co-authored-by: Charlie Nolan <funnyman3595@gmail.com>

* Update Camera Console autodoc to reflect process() implementation

---------

Co-authored-by: Charlie Nolan <funnyman3595@gmail.com>
* Changes from  DGamerL review

* Adds /sliced to foods i missed

* Adds repath.txt

* Swaps left and right in repath file

* Remove slice path restriction for sliceable

* More suggestions from code review by DGamerL
* Removes tourettes

* Removes twitchblock
Co-authored-by: Toastical <toast@toaster.com>
* Buildable vendors.

* Lint.

* I think this is right?

* It's already IN their hands.

* Lint, re-check item after prompting for price.

* Fixes.

* Review fixes, working dissassembly again.

* Apply suggestions from code review

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Charlie Nolan <funnyman3595@gmail.com>

* Restrict appearance to buildable vendor sprites.

* tyop fix

---------

Signed-off-by: Charlie Nolan <funnyman3595@gmail.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
PR fixes ParadiseSS13#28143

Adds a `stat` check lost in an earlier migration from
`GLOB.alive_mob_list` to `GLOB.ai_list`, to ensure dead AIs aren't added
to the list of announcers.
* Dynamic Traitor Cost Adjustment

* Removes some old tips

* Removed a file change that tried to sneak in
* Fix more chef bonks.

* Lint
…ers/cautery so they deal burn when appropriate (ParadiseSS13#28141)

* stay cool

* Cautery is also weird like that too
Copy link

sourcery-ai bot commented Jan 30, 2025

Reviewer's Guide by Sourcery

This pull request merges the upstream/master branch into the current branch. It includes a variety of bug fixes, tweaks, additions, and deletions, primarily focused on gameplay and functionality improvements. The changes span multiple areas of the codebase, including vending machines, admin tools, camera consoles, chairs, mice behavior, and more.

Sequence diagram for custom vending machine item interaction

sequenceDiagram
    actor User
    participant VM as Custom Vendor
    participant POS as EFTPOS

    User->>VM: Add item
    alt No EFTPOS linked
        VM-->>User: Error: Need to link POS first
    else EFTPOS locked
        VM-->>User: Standard vending interaction
    else Item matches existing stack
        VM->>VM: Add to existing record
        VM-->>User: Success message
    else New item
        VM->>User: Prompt for price
        User->>VM: Set price
        VM->>VM: Create new record
        VM->>VM: Store item
        VM-->>User: Success message
    end
Loading

Class diagram for updated vending product system

classDiagram
    class datum_data_vending_product {
        +name: string
        +price: number
        +get_amount_full()
        +get_amount_left()
        +get_icon()
        +get_icon_state()
        +get_name()
        +vend(turf)
    }

    class from_path {
        +product_path: atom/movable
        +amount: number
        +max_amount: number
    }

    class physical {
        +items: list
        +display_name: string
        +display_icon: icon
        +display_icon_state: string
        +on_deconstruct(turf)
    }

    datum_data_vending_product <|-- from_path
    datum_data_vending_product <|-- physical

    note for datum_data_vending_product "Base abstract class for vending products"
    note for from_path "Traditional vending products spawned from paths"
    note for physical "New system for physical items loaded into vendor"
Loading

Class diagram for custom vending machine system

classDiagram
    class vending {
        +name: string
        +locked(): bool
        +get_vendor_account()
        +item_interaction()
    }

    class custom_vendor {
        +linked_pos: eftpos
        +locked(): bool
        +get_vendor_account()
        +item_interaction()
    }

    class eftpos {
        +linked_vendors: list
        +linked_account
        +transaction_locked: bool
    }

    vending <|-- custom_vendor
    custom_vendor --> eftpos: links to
    eftpos --> custom_vendor: tracks
Loading

File-Level Changes

Change Details Files
Implemented custom vending machines with configurable items and prices.
  • Added new datums for vending products.
  • Modified vending machine logic to support custom products.
  • Added UI elements for configuring custom vendors.
  • Added a new item for building custom vendors.
  • Added functionality to link vendors to EFTPOS machines.
code/game/machinery/vendors/vending.dm
code/game/machinery/vendors/generic_vendors.dm
code/game/machinery/vendors/custom_vendors.dm
code/game/objects/items/storage/boxes.dm
tgui/packages/tgui/interfaces/Vending.js
code/modules/economy/economy_machinery/eftpos.dm
code/game/machinery/machine_frame.dm
Improved admin tools for variable modification and procedure calls.
  • Added a shared value picker that allows selecting objects by clicking on them.
  • Added new variable types for picking atoms and turfs.
code/modules/admin/verbs/modifyvariables.dm
Fixed camera consoles not following moving cameras.
  • Modified camera console logic to properly track moving cameras.
  • Added a process function to update the camera view.
code/game/machinery/computer/camera_console.dm
Office chairs no longer overlap awkwardly.
  • Modified chair layer logic to prevent overlapping.
  • Added armrest overlays to office chairs.
code/game/objects/structures/stool_bed_chair_nest/chairs.dm
Mice no longer eat cables through catwalks.
  • Modified mouse cable eating logic to prevent eating through catwalks.
code/modules/mob/living/simple_animal/friendly/mouse.dm
Speedbike riders can now properly pull and use items while riding.
  • Modified speedbike riding logic to allow pulling items.
  • Modified speedbike riding logic to allow using items.
  • Added a signal for when a movable's glide size is updated.
code/modules/vehicle/speedbike.dm
code/datums/components/drift.dm
code/game/atoms_movable.dm
code/__DEFINES/dcs/movable_signals.dm
Flamethrowers and cautery tools now deal burn damage on physical hits.
  • Modified flamethrower logic to deal burn damage on physical hits.
  • Modified cautery tool logic to deal burn damage on physical hits.
  • Modified human defense logic to handle burn damage.
code/game/objects/items/weapons/flamethrower.dm
code/game/objects/items/weapons/lighters.dm
code/modules/mob/living/carbon/human/human_defense.dm
code/modules/surgery/generic.dm
code/modules/surgery/tools.dm
Reagents can now be added to kitchen appliances again.
  • Reverted changes that prevented reagents from being added to kitchen appliances.
code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm
Fixed pressure display in gas analysis reports.
  • Corrected the pressure calculation in gas scan reports.
code/game/objects/items/devices/scanners.dm
Added missing fire alarms to several locations.
  • Added fire alarms to the Delta Courtroom, Courtroom Gallery, Magi Office, and IAA Office.
_maps/map_files/stations/deltastation.dmm
_maps/map_files/stations/emeraldstation.dmm
Removed Tourettes syndrome.
  • Removed the Tourettes disability.
  • Removed related DNA injectors.
  • Removed related cure procs.
code/game/dna/mutations/disabilities.dm
code/modules/mob/living/living_status_procs.dm
code/game/objects/items/weapons/dna_injector.dm
code/_globalvars/genetics.dm
code/datums/components/zombie_regen.dm
code/modules/mob/living/living.dm
code/modules/reagents/chemistry/reagents/admin_reagents.dm
code/game/gamemodes/setupgame.dm
Door remotes can now be placed in backpacks again.
  • Reverted changes that prevented door remotes from being placed in backpacks.
code/game/objects/items/control_wand.dm
Fixed the tajaran security gas mask sprite.
  • Corrected the sprite for the tajaran security gas mask.
AI no longer teleport disks and seeds from plant DNA manipulator to the core on eject.
  • Modified plant DNA manipulator logic to prevent teleporting items on eject.
code/modules/hydroponics/gene_modder.dm
Syndicate prison bread now has the same nutritional values as regular bread.
  • Modified syndicate prison bread to have the same nutritional values as regular bread.
code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm
Admin UIs for editing variables and calling procs now share the same value picker.
  • Modified admin UIs to use a shared value picker.
code/modules/admin/verbs/debug.dm
Fixed dead AIs being forced to announce new arrivals.
  • Modified AI new arrival announcement logic to prevent dead AIs from announcing.
code/modules/mob/new_player/new_player.dm
Removed two outdated traitor tips from the pre-round tips.
  • Removed two outdated traitor tips.
strings/tips.txt
Storage items and reagent containers no longer "bonk" on kitchen machinery.
  • Modified kitchen machinery interaction logic to prevent "bonking".
code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm
Added three additional chargers in the brig on the emerald station.
  • Added three additional chargers to the brig on the emerald station.
_maps/map_files/stations/emeraldstation.dmm
Mice no longer eat cables under transparent floors.
  • Modified mouse cable eating logic to prevent eating cables under transparent floors.
code/modules/mob/living/simple_animal/friendly/mouse.dm
The cauterize surgery step now requires lit flamethrowers or lighters.
  • Modified cauterize surgery step to require lit flamethrowers or lighters.
code/modules/surgery/generic.dm
Fixed an issue with the shadow grapple.
  • Modified shadow grapple logic to work as intended.
code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm
Fixed mechas having melee attack cooldowns taken up by clicking the floor.
  • Modified mecha melee attack logic to prevent cooldowns from being triggered by clicking the floor.
code/game/mecha/mecha.dm
Phazons now deal burn damage in burn mode.
  • Modified phazon logic to deal burn damage in burn mode.
Players no longer attempt to hit kitchen machines when inserting ingredients.
  • Modified kitchen machine interaction logic to prevent players from hitting machines when inserting ingredients.
code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm
Fixed stacking ability buttons when removing hijacked xeno organs.
  • Modified xeno organ removal logic to prevent stacking ability buttons.
code/modules/surgery/organs/subtypes/xenos.dm
Corrected the behavior of the video camera.
  • Added a cooldown to the video camera.
  • Added a global list for telescreens.
code/modules/paperwork/photography.dm
code/_globalvars/lists/objects.dm
Fixed an issue with food slicing.
  • Fixed an issue with sliced food not having reagents.
  • Fixed an issue with sliced food not having the correct icon.
code/modules/food_and_drinks/food_base.dm
code/modules/food_and_drinks/food/foods/seafood.dm
code/modules/food_and_drinks/food/foods/frozen.dm
code/modules/food_and_drinks/food/foods/pizza.dm
code/modules/food_and_drinks/recipes/recipes_grill.dm
code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm
code/modules/reagents/chemistry/reagents/food_reagents.dm
code/modules/reagents/chemistry/recipes/slime_extracts.dm
code/game/objects/items/granters/action_granters/summon_cheese.dm
code/modules/food_and_drinks/food/foods/ingredients.dm
Fixed an issue with the LINDA turf tile.
  • Fixed an issue with the LINDA turf tile not initializing correctly.
code/modules/atmospherics/environmental/LINDA_turf_tile.dm
Fixed an issue with the input subsystem.
  • Added a last_task function to the input subsystem.
code/controllers/subsystem/SSinput.dm
Fixed an issue with the master controller.
  • Added a last_task function to the subsystem controller.
  • Fixed an issue with the master controller not reporting errors correctly.
code/controllers/master.dm
code/controllers/subsystem.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. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the 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 exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!
  • Generate a plan of action for an issue: Comment @sourcery-ai plan on
    an issue to generate a plan of action for it.

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 Ну блять... 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один. 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🎸 Инструменты Мы выдаем себя за реальное сообщество разработчиков. TGUI Кто-то решил потрогать интерфейсы. 🙏 Слияние с восходящим потоком Боже, храни Короля! and removed Merge Conflict Ну блять... labels Jan 30, 2025
@ss220app ss220app bot added the 📜 CL невалиден Этот чейнджлог не пройдет валидацию перед публикацией. Исправить или удалить, если не требуется label Jan 30, 2025
Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

We have skipped reviewing this pull request. It seems to have been created by a bot (hey, ss220app[bot]!). We assume it knows what it's doing!

@ss220app ss220app bot added 📜 CL валиден Этот чейнджлог будет успешно опубликован and removed 📜 CL невалиден Этот чейнджлог не пройдет валидацию перед публикацией. Исправить или удалить, если не требуется labels Jan 30, 2025
@AyIong AyIong merged commit 9ab1a9c into master Jan 30, 2025
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎸 Инструменты Мы выдаем себя за реальное сообщество разработчиков. 🖌️ Спрайты Вы заработали свою миска-рис и кошко-жена. Партия гордится вами! 🙏 Слияние с восходящим потоком Боже, храни Короля! 📜 CL валиден Этот чейнджлог будет успешно опубликован TGUI Кто-то решил потрогать интерфейсы. 🗺️ Изменение Карты В этом ПРе затронут файл не станционной карты. Может и не один.
Projects
None yet
Development

Successfully merging this pull request may close these issues.