forked from tgstation/tgstation
-
Notifications
You must be signed in to change notification settings - Fork 52
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.10.24 #630
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
…sing (tgstation#87450) ## About The Pull Request Added a new trait that changeling bodies have that prevents them from showing up as having a soul when examined when you pull out their brain. ## Why It's Good For The Game This is an extremely cheesy and easy way to antag check a suspected changeling, either via surgery, guillotine or amputation shears. Admins rule this as metainfo/an exploit, so players essentially have to forgo using information that they have acquired unintentionally in-game. ## Changelog :cl: fix: Changelings no longer have a soul when examined if their brain is missing /:cl:
## About The Pull Request closes tgstation#87479 ## Changelog :cl: grungussuss fix: it is now possible to succumb without speaking /:cl:
## About The Pull Request closes tgstation#87472 ## Changelog :cl: grungussuss fix: signers can sign past muzzles /:cl:
## About The Pull Request adds the big pointer chip that lets you recolor your large pointer to the chipped quirk ## Why It's Good For The Game i forgot to add this, whoops if you are worried about spam. the 2 cost chip that literally makes every message you say be spoken like a musical has really shocked me in how little it has been used so far. so that is not a concern ## Changelog :cl: add: adds big pointer to chipped quirk /:cl:
Anyone not male would be given a male or female name? Looks like a weird bugsie poopsie :cl: fix: Randomly generated female bodies/humans no longer have a 50% to get a male name /:cl:
## About The Pull Request completes https://github.com/orgs/tgstation/projects/19?pane=issue&itemId=84412218 https://github.com/user-attachments/assets/a4f432f2-39d5-4401-9e73-3cb1c44435a0 ## Why It's Good For The Game I think it sounds good ## Changelog :cl: grungussuss sound: bags now have handling and equip sounds /:cl:
…on#87492) ## About The Pull Request While I was testing tgstation#87481 i noticed that the pirates next to the bird were killing it before the domain even had a chance to load, this stops that from happening ## Why It's Good For The Game bird murder is bad ## Changelog :cl: fix: The parrot from the Corsair Cove will no longer be immediatelly shanked by the pirates upon loading of the domain. /:cl:
## About The Pull Request Fixes tgstation#87474 ## Why It's Good For The Game Being unable to remove eyes if there is scarring is bad. ## Changelog :cl: fix: Fixes a runtime when trying to remove someones scarred eyes. Now you can remove them! /:cl:
## About The Pull Request completes https://github.com/orgs/tgstation/projects/19/views/1?filterQuery=shoes&pane=issue&itemId=84410941 https://github.com/user-attachments/assets/1fb3fc62-06ce-4930-a709-830d00c79eb7 ## Why It's Good For The Game sounds are good I think ## Changelog :cl: grungussuss sound: shoes have handling and equip sounds /:cl:
…on#87494) ## About The Pull Request Outfit was directly assigning the attached hat and i forgor to remove the var which is how it compiled in the first place ## Changelog :cl: fix: Fixed deathsquad commandos not getting their berets /:cl:
…eployed (tgstation#87452) ## About The Pull Request tgstation#86825 allowed MODsuits to only have a few of their parts deployed but didn't change MODule overlay code, resulting in modules like welding visor showing up even if you only have your gloves active. ## Why It's Good For The Game Glitchy visuals begone. ## Changelog :cl: fix: MODules don't create visual overlays when their required part isn't deployed /:cl: --------- Co-authored-by: Fikou <[email protected]> Co-authored-by: LemonInTheDark <[email protected]>
If tg is gonna get new hardware might as well use it to flex on the hub. This takes the middle number from the 3 avgs shown in the status tab and displays it on the hub next to the current round time. The hub status field is only updated whenever somebody joins or leaves the server so the real-time number would be less useful.
…ation#87509) ## About The Pull Request Basically instead of passing the export value through get_cost() it was being passed through get_amount() The oversight means that if you sold a single spacecash bill of 1000cr, get_amount returned that you were selling a thousand amount of the item, once elasticity gets factored in that amount gets reduced to basically nothing. Ended up just moving the formula from get_amount to get_cost, which is basically how holocredit exports already worked so hurray for consistency Also fixed the small typo of an s being added at the end of bill despite unit_name asking for the name of a singular unit. ## Why It's Good For The Game Fixes tgstation#87476 which is the result of an oversight. ## Changelog :cl: fix: You will now receive the advertised amount of credits for selling spacecash bills through cargo /:cl:
Shakes fist at random overtime
…sus bolts in CI) (tgstation#87534) ## About The Pull Request Closes tgstation#87349 This may seem concerning but projectiles always assume that their firer and original can be null at any step, so this is completely safe. ## Changelog :cl: fix: Fixed harddels caused by certain projectiles /:cl:
## About The Pull Request closes tgstation#87544 someone misspelled the name of this airlock in the code :P ## Why It's Good For The Game spell fix good. ## Changelog :cl: spellcheck: spellchecks "maintainance glass airlock" /:cl:
## About The Pull Request The Traps won't spawn traps on walls anymore ## Why It's Good For The Game Yesterday I saw a wizard cast the traps twice and both times it only spawned them inside walls. This variable was probably overlooked on this trap, ain't much reason for walltraps. ## Changelog :cl: fix: The Traps won't spawn traps on walls anymore /:cl:
…recoloring bodypart overlays with dye sprays) (tgstation#87434) ## About The Pull Request This PR kills the abstract internal and external typepaths for organs, now replaced by an EXTERNAL_ORGAN flag to distinguish the two kinds. This PR also fixes fox ears (from tgstation#87162, no tail is added) and mushpeople's caps (they should be red, the screenshot is a tad outdated). And yes, you can now use a hair dye spray to recolor body parts like most tails, podpeople hair, mushpeople caps and cat ears. The process can be reversed by using the spray again. ## Why It's Good For The Game Time-Green put some effort during the last few months to untie functions and mechanics from external/internal organ pathing. Now, all that this pathing is good for are a few typechecks, easily replaceable with bitflags. Also podpeople and mushpeople need a way to recolor their "hair". This kind of applies to fish tails from the fish infusion, which colors can't be selected right now. The rest is just there if you ever want to recolor your lizard tail for some reason. Proof of testing btw (screenshot taken before mushpeople cap fix, right side has dyed body parts, moth can't be dyed, they're already fabolous): ![immagine](https://github.com/user-attachments/assets/2bb625c9-9233-42eb-b9b8-e0bd6909ce89) ## Changelog :cl: code: Removed internal/external pathing from organs in favor of a bit flag. Hopefully this shouldn't break anything about organs. fix: Fixed invisible fox ears. fix: Fixed mushpeople caps not being colored red by default. add: You can now dye most tails, podpeople hair, mushpeople caps etc. with a hair dye spray. /:cl:
…edback to two xenobio extracts (tgstation#87553) ## About The Pull Request Regenerative extracts heal, and then do an effect. The metal, puts the target into a closet. Just. Forces them in. No size check. Just crams them in there. Including megafauna. This just adds a size check to it - it force opens the locker and puts a fail message. It does not ever actually put the mob into the locker; I tested this. It broke actions really bad. NODE Drone immediately completing their vent type of bad. Also added a fail message to the Regenerative Bluespace for mobs with no-teleport, because feedback's nice. ## Why It's Good For The Game I don't think gift-wrapping Bubblegum is something that you're meant to be able to do. Also feedback is good for users. ## Changelog :cl: qol: added fail feedback to xenobio Regenerative Metal/Bluespace Extracts fix: fixed Regenerative Metal Extract not checking for mob size when moving them into the spawned closet /:cl:
## About The Pull Request fixes tgstation#87419 When the avatar is qdel'd, the player returns to original body ## Why It's Good For The Game Less bugs good ## Changelog :cl: fix: Bitrunning: falling into chasms and other ways of destroying your virtual body instead of killing it, WILL now return you to your body /:cl:
…nd smoke inhalation. Nitrous oxide (the reagent version) inhalation causes brain damage. (tgstation#87306) ## About The Pull Request Adds the ``INHALE`` transfer method. Smoking and smoke exposure now uses this method. Makes a few sensible inhalation effects for current behaviours. Adds a unit test amongst the rest of the exposure method tests. Nitrous oxide does brain damage on inhalation based on volume inhaled. ## Why It's Good For The Game Smoke and smoking being based on ingestion rather than inhaling was always weird to me. It'd be nice to have a specific method for smoking instead of a method shared by drinking. Many of our smokables make sense as indigestibles, obviously, but maybe we'd like a chem you can ONLY smoke. ~~Also, I walked out of a job interview and up the street to see a guy throwing his empty nitrous canisters around and yelling at passerbys, so shout out to that fucking guy with this PR.~~ ## Changelog :cl: code: Introduces a INHALE method for reagent transfer. Cigarettes and smoke reactions use this new method. balance: Nitrous oxide now brain damage if you inhale it. So don't do that. /:cl: --------- Co-authored-by: SyncIt21 <[email protected]> Co-authored-by: Ghom <[email protected]>
## About The Pull Request Closes tgstation#87554 ## Changelog :cl: fix: Fixed green raptor corpses being able to mine rocks /:cl:
Мержимся ночью - сломаются вульпы |
This PR causes following conflicts on translate branch: code/datums/quirks/negative_quirks/prosthetic_organ.dm++<<<<<<< HEAD
+ prosthetic = new /obj/item/organ/heart/cybernetic/surplus
+ slot_string = "heart"
++||||||| e8081f53c44
++ prosthetic = new /obj/item/organ/internal/heart/cybernetic/surplus
++ slot_string = "heart"
++=======
+ prosthetic = new /obj/item/organ/internal/heart/cybernetic/surplus
+ slot_string = "сердце"
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ prosthetic = new /obj/item/organ/lungs/cybernetic/surplus
+ slot_string = "lungs"
++||||||| e8081f53c44
++ prosthetic = new /obj/item/organ/internal/lungs/cybernetic/surplus
++ slot_string = "lungs"
++=======
+ prosthetic = new /obj/item/organ/internal/lungs/cybernetic/surplus
+ slot_string = "легкие"
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ prosthetic = new /obj/item/organ/liver/cybernetic/surplus
+ slot_string = "liver"
++||||||| e8081f53c44
++ prosthetic = new /obj/item/organ/internal/liver/cybernetic/surplus
++ slot_string = "liver"
++=======
+ prosthetic = new /obj/item/organ/internal/liver/cybernetic/surplus
+ slot_string = "печень"
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ prosthetic = new /obj/item/organ/stomach/cybernetic/surplus
+ slot_string = "stomach"
+ medical_record_text = "During physical examination, patient was found to have a low-budget prosthetic [slot_string]. \
+ Removal of these organs is known to be dangerous to the patient as well as the practitioner."
++||||||| e8081f53c44
++ prosthetic = new /obj/item/organ/internal/stomach/cybernetic/surplus
++ slot_string = "stomach"
++ medical_record_text = "During physical examination, patient was found to have a low-budget prosthetic [slot_string]. \
++ Removal of these organs is known to be dangerous to the patient as well as the practitioner."
++=======
+ prosthetic = new /obj/item/organ/internal/stomach/cybernetic/surplus
+ slot_string = "желудок"
+ medical_record_text = "При физическом осмотре было обнаружено, что орган пациента, [slot_string], заменен бюджетным протезом. \
+ Известно, что удаление этих органов опасно как для пациента, так и для врача."
++>>>>>>> origin/translate
code/game/machinery/dna_infuser/organ_sets/rat_organs.dm++<<<<<<< HEAD
+/obj/item/organ/tongue/rat/proc/its_on_the_mouse(mob/living/carbon/offerer, mob/living/taker)
+ offerer.say("For you, it's on the mouse.")
++||||||| e8081f53c44
++/obj/item/organ/internal/tongue/rat/proc/its_on_the_mouse(mob/living/carbon/offerer, mob/living/taker)
++ offerer.say("For you, it's on the mouse.")
++=======
+ /obj/item/organ/internal/tongue/rat/proc/its_on_the_mouse(mob/living/carbon/offerer, mob/living/taker)
+ offerer.say("Для вас, все самое чумовое.")
++>>>>>>> origin/translate
code/modules/mob/living/carbon/carbon_context.dm++<<<<<<< HEAD
+ context[SCREENTIP_CONTEXT_LMB] = "Headpat"
+ else if(user.zone_selected == BODY_ZONE_PRECISE_GROIN && !isnull(get_organ_by_type(/obj/item/organ/tail)))
+ context[SCREENTIP_CONTEXT_LMB] = "Pull tail"
++||||||| e8081f53c44
++ context[SCREENTIP_CONTEXT_LMB] = "Headpat"
++ else if(user.zone_selected == BODY_ZONE_PRECISE_GROIN && !isnull(get_organ_by_type(/obj/item/organ/external/tail)))
++ context[SCREENTIP_CONTEXT_LMB] = "Pull tail"
++=======
+ context[SCREENTIP_CONTEXT_LMB] = "Погладить"
+ else if(user.zone_selected == BODY_ZONE_PRECISE_GROIN && !isnull(get_organ_by_type(/obj/item/organ/external/tail)))
+ context[SCREENTIP_CONTEXT_LMB] = "Дернуть за хвост"
++>>>>>>> origin/translate
code/modules/mob/living/carbon/carbon_defense.dm++<<<<<<< HEAD
+ else if ((helper.zone_selected == BODY_ZONE_PRECISE_GROIN) && !isnull(src.get_organ_by_type(/obj/item/organ/tail)))
+ helper.visible_message(span_notice("[helper] pulls on [src]'s tail!"), \
+ null, span_hear("You hear a soft patter."), DEFAULT_MESSAGE_RANGE, list(helper, src))
+ to_chat(helper, span_notice("You pull on [src]'s tail!"))
+ to_chat(src, span_notice("[helper] pulls on your tail!"))
++||||||| e8081f53c44
++ else if ((helper.zone_selected == BODY_ZONE_PRECISE_GROIN) && !isnull(src.get_organ_by_type(/obj/item/organ/external/tail)))
++ helper.visible_message(span_notice("[helper] pulls on [src]'s tail!"), \
++ null, span_hear("You hear a soft patter."), DEFAULT_MESSAGE_RANGE, list(helper, src))
++ to_chat(helper, span_notice("You pull on [src]'s tail!"))
++ to_chat(src, span_notice("[helper] pulls on your tail!"))
++=======
+ else if ((helper.zone_selected == BODY_ZONE_PRECISE_GROIN) && !isnull(src.get_organ_by_type(/obj/item/organ/external/tail)))
+ helper.visible_message(span_notice("[capitalize(helper.declent_ru(NOMINATIVE))] дергает за хвост [declent_ru(GENITIVE)]!"), \
+ null, span_hear("Вы слышите тихое поглаживание."), DEFAULT_MESSAGE_RANGE, list(helper, src))
+ to_chat(helper, span_notice("Вы дергаете за хвост [declent_ru(GENITIVE)]!"))
+ to_chat(src, span_notice("[capitalize(helper.declent_ru(NOMINATIVE))] дергает вас за хвост!"))
++>>>>>>> origin/translate
code/modules/mob/living/carbon/examine.dm++<<<<<<< HEAD
+ if(get_bodypart(BODY_ZONE_HEAD) && !get_organ_by_type(/obj/item/organ/brain))
+ . += span_deadsay("It appears that [t_his] brain is missing...")
++||||||| e8081f53c44
++ if(get_bodypart(BODY_ZONE_HEAD) && !get_organ_by_type(/obj/item/organ/internal/brain))
++ . += span_deadsay("It appears that [t_his] brain is missing...")
++=======
+ if(get_bodypart(BODY_ZONE_HEAD) && !get_organ_by_type(/obj/item/organ/internal/brain))
+ . += span_deadsay("Кажется, [t_his] мозг отсутствует...")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ . += "[t_He] [t_has] a stupid expression on [t_his] face."
+ var/obj/item/organ/brain/brain = get_organ_by_type(/obj/item/organ/brain)
++||||||| e8081f53c44
++ . += "[t_He] [t_has] a stupid expression on [t_his] face."
++ var/obj/item/organ/internal/brain/brain = get_organ_by_type(/obj/item/organ/internal/brain)
++=======
+ . += "У [ru_p_theirs()] глупое выражение лица."
+ var/obj/item/organ/internal/brain/brain = get_organ_by_type(/obj/item/organ/internal/brain)
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ return span_deadsay("[t_He] [t_is] limp and unresponsive; but [t_his] soul might yet come back...")
+ var/client_like = client || HAS_TRAIT(src, TRAIT_MIND_TEMPORARILY_GONE)
+ var/valid_ghost = ghost?.can_reenter_corpse && ghost?.client
+ var/valid_soul = brain || !HAS_TRAIT(src, TRAIT_FAKE_SOULLESS)
+ if((brain && client_like) || (valid_ghost && valid_soul))
+ return span_deadsay("[t_He] [t_is] limp and unresponsive; there are no signs of life...")
+ return span_deadsay("[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has departed...")
++||||||| e8081f53c44
++ return span_deadsay("[t_He] [t_is] limp and unresponsive; but [t_his] soul might yet come back...")
++ if(brain && (client || HAS_TRAIT(src, TRAIT_MIND_TEMPORARILY_GONE) || (ghost?.can_reenter_corpse && ghost?.client)))
++ return span_deadsay("[t_He] [t_is] limp and unresponsive; there are no signs of life...")
++ else
++ return span_deadsay("[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has departed...")
++=======
+ return span_deadsay("[t_He] выглядит обмякло и не реагирует; но [t_his] душа ещё может вернуться...")
+ if(brain && (client || HAS_TRAIT(src, TRAIT_MIND_TEMPORARILY_GONE) || (ghost?.can_reenter_corpse && ghost?.client)))
+ return span_deadsay("[t_He] выглядит обмякло и не реагирует; нет признаков жизни...")
+ else
+ return span_deadsay("[t_He] выглядит обмякло и не реагирует; нет признаков жизни, и [t_his] душа ушла...")
++>>>>>>> origin/translate
code/modules/mob/living/carbon/human/death.dm++<<<<<<< HEAD
+ readout += "<br>Stomach:"
+ var/obj/item/organ/stomach/belly = get_organ_slot(ORGAN_SLOT_STOMACH)
++||||||| e8081f53c44
++ readout += "<br>Stomach:"
++ var/obj/item/organ/internal/stomach/belly = get_organ_slot(ORGAN_SLOT_STOMACH)
++=======
+ readout += "<br>Желудок:"
+ var/obj/item/organ/internal/stomach/belly = get_organ_slot(ORGAN_SLOT_STOMACH)
++>>>>>>> origin/translate
code/modules/mob/mob.dm++<<<<<<< HEAD
+ result += span_notice("<i>You examine [examinify] closer, but find nothing of interest...</i>")
+ result_combined = examine_block(jointext(result, "<br>"))
++||||||| e8081f53c44
++ result += span_notice("<i>You examine [examinify] closer, but find nothing of interest...</i>")
++ result_combined = jointext(result, "<br>")
++=======
+ result += span_notice("<i>Вы осматриваете [examinify.declent_ru(ACCUSATIVE)] подробнее, но не находите ничего интересного...</i>")
+ result_combined = jointext(result, "<br>")
++>>>>>>> origin/translate
code/modules/surgery/eye_surgery.dm++<<<<<<< HEAD
+ var/obj/item/organ/eyes/target_eyes = target.get_organ_slot(ORGAN_SLOT_EYES)
+ user.visible_message(span_notice("[user] successfully fixes [target]'s eyes!"), span_notice("You succeed in fixing [target]'s eyes."))
++||||||| e8081f53c44
++ var/obj/item/organ/internal/eyes/target_eyes = target.get_organ_slot(ORGAN_SLOT_EYES)
++ user.visible_message(span_notice("[user] successfully fixes [target]'s eyes!"), span_notice("You succeed in fixing [target]'s eyes."))
++=======
+ var/obj/item/organ/internal/eyes/target_eyes = target.get_organ_slot(ORGAN_SLOT_EYES)
+ user.visible_message(span_notice("[capitalize(user.declent_ru(NOMINATIVE))] успешно вылечил глаза у [target.declent_ru(GENITIVE)]!"), span_notice("Вы успешно вылечили глаза у [target.declent_ru(GENITIVE)]."))
++>>>>>>> origin/translate
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
🎸 Инструменты
Мы выдаем себя за реальное сообщество разработчиков.
🖌️ Спрайты
Вы заработали свою миска-рис и кошко-жена. Партия гордится вами!
🙏 Слияние с восходящим потоком
О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов
🔉 Звук
Нам скорее всего нравится как это звучит.
🛑 Do Not Merge
Почему это висит лучше уточнить в дискорде. 220 проклятий тому кто зальёт это!
🗺️ Изменение Карты
В этом ПРе затронут файл не станционной карты. Может и не один.
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
Мерге апстриме