forked from tgstation/tgstation
-
Notifications
You must be signed in to change notification settings - Fork 45
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 25.11.24 #801
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…88036) ## About The Pull Request closes tgstation#88035 ## Why It's Good For The Game my bad
## About The Pull Request Firing effects now attach themselves to the firer, meaning you don't run over or back from your own muzzle flash if you fire while running. ## Why It's Good For The Game Look better, both when moving into and away from the effect. ## Changelog :cl: image: Muzzle flash now is attached to your sprite, meaning you won't run over it if you fire while moving /:cl:
…ation#88123) ## About The Pull Request Closes tgstation#88122 ## Changelog :cl: image: Changing clipboard skins now changes the inhands sprite as well /:cl:
…gstation#88129) ## About The Pull Request Closes tgstation#87981 Also respects silent footsteps and lagswitch now ## Changelog :cl: fix: Fixed atrocinator module footstep spam when you're moving on a tram /:cl:
…th their eyeballs?). Eye contact requires you to not have covered eyes. (tgstation#88142) ## About The Pull Request Blind people making eye contact with their (hopefully) hands is a bit... weird, to say the least. Eye contact is also prevented by various sorts of eye coverage, on both sides, instead of only being affected by items that hide your face (So you no longer make eye contact if you're blindfolded either) ## Why It's Good For The Game ![image](https://github.com/user-attachments/assets/49d6d697-f908-4320-8196-be3e4f390fa6) ## Changelog :cl: fix: Blind people no longer make eye contact with their hands fix: Blindfolds and other sorts of opaque eye coverage now prevent eye contact from occuring /:cl:
## About The Pull Request ![u3plza5](https://github.com/user-attachments/assets/a88d079a-2a29-4be7-ac1c-9d3433fa34ff) ## Changelog :cl: fix: Fixed a random zero in nuke ops uplink UI /:cl:
## About The Pull Request ![image](https://github.com/user-attachments/assets/38259134-46a9-4dcf-a4db-52ca4e3e5587) ![image](https://github.com/user-attachments/assets/2ee7dc6a-e241-481c-9309-4571b3af7939) Added new mothwings, markings and antennae as seen above. ## Why It's Good For The Game Everyone loves more moth variety! ## Changelog :cl: add: Added new moth customizations available in the character creation under the name "Dipped" image: added icons for the moth wings, antennae and markings :cl: --------- Co-authored-by: Ghom <[email protected]>
## About The Pull Request We null-ed fish_source before actually creating the component using that value. Happens to all of us. ## Changelog :cl: fix: Fixed fishing turfs not lazyloading /:cl:
## About The Pull Request Currently when the camera eye of an advanced camera console is initialized, it tries to send COMSIG_HUD_Z_CHANGED while the eye is still in nullspace. Added an if to make sure the eye has a valid location.
…ble to fire and heat. (tgstation#88065)
## About The Pull Request FUCK ## Changelog :cl: fix: Fixed Kobain-style suicides /:cl:
…tgstation#88149) ## About The Pull Request I kinda did a small refactor of heretic ascension announcement code, based on what I did in BeeStation/BeeStation-Hornet#11925 instead of each heretic ascension individually doing `priority_announce` in `on_finished_recipe`, there's just `announcement_text` and `announcement_sound` vars now, and a `announce_ascension` proc is called in the shared `on_finished_recipe` of all final rituals. The only reason the `announce_ascension` proc is needed is because lock path uses a different format from all the other announcements, so the final lock ritual needs to override the announcement so it can stay the same. Also made all heretic ascensions which apply traits use the type as the trait source - before, they were inconsistently either using the type, name, `REF(src)`, or `MAGIC_TRAIT` as the trait source. also ash ascension did not need a `if(length(traits_to_apply))` check before adding traits, bc it's adding traits from a *static, populated list*. ascension doesn't feel like a real word anymore with how much I've typed and read it in the past 20 mins or so lol ## Why It's Good For The Game cleaner code = good ## Changelog :cl: refactor: Cleaned up code relating to heretic ascension announcements and traits. /:cl:
…8139) ## About The Pull Request added some missing cable to solars and 1 smes, and science is connected to distro from 2 directions now so it doesnt immediately stop receiving air if a pipe breaks ## Why It's Good For The Game fixes tgstation#88138 most departments have more than 1 connection to distro ( on this map ) ## Changelog :cl: fix: fixed some wiring on wawastation, added an additional distro/scrubbers connection to sciences network /:cl:
… on a looping z level (tgstation#88130) ## About The Pull Request Closes tgstation#88004 How has this not been caught before? They have a moveloop timeout (sane) but don't delete themselves once it expires (insane) ## Changelog :cl: fix: Fixed meteors freezing in place if they continiously miss the station on a looping z level /:cl:
…f the client logs out before they've finished building themselves (tgstation#88127) ## About The Pull Request Super niche, unnoticeable in-game, found when runtime diving. Don't leave callbacks to qdeleted datums and clients in queue please. ## Changelog :cl: fix: Fixed a runtime caused by logging out while your runechat message was appearing. /:cl:
… modifier (tgstation#88141) ## About The Pull Request damage done by thrown objects to /obj is multiplied by the demolition modifier ## Why It's Good For The Game i think its supposed to respect the demolition mod i mean uhh that seems like an oversight?? ## Changelog :cl: fix: damage done by thrown objects to objects respects their demolition modifier /:cl:
## About The Pull Request Weather effects were ignoring certain areas like space. This was due to checking the area's `z` position. Some areas like `area/space` are in many different z-levels and the `z` position defaults to Centcomm `z=1`. The solution is to loop through `area.turfs_by_zlevel` and check if it has any turfs in that z-level. CC @LemonInTheDark the mutable overlay for weather effects is not applying to space. https://github.com/tgstation/tgstation/blob/7e27663517731fe8f3d955477b1a97ace5a6ff83/code/datums/weather/weather.dm#L253-L271 I'm assuming this is due to plane master shengians. I could just add the effects like the radiation nebula: https://github.com/tgstation/tgstation/blob/7e27663517731fe8f3d955477b1a97ace5a6ff83/code/datums/station_traits/negative_traits.dm#L486-L493 But this doesn't appear reversible. I'm open to suggestions. ## Why It's Good For The Game Rad storms now affect space outside the station. Other weather effects should also be consistent and not be ignored by certain misc. areas types. ## Changelog :cl: fix: Fix weather effects ignoring certain areas like space. /:cl: --------- Co-authored-by: MrMelbert <[email protected]>
…88146) ## About The Pull Request Tested on a private server with edited odds that the pulse rifle doesn't spawn when won and only the message pops. After code edit it spawned accordingly but the low odds remain. ## Why It's Good For The Game Beating one in a million odds and not getting a pulse rifle is disappointing, it should spawn now. ## Changelog :cl: fix: fixed the pulse rifle not spawning when won code: added get_turf to the pulserifle when the odds are beat. :cl:
## About The Pull Request Adds the crafting complexity to the slices of baklava, so it doesn't go from very good to nice after you slice it. Was asked to put the fix to upstream. ## Why It's Good For The Game If I have one more food suddenly degrade in quality after slicing it into multiple portions I am going to explode the fucking kitchen, especially after having to bother Hydroponics to mutate a plant specifically for it ## Proof Of Testing ![image](https://github.com/user-attachments/assets/b4cd692e-10f8-4701-a772-45aad97e8c43) </details> ## Changelog :cl: fix: Makes a sliced baklava pie keep its complexity after slicing /:cl:
## About The Pull Request Deletes _internal_organ.dm and moves all override procs from it into the main organ file, since its unused now. Fixes wrong qdel check in identity code. ## Changelog :cl: code: Cleaned up organ code /:cl:
## About The Pull Request You do realize in most cases the player must be ***wearing*** the damn thing to use it, right? Also I am truely clueless as to why we were registering to defib.loc since check_range checks for turfs anyways. ## Changelog :cl: fix: Fixed some issues with defib paddle retraction. /:cl:
…of defaulting to 1 (tgstation#88154) ## About The Pull Request Currently grinders just increase the amount of items by 1 when displaying them, which works fine for everything except stacks. This PR makes grinders take into account the amount of sheets in a stack so they properly display how many materials you put into them. ## Why It's Good For The Game You'd expect 50 sheets of silver you put in a grinder to display as 50 sheets instead of 1. ## Changelog :cl: qol: Reagent grinders display number of material sheets they hold instead of defaulting to 1 /:cl:
github-actions
bot
added
TGUI
Добавление или изменение существующего интерфейса на базе фреймворка TGUI
🔉 Звук
Нам скорее всего нравится как это звучит.
🖌️ Спрайты
Вы заработали свою миска-рис и кошко-жена. Партия гордится вами!
🗺️ Изменение Карты
В этом ПРе затронут файл не станционной карты. Может и не один.
🙏 Слияние с восходящим потоком
О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов
labels
Nov 24, 2024
This PR causes following conflicts on translate branch: code/modules/antagonists/changeling/powers/absorb.dm++<<<<<<< HEAD
+ absorbing_loop = new(owner, start_immediately = TRUE)
+ owner.visible_message(span_danger("[owner] stabs [target] with the proboscis!"), span_notice("We stab [target] with the proboscis."))
+ to_chat(target, span_userdanger("You feel a sharp stabbing pain!"))
++||||||| d9ce2e7c190
++ owner.visible_message(span_danger("[owner] stabs [target] with the proboscis!"), span_notice("We stab [target] with the proboscis."))
++ to_chat(target, span_userdanger("You feel a sharp stabbing pain!"))
++=======
+ owner.visible_message(span_danger("[capitalize(owner.declent_ru(NOMINATIVE))] пронзает [target.declent_ru(ACCUSATIVE)] жалом-хоботком!"), span_notice("Мы пронзаем [target.declent_ru(ACCUSATIVE)] жалом-хоботком."))
+ to_chat(target, span_userdanger("Вы чувствуете острую колющую боль!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ owner.balloon_alert(owner, "interrupted!")
+ qdel(absorbing_loop)
++||||||| d9ce2e7c190
++ owner.balloon_alert(owner, "interrupted!")
++=======
+ owner.balloon_alert(owner, "прервано!")
++>>>>>>> origin/translate
code/modules/antagonists/heretic/knowledge/ash_lore.dm++<<<<<<< HEAD
++||||||| d9ce2e7c190
++ priority_announce(
++ text = "[generate_heretic_text()] Fear the blaze, for the Ashlord, [user.real_name] has ascended! The flames shall consume all! [generate_heretic_text()]",
++ title = "[generate_heretic_text()]",
++ sound = 'sound/music/antag/heretic/ascend_ash.ogg',
++ color_override = "pink",
++ )
++
++=======
+ priority_announce(
+ text = "[generate_heretic_text()] Бойтесь пламени, ибо Пепельный лорд, [user.real_name], вознесся! Пламя поглотит всех! [generate_heretic_text()]",
+ title = "[generate_heretic_text()]",
+ sound = 'sound/music/antag/heretic/ascend_ash.ogg',
+ color_override = "pink",
+ )
+
++>>>>>>> origin/translate
code/modules/antagonists/heretic/knowledge/blade_lore.dm++<<<<<<< HEAD
+ ADD_TRAIT(user, TRAIT_NEVER_WOUNDED, type)
++||||||| d9ce2e7c190
++ priority_announce(
++ text = "[generate_heretic_text()] Master of blades, the Torn Champion's disciple, [user.real_name] has ascended! Their steel is that which will cut reality in a maelstom of silver! [generate_heretic_text()]",
++ title = "[generate_heretic_text()]",
++ sound = 'sound/music/antag/heretic/ascend_blade.ogg',
++ color_override = "pink",
++ )
++ ADD_TRAIT(user, TRAIT_NEVER_WOUNDED, name)
++=======
+ priority_announce(
+ text = "[generate_heretic_text()] Мастер клинков, ученик разорванного чемпиона, [user.real_name] вознесся! Их сталь - это сталь, которая разрежет реальность в вихре серебра! [generate_heretic_text()]",
+ title = "[generate_heretic_text()]",
+ sound = 'sound/music/antag/heretic/ascend_blade.ogg',
+ color_override = "pink",
+ )
+ ADD_TRAIT(user, TRAIT_NEVER_WOUNDED, name)
++>>>>>>> origin/translate
code/modules/antagonists/heretic/knowledge/cosmic_lore.dm++<<<<<<< HEAD
++||||||| d9ce2e7c190
++ priority_announce(
++ text = "[generate_heretic_text()] A Star Gazer has arrived into the station, [user.real_name] has ascended! This station is the domain of the Cosmos! [generate_heretic_text()]",
++ title = "[generate_heretic_text()]",
++ sound = 'sound/music/antag/heretic/ascend_cosmic.ogg',
++ color_override = "pink",
++ )
++=======
+ priority_announce(
+ text = "[generate_heretic_text()] Звездочет прибыл на станцию, [user.real_name] вознесся! Эта станция - владения Космоса! [generate_heretic_text()]",
+ title = "[generate_heretic_text()]",
+ sound = 'sound/music/antag/heretic/ascend_cosmic.ogg',
+ color_override = "pink",
+ )
++>>>>>>> origin/translate
code/modules/antagonists/heretic/knowledge/flesh_lore.dm++<<<<<<< HEAD
++||||||| d9ce2e7c190
++ priority_announce(
++ text = "[generate_heretic_text()] Ever coiling vortex. Reality unfolded. ARMS OUTREACHED, THE LORD OF THE NIGHT, [user.real_name] has ascended! Fear the ever twisting hand! [generate_heretic_text()]",
++ title = "[generate_heretic_text()]",
++ sound = 'sound/music/antag/heretic/ascend_flesh.ogg',
++ color_override = "pink",
++ )
++
++=======
+ priority_announce(
+ text = "[generate_heretic_text()] Вечно закручивающийся вихрь. Реальность развернулась. С ВЫТЯНУТЫМИ РУКАМИ, ВЛАСТЕЛИН НОЧИ, [user.real_name] вознесся! Бойтесь вечно изгибающейся руки! [generate_heretic_text()]",
+ title = "[generate_heretic_text()]",
+ sound = 'sound/music/antag/heretic/ascend_flesh.ogg',
+ color_override = "pink",
+ )
+
++>>>>>>> origin/translate
code/modules/antagonists/heretic/knowledge/lock_lore.dm++<<<<<<< HEAD
++||||||| d9ce2e7c190
++ priority_announce(
++ text = "Delta-class dimensional anomaly detec[generate_heretic_text()] Reality rended, torn. Gates open, doors open, [user.real_name] has ascended! Fear the tide! [generate_heretic_text()]",
++ title = "[generate_heretic_text()]",
++ sound = 'sound/music/antag/heretic/ascend_knock.ogg',
++ color_override = "pink",
++ )
++
++=======
+ priority_announce(
+ text = "Пространственная аномалия Дельта-класса обнар[generate_heretic_text()] Реальность разрушена, разорвана. Врата открыты, двери открыты, [user.real_name] вознесся! Бойтесь нашествия! [generate_heretic_text()]",
+ title = "[generate_heretic_text()]",
+ sound = 'sound/music/antag/heretic/ascend_knock.ogg',
+ color_override = "pink",
+ )
+
++>>>>>>> origin/translate
code/modules/antagonists/heretic/knowledge/moon_lore.dm++<<<<<<< HEAD
+ ADD_TRAIT(user, TRAIT_MADNESS_IMMUNE, type)
++||||||| d9ce2e7c190
++ priority_announce(
++ text = "[generate_heretic_text()] Laugh, for the ringleader [user.real_name] has ascended! \
++ The truth shall finally devour the lie! [generate_heretic_text()]",
++ title = "[generate_heretic_text()]",
++ sound = 'sound/music/antag/heretic/ascend_moon.ogg',
++ color_override = "pink",
++ )
++
++ ADD_TRAIT(user, TRAIT_MADNESS_IMMUNE, REF(src))
++=======
+ priority_announce(
+ text = "[generate_heretic_text()] Смейтесь, ибо Шпрехшталмейстер [user.real_name] вознесся! \
+ Правда наконец поглотит ложь! [generate_heretic_text()]",
+ title = "[generate_heretic_text()]",
+ sound = 'sound/music/antag/heretic/ascend_moon.ogg',
+ color_override = "pink",
+ )
+
+ ADD_TRAIT(user, TRAIT_MADNESS_IMMUNE, REF(src))
++>>>>>>> origin/translate
code/modules/antagonists/heretic/knowledge/rust_lore.dm++<<<<<<< HEAD
++||||||| d9ce2e7c190
++ priority_announce(
++ text = "[generate_heretic_text()] Fear the decay, for the Rustbringer, [user.real_name] has ascended! None shall escape the corrosion! [generate_heretic_text()]",
++ title = "[generate_heretic_text()]",
++ sound = 'sound/music/antag/heretic/ascend_rust.ogg',
++ color_override = "pink",
++ )
++=======
+ priority_announce(
+ text = "[generate_heretic_text()] Бойтесь разложения, ведь Повелитель ржавчины, [user.real_name] вознесся! Никто не избежит коррозии! [generate_heretic_text()]",
+ title = "[generate_heretic_text()]",
+ sound = 'sound/music/antag/heretic/ascend_rust.ogg',
+ color_override = "pink",
+ )
++>>>>>>> origin/translate
code/modules/antagonists/heretic/knowledge/void_lore.dm++<<<<<<< HEAD
+ user.add_traits(list(TRAIT_RESISTLOWPRESSURE, TRAIT_NEGATES_GRAVITY, TRAIT_MOVE_FLYING, TRAIT_FREE_HYPERSPACE_MOVEMENT), type)
++||||||| d9ce2e7c190
++ priority_announce(
++ text = "[generate_heretic_text()] The nobleman of void [user.real_name] has arrived, stepping along the Waltz that ends worlds! [generate_heretic_text()]",
++ title = "[generate_heretic_text()]",
++ sound = 'sound/music/antag/heretic/ascend_void.ogg',
++ color_override = "pink",
++ )
++ user.add_traits(list(TRAIT_RESISTLOWPRESSURE, TRAIT_NEGATES_GRAVITY, TRAIT_MOVE_FLYING, TRAIT_FREE_HYPERSPACE_MOVEMENT), MAGIC_TRAIT)
++=======
+ priority_announce(
+ text = "[generate_heretic_text()] Дворянин пустоты [user.real_name] прибыл, танцуя Вальс, уничтожающий миры! [generate_heretic_text()]",
+ title = "[generate_heretic_text()]",
+ sound = 'sound/music/antag/heretic/ascend_void.ogg',
+ color_override = "pink",
+ )
+ user.add_traits(list(TRAIT_RESISTLOWPRESSURE, TRAIT_NEGATES_GRAVITY, TRAIT_MOVE_FLYING, TRAIT_FREE_HYPERSPACE_MOVEMENT), MAGIC_TRAIT)
++>>>>>>> origin/translate
code/modules/mob/mob.dm++<<<<<<< HEAD
+ var/obj/item/clothing/eye_cover = examined_mob.is_eyes_covered()
+ if (!eye_cover || (!eye_cover.tint && !eye_cover.flash_protect))
+ var/msg = span_smallnotice("You make eye contact with [examined_mob].")
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), src, msg), 0.3 SECONDS) // so the examine signal has time to fire and this will print after
-
++||||||| d9ce2e7c190
++ var/msg = span_smallnotice("You make eye contact with [examined_mob].")
++ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), src, msg), 0.3 SECONDS) // so the examine signal has time to fire and this will print after
++=======
+ var/msg = span_smallnotice("Вы смотрите в глаза [examined_mob.declent_ru(GENITIVE)].")
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), src, msg), 0.3 SECONDS) // so the examine signal has time to fire and this will print after
-
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ if(!imagined_eye_contact && is_face_visible() && !examined_mob.is_blind() && SEND_SIGNAL(examined_mob, COMSIG_MOB_EYECONTACT, src, FALSE) != COMSIG_BLOCK_EYECONTACT)
+ var/obj/item/clothing/eye_cover = is_eyes_covered()
+ if (!eye_cover || (!eye_cover.tint && !eye_cover.flash_protect))
+ var/msg = span_smallnotice("[src] makes eye contact with you.")
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), examined_mob, msg), 0.3 SECONDS)
++||||||| d9ce2e7c190
++ if(!imagined_eye_contact && is_face_visible() && SEND_SIGNAL(examined_mob, COMSIG_MOB_EYECONTACT, src, FALSE) != COMSIG_BLOCK_EYECONTACT)
++ var/msg = span_smallnotice("[src] makes eye contact with you.")
++ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), examined_mob, msg), 0.3 SECONDS)
++=======
+ if(!imagined_eye_contact && is_face_visible() && SEND_SIGNAL(examined_mob, COMSIG_MOB_EYECONTACT, src, FALSE) != COMSIG_BLOCK_EYECONTACT)
+ var/msg = span_smallnotice("[capitalize(declent_ru(NOMINATIVE))] смотрит вам в глаза.")
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), examined_mob, msg), 0.3 SECONDS)
++>>>>>>> origin/translate
code/modules/reagents/chemistry/machinery/reagentgrinder.dm++<<<<<<< HEAD
+ . += span_notice("Currently holding:")
++||||||| d9ce2e7c190
++ . += span_notice("Currently holding.")
++=======
+ . += span_notice("Сейчас содержит.")
++>>>>>>> origin/translate
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
🖌️ Спрайты
Вы заработали свою миска-рис и кошко-жена. Партия гордится вами!
🙏 Слияние с восходящим потоком
О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов
🔉 Звук
Нам скорее всего нравится как это звучит.
TGUI
Добавление или изменение существующего интерфейса на базе фреймворка TGUI
🗺️ Изменение Карты
В этом ПРе затронут файл не станционной карты. Может и не один.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About The Pull Request
Апстрим