forked from tgstation/tgstation
-
Notifications
You must be signed in to change notification settings - Fork 49
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 08.10.24 #531
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
## About The Pull Request Now after docking pump measure pressure on docked airlock, if it's in safe range both airlock sides will open for easy boarding process, instead just switching them like access airlocks If docked entity pressure is lower then internal, then airlock will cycle only to external pressure, not to vacuum. Also if opening airlocks, eash door also measures external pressure, to safe the day from bad pilot, when half of doors docked and other half still looking into space. With new qol features pump now automatically detects docking\undocking to minimize vacuuming and extra headbumps. Described behaviours tested, and work even for airlocks installed on shuttles, evac included, but night coding is messy, so a review will be nice. ## Why It's Good For The Game If engis decide to build custom departure this feature should prevent crew from screaming "Malf AI" and speed up boarding\unboarding process (May be after this people will start to love those pumps) ## Changelog :cl: qol: Airlock_pump now dock with shuttles in more pleasant way /:cl:
…gstation#87036) <!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request Carving knife traps are no longer triggered by hovering projectiles, they now have to be shot directly, as intended. <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game Confirmed with Melbert as not intended. It's a freaking stamp on the floor, it shouldn't be triggered by anything floating above it. <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and its effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> :cl: fix: Heretic Carving Knife runes are no longer triggered by hovering projectiles. /:cl: <!-- Both :cl:'s are required for the changelog to work! You can put your name to the right of the first :cl: if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. -->
## About The Pull Request Returns the original look of the revolver for traitors: ![srBs2K1fvz](https://github.com/user-attachments/assets/e1d7f569-e854-4762-ab08-59b0bcb74f60) While still giving Nuclear Operatives the red-revolver: ![dreamseeker_guBVku71t9](https://github.com/user-attachments/assets/17f86e07-7387-48a1-93e8-5b3b7aeda997) Re-flavors the red revolver to a "Badass Revolver" as well, so that it helps differentiate it a bit more: ![dreamseeker_YrF52zMuWv](https://github.com/user-attachments/assets/bcf75096-a775-4971-846b-ef23ee0d50fd) ## Why It's Good For The Game I always thought that the red "Syndicate Revolver" was way too on the nose and dorky, especially for undercover agents. However, I thought that dorkiness was a perfect fit for the Nuclear Operatives who love painting all of their gear to be red and over-the-top badass looking. ## Changelog :cl: image: Traitors now get the classic Revolver in their uplink. Nuclear Operatives still keep the red look for their revolvers. /:cl:
…f objects while using one (tgstation#87020) ## About The Pull Request Jetpacks will now prevent you from attempting to interact with objects near you in zero G, preventing you from pushing lockers and people around. This also makes jetpack movement ***much*** more smooth, as they will activate at your first move, preventing jerky movement when pushing off walls. Same applies to all wings which should help moth players with new spacemove. Thanks to iusedtoplayxbox on discord for providing details regarding the issue. ## Why It's Good For The Game Less jank = happier players ## Changelog :cl: qol: Jetpack movement is now much smoother /:cl:
…ormal fishing portal generator (tgstation#87031) ## About The Pull Request Someone on discord said it didn't work so I've taken at look at it, and guess what? It's the base type. ## Why It's Good For The Game Now it should work. ## Changelog :cl: fix: The pre-emagged fishing portal circuitboard now actually gives you an emagged fishing portal generator. /:cl:
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request This should hopefully cut down on mappers using the add:/fix:/del: tag I've talked to the maptainers about this and they seem to not be concerned about gbp in their own system, so we should be trying to push mappers away from using add/remove/(maybe? closing issues is cool) fix tags and such to avoid overlap. I've intentionally not linked this to a label due to the Map Edit label autodetecting anyway. Should be directed only at players. This does mean less label resolution on mapping prs, not sure how I feel about that but I didn't want to duplicate the old image add/remove/change labels. Requesting wider input on this and also pinging to notify. @tgstation/commit-access @tgstation/maptainers ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and its effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> :cl: map: added a map specific changelog entry /:cl: <!-- Both :cl:'s are required for the changelog to work! You can put your name to the right of the first :cl: if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. -->
…o early (tgstation#87055) ## About The Pull Request Just atomizing the misc fix I found in <tgstation#86527> because I may not get to finish that PR for a little bit, and this fix should go through in the meantime because I encountered the bug _again_ with a separate issue, resulting in no stack_traces, and it annoyed me. Fixes runtimes showing with no stack_trace output because the error handling proc itself was runtiming... (`/world/Error()`) ![365350779-3ee5e97a-0754-4615-ae9a-1daf39d8bde1](https://github.com/user-attachments/assets/1a1af09b-2143-483f-80eb-afeacf5772c1) Besides the linked PR, another example of this happening was with loadout datum collisions. So this should make debugging things like that actually sane and normal again. ## Why It's Good For The Game Fixes some order of operations nonsense (with the static var in question not being initialized immediately) by initializing it explicitly here. Stack traces are good. ## Changelog Edit: backend issue
…er properly infect with their fluids-transmitted viruses (tgstation#87042) ## About The Pull Request A single `else if` statement prevented infecting a freshly-made blood splatter with the splashed blood's virus. This statement made it so that splashing virus-infected blood from a container would only infect a blood splatter that's already existing on the tile the container's been splashed on. bottom text (this doesn't handle splashing containers _on a splatter directly_ via targeted throw or right-click, because it could spiral into "why can't spilling a blood container also infect any other object/item/etc and why can't i make an item blood-stained by splashing blood on it directly coders pls fix". it's kinda there, and i'm not in the mood for pushing that boulder over the ledge) ## Why It's Good For The Game Fixes tgstation#55957 ## Changelog :cl: fix: splashing a reagent holder with blood with a fluids-transmitted virus now properly creates an infective blood splatter /:cl:
…(or other non-UI means) (tgstation#87041) ## About The Pull Request Update UIs during beaker's `Exited()` so we catch all instances of the beaker being moved out of the machine ## Why It's Good For The Game No more ghost beakers when RMBing the machine to remove a beaker. No issue opened for this one, virology truly has fallen out of style huh ## Changelog :cl: fix: fixed PANDEMIC not updating its UI when a beaker is removed via right-click /:cl:
…gstation#87038) ## About The Pull Request Fixes an exception that occurred during the map vote on the shuttle escape. Namely, the argument used is `initiator_name` when it should be `vote_initiator_name`. ## Why It's Good For The Game Fixes exception. ## Changelog :cl: fix: fixes exception during shuttle map rotation vote /:cl:
## About The Pull Request - Fixes tgstation#86989 The component `/datum/component/holderloving` doesn't help with this case. This is because camera assemblies uses `temporarilyRemoveItemFromInventory()` which does not trigger a force move so this component does nothing. `temporarilyRemoveItemFromInventory()` does however check for trait `TRAIT_NODROP` which we add to our drone tools to stop it from being force moved ## Changelog :cl: fix: tools from the drone toolbox cannot be forcefully removed in certain situations e.g. when using the drone gas analyser to upgrade the camera assembly /:cl:
…_portal_pairs`, preventing use (tgstation#87040) ## About The Pull Request https://github.com/tgstation/tgstation/blob/969d7ba1cdff2d605430015cbbacebd034d40458/code/game/objects/items/teleportation.dm#L254-L265 Creating a portal on an active teleporter hub would try to teleport the portal to the hub's target, but since `do_teleport()` deletes `/obj/effect`, i.e. portals, the portal pair immediately gets qdel'd. This happens in the `try_move_adjacent()` in the above code snippet when the user-side portal is made and is moved in front of the user. They properly remove themselves from the hand tele's `active_portal_pairs`(well, they try to, but since they aren't yet added in that list, they don't get removed), global portal list and whatever else. However, the next line then adds the new portal pair to the hand tele's `active_portal_pairs` again, but since we don't actually have those anymore, they will never get deleted. Not cool. So this PR ensures that the portals are not qdel'd before assigning them to the list. If it fails to do so, the hand tele will produce a relevant message, so hopefully the user won't try to bash their head against the teleporter hub or similar again. Also dmdocs some procs/vars with varying degree of helpfulness. ## Why It's Good For The Game Fixes tgstation#67251 ## Changelog :cl: fix: fixed hand tele portals that have been deleted in the process of opening a new portal pair clogging up hand tele's portal pair list. If you try to create portals that would end up like this (i.e. on an active teleporter hub), the hand tele will indicate that. /:cl:
…ter (tgstation#87048) ## About The Pull Request the crafter can now craft a Laser Musket as you can now put more than 1 non-stack item relevant to the recipe in it router now splits stacks exactly 1 sheet at a time because the previous version was error prone and doing it any better just needs a stupid amount of math and working with my even worse implementation ## Why It's Good For The Game bug bad ## Changelog :cl: fix: you can now put more than 1 non-stack item relevant to the recipe in a manufacturing crafter fix: manufacturing router does not bug out when handling stacks in some cases at the cost of being slower to do so /:cl:
## About The Pull Request Ducts don't block all interactions regardless of if it actually did anyhting ## Changelog :cl: Melbert fix: Fixed manual construction of hygiene bots /:cl:
## About The Pull Request - Trapdoor remote will connect to multiple trapdoors - Trapdoor will close automatically in 5 seconds (ctrl-clicking on a remote will toggle autoclose) - Additional trapdoors can be linked to the same remote by clicking on a trapdoor with the remote - Improved examine message to reflect how to use remote ## Why It's Good For The Game I added ability to connect multiple trapdoors with to one remote. This makes making trapdoor traps much easier (before that you had to connect each trapdoor to dedicated remote and use signallers). I also added autoclose for trapdoors so you don't need to close it manually, so you can have like an infrared emitter that will trigger the trap and the trap would reset automatically. And the last addition - ability to link trapdoors manually - it just makes it easier to add trapdoors to your remote if you missed any on the linking step. ## Changelog :cl: add: You can now link to multiple trapdoors with one remote add: Trapdoor will automatically close in 5 seconds (ctrl-clicking on a remote will toggle autoclose) /:cl:
## About The Pull Request The preview for writing on paper was _supposed_ to update in real time, but was broken by the changes in tgstation#80616, simple one line fix. ## Why It's Good For The Game fixes tgstation#81868, I'm pretty sure the bit about newlines is either them misremembering behavior or mixing it up with a bug in another UI. ## Changelog :cl: fix: The preview for writing on paper updates in real-time again /:cl:
## About The Pull Request Adds VV header for items, letting quick modification of a few of an item's combat values.. ![image](https://github.com/user-attachments/assets/587d072e-03f0-4c1e-b9b0-f837efb60434) ## Why It's Good For The Game In testing, I find I tweak these values commonly, to test how effective an item is vs armor, or how strong a new item should be, etc etc. So having quick access to these might be cool I thought about adding a few more like throwforce but I didn't want to clutter it too much ## Changelog :cl: Melbert admin: Items now have a header in VV allowing for quicker editing of combat properties /:cl:
…ion#87065) ## About The Pull Request This moves all the shuttle related admin verbs into its own category to make it less cluttered. It was a PIA to debug shuttle related code while having to hunt down these verbs. ## Why It's Good For The Game Better UI. ![dreamseeker_ToRazyp3Vl](https://github.com/user-attachments/assets/cc19f81c-9c1c-475b-8acf-2d686177ae57) ## Changelog :cl: admin: Organize admin verbs for shuttle events into shuttle category /:cl:
## About The Pull Request just trying to salvage tgstation#85603 mostly https://github.com/user-attachments/assets/32f4634a-ff76-4a4e-9ddb-7607e1e7a2d0 ## Why It's Good For The Game more sound variety ## Changelog :cl: grungussuss sound: ballistics have new handling sounds /:cl:
## About The Pull Request brightens up wawa med with a few more lights in the central area and minor shifts in device placement ## Why It's Good For The Game you cant look at this and say that this dark spot is good (before) ![image](https://github.com/user-attachments/assets/76ff44cf-2148-4966-b3fd-3c480209203f) (after) ![image](https://github.com/user-attachments/assets/e30c39bb-a7a4-4047-8c31-b97b74403329) ## Changelog :cl: add: Adds a few lights fix: removes the darkspot in wawa med /:cl:
## About The Pull Request You can no longer view operating computer UI while lying down as to prevent patients from peeking at the computer. ## Why It's Good For The Game Currently its very hard to pull off a surprise brainwashing surgery on someone as the patient can always peek at the computer to see what exactly is going on. With this change players will have to trust their doctors unless they want to be a victim of surgery related shenanigans. ## Changelog :cl: balance: You can no longer view operating computer UI while lying down /:cl:
## About The Pull Request Adds a new neutral station trait where people are able to bring their personal pets to show off to the rest of the crew (or to donate to the chef). Before joining, players will be able to customize their pets https://github.com/user-attachments/assets/5a5cda18-e551-4f87-b649-67a6940ffc6a u can set their name, gender, pet carrier color, and teach them give them a unique dance sequence trick. if players dont wish to opt in, they also have the choice not to ## Why It's Good For The Game adds a new station trait which people can RP around, whether its by competitively comparing pets, or resolving conflicts around pets being killed/kidnapped. Ive also GAGsified pet carriers, so people can now have the option to recolor those too ## Changelog :cl: add: adds a new station trait, "bring your pet to work" day /:cl:
…rbound. (tgstation#87045) ## About The Pull Request Adds the Fundamentally Evil quirk. The quirk does nothing in of itself. If an Empath examines you, they will be shaken up by the fact that you are totally evil. Mindreaders can literally see that you're evil. If they're ALSO evil, it gives a gives a unique message. Honorbound chaplains can freely attack you without first declaring you evil. You are already evil. There is no outward tells for this fact, but if the chaplain pays attention to the medical records, you might have a problem on your hands. You are significantly harmed by holy water and holy explosions. So don't drink holy water if you can help it. ## Why It's Good For The Game I just think it'd be funny to have some crew, for whatever reason, be fully committed to being evil for no reason other than it is funny to bother empaths. I want a chaplain to come to the realization that I'm evil and see what happens. ## Changelog :cl: add: Fundamentally Evil quirk. You might act normal, but you know deep down that you totally don't give a shit about anyone but yourself. Empaths better watch out. /:cl: --------- Co-authored-by: Time-Green <[email protected]> Co-authored-by: ATH1909 <[email protected]>
github-actions
bot
added
Документация
Некоторые просто любят писать тонну текста, которую никто не будет читать.
TGUI
Добавление или изменение существующего интерфейса на базе фреймворка TGUI
🔉 Звук
Нам скорее всего нравится как это звучит.
🖌️ Спрайты
Вы заработали свою миска-рис и кошко-жена. Партия гордится вами!
🗺️ Изменение Карты
В этом ПРе затронут файл не станционной карты. Может и не один.
🎸 Инструменты
Мы выдаем себя за реальное сообщество разработчиков.
💾 Изменение конфига
Ф-ф-фуриор...?
🙏 Слияние с восходящим потоком
О великий восходящий поток, спасибо что приносишь нам свои дары контента и багфиксов
labels
Oct 8, 2024
This PR causes following conflicts on translate branch: code/modules/admin/verbs/adminevents.dm++<<<<<<< HEAD
++||||||| 548f9d99f29
++ADMIN_VERB(call_shuttle, R_ADMIN, "Call Shuttle", "Force a shuttle call with additional modifiers.", ADMIN_CATEGORY_EVENTS)
++ if(EMERGENCY_AT_LEAST_DOCKED)
++ return
++
++ var/confirm = tgui_alert(user, "You sure?", "Confirm", list("Yes", "Yes (No Recall)", "No"))
++ switch(confirm)
++ if(null, "No")
++ return
++ if("Yes (No Recall)")
++ SSshuttle.admin_emergency_no_recall = TRUE
++ SSshuttle.emergency.mode = SHUTTLE_IDLE
++
++ SSshuttle.emergency.request()
++ BLACKBOX_LOG_ADMIN_VERB("Call Shuttle")
++ log_admin("[key_name(user)] admin-called the emergency shuttle.")
++ message_admins(span_adminnotice("[key_name_admin(user)] admin-called the emergency shuttle[confirm == "Yes (No Recall)" ? " (non-recallable)" : ""]."))
++
++ADMIN_VERB(cancel_shuttle, R_ADMIN, "Cancel Shuttle", "Recall the shuttle, regardless of circumstances.", ADMIN_CATEGORY_EVENTS)
++ if(EMERGENCY_AT_LEAST_DOCKED)
++ return
++
++ if(tgui_alert(user, "You sure?", "Confirm", list("Yes", "No")) != "Yes")
++ return
++ SSshuttle.admin_emergency_no_recall = FALSE
++ SSshuttle.emergency.cancel()
++ BLACKBOX_LOG_ADMIN_VERB("Cancel Shuttle")
++ log_admin("[key_name(user)] admin-recalled the emergency shuttle.")
++ message_admins(span_adminnotice("[key_name_admin(user)] admin-recalled the emergency shuttle."))
++
++ADMIN_VERB(disable_shuttle, R_ADMIN, "Disable Shuttle", "Those fuckers aren't getting out.", ADMIN_CATEGORY_EVENTS)
++ if(SSshuttle.emergency.mode == SHUTTLE_DISABLED)
++ to_chat(user, span_warning("Error, shuttle is already disabled."))
++ return
++
++ if(tgui_alert(user, "You sure?", "Confirm", list("Yes", "No")) != "Yes")
++ return
++
++ message_admins(span_adminnotice("[key_name_admin(user)] disabled the shuttle."))
++
++ SSshuttle.last_mode = SSshuttle.emergency.mode
++ SSshuttle.last_call_time = SSshuttle.emergency.timeLeft(1)
++ SSshuttle.admin_emergency_no_recall = TRUE
++ SSshuttle.emergency.setTimer(0)
++ SSshuttle.emergency.mode = SHUTTLE_DISABLED
++ priority_announce(
++ text = "Emergency Shuttle uplink failure, shuttle disabled until further notice.",
++ title = "Uplink Failure",
++ sound = 'sound/announcer/announcement/announce_dig.ogg',
++ sender_override = "Emergency Shuttle Uplink Alert",
++ color_override = "grey",
++ )
++
++ADMIN_VERB(enable_shuttle, R_ADMIN, "Enable Shuttle", "Those fuckers ARE getting out.", ADMIN_CATEGORY_EVENTS)
++ if(SSshuttle.emergency.mode != SHUTTLE_DISABLED)
++ to_chat(user, span_warning("Error, shuttle not disabled."))
++ return
++
++ if(tgui_alert(user, "You sure?", "Confirm", list("Yes", "No")) != "Yes")
++ return
++
++ message_admins(span_adminnotice("[key_name_admin(user)] enabled the emergency shuttle."))
++ SSshuttle.admin_emergency_no_recall = FALSE
++ SSshuttle.emergency_no_recall = FALSE
++ if(SSshuttle.last_mode == SHUTTLE_DISABLED) //If everything goes to shit, fix it.
++ SSshuttle.last_mode = SHUTTLE_IDLE
++
++ SSshuttle.emergency.mode = SSshuttle.last_mode
++ if(SSshuttle.last_call_time < 10 SECONDS && SSshuttle.last_mode != SHUTTLE_IDLE)
++ SSshuttle.last_call_time = 10 SECONDS //Make sure no insta departures.
++ SSshuttle.emergency.setTimer(SSshuttle.last_call_time)
++ priority_announce(
++ text = "Emergency Shuttle uplink reestablished, shuttle enabled.",
++ title = "Uplink Restored",
++ sound = 'sound/announcer/announcement/announce_dig.ogg',
++ sender_override = "Emergency Shuttle Uplink Alert",
++ color_override = "green",
++ )
++
++ADMIN_VERB(hostile_environment, R_ADMIN, "Hostile Environment", "Disable the shuttle, naturally.", ADMIN_CATEGORY_EVENTS)
++ switch(tgui_alert(user, "Select an Option", "Hostile Environment Manager", list("Enable", "Disable", "Clear All")))
++ if("Enable")
++ if (SSshuttle.hostile_environments["Admin"] == TRUE)
++ to_chat(user, span_warning("Error, admin hostile environment already enabled."))
++ else
++ message_admins(span_adminnotice("[key_name_admin(user)] Enabled an admin hostile environment"))
++ SSshuttle.registerHostileEnvironment("Admin")
++ if("Disable")
++ if (!SSshuttle.hostile_environments["Admin"])
++ to_chat(user, span_warning("Error, no admin hostile environment found."))
++ else
++ message_admins(span_adminnotice("[key_name_admin(user)] Disabled the admin hostile environment"))
++ SSshuttle.clearHostileEnvironment("Admin")
++ if("Clear All")
++ message_admins(span_adminnotice("[key_name_admin(user)] Disabled all current hostile environment sources"))
++ SSshuttle.hostile_environments.Cut()
++ SSshuttle.checkHostileEnvironment()
++
++=======
+ ADMIN_VERB(call_shuttle, R_ADMIN, "Call Shuttle", "Force a shuttle call with additional modifiers.", ADMIN_CATEGORY_EVENTS)
+ if(EMERGENCY_AT_LEAST_DOCKED)
+ return
+
+ var/confirm = tgui_alert(user, "You sure?", "Confirm", list("Yes", "Yes (No Recall)", "No"))
+ switch(confirm)
+ if(null, "No")
+ return
+ if("Yes (No Recall)")
+ SSshuttle.admin_emergency_no_recall = TRUE
+ SSshuttle.emergency.mode = SHUTTLE_IDLE
+
+ SSshuttle.emergency.request()
+ BLACKBOX_LOG_ADMIN_VERB("Call Shuttle")
+ log_admin("[key_name(user)] admin-called the emergency shuttle.")
+ message_admins(span_adminnotice("[key_name_admin(user)] admin-called the emergency shuttle[confirm == "Yes (No Recall)" ? " (non-recallable)" : ""]."))
+
+ ADMIN_VERB(cancel_shuttle, R_ADMIN, "Cancel Shuttle", "Recall the shuttle, regardless of circumstances.", ADMIN_CATEGORY_EVENTS)
+ if(EMERGENCY_AT_LEAST_DOCKED)
+ return
+
+ if(tgui_alert(user, "You sure?", "Confirm", list("Yes", "No")) != "Yes")
+ return
+ SSshuttle.admin_emergency_no_recall = FALSE
+ SSshuttle.emergency.cancel()
+ BLACKBOX_LOG_ADMIN_VERB("Cancel Shuttle")
+ log_admin("[key_name(user)] admin-recalled the emergency shuttle.")
+ message_admins(span_adminnotice("[key_name_admin(user)] admin-recalled the emergency shuttle."))
+
+ ADMIN_VERB(disable_shuttle, R_ADMIN, "Disable Shuttle", "Those fuckers aren't getting out.", ADMIN_CATEGORY_EVENTS)
+ if(SSshuttle.emergency.mode == SHUTTLE_DISABLED)
+ to_chat(user, span_warning("Error, shuttle is already disabled."))
+ return
+
+ if(tgui_alert(user, "You sure?", "Confirm", list("Yes", "No")) != "Yes")
+ return
+
+ message_admins(span_adminnotice("[key_name_admin(user)] disabled the shuttle."))
+
+ SSshuttle.last_mode = SSshuttle.emergency.mode
+ SSshuttle.last_call_time = SSshuttle.emergency.timeLeft(1)
+ SSshuttle.admin_emergency_no_recall = TRUE
+ SSshuttle.emergency.setTimer(0)
+ SSshuttle.emergency.mode = SHUTTLE_DISABLED
+ priority_announce(
+ text = "Ошибка системы связи эвакуационного шаттла. Шаттл будет недоступен до дальнейших указаний.",
+ title = "Сбой связи эвакуационного шаттла",
+ sound = 'sound/announcer/announcement/announce_dig.ogg',
+ sender_override = "Система оповещения эвакуационного шаттла",
+ color_override = "grey",
+ )
+
+ ADMIN_VERB(enable_shuttle, R_ADMIN, "Enable Shuttle", "Those fuckers ARE getting out.", ADMIN_CATEGORY_EVENTS)
+ if(SSshuttle.emergency.mode != SHUTTLE_DISABLED)
+ to_chat(user, span_warning("Error, shuttle not disabled."))
+ return
+
+ if(tgui_alert(user, "You sure?", "Confirm", list("Yes", "No")) != "Yes")
+ return
+
+ message_admins(span_adminnotice("[key_name_admin(user)] enabled the emergency shuttle."))
+ SSshuttle.admin_emergency_no_recall = FALSE
+ SSshuttle.emergency_no_recall = FALSE
+ if(SSshuttle.last_mode == SHUTTLE_DISABLED) //If everything goes to shit, fix it.
+ SSshuttle.last_mode = SHUTTLE_IDLE
+
+ SSshuttle.emergency.mode = SSshuttle.last_mode
+ if(SSshuttle.last_call_time < 10 SECONDS && SSshuttle.last_mode != SHUTTLE_IDLE)
+ SSshuttle.last_call_time = 10 SECONDS //Make sure no insta departures.
+ SSshuttle.emergency.setTimer(SSshuttle.last_call_time)
+ priority_announce(
+ text = "Система связи эвакуационного шаттла работает в штатном режиме. Шаттл снова доступен.",
+ title = "Связь с шаттлом восстановлена",
+ sound = 'sound/announcer/announcement/announce_dig.ogg',
+ sender_override = "Система оповещения эвакуационного шаттла",
+ color_override = "green",
+ )
+
+ ADMIN_VERB(hostile_environment, R_ADMIN, "Hostile Environment", "Disable the shuttle, naturally.", ADMIN_CATEGORY_EVENTS)
+ switch(tgui_alert(user, "Select an Option", "Hostile Environment Manager", list("Enable", "Disable", "Clear All")))
+ if("Enable")
+ if (SSshuttle.hostile_environments["Admin"] == TRUE)
+ to_chat(user, span_warning("Error, admin hostile environment already enabled."))
+ else
+ message_admins(span_adminnotice("[key_name_admin(user)] Enabled an admin hostile environment"))
+ SSshuttle.registerHostileEnvironment("Admin")
+ if("Disable")
+ if (!SSshuttle.hostile_environments["Admin"])
+ to_chat(user, span_warning("Error, no admin hostile environment found."))
+ else
+ message_admins(span_adminnotice("[key_name_admin(user)] Disabled the admin hostile environment"))
+ SSshuttle.clearHostileEnvironment("Admin")
+ if("Clear All")
+ message_admins(span_adminnotice("[key_name_admin(user)] Disabled all current hostile environment sources"))
+ SSshuttle.hostile_environments.Cut()
+ SSshuttle.checkHostileEnvironment()
+
++>>>>>>> origin/translate
code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm++<<<<<<< HEAD
+/mob/living/basic/space_dragon/proc/try_eat(atom/movable/food)
+ balloon_alert(src, "swallowing...")
++||||||| 548f9d99f29
++/mob/living/basic/space_dragon/proc/try_eat(mob/living/food)
++ balloon_alert(src, "swallowing...")
++=======
+ /mob/living/basic/space_dragon/proc/try_eat(mob/living/food)
+ balloon_alert(src, "пожираем...")
++>>>>>>> origin/translate
code/modules/mob/living/carbon/examine.dm++<<<<<<< HEAD
+ . += "[t_He] [t_is] shivering."
+ if(HAS_TRAIT(src, TRAIT_EVIL))
+ . += "[t_His] eyes radiate with a unfeeling, cold detachment. There is nothing but darkness within [t_his] soul."
+ living_user.add_mood_event("encountered_evil", /datum/mood_event/encountered_evil)
+ living_user.set_jitter_if_lower(15 SECONDS)
++||||||| 548f9d99f29
++ . += "[t_He] [t_is] shivering."
++=======
+ . += "[t_He] дрожит."
++>>>>>>> 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
Мергируем апстрим