mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-12 08:36:00 +01:00
mayfools
89 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
baf3837ae8 |
Merge remote-tracking branch 'tgstation/master' into upstream-2025-11-29
# Conflicts: # _maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm # _maps/RandomRuins/SpaceRuins/garbagetruck2.dmm # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # _maps/map_files/tramstation/tramstation.dmm # code/_onclick/hud/new_player.dm # code/datums/components/squashable.dm # code/datums/diseases/advance/symptoms/heal.dm # code/datums/diseases/chronic_illness.dm # code/datums/status_effects/buffs.dm # code/datums/status_effects/debuffs/drunk.dm # code/datums/status_effects/debuffs/stamcrit.dm # code/game/machinery/computer/crew.dm # code/game/objects/items/devices/scanners/health_analyzer.dm # code/game/objects/items/wall_mounted.dm # code/game/turfs/closed/indestructible.dm # code/modules/admin/view_variables/filterrific.dm # code/modules/antagonists/heretic/influences.dm # code/modules/cargo/orderconsole.dm # code/modules/client/preferences.dm # code/modules/events/space_vines/vine_mutations.dm # code/modules/mob/dead/new_player/new_player.dm # code/modules/mob/living/carbon/human/death.dm # code/modules/mob/living/carbon/human/species_types/jellypeople.dm # code/modules/mob/living/damage_procs.dm # code/modules/mob/living/living.dm # code/modules/mob_spawn/ghost_roles/mining_roles.dm # code/modules/mob_spawn/mob_spawn.dm # code/modules/projectiles/ammunition/energy/laser.dm # code/modules/projectiles/guns/ballistic/launchers.dm # code/modules/projectiles/guns/energy/laser.dm # code/modules/reagents/chemistry/machinery/chem_dispenser.dm # code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm # code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm # code/modules/reagents/chemistry/reagents/medicine_reagents.dm # code/modules/surgery/healing.dm # code/modules/unit_tests/designs.dm # icons/mob/inhands/items_lefthand.dmi # icons/mob/inhands/items_righthand.dmi # tgui/packages/tgui/interfaces/ChemDispenser.tsx |
||
|
|
7a3ad79506 |
All camelCase (Brute|Burn|Fire|Tox|Oxy|Organ|Stamina)(Loss) procs now use snake_case. UNDERSCORES RULE! (#94111)
## About The Pull Request It's just a partial cleanup of anti-[STYLE](https://github.com/tgstation/tgstation/blob/master/.github/guides/STYLE.md) code from /tg/'s ancient history. I compiled & tested with my helpful assistant and damage is still working. <img width="1920" height="1040" alt="image" src="https://github.com/user-attachments/assets/26dabc17-088f-4008-b299-3ff4c27142c3" /> I'll upload the .cs script I used to do it shortly. ## Why It's Good For The Game Just minor code cleanup. Script used is located at https://metek.tech/camelTo-Snake.7z EDIT 11/23/25: Updated the script to use multithreading and sequential scan so it works a hell of a lot faster ``` /* // Copyright 2025 Joshua 'Joan Metekillot' Kidder This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. // */ using System.Text.RegularExpressions; class Program { static async Task Main(string[] args) { var readFile = new FileStreamOptions { Access = FileAccess.Read, Share = FileShare.ReadWrite, Options = FileOptions.Asynchronous | FileOptions.SequentialScan }; FileStreamOptions writeFile = new FileStreamOptions { Share = FileShare.ReadWrite, Access = FileAccess.ReadWrite, Mode = FileMode.Truncate, Options = FileOptions.Asynchronous }; RegexOptions regexOptions = RegexOptions.Multiline | RegexOptions.Compiled; Dictionary<string, int> changedProcs = new(); string regexPattern = @"(?<=\P{L})([a-z]+)([A-Z]{1,2}[a-z]+)*(Brute|Burn|Fire|Tox|Oxy|Organ|Stamina)(Loss)([A-Z]{1,2}[a-z]+)*"; Regex camelCaseProcRegex = new(regexPattern, regexOptions); string snakeify(Match matchingRegex) { var vals = matchingRegex.Groups.Cast<Group>().SelectMany(_ => _.Captures).Select(_ => _.Value).ToArray(); var newVal = string.Join("_", vals.Skip(1).ToArray()).ToLower(); string logString = $"{vals[0]} => {newVal}"; if (changedProcs.TryGetValue(logString, out int value)) { changedProcs[logString] = value + 1; } else { changedProcs.Add(logString, 1); } return newVal; } var dmFiles = Directory.EnumerateFiles(".", "*.dm", SearchOption.AllDirectories).ToAsyncEnumerable<string>(); // uses default ParallelOptions // https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.paralleloptions?view=net-10.0#main await Parallel.ForEachAsync(dmFiles, async (filePath, UnusedCancellationToken) => { var reader = new StreamReader(filePath, readFile); string oldContent = await reader.ReadToEndAsync(); string newContent = camelCaseProcRegex.Replace(oldContent, new MatchEvaluator((Func<Match, string>)snakeify)); if (oldContent != newContent) { var writer = new StreamWriter(filePath, writeFile); await writer.WriteAsync(newContent); await writer.DisposeAsync(); } reader.Dispose(); }); var logToList = changedProcs.Cast<KeyValuePair<string, int>>().ToList(); foreach (var pair in logToList) { Console.WriteLine($"{pair.Key}: {pair.Value} locations"); } } } ``` ## Changelog 🆑 Bisar code: All (Brute|Burn|Fire|Tox|Oxy|Organ|Stamina)(Loss) procs now use snake_case, in-line with the STYLE guide. Underscores rule! /🆑 |
||
|
|
71faa643bf | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-12 | ||
|
|
8ee1cd2474 |
Makes EMP logs less bad (#93841)
## About The Pull Request closes #93805 ## Why It's Good For The Game we actually have almost no emp logging at all lol, not even emp chem reaction, so you barely can track potential griefer? ## Changelog 🆑 admin: EMP logs are improved, additionally chemical EMP reactions are now logged. /🆑 |
||
|
|
d0ca474789 | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-05 | ||
|
|
410cebd7d1 |
Sleeping Carp: Unarmored Defense Edition (#93466)
## About The Pull Request Reworks Sleeping Carp significantly. ### Returning Moves: Stomach Knee and Wrist Wrench Stomach Knee, much like the previous incarnation, causes the victim to be winded and stunned, though this version only briefly stuns the victim. It also deals stamina damage and silences the victim for five seconds. It is performed by a Grab Punch combo. Named Kraken Wrack. Wrist Wrench, much like the previous incarnation, disarms the victim of their held items. It also potentially dislocates or breaks their arm, as it rolls with a very high wound chance. It is performed by a Harm Grab combo. Stole Gnashing Teeth's name. ### Gnashing Teeth (as it was) is gone This move didn't do very much at all other than being a harmful punch with more damage. Throwing a bunch of normal punches won't result in anything now. ### Harm Punches are no longer have special overrides, but Sleeping Carp does grant perfect accuracy. Rather than use a bespoke override, Sleeping Carp now merely uses your normal unarmed punch for its standard normal punch. However, rather than leave things to chance, Sleeping Carp grants you perfect accuracy with those standard punches. ### Grabs are treated as one stage higher Now that martial arts can directly interact with grab state, as well as some prior changes to how effective compared to actual grab state is determined, I've reintroduced Sleeping Carp's stickier grabbing by making it so that they elevate the effective grab state by one stage. This is not instant aggro-grabbing like they used to have. This just makes it so that if they try to resist out of a passive grab, they may fail as though it was an aggressive grab, but it won't stun them until it is elevated to a proper aggressive grab. ### What you wear is important for determining the effectiveness of your Attack Dodging (and attack dodging is broader) Sleeping Carp's projectile dodging and now attack dodging is based on whether or not you're 'on theme'. That is, if you are wearing nautical themed clothing and other factors. At a baseline, Sleeping Carp has perfect projectile dodging and no melee/unarmed avoidance. To improve your chances, you need to; - Wear martial arts or carp themed clothing on your head. (20% if one is present, but it only counts one) - Wear martial arts or carp themed clothing on your chest (20% if one is present, but only counts one) - Wear appropriate footwear, like sandals. (20%) - Be a literal carp. (75% flat) - Mutate yourself into a carp person. (20%) However, your chances of avoidance diminishes if: - You wear armored clothing on your head and chest. (based on Melee armor) - While lying on the floor (30%) Holding objects diminishes your chances as well, This is based on the weight of the object, and whether or not the object is wielded. Normal sized objects, for instance, are -30%, and would be -60% if wielded. It will not diminish your chances if: - The object is Small or smaller. - The object is an abstract object or hand grafted object and it doesn't have block chance. - The object is in the exceptions list. - **The exception list is as follows:** - Nunchaku (this is spies exclusive) - Bo Staff (the unobtainable one) - Monk's Staff (the chaplain's null rod) - Bamboo staff - Cane (like, walking cane) - Knives - Bolas - Toolboxes - Spears - Shortswords (the ones from the medieval pirates) - Nullblade (it's a shortsword) - Extendohands (because lol) - Mops - Push Brooms - Baseball Bats - Claw Hammers - Carp plushies. <details> <summary>A list of appropriate clothing</summary> Headwear - Strange Bandana (which come in the kit) - Maid headband - Fancy Hairpin - Carp Mask - Carp-skinned Fedora - Carp Costume Hood (this comes with the costume) - Carp Costume Spacesuit Helmet (as above) Chestwear - Martial Gi (which come in the kit) - Carpskin Suit - Carp Costume - Carp Spacesuit - Maid Outfit - Kimono - Yakuta - Trenchcoats - Geisha Outfit - [Swag Outfit](https://www.youtube.com/watch?v=l6DmoPlq3S4) - Eastern Monk's Outfit (the chaplain outfit) - Buttoned down line of clothes - Blazer jacket - Lawyer jackets Footwear - Sandals (which come in the kit) - Swag Shoes - Laceup Shoes </details> As an example of being OFF theme, being in a full security outfit would reduce your avoidance chance by a whopping 80%. You avoid attacks while in combat mode, much like projectile deflection does on live. You can only get up to a 75% chance melee/unarmed avoidance. ## Why It's Good For The Game > Returning Moves People quite liked some of the older moves, and there weren't as many dials around at the time to make them particularly more interesting when I first removed them. We were aiming for an out and out stun removal as a whole codebase, but largely we're ended up still being comfortable with minor stuns here and there. Stomach Knee can be one of them. Wrist Wrench was something I realized I could reintroduce with literal limb breaking thanks to wound changes. Arm dislocations/breakages are surprisingly rare as a wound type, and since it is an attack on a specific arm, not quite as good for bringing someone to death, but quite good for leaving someone with a maiming wound they now need to fix to keep pursuing you. Highly useful for those stubborn stun immune targets, who Sleeping Carp struggles to fight. As in, they can't really fight them. > Grab Stage A bit of my work and a bit of Melbert's has resulted in this being a lot more reasonable to reintroduce as a benefit. The original instant aggro-grabbing was definitely very oppressive, since it was a pseudo-hardstun that lead into a hardstun. Now this is a bit softer by comparison, and surprisingly quite important. I think the loss of good grabbing ended up filtering a lot of folk somewhat hard. > Removal of the override I was really taken with Spider Bite using baseline punches as the groundwork for the martial art and I wanted to work into that. Not only does it mean becoming a carp person is actually a great idea beyond the avoidance mechanic, but also for your actual basic punches improving. It just in general feels like it opens up possibilities in the game world to experiment and the design of martial arts in general. We should make more martial arts work like this. > Avoidance My original rework had one glaring flaw that continues to haunt it to this day. Defense stacking on Sleeping Carp is ridiculous. Layering defense upon defense makes the one particular immunity it grants, projectile immunity, all the more oppressive. Hiding behind high block and high armor makes you a menace. The end result is that more people utilize Sleeping Carp not for the martial art part, but for the projectile immunity part, usually using something else instead like a baton. This rubs me the wrong way. You would think and hope that the reason people take the martial art is to be a goofy martial artist in space. So, I'm implementing an idea I knew I could never pull off in the framework at the time. I'm implementing Unarmored Defense, bitch. (I was totally also not inspired by Payday 2 in any fashion, nope, not at all) I like the idea of forcing a choice between the goofy outfit that gives you bonuses over just getting the biggest armor you can find and turtling like a motherfucker. And I want people to focus on the martial arts and benefit from the martial arts when you're specifically unarmed. Maybe right now some of the restrictions are a little severe, so if anyone has any opinions, lemme know. ## Changelog 🆑 balance: Completely reworks Sleeping Carp, again. balance: The return of Stomach Knee (Kraken Wrack) and Wrist Wrench (Gnashing Teeth). Time is a flat circle. balance: Sleeping Carp has better grabs (no instant aggro grabs) balance: Sleeping Carp integrates normal unarmed punch by not overriding your normal punches. balance: Sleeping Carp's deflection weakens if you wear armored headwear and body armor, or while carrying objects. However, by wearing martial arts (or carp) themed outfits, you can improve your defenses instead, allowing you to not just dodge bullets, but also incoming melee attacks. balance: Some objects are exempt, like staff weapons (such as mops or the monk's staff), short blades (like knives and shortswords), club-like (baseball bats and toolboxes), or thematic (like extendo hands and carp plushies) balance: You can also get these improvements by being a literal carp or being a carp person. /🆑 --------- Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> |
||
|
|
b348b617a3 |
Merge branch 'master' of https://github.com/tgstation/tgstation into pupstream-2025-09-07
# Conflicts: # README.md # code/__DEFINES/admin.dm # code/__DEFINES/melee.dm # code/_globalvars/traits/_traits.dm # code/controllers/subsystem/economy.dm # code/datums/components/crafting/crafting.dm # code/datums/elements/crusher_loot.dm # code/modules/antagonists/pirate/pirate_shuttle_equipment.dm # code/modules/clothing/suits/_suits.dm # code/modules/escape_menu/leave_body.dm # code/modules/jobs/job_types/_job.dm # code/modules/mining/equipment/mineral_scanner.dm # code/modules/mob/living/living.dm # code/modules/plumbing/plumbers/pill_press.dm # tgui/packages/tgui/interfaces/Vending.tsx |
||
|
|
59f8de91dc |
Adds 5 Bond-tier gadgets to the Spy's reward pool (#92481)
## About The Pull Request 1. Penbang A flashbang disguised as a pen. Clicking the pen arms the flashbang and has no other visual or audio tell besides the pen clicking. The fuse's length is based on the angle the pen cap is twisted. Works as a normal pen otherwise. 2. Camera Flash A camera with a high power flash. Clicking on an adjacent target will flash them, ie, as a handheld flash. Works as a normal camera otherwise - no tell. 3. Dagger Boot A pair of jackboots with a blade embedded in them. Makes your kicks sharp, meaning they will cause bleeding. Looks like normal jackboots otherwise, though has a tell on double-examine 4. Monster Cube Box A box containing 5 monster cubes, which spawn into a random monster when wet. Monsters include Migos, Carps, Bears, Spiders, Wolves... 5. Spider Bite Scroll A martial art focused around kicks and grabs. - Punches against standing, staggered targets will instead kick them, applying the bonus accuracy and damage that you'd expect from a kick. (Also combos with the dagger boots) - All kicks have a chance to disarm the target's active weapon. Chance increases per sequential kick. - Grants you the innate ability to tackle. This form of tackling has a very high skill modifier, meaning you are very likely to get a positive outcome (or at least, not fail). You also get up fast from it. - Your grabs are 20% harder to escape from and deal an additional 10 stam damage on fail. ## Why It's Good For The Game 1, 2, 3: Just some random flavorful items, giving them some more toys to use to complete bounties. 4: Shenanigans, for people who just wanna do "funny thing" instead of focusing on big loot. 5: I figured it would fill a fun niche: Spies are commonly depicted as martial artists, and the only martial arts they can obtain is Krav Maga (it's not unique to Spies) and Sleeping Carp (it's not unique to Spies). This gives them their own thing that people may look forward to acquiring and playing around with. As for the design of it, I wanted to add something that synergizes with one of the other other items, so in the field if you notice both of them pop up you really want to go for both. The rest of the design I just filled in as vaguely useful and flavorful tools a spy might want for kidnapping or detaining people: Better grabs, tackling, and disarms. Then I just went with the flavor of it being something the Spider Clan used to teach to their Spies / Ninjas, kinda like an analog to the real life Ninjutsu. (Maybe we can give it to Space Ninjas as well later... since it doesn't especially benefit Ninjas in any way.) ## Changelog 🆑 Melbert add: Adds 5 rewards to the Spy item pool: Penbang, Camera Flash, Dagger-Boot, Monster Cube Box, and the Spider Bite martial art /🆑 |
||
|
|
753d8e5ba4 | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-04a | ||
|
|
52678d41b5 |
Everyone is kung fu fighting: Refactors martial arts / You can have multiple martial arts and swap between them (#89840)
## About The Pull Request Refactors martial arts off the mind. Don't worry the martial arts you learn still transfer with mindswap Instead, they are just tracked on a list on the mob, and they also independently track the datum that created them This fixes a lot of jank with martial arts, like say, having your krav maga gloves transfer across slime clones or something... But it also opens an opportunity: As we track all martial arts available, I added a verb (ic tab) that lets you swap between the ones you know  (Some don't let you swap like that one brain trauma) ## Why It's Good For The Game Aforementioned fixes a lot of jank Recently martial arts have just been up and disappearing and this was entirely spurred on by that bug Probably fixes #84710 (haven't checked) Probably fixes #89247 Probably fixes #89948 Probably fixes #90067 ## Changelog 🆑 Melbert refactor: Refactored martial arts, if you notice any oddities like managing to know two martial arts at once or having your powers disappear, report it! add: If you know multiple martial arts, such as krav maga from gloves and cqc from a book, you can now swap between them at will via a button in the IC tab! /🆑 --------- Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
b6b8306fda | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-02a | ||
|
|
4c2a76ede3 |
Fix a large number of typos (#89254)
Fixes a very large number of typos. A few of these fixes also extend to variable names, but only the really egregious ones like "concious". |
||
|
|
75696ab873 |
Fixes random stuff spilling into ooc tab (#88221)
## About The Pull Request `boldannounce` is NOT for use ICly it's only for OOC stuff. `bolddanger` is identical it just doesn't carry the same baggage ## Changelog 🆑 Melbert fix: Stuff like the SM exploding will no longer output to your OOC tab /🆑 |
||
|
|
e59d8ba64b | Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b | ||
|
|
bb70889f6e |
TG Upstream Part 1
3591 individual conflicts Update build.js Update install_node.sh Update byond.js oh my fucking god hat slow huh holy shit we all fall down 2 more I missed 2900 individual conflicts 2700 Individual conflicts replaces yarn file with tg version, bumping us down to 2200-ish Down to 2000 individual conflicts 140 down mmm aaaaaaaaaaaaaaaaaaa not yt 575 soon 900 individual conflicts 600 individual conflicts, 121 file conflicts im not okay 160 across 19 files 29 in 4 files 0 conflicts, compiletime fix time some minor incap stuff missed ticks weird dupe definition stuff missed ticks 2 incap fixes undefs and pie fix Radio update and some extra minor stuff returns a single override no more dupe definitions, 175 compiletime errors Unticked file fix sound and emote stuff honk and more radio stuff |
||
|
|
d4ac95a0e1 |
Nobody expects the span inquisition: replaces most <span>s with macros (#86798)
## About The Pull Request 123 changed files and multiple crashes after writing broken regex, I replaced most remains of direct spans with macros. This cleans up the code and makes it easier to work with in general, see justification for the original PR. I also fixed a bunch of broken and/or unclosed spans here too. I intentionally avoided replacing spans with multiple classes (in most cases) and spans in the middle of strings as it would impact readability (in my opinion at least) and could be done later if required. ## Why It's Good For The Game Cleaner code, actually using our macros, fixes borked HTML in some places. See original PR. ## Changelog Nothing player-facing |
||
|
|
58501dce77 |
Reorganizes the sound folder (#86726)
## About The Pull Request <details> - renamed ai folder to announcer -- announcer -- - moved vox_fem to announcer - moved approachingTG to announcer - separated the ambience folder into ambience and instrumental -- ambience -- - created holy folder moved all related sounds there - created engineering folder and moved all related sounds there - created security folder and moved ambidet there - created general folder and moved ambigen there - created icemoon folder and moved all icebox-related ambience there - created medical folder and moved all medbay-related ambi there - created ruin folder and moves all ruins ambi there - created beach folder and moved seag and shore there - created lavaland folder and moved related ambi there - created aurora_caelus folder and placed its ambi there - created misc folder and moved the rest of the files that don't have a specific category into it -- instrumental -- - moved traitor folder here - created lobby_music folder and placed our songs there (title0 not used anywhere? - server-side modification?) -- items -- - moved secdeath to hailer - moved surgery to handling -- effects -- - moved chemistry into effects - moved hallucinations into effects - moved health into effects - moved magic into effects -- vehicles -- - moved mecha into vehicles created mobs folder -- mobs -- - moved creatures folder into mobs - moved voice into mobs renamed creatures to non-humanoids renamed voice to humanoids -- non-humanoids-- created cyborg folder created hiss folder moved harmalarm.ogg to cyborg -- humanoids -- -- misc -- moved ghostwhisper to misc moved insane_low_laugh to misc I give up trying to document this. </details> - [X] ambience - [x] announcer - [x] effects - [X] instrumental - [x] items - [x] machines - [x] misc - [X] mobs - [X] runtime - [X] vehicles - [ ] attributions ## Why It's Good For The Game This folder is so disorganized that it's vomit inducing, will make it easier to find and add new sounds, providng a minor structure to the sound folder. ## Changelog 🆑 grungussuss refactor: the sound folder in the source code has been reorganized, please report any oddities with sounds playing or not playing server: lobby music has been repathed to sound/music/lobby_music /🆑 |
||
|
|
4c4930c71d | Merge branch 'master' of https://github.com/tgstation/tgstation into pulls-tg-to-fix-shit | ||
|
|
2f69fe6190 |
Adds three new deathmatch maps - Ragnarok, Lattice Battles, Species Showdown (#85319)
## About The Pull Request Adds three new deathmatch maps. ### Important nonDM Balance Changes Cult daggers fit on belts. Heretic blades fit on belts. Veil shifters fit on belts. I really don't know why these didn't, it makes inventory management rather annoying at times. It also screwed my loadouts over. Cursed Blades fit on cult robes. They're cult equipment after all. Bronze suits fit toy watches!! ### Ragnarok  A vicious battle in the jungle, between the three major religious sects: Prove your deity's might! And try not to upset any primates. Or fall into the chasm. Going clockwise: **Cultist Invoker**: Wielding a mirror shield, shielded robes, a sword, and some bolas, this cultist has a 'well-balanced' set of equipment to annihilate their opponents. **Cultist Artificer**: This set harnesses the blood magicks - with spells of stunning, blood rites, and ranged hallucinations, with a wicked Cursed Blade and Veil Shifter as implement, and Berserker Robes to finish the look. **Holy Crusader**: Nullifying most, but certainly not all, of the fearsome arsenal of the opponents with the null rod at their belt, the Crusader packs a dangerous claymore and armor to protect them from the demons. **Rat'var Apostate**: Hey, what's that guy doing there in the dark? They don't have any magic because their god is Fucking Dead, but they're still going to show up for a token effort. Good luck! **Heretic Scribe**: This mad soul wields an antique rifle and an assortment of other dangerous relics, with a set of magic geared towards staying far apart, picking enemies off from range and evading their attacks for the final blow. **Heretic Warrior**: With the deadliest of Mansus Magic at their disposal, this warrior is only limited by their ability to juggle all their spells at once - don't get overwhelmed sorting your spells while an Invoker runs at you with a sword and shield and makes you cry yourself to death. ### Lattice Battles  A fresh change of pace: In this pacifist map, the only way to kill your opponents is to snip the lattices and catwalks from under them. Watch your step. ### Species Warfare  Prove the might of your static by duking it out with every other kind of crewmember out there. Features a messy dorms, a ticking-timebomb atmos, a rather sterile robotics, a slippery closet, a fluffy medbay, and an energetic bridge. Mirror Shields now shatter on throw (which stuns and hurts) ## Code changes Added two new traits, TRAIT_ACT_AS_CULTIST and TRAIT_ACT_AS_HERETIC. Added these as an OR to respective IS_X checks. Added new GET_X checks for them, which do not check the trait. Tidied up the file those are in. Added belt_contents() to outfits, but it dosen't work.... Added a heretic rust sister-type to rust walls and floors. Fixed a typo in cult ascension. ## Why It's Good For The Game These maps all aim to do something interesting and unique with DM rather than the usual deathfest and hugging of random crates. Ragnarok allows players to practice unusual and rare magical mechanics, similar to Ragin' Mages. Lattice Battles adds SPLEEF to the game, which I think is awesome. Species Warfare is, I think, fun and funny. Each 'department' has incredibly chaotic and thematically-appropiate content for the species its meant to symbolize, and I look forward to the chaos that every round in it is inevitably going to have. > Mirror Shields now shatter on throw. I'm surprised they didn't! Since they aren't used anywhere I can do what I want with them. ## Code changes > Added two new traits, TRAIT_ACT_AS_CULTIST and TRAIT_ACT_AS_HERETIC. Added these as an OR to respective IS_X checks. Added new GET_X checks for them, which do not check the trait. I think this is a clever solution to the problem of 'what if I want someone who acts as the antag, but isn't?' Some procs do need the datum to modify it, so there's GET_X, but those aren't common and don't seem likely to be an issue. > Added belt_contents() to outfits, but it dosen't work.... Help would be very much appreciated, I don't know what I'm doing wrong here. It's only used for the heretic scribe's unfathomable curio. Some post-PR cleanup coming up. ## Changelog 🆑 add: Added three new DM maps - Ragnarok, Lattice Battles, Species Showdown. /🆑 |
||
|
|
224b8362c7 |
[MIRROR] Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death (#28683)
* Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death * Conflict Removal * Update bow_arrows.dm * Update bow_arrows.dm * tthis also update the actual bow & arrow code * Update arrow.dm * [MIRROR] Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death [MDB IGNORE] (#3595) * Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death * modularize bone dice(???) * gives the cargo crate arrows * conflict * icon updates rotates our bows the same way, adds invisible pixels for easier loading to our primitive bows, removes bow/arrow icons that are clones of upstream's also a hack for arrow overlays on bows- currently just defaults to default arrows if an overlay doesn't exist for it, but our only arrows aren't that distinct with default arrows at that size (we do not have alternative arrow overlay sprites) * recipe changes im not gonna try explaining everything here but the general idea is that the cargo fletching kit is sorta novelty bows, and the big boy stuff you get from smithing * update ammo hud for bows * this shouldn't be here * i forgot to save these cleans up the recipes, ashwalker arrows are just made by combining by hand (you could already do this, the recipes were a noobtrap) and the cargo kit is cheaper * un-nerf the chaplain bow --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: Fluffles <piecopresident@gmail.com> * Update crafting.dm * Update bow.dm --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com> Co-authored-by: NovaBot <154629622+NovaBot13@users.noreply.github.com> Co-authored-by: Fluffles <piecopresident@gmail.com> |
||
|
|
1fdf3d739a |
[MIRROR] Donk Co Interstellar Trading Post 6016 (#29007)
* Donk Co Interstellar Trading Post 6016 (#83075) ## About The Pull Request Adds a new space ruin to the pool. It's the haunted trading post. It is a whiteship dock with a large (safe) common area. The back rooms contain loot and danger. Here are a few 'teaser' images. https://i.imgur.com/M1te9Ha.png https://i.imgur.com/SF3bJ62.png https://i.imgur.com/i9xeUFP.png https://i.imgur.com/UBwpJAM.png Notable treasures: Cash, Donk Co merch, Donk Co guns, Donk Co Donk Pockets, Donk Co vendors, Donk Co ID Cards, and the Donk Co Secret Recipe. Oh yeah the secret documents teach you how to make three prototype variants of Donk Pockets. There is no limit to the amount of times it can be read, so if you want to corner the market remember to lock up the documents. Or you can share them with your friends. **Now COMPLETE!**  ## Why It's Good For The Game This ruin is a multi-room dungeon with multiple solutions to each room. It has plenty of action from mobs, traps and hazards. Each room has some form of treasure or unique item in it. There's a boss at the end with great rewards for fighting it, including a cool gun (slightly worse variant of laser carbine). This ruin is also a whiteship dock and space base. The public area is entirely safe: stick to the well lit sector and don't trespass in the employees only areas and you won't be harmed. There is a variety of vendors to resupply at (including a brand new Donk Co snack vendor) but unlike most other space ruins you do have to pay. A whiteship can dock at this ruin if you have one, so you can bring groups of people to party or attack the dungeon together. ## Changelog 🆑 add: Adds the Haunted Trading Post space ruin. add: Adds 10+ unique items for the Haunted Trading Post add: Adds 5 dangerous mobs for the Haunted Trading Post add: Adds 4 new types of hazardous traps for the Haunted Trading Post. /🆑 --------- Co-authored-by: Afevis <ShizCalev@ users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> * Donk Co Interstellar Trading Post 6016 * [MIRROR] Donk Co Interstellar Trading Post 6016 [MDB IGNORE] (#3943) * Donk Co Interstellar Trading Post 6016 * i'd rather a pepsi --------- Co-authored-by: Da Cool Boss <142358580+DaCoolBoss@users.noreply.github.com> Co-authored-by: Fluffles <piecopresident@gmail.com> --------- Co-authored-by: Da Cool Boss <142358580+DaCoolBoss@users.noreply.github.com> Co-authored-by: Afevis <ShizCalev@ users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> Co-authored-by: NovaBot <154629622+NovaBot13@users.noreply.github.com> Co-authored-by: Fluffles <piecopresident@gmail.com> |
||
|
|
b748c455df |
Donk Co Interstellar Trading Post 6016 (#83075)
## About The Pull Request Adds a new space ruin to the pool. It's the haunted trading post. It is a whiteship dock with a large (safe) common area. The back rooms contain loot and danger. Here are a few 'teaser' images. https://i.imgur.com/M1te9Ha.png https://i.imgur.com/SF3bJ62.png https://i.imgur.com/i9xeUFP.png https://i.imgur.com/UBwpJAM.png Notable treasures: Cash, Donk Co merch, Donk Co guns, Donk Co Donk Pockets, Donk Co vendors, Donk Co ID Cards, and the Donk Co Secret Recipe. Oh yeah the secret documents teach you how to make three prototype variants of Donk Pockets. There is no limit to the amount of times it can be read, so if you want to corner the market remember to lock up the documents. Or you can share them with your friends. **Now COMPLETE!**  ## Why It's Good For The Game This ruin is a multi-room dungeon with multiple solutions to each room. It has plenty of action from mobs, traps and hazards. Each room has some form of treasure or unique item in it. There's a boss at the end with great rewards for fighting it, including a cool gun (slightly worse variant of laser carbine). This ruin is also a whiteship dock and space base. The public area is entirely safe: stick to the well lit sector and don't trespass in the employees only areas and you won't be harmed. There is a variety of vendors to resupply at (including a brand new Donk Co snack vendor) but unlike most other space ruins you do have to pay. A whiteship can dock at this ruin if you have one, so you can bring groups of people to party or attack the dungeon together. ## Changelog 🆑 add: Adds the Haunted Trading Post space ruin. add: Adds 10+ unique items for the Haunted Trading Post add: Adds 5 dangerous mobs for the Haunted Trading Post add: Adds 4 new types of hazardous traps for the Haunted Trading Post. /🆑 --------- Co-authored-by: Afevis <ShizCalev@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
aefec7cb2b |
Corrects 200+ instances of "it's" where it should've been "its" instead (#85169)
## About The Pull Request it's - conjunction of "it" and "is" its - possessive form of "it" grammar is hard, and there were a lot of places where "it's" was used where it shouldn't have been. i went and painstakingly searched the entire repository for these instances, spending a few hours on it. i completely ignored the changelog archive, and i may have missed some outliers. most player-facing ones should be corrected, though ## Why It's Good For The Game proper grammar is good ## Changelog 🆑 spellcheck: Numerous instances of "it's" have been properly replaced with "its" /🆑 |
||
|
|
5f80128fa9 |
Corrects 200+ instances of "it's" where it should've been "its" instead (#85169)
## About The Pull Request it's - conjunction of "it" and "is" its - possessive form of "it" grammar is hard, and there were a lot of places where "it's" was used where it shouldn't have been. i went and painstakingly searched the entire repository for these instances, spending a few hours on it. i completely ignored the changelog archive, and i may have missed some outliers. most player-facing ones should be corrected, though ## Why It's Good For The Game proper grammar is good ## Changelog 🆑 spellcheck: Numerous instances of "it's" have been properly replaced with "its" /🆑 |
||
|
|
e4adc1a939 |
Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death (#84435)
## About The Pull Request Adds a new crate to the Service section of cargo. The Fletching and Bow-Making Starter Kit. Comes with some materials and a fletching instruction manual. The manual teaches you how to make shortbows (18 force from normal arrows utilizing projectile multipliers), arrows, holy arrows (but you need a divine bow to make them), quivers (but they only hold 10 arrows), plastic arrows and violins. For reasons.  ### Fixes Bows now no longer utilize hardcoded sprites for their loaded sprite. Now they use overlays. Bows properly become undrawn once fired. No longer can your bow magically launch arrows by sheer force of will. ## Why It's Good For The Game Initially I just wanted to provide a way for bow wielding chaplains to produce additional arrows for their bow. Running out of those always felt pretty lame. But then I got to thinking; actually, I kind of want to LARP sometimes as an archer. I think that'd be kind of goofy and fun. So I bundled that together into a solution for both. The shortbow is really, really not meant to be a meaningful weapon. It's just kind of silly, and meant to let people pretend to be Robin Hood and occasionally hurt someone in a workplace accident. I'm particularly thinking of clowns being the perfect users for this with their clumsy trait. I will make this weaker if I have too. (I am not, at this moment, redoing flaming arrows okay? I saw the code comment. I know. Not right now. @tralezab, if you have any flaming arrow sprites lying around, please let me know.) ## Changelog 🆑 add: Fletching starter kit! Make your own bow, shoot your friends in an unfortunate workplace accident. Replace all those holy arrows you lost. fix: Bows now properly undraw once they have fired an arrow. code: Bows now utilize overlays in order to display loaded arrows. Unique overlays per arrow. /🆑 |
||
|
|
e93a5b8edc |
[MIRROR] Adds Atmos-themed Rebar Crossbow Ammo Types (and minor balance changes) (#28087)
* Adds Atmos-themed Rebar Crossbow Ammo Types (and minor balance changes) (#83310) ## About The Pull Request So this PR comes in two basic parts: the new ammo types and the minor balance changes. I'll go over each separately. **--- NEW AMMO TYPES ---**  -- Metallic Hydrogen Ammo: Made from Metallic Hydrogen, obviously. Has middling damage and no dismemberment chance, but pierces through armor and enemies like they weren't even there. -- Zaukerite Slivers: Made from a zaukerite crystal. Does high toxic damage, and has excellent wounding and embed chances, but lacking in armor penetration. Also gives 1 second of blurry vision if it hits you! -- Paper balls: Crafted from a sheet of paper. Mostly just a throwing joke item, and 99% nonlethal like donksoft. Can be fired from a crossbow, but also could be used if you wanted to have a snowball fight on metastation. -- Healium Crystal Bolts! Crafted (using menu) from the healium grenade item. Heals 30 of brute/tox/burn, but puts who is hit by it to sleep for three seconds, limiting its use in actual combat. -- Supermatter Bolts: Dusts whoever you shoot it at! Absurdly overpowered! Admin only! -- A makeshift quiver, made from cutting a o2 tank in half, to store all the ammo in. **MINOR BALANCE CHANGES** -- For some reason I thought the 357, which the traitor crossbow is a direct competitor to, did 40 damage when making the first version of the PR, instead of the reality of it doing 60. It's been buffed to 55 damage. (The basic engi one still does 35.) -- I've been informed that generally, the stressed rebar crossbow isn't ever used, as the misfire chance isnt worth the extra shot. As such, I felt it was thematic to say that the stressing procedure involves messing with the draw system in the fluff, and the stressed one now takes half as long to rack. **OTHER CRAP** -- The rods now drop themselves if you shoot them at a wall. Hopefully. -- Fixed the the non-bare wound chance on the traitor crossbow not being increased from the base version. -- Has a nice electronic discharge noise on firing. ## Why It's Good For The Game I'm very happy with the reception of the rebar crossbow, and felt that given it was an engi weapon at heart, giving it some engi-related ammunition would fit it very well (and also have a good reason for making zaukerite besides selling it.) The paper balls were more just so the crew could able to shoot their buddies with it and not maim them. As for the balance, I feel the tot crossbow being department restricted is already a strong factor in it being infrequently seen, and if someone is lucky enough to roll traitor in a job slot, it's a shame if their job's items aren't worth it. The stressed variant is a similar case, and I hope it's enough of a buff to encourage its use. ## Changelog 🆑 WebcomicArtist add: Added zaukerite (high damage/embed, low AP) and metallic hydrogen (High AP and piercing, but low embed) crossbow ammo for the rebar crossbows add: Added healium crystal ammo for the crossbow as well, which heals whomever you shoot it at. add: Added admin-only supermatter crossbow bolts that dust you, because why the hell not. add: Added non-harmful paper balls. Can be shot from a crossbow, or thrown at co-workers. add: Added a quiver made from cutting an o2 tank in half, to hold it all. image: added sprites for all the above. balance: Traitor Engineer Crossbow ammo now does 55 damage instead of 45, to make it compete with revolver. balance: Stressed Rebar Crossbow now has a shorter delay required to rack it, but can shoot you in the face on misfire. fix: fixed rebar crossbow shots not dropping items on hitting walls fix: fixed traitor crossbow having worse wound chance than the base one sound: added new crossbow firing sound effect /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com> * Adds Atmos-themed Rebar Crossbow Ammo Types (and minor balance changes) --------- Co-authored-by: KingkumaArt <69398298+KingkumaArt@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com> |
||
|
|
ed4ba0d227 |
Adds Atmos-themed Rebar Crossbow Ammo Types (and minor balance changes) (#83310)
## About The Pull Request So this PR comes in two basic parts: the new ammo types and the minor balance changes. I'll go over each separately. **--- NEW AMMO TYPES ---**  -- Metallic Hydrogen Ammo: Made from Metallic Hydrogen, obviously. Has middling damage and no dismemberment chance, but pierces through armor and enemies like they weren't even there. -- Zaukerite Slivers: Made from a zaukerite crystal. Does high toxic damage, and has excellent wounding and embed chances, but lacking in armor penetration. Also gives 1 second of blurry vision if it hits you! -- Paper balls: Crafted from a sheet of paper. Mostly just a throwing joke item, and 99% nonlethal like donksoft. Can be fired from a crossbow, but also could be used if you wanted to have a snowball fight on metastation. -- Healium Crystal Bolts! Crafted (using menu) from the healium grenade item. Heals 30 of brute/tox/burn, but puts who is hit by it to sleep for three seconds, limiting its use in actual combat. -- Supermatter Bolts: Dusts whoever you shoot it at! Absurdly overpowered! Admin only! -- A makeshift quiver, made from cutting a o2 tank in half, to store all the ammo in. **MINOR BALANCE CHANGES** -- For some reason I thought the 357, which the traitor crossbow is a direct competitor to, did 40 damage when making the first version of the PR, instead of the reality of it doing 60. It's been buffed to 55 damage. (The basic engi one still does 35.) -- I've been informed that generally, the stressed rebar crossbow isn't ever used, as the misfire chance isnt worth the extra shot. As such, I felt it was thematic to say that the stressing procedure involves messing with the draw system in the fluff, and the stressed one now takes half as long to rack. **OTHER CRAP** -- The rods now drop themselves if you shoot them at a wall. Hopefully. -- Fixed the the non-bare wound chance on the traitor crossbow not being increased from the base version. -- Has a nice electronic discharge noise on firing. ## Why It's Good For The Game I'm very happy with the reception of the rebar crossbow, and felt that given it was an engi weapon at heart, giving it some engi-related ammunition would fit it very well (and also have a good reason for making zaukerite besides selling it.) The paper balls were more just so the crew could able to shoot their buddies with it and not maim them. As for the balance, I feel the tot crossbow being department restricted is already a strong factor in it being infrequently seen, and if someone is lucky enough to roll traitor in a job slot, it's a shame if their job's items aren't worth it. The stressed variant is a similar case, and I hope it's enough of a buff to encourage its use. ## Changelog 🆑 WebcomicArtist add: Added zaukerite (high damage/embed, low AP) and metallic hydrogen (High AP and piercing, but low embed) crossbow ammo for the rebar crossbows add: Added healium crystal ammo for the crossbow as well, which heals whomever you shoot it at. add: Added admin-only supermatter crossbow bolts that dust you, because why the hell not. add: Added non-harmful paper balls. Can be shot from a crossbow, or thrown at co-workers. add: Added a quiver made from cutting an o2 tank in half, to hold it all. image: added sprites for all the above. balance: Traitor Engineer Crossbow ammo now does 55 damage instead of 45, to make it compete with revolver. balance: Stressed Rebar Crossbow now has a shorter delay required to rack it, but can shoot you in the face on misfire. fix: fixed rebar crossbow shots not dropping items on hitting walls fix: fixed traitor crossbow having worse wound chance than the base one sound: added new crossbow firing sound effect /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
a2cad3c467 |
Pipegun updates and glowup (#83063)
## About The Pull Request Updates pipeguns with a brand new set of sprites. Also comes with pipe pistols; plinkier versions of the pipegun.    Alters pipeguns away from utilizing shotgun/rifle ammunition towards a bespoke junk round ammo. These shells are crafted similarly to current improvised shells. This also removes improvised shells as a shotgun ammo type. (these new shells aren't shotgun shells to begin with, they're more like rifle bullets) Crafting junk rounds produces an entirely unknown projectile in the shell. You won't know what you get until you fire the gun. Almost in every instance, however, the shot is beneficial towards killing things. And they all do about the same amount of damage, so there is hopefully never a round you didn't want to fire in the gun. Fighting someone with a pipegun is usually predictable for what amount of damage it will do, but any additional effects it might have is going to be an unknown factor. They also brutalize borgs, which is a quality that improvised shells had previously. Pipeguns operate as they did before, and do roughly 40 damage per shot with the majority of their ammo types (less than what they do currently with .310). They only have one shell in the gun at a time, so every time they're fired, they must be reloaded. Pipe pistols do roughly 15 damage per shot, but hold more ammo than the bigger pipegun. However, they're more likely to veer off-course. There are regal versions of each of these weapons, and each are more potent respective of their general rarity. Having one is going to be a lot more noteworthy. ### Minor changes Some more clothing items can carry pipeguns in their suit storage. The icemoon hermit spawns with a heroic laser musket rather than a regal pipegun (partially because it is too difficult for the hermit to get more ammo for their gun, and also because the regal pipegun is a more powerful weapon than previously) ## Why It's Good For The Game It has been a few years since I added the pipegun, and time was never particularly kind to it. There are alternative weapons now with interesting mechanics of their own. The ammunition it used has changed considerably. And it simply didn't ever feel like a 'junk gun' in a way that was fun. The original mechanics added to give it that feeling were just not fun to experience and were removed. So the pipegun has been left as 'a shitty version of X'. Even the regal pipegun was, at the end of the day, a shittier version of either a shotgun or cargo rifle. It didn't feel right not having some kind of unique quality to using these weapons that help them express themselves as unpredictable trash weapons built inside of maintenance. But I expressly didn't want to make it 'unpredictable' in a way that felt unfair on the person getting shot either. So just giving it more damage was right out. As a compromise, I reduced the overall lethality of the weapons while introducing a gimmick that will appeal to those wanting to play out the role of a homeless lunatic with a shitty homemade gun stalking maintenance. A 'chaos gun' so to speak. Maybe that will appeal to people. ## Changelog 🆑 balance: Reworks pipeguns to use an unpredictable 'junk round'. You won't know what you're shooting until you fire it. add: Introduces a pistol version of the pipegun; the pipe pistol. It is inaccurate and does significantly less damage, but more portable and has more ammunition in the gun. image: Updates the visuals of the pipeguns. balance: Also improves the Regal varieties of these weapons. By a lot. balance: More articles of clothing can be used to carry pipeguns in suit storage. balance: The Icemoon Hermit comes with a Heroic Laser Musket instead of a Regal Pipegun. remove: Improvised shells (the shotgun shell) has been replaced with improvised junk shells (which don't work with shotguns but do work with pipeguns). /🆑 --------- Co-authored-by: Jacquerel <hnevard@ gmail.com> |
||
|
|
6fd6ebd850 |
Pipegun updates and glowup (#83063)
## About The Pull Request Updates pipeguns with a brand new set of sprites. Also comes with pipe pistols; plinkier versions of the pipegun.    Alters pipeguns away from utilizing shotgun/rifle ammunition towards a bespoke junk round ammo. These shells are crafted similarly to current improvised shells. This also removes improvised shells as a shotgun ammo type. (these new shells aren't shotgun shells to begin with, they're more like rifle bullets) Crafting junk rounds produces an entirely unknown projectile in the shell. You won't know what you get until you fire the gun. Almost in every instance, however, the shot is beneficial towards killing things. And they all do about the same amount of damage, so there is hopefully never a round you didn't want to fire in the gun. Fighting someone with a pipegun is usually predictable for what amount of damage it will do, but any additional effects it might have is going to be an unknown factor. They also brutalize borgs, which is a quality that improvised shells had previously. Pipeguns operate as they did before, and do roughly 40 damage per shot with the majority of their ammo types (less than what they do currently with .310). They only have one shell in the gun at a time, so every time they're fired, they must be reloaded. Pipe pistols do roughly 15 damage per shot, but hold more ammo than the bigger pipegun. However, they're more likely to veer off-course. There are regal versions of each of these weapons, and each are more potent respective of their general rarity. Having one is going to be a lot more noteworthy. ### Minor changes Some more clothing items can carry pipeguns in their suit storage. The icemoon hermit spawns with a heroic laser musket rather than a regal pipegun (partially because it is too difficult for the hermit to get more ammo for their gun, and also because the regal pipegun is a more powerful weapon than previously) ## Why It's Good For The Game It has been a few years since I added the pipegun, and time was never particularly kind to it. There are alternative weapons now with interesting mechanics of their own. The ammunition it used has changed considerably. And it simply didn't ever feel like a 'junk gun' in a way that was fun. The original mechanics added to give it that feeling were just not fun to experience and were removed. So the pipegun has been left as 'a shitty version of X'. Even the regal pipegun was, at the end of the day, a shittier version of either a shotgun or cargo rifle. It didn't feel right not having some kind of unique quality to using these weapons that help them express themselves as unpredictable trash weapons built inside of maintenance. But I expressly didn't want to make it 'unpredictable' in a way that felt unfair on the person getting shot either. So just giving it more damage was right out. As a compromise, I reduced the overall lethality of the weapons while introducing a gimmick that will appeal to those wanting to play out the role of a homeless lunatic with a shitty homemade gun stalking maintenance. A 'chaos gun' so to speak. Maybe that will appeal to people. ## Changelog 🆑 balance: Reworks pipeguns to use an unpredictable 'junk round'. You won't know what you're shooting until you fire it. add: Introduces a pistol version of the pipegun; the pipe pistol. It is inaccurate and does significantly less damage, but more portable and has more ammunition in the gun. image: Updates the visuals of the pipeguns. balance: Also improves the Regal varieties of these weapons. By a lot. balance: More articles of clothing can be used to carry pipeguns in suit storage. balance: The Icemoon Hermit comes with a Heroic Laser Musket instead of a Regal Pipegun. remove: Improvised shells (the shotgun shell) has been replaced with improvised junk shells (which don't work with shotguns but do work with pipeguns). /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
7aa6664021 |
Mirror (#27453)
* Fix Conflicts * Change COGBAR_ANIMATION_TIME to seconds and not deciseconds (#82530) Most people should not be using this define * New Battle Arcade (#81810) Remakes Battle Arcade from just about the ground up, with exceptions taken for emagged stuff since I didn't really want to touch its behavior. The Battle Arcade now has stages that players can go through, unlocking a stage by beating 2 enemies and the boss of the previous one, but this must all be done in a row. You can choose to take a break between each battle and there's a good chance you'll sleep just fine but there's also a chance it can go wrong either through an ambush or robbery. The Inn lets you restore everything for 15 gold and you can buy a sword and armor, each level you unlock is a new sword and armor pair you can buy that's better than the last, it's 30 gold each but scales up as you progress through levels. They are really worth getting so it's best to try to not lose your money early in. The battle system is nearly the same as how it was before but I removed the poor combo system that plagued the old arcade as one big knowledge lock, now it's more just turn based. The game is built on permadeath so dying means you restart from the beginning, but if you are going to lose you can try to escape instead which costs you half of your gold. Getting to higher levels increases the difficulty of enemies but also increases the gaming exp rewards which could make this a better way to get exp if you can get good at it. Gaming EXP is used to increase chances of counterattacking but doesn't give any extra health to the player. I also removed the exploit of being able to screwdriver arcade cabinets because people would do that if they thought they were on the verge of losing to bypass the effects of loss. I instead replaced it with a new interaction that the Curator's display case key can be used to reset arcade cabinets (there's several keys on the chain so it made sense to me), which I added solely because I thought Curators would be the type of person to have run an actual arcade. This is some gameplay https://github.com/tgstation/tgstation/assets/53777086/499083f5-75cc-43b5-b457-017a012beede As a misc sidenote, I also split up the arcade file just like how Orion Trail was before, just for neat code organization. The Inn keeper is straight up just a photo of my localhost dude, he's not a player reference or anything it's not my actual character. I also have no idea how well balanced this is cause I suck at it lol. Battle Arcade is one of 3 last machines in my hackmd here to turn into TGUI https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA?view I've always thought the current version of battle arcade is quite lame and lacks any progression, like Orion Trail I thought that since I was moving this to TGUI, it would also be a perfect opportunity to revamp it and try to improve on where it failed before, especially since the alternative (NTOS Arcade) is also lame as hell and is even lamer than HTML battle arcade (spam mana, then spam health, then just spam attack, rinse and repeat). This will hopefully be more entertaining and give players sense that they are getting through a series of tasks rather than doing one same one again and again. 🆑 JohnFulpWillard, Zeek the Rat add: Battle Arcade has been completely overhauled in a new progression system, this time using TGUI. add: The Curator's keys can now reset arcade cabinets. balance: You now need to be literate to play arcade games, except for Mediborg's Amputation Adventure. fix: You can no longer screwdriver emagged arcade consoles. Accept your fate. fix: Silicons can no longer play Mediborg's Amputation Adventure. /🆑 --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> * Change setting item weight class to a setter to patch some weight class related shenanigans (#82494) ## About The Pull Request Fixes #81052 Fixes #58008 Setting weight class of items is now done via `update_weight_class`. I updated as many occurrences of manually setting `w_class` as I could find but I may have missed some. Let me know if you know of any I missed. This is done to allow datums to react to an item having its weight class changed. Humans and atom storage are two such datums which now react to having an item in its contents change weight class, to allow it to expel items that grow to a weight class beyond what is normally allowed. ## Changelog 🆑 Melbert fix: You can't fit items which are normally too large for a storage by fitting it in the storage when it is small, then growing it to a larger size. /🆑 * Material datum color update, plus touching up some material items (knight armor, tiles) (#82500) ## About The Pull Request Tries to bring the material datum colors in closer approximation to the stacks they're attached too. I literally used the colors on the stacks. some might need to be lighter or darker, but for the most part they'll look...closer to their actual material hues.  I've also tweaked the sprites of both the tile object and the actual material tile turf to give it the right shading.  In addition to the tiles, I've also updated the knight armor and helmet to look closer to the much higher quality plate armor already in the game. ## Why It's Good For The Game It bothered me that the material datum coloring was inconsistent with the actual colors used for the material stacks. When they were updated, and even before they were updated, material datum stuff just never looked _right_. I wanted to change that so that it looks just right. I did not like the old material knight armor whatsoever. It was a dithered mess, and seemed to already use parts of the standard plate armor but with all the actual shading removed or replaced with the wrong colors. This fixes that so that the armor is actually readable for what it is. ## Changelog 🆑 image: Updates the colors of various material datum to bring them closer in-line with their actual material stacks image: Improves the sprites for the material knight armor and helmet. /🆑 * LateInitialize is not allowed to call parent anymore (#82540) ## About The Pull Request I've seen a few cases in the past where LateInitialize is done cause of the init return value being set to do so for no real reason, I thought I should try to avoid that by ensuring LateInitialize isn't ever called without overriding. This fixes a ton of machine's LateInitialize not calling parent (mechpad, door buttons, message monitor, a lot of tram machines, abductor console, holodeck computer & disposal bin), avoiding having to set itself up to be connected to power. If they were intended to not connect to power, they should be using ``NO_POWER_USE`` instead. Also removes a ton of returns to LateInit when it's already getting it from parent regardless (many cases of that in machine code). ## Why It's Good For The Game I think this is better for coding standard reasons as well as just making sure we're not calling this proc on things that does absolutely nothing with them. A machine not using power can be seen evidently not using power with ``NO_POWER_USE``, not so much if it's LateInitialize not calling parent. ## Changelog 🆑 fix: Mech pads, door buttons, message monitors, tram machines, abductor consoles & holodeck computers now use power. /🆑 * Fix table top deconstruction (#82508) ## About The Pull Request Edited: updated changelog, read comments for changes in implementation details So previously, tables would let you use a wrench to fully deconstruct them, or a screwdriver to take off only their top. This, however, broke in two different ways in #82280, when their deconstruction logic got changed. First off, deconstructed tables would only drop the materials for their top and not their frame. For this, the primary culprit seems to be on line 307: https://github.com/tgstation/tgstation/blob/c34d56a45b0461f5e0fad3cc75e81580c3357119/code/game/objects/structures/tables_racks.dm#L300-L307 Where `new framestack(target_turf, framestackamount)` accidentally got an extra indent, and ended up in the less common half of the if-else chain. Just moving this outside of the if-else chain again fixes it. Secondly, tables had their own special deconstruction logic, which got 'standardized'. Issue. This was special to accommodate for having two different deconstruction logics: full or top only. With `deconstruct(...)` no longer being overridable, I feel it's awkward to attempt to proxy that information to the new `atom_deconstruct(...)` So we introduce a new method, `deconstruct_top`, for the screwdriver to use, which handles deconstructing only the top. ```dm /obj/structure/table/proc/deconstruct_top() var/obj/table_frame = new frame(loc) if(obj_flags & NO_DECONSTRUCTION) table_frame.obj_flags |= NO_DECONSTRUCTION else // Mimic deconstruction logic, only drop our materials without NO_DECONSTRUCTION var/turf/target_turf = get_turf(src) drop_top_mats(target_turf) qdel(src) ``` Mimicking the `NO_DECONSTRUCTION` logic of normal deconstruction, and copying over the flag onto its frames if need be. This fixes screwdriver deconstruction. ## Why It's Good For The Game Fixes #82503. We can now deconstruct the table top separately again, AND get the right materials back too. ## Changelog 🆑 00-Steven, SyncIt21 fix: Wrench table deconstruction gives the right materials again. fix: Screwdriver table deconstruction only deconstructs the top again. /🆑 * [NO GBP] Reagent grinders display reagents on examination (#82535) ## About The Pull Request - Fixes #82531 Somehow omitted this during the general maintenance thing ## Changelog 🆑 fix: Reagent grinders display reagents of its beaker on examination /🆑 * Monkeys now use height offset (and monkey tail works) (#81598) This PR adds the ability for monkeys to wear any jumpsuit in the game, and adds support for them to wear things like coats, gloves, and shoes (though this cannot be obtained in-game and is solely achieved through admins, which I also improved a bit upon by adding a defined bitfield for no equip flags). This reverts a lot of changes from https://github.com/tgstation/tgstation/pull/73325 - We no longer check height from limbs and such to bring sprites down, instead monkeys now work more similarly to humans, so the entire PR was made irrelevant, and I didn't really want to leave around dead code for the sake of having a human with longer legs. I've now also added support for Dwarfism, which makes monkeys look even smaller. Very minor change but at least now the mutation doesn't feel like it does literally nothing to monkeys (since they can already walk over tables). Here's a few examples of how it can appear in game (purely for demonstration, as it is currently intentionally made impossible to obtain in-game, though if someone wants to change that post-this PR now that support is added, feel free): Tails have been broken for a while now, the only reason you see them in-game is because they are baked into the monkey sprites. This fixes that, which means humans can now get monkey tails implanted into them (hell yeah) and monkeys can have their tails removed (also hell yeah) * Gets [weird] with (spies) by adding protect and deuteragonist-flavored objectives. (#82447) ## About The Pull Request What are their goals? Why are they doing this? gets weird with Spy objectives - namely by adding a lot more ways spies might be asked to affect various targets around the station. the first of these is by several flavors of Protecting targets (these do NOT print a success at roundend in keeping with Spy design:) - Protect (get a humanoid target off alive) - Protect Nonhuman (get an entity off alive) - Jailbreak (make sure a humanoid target escapes free) - Detain (make sure a humanoid target gets taken out arrested) the second of this is by a new escape condition: - Exile (get off-station or off the Z-level by the end of the shift - sometimes it's not just pods, you need to fuck off to space to win.) the third is through a massive increase in the number of possible: - objective templates - departments to target (Command + Service added) - specific locations to target - general classes of objects to target (medicines, floor tiles, critical infrastructure, etc.) - efforts to target (such as meals, mechs, public supplies) - ways to leave (you can be asked to abscond from the scene of your crimes?) ## Why It's Good For The Game More goofy and weird prompts to do more interesting things with Spies. One thing I think we're sorely missing in our lineup is antagonists that can act a bit more as deuteragonists - very possibly helping the crew under certain conditions and frustrating the Hell out of them in others. Since there's no way to check their objectives, and they get their gear/progression through stealing shit, they're still very much an antagonist and exist under the suspicion of doing bad... but, just going by their objectives, introducing more varied (and in some cases even benign) goals for them creates suggestions pointing to a lot more varied and interesting stories if people choose to run with it. * Adds anosmia quirk (#82206) ## About The Pull Request Adds anosmia quirk. Anosmia, also known as smell blindness, is the loss of the ability to detect one or more smells. I tried to find all smells action and (most likely) update all of them, unfortunately I can't change descriptions for this quirk. ## Why It's Good For The Game Some characters will be able to not feel smells That affect: * Gases feelings and alerts (CO2, Plasma, miasm) - you don't feel them * Bakery and cooking * Changeling ability to feel other changelings by smell * Some unimportant spans * Explosions Part I - Directional Explosions (#82429) ## About The Pull Request Adds the ability for explosions to be directional. This is achieved by adding an angle check to `prepare_explosion_turfs()` to drop any turfs outside the cone of the explosion. If the arc covers a full 360 degrees, as is the default, it will accept all the turfs without performing the angle check. Uses this functionality to rework both rocket launcher backblast and X4 explosions. Rocket launcher backblast has been changed from a shotgun of indendiary bullets to a directional explosion of similar length. X4 now uses a directional explosion to "ensure user safety". Apparently the old method of moving the explosion one tile away didn't even work, as it blew up `target` before trying to check its density for the directional behaviour. https://youtu.be/Mzdt7d7Le2Y ## Why It's Good For The Game Directional explosions - Useful functionality for a range of potential use cases, which can be implemented with minimal extra processing cost (Worst case scenario being very large directional explosions) Backblast - Looks way cooler than a bunch of projectiles, and should be significantly more functional in high-lag situations where projectile code tends to get fucky X4 - More predictable for players wanting to use it as a breaching charge, you can actually stand near the charge and not have to worry about being hoist upon your own petard. ## Changelog 🆑 add: Added support for directional explosions. add: Rocket launcher backblast is now 271% more explosive, check your six for friendlies! add: X4 charges now explode in a cone away from the user when placed on a sufficiently solid object. fix: X4 charges will now behave correctly when placed on dense atoms (note: don't try to read a variable from an atom you just blew up) /🆑 * Add balloon alerts to plunging (#82559) ## About The Pull Request Makes all plunging actions (pretty much anything using `plunger_act`) have a visible balloon alert. ## Why It's Good For The Game Makes sense that others would easily notice you plunging the shit out of something. Also, more people might finally learn that you can plunge the vent clogs instead of welding them. ## Changelog 🆑 qol: Added balloon alerts whenever you start plunging something (i.e ) /🆑 * Fixes spurious runtime on Icemoon caused by turf calling unimplemented LateInitialize() (#82572) ## About The Pull Request As of https://github.com/tgstation/tgstation/pull/82540 this runtime was happening,  `/turf/open/openspace/icemoon/` can be changed to `/turf/open/misc/asteroid/snow/icemoon/do_not_chasm` before `Initialize()` returns, which resulted in it `INITIALIZE_HINT_LATELOAD` getting returned on a turf that does not have an implementation of that proc. This should fix that. ## Why It's Good For The Game Fixes CI error * Blueprints tgui (#82565) Blueprints now use a TGUI panel instead of the old HTML one. Also did general code improvement and maintaining to blueprints in general and also destroyed the ``areaeditor`` level, repathing it to just 'blueprints'. Also adds a sound when you look at structural data cause why not Video demonstration: https://github.com/tgstation/tgstation/assets/53777086/861773fd-3d57-472d-bc94-d67b0d4f1dbd The 4 blueprint types:  Another HTML menu dead underground. This is more responsive and doesn't require constant updating to see which area you're in, feels less OOC (instead of saying "the blueprints say", just say it, you ARE the blueprints). Like, come on  Look at all this wasted space  🆑 refactor: Blueprints now use TGUI. qol: Blueprints can now be used while lying down. /🆑 * General maintenance for chem master (#82002) **1. Qol** - Adds screen tips & examines for screwdriver, wrench, crowbar & beaker insertion, removal & replacing actions - Analyzing reagents is now a client side feature & not a back end mode, meaning one person can see details of a reagent while the other can print stuff and do other operations so it's a non blocking operation. This also means 2 players can see information of 2 different reagents in their own screens, With that the overlay for analysis mode has been removed - You cannot do any tool acts on machines while printing. Balloon alerts will be displayed warning you of that. - The preferred container for the master reagent in the beaker is now showed in both condiment & chem master. It can be enabled/disabled via a CheckBox **2. Code Improvements** - Removed defines like `TARGET_BEAKER` , `TARGET_BEAKER` etc. ther functionality is implemented as params in the `transfer_reagent()` proc directly - Removed all variables relating to analyzing reagents like `reagent_analysis_mode`, `has_container_suggestion` etc. all memory savings - `printable_containers` now stores static values that can be shared across many chem masters - Updates only overlays and not the whole icon during operations for efficiency **3. Fixes** - You can hit the chem master with the screwdriver, wrench, crowbar & beaker when in combat mode - You cannot insert hologram items into the chem master - Deconstructing a condiment master will give you the circuit board already pre-programmed with that option selected so you don't need to use a screwdriver to re program it - `printing_amount` is now the maximum number of containers that can be printed at a time. Presently this number with upgraded parts would print out empty containers especially for patches. This is because `volume_per_item` does not take into consideration this var. Also this var would not give control to the player on exactly how many containers to print as whatever amount the player entered would be multiplied with this value producing a lot of waste & worse empty containers. Now this var determines exactly how many containers you can print and is imposed on the client side UI as well **4. Refactors (UI performance)** - Beaker data is compressed into a single entity & sent to the UI. This is set to null if no beaker is loaded thus saving data sent - Reuses Beaker props from chem synthesizer to reduce code - reagent REF replaced with direct type converted to text and later converted with `text2path()` cause its much faster 🆑 qol: Adds screen tips & examines for screwdriver, wrench, crowbar & beaker insertion, removal & replacing actions qol: Analyzing reagents no longer blocks other players from doing other operations. Multiple players can analyze different reagents on the same machine qol: You cannot do any tool acts on the machine while printing to prevent any side effects. qol: The preferred container for the master reagent in the beaker is now showed in both condiment & chem master. The feature can be enabled/disabled via a check box code: removed defines for reagent transfer, vars for reagent analyzis to save memory. Autodoc for other vars & procs fix: You can hit the chem master with tools like screwdriver, crowbar, wrench & beaker in combat mode fix: You cannot insert hologram items into the chem master fix: Deconstructing a condiment master will give you the circuit board already pre-programmed with that option fix: You now print the exact amount of containers requested even with upgraded parts without creating empty containers. Max printable containers is 13 with tier 4 parts able to print 50 containers. refactor: Optimized client side UI code & chem master as a whole. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> * Wraps `lowertext()` to ensure proper stringification. (#82442) Fixes #82440 This PR just creates a new macro, `LOWER_TEXT()` (yes the irony is not lost on me) to wrap around all calls of `lowertext()` and ensure that whatever we input into that proc will be stringified using the `"[]"` (or `tostring()` for the nerds) operator. very simple. I also added a linter to enforce this (and prevent all forms of regression) because I think that machines should do the menial work and we shouldn't expect maintainers to remember this, let me know if you disagree. if there is a time when it should be opted out for some reason, the linter does respect it if you wrap your input with the `UNLINT()` function. * Clowns can now make balloon... toys. And also mallets and hats. (#82288) <!-- 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. --> Clowns will now start with a box of 24 random long balloons and a skillchip in their noggin allowing them to create balloon animals by combining two of them of different colour together. Owners of the skillchip also gain access to crafting recepies of balloon mallets, vests, helmets and tophats, all created from long balloons. A crate of long balloons, with a box of balloons inside, can be bought at cargo, in case the clown runs out. I might edit this once I wake up, its 3 in the morning right now. Oh also, resprited how balloons look in inventory.  Balloon animals funny. Silly features are my favourite kind of features, and this one's open-ended too. Someone on the coder chat recommended someone would do it that one time, here it goes. <!-- 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 it's 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. --> 🆑 add: Added long balloon box to the clown's starting inventory, and a skill-chip of long lost honk-motherian knowledge to their brain. add: Added long balloons. Consequently, added balloon animals to make from such balloons. Also, balloon top hat, vest, helmet, and a mallet. Don't ask about the mallet. add: A long balloons box harvested fresh from the farms on the clown planet will be able to be shipped in a crate to the cargo department near you! add: As per requests; water balloons can now be printed at service lathe, and entertainment modsuit can now blow long balloons! image: Balloons will now have an unique sprite when in the inventory, compared when to on the ground. /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 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. --> --------- Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Jacquerel <hnevard@gmail.com> * Quick spellcheck 'steall' (#82560) ## About The Pull Request https://github.com/tgstation/tgstation/pull/82447 quick followup to this, caught it while glancing through the code. * Fix * merge conflicts * Revert "Monkeys now use height offset (and monkey tail works) (#81598)" This reverts commit 5cfdc5972d16c6b509220e8874a927696249d36a. * fix * Fixed lateinitialize * This should cut it * Oh right * There? * Damn, here? * There * [NO GBP] Fixes spurious runtime caused by icemoon (again) (#82582) ## About The Pull Request https://github.com/tgstation/tgstation/pull/82572 I tried to fix this but there was an unaccounted race condition which just caused a separate runtime...  Since the type is being changed mid-execution `replacement_turf` will become out of scope. My bad--this should fix it now for good. --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Higgin <cdonny11@yahoo.com> Co-authored-by: NeonNik2245 <106491639+NeonNik2245@users.noreply.github.com> Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com> Co-authored-by: Lucy <lucy@absolucy.moe> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
c403a6eccc |
Wraps lowertext() to ensure proper stringification. (#82442)
## About The Pull Request Fixes #82440 This PR just creates a new macro, `LOWER_TEXT()` (yes the irony is not lost on me) to wrap around all calls of `lowertext()` and ensure that whatever we input into that proc will be stringified using the `"[]"` (or `tostring()` for the nerds) operator. very simple. I also added a linter to enforce this (and prevent all forms of regression) because I think that machines should do the menial work and we shouldn't expect maintainers to remember this, let me know if you disagree. if there is a time when it should be opted out for some reason, the linter does respect it if you wrap your input with the `UNLINT()` function. |
||
|
|
74661326ce |
[MIRROR] Fixes some issues with paper planes (#26543)
Fixes some issues with paper planes (#81453) 1. paper's examine was defined twice, which made spacemandmm throw a minor notice about 2. paper's altclick had a second arg for some item, which would never be the case because that's not a real arg 3. there was a check for src's type, now just removed to the type's altclick 4. some papercode was sitting in paper plane code file, now moved the rest is misc changes such as replacing camelCase and using SECONDS. None of this is player-facing but it's updating some rather old code to more modern code standards. Nothing player-facing. --------- Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
8d14688256 |
Fixes some issues with paper planes (#81453)
## About The Pull Request 1. paper's examine was defined twice, which made spacemandmm throw a minor notice about 2. paper's altclick had a second arg for some item, which would never be the case because that's not a real arg 3. there was a check for src's type, now just removed to the type's altclick 4. some papercode was sitting in paper plane code file, now moved the rest is misc changes such as replacing camelCase and using SECONDS. ## Why It's Good For The Game None of this is player-facing but it's updating some rather old code to more modern code standards. ## Changelog Nothing player-facing. --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
416902a803 |
[MIRROR] The "Guide to Advanced Mimery" series now make but the faintest noise when turning their pages (#26339)
* The "Guide to Advanced Mimery" series now make but the faintest noise when turning their pages (#81068) ## About The Pull Request What it says on the tin. To fit with the description of volume 1 ("The pages don't make any sound when turned."), they now use the sound of faint rustling instead of the default page-turning sound effect. Pictured below (you may wish to turn up your volume): https://github.com/tgstation/tgstation/assets/80640114/e9867815-8e33-47a5-83e2-19fc979e15d6 ## Why It's Good For The Game Makes the book's behaviour consistent with their description, plus it's just fitting, isn't it?. ## Changelog 🆑 sound: The Guide to Advanced Mimery book series now only make a very faint noise when turning their pages, in order to match their description /🆑 * The "Guide to Advanced Mimery" series now make but the faintest noise when turning their pages --------- Co-authored-by: A miscellaneous Fern <80640114+FernandoJ8@users.noreply.github.com> |
||
|
|
f8ec3591bc |
The "Guide to Advanced Mimery" series now make but the faintest noise when turning their pages (#81068)
## About The Pull Request
What it says on the tin. To fit with the description of volume 1 ("The
pages don't make any sound when turned."), they now use the sound of
faint rustling instead of the default page-turning sound effect.
Pictured below (you may wish to turn up your volume):
https://github.com/tgstation/tgstation/assets/80640114/e9867815-8e33-47a5-83e2-19fc979e15d6
## Why It's Good For The Game
Makes the book's behaviour consistent with their description, plus it's
just fitting, isn't it?.
## Changelog
🆑
sound: The Guide to Advanced Mimery book series now only make a very
faint noise when turning their pages, in order to match their
description
/🆑
|
||
|
|
8e7ec57fd2 |
[MIRROR] Kicks Martial Arts out of the attack chain (yippee), makes it use signals, plus a large clean up of existing martial arts (#26328)
Kicks Martial Arts out of the attack chain (yippee), makes it use signals, plus a large clean up of existing martial arts (#81097) - Kicks Martial Arts out of the attack chain. - All Martial Arts attacks are now handled via unarmed attack or grab signals - This means all martial arts are now technically on the living level, allowing any mob that can unarmed attack to martial arts. Sort of. YMMV. - All martial arts block checking is now handled by the arts themselves, meaning you can selectively decide for a martial arts strike to not be blocked. Maybe good for the future. - A comprehensive cleanup of all existing martial arts. Improving var names, code, adding some missing animation calls, etc. Fixes #74829 Untangles the mess that is martial arts, making it a lot easier to work with the attack chain and making it overall a ton more consistent. 🆑 Melbert refactor: Big martial arts refactor, they should now overall act a ton more consistent. Also technically any mob can do martial arts. Let me know if something is funky. /🆑 --------- Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
e21dc5fec7 |
Kicks Martial Arts out of the attack chain (yippee), makes it use signals, plus a large clean up of existing martial arts (#81097)
## About The Pull Request - Kicks Martial Arts out of the attack chain. - All Martial Arts attacks are now handled via unarmed attack or grab signals - This means all martial arts are now technically on the living level, allowing any mob that can unarmed attack to martial arts. Sort of. YMMV. - All martial arts block checking is now handled by the arts themselves, meaning you can selectively decide for a martial arts strike to not be blocked. Maybe good for the future. - A comprehensive cleanup of all existing martial arts. Improving var names, code, adding some missing animation calls, etc. Fixes #74829 ## Why It's Good For The Game Untangles the mess that is martial arts, making it a lot easier to work with the attack chain and making it overall a ton more consistent. ## Changelog 🆑 Melbert refactor: Big martial arts refactor, they should now overall act a ton more consistent. Also technically any mob can do martial arts. Let me know if something is funky. /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
8cf4a97140 |
[MIRROR] Sleeping Carp grant scroll no longer says deflect with throw mode [MDB IGNORE] (#24980)
* Sleeping Carp grant scroll no longer says deflect with throw mode (#79656) ## About The Pull Request https://github.com/tgstation/tgstation/pull/79517 changed sleeping carp to use combat mode to deflect instead of throw mode, but didn't change the grant scroll text to reflect. I doubt anyone reads that anyways. * Sleeping Carp grant scroll no longer says deflect with throw mode --------- Co-authored-by: 1393F <59183821+1393F@users.noreply.github.com> |
||
|
|
bc60d6e277 |
Sleeping Carp grant scroll no longer says deflect with throw mode (#79656)
## About The Pull Request https://github.com/tgstation/tgstation/pull/79517 changed sleeping carp to use combat mode to deflect instead of throw mode, but didn't change the grant scroll text to reflect. I doubt anyone reads that anyways. |
||
|
|
064682b5cd |
[MIRROR] Adds engi improvised weapon - rebar crossbow + Engi Exclusive Tot Shop Variant [MDB IGNORE] (#24860)
* Adds engi improvised weapon - rebar crossbow + Engi Exclusive Tot Shop Variant (#78777) <!-- 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  Engi now has access to a Half Life 2 Inspired rebar crossbow! Made of rods, wire, and an inducer, it shoots sharpened iron rods at a high velocity. High damage and good embed chance, but requires you to reload every shot which requires you to stand still for three seconds to pull the string back. You can also Use a wrench on it to force it to store more rods (read: more than one), but risks it exploding and shooting you instead. The syndicate variant, avaliable to traitor engis, can fire three rounds before needing a reload, and features a scope and better armor piercing ammpo, but costs 10TC. I see it as a sidegrade to the revolver - quieter and has much more widespread ammuniton, but holds less ammo and doesnt have the same burst stopping power. And, to those concerned about the balance of a non-traitor with this item - the AP ammo can only be made by the traitor who bought it, and anyone else has to use normal ammo. GUN STAT JUNK Normal one has 60% embed chance and does 40 damage (against unarmored targetd), but requires you to wait at least 3 seconds not moving to pull the string back. Good alpha strike but not sustainable in a long fight. Its akin to a pipegun. Lacks any AP qualities besides piercing a jumpsuit, because any wound chance it has is due to a bare skin bonus. Generally not a great weapon to fight sec with. Syndie version is generally the above but better. Takes less to pull the string back, slightly higher damage, better fire rate, etc. Doesnt fare well against any armor thats equivalent to sec gear or better due to most having low (relatively) AP and wound chance, but good bare wound bonus. STATS TLDR: Its good against unarmored chumps and greyshirts but anyone in armor that protects against bullets will kick your teeth in. Also, Ammo is crafted from an iron rod. I wanted to have it just fire rods as is, but theyre stacked items which you cant define projectiles or ammo from. ## Why It's Good For The Game I've always felt engi, for as big of a department as it is, is lacking in the "fun weapons" area. Sci has mechs and xenobio, med has chem nades and syringe guns, and cargo has anything the QM will buy - but other than the flamer and shocked doors, engi doesnt have much. Thats why I made this pr. it was originally just a traitor item, as they lacked many traitor items in their shop, but I felt like a worse, bootleg version would suit them. ## 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 it's 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. --> 🆑 add: Enginenering rebar crossbows + tot kit add: Added a bunch of ammos and crafting junk to make the ammo exist image: added icond for all the above /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 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. --> --------- Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@ gmail.com> * Adds engi improvised weapon - rebar crossbow + Engi Exclusive Tot Shop Variant --------- Co-authored-by: KingkumaArt <69398298+KingkumaArt@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@ gmail.com> |
||
|
|
ba076e94bc |
Adds engi improvised weapon - rebar crossbow + Engi Exclusive Tot Shop Variant (#78777)
<!-- 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  Engi now has access to a Half Life 2 Inspired rebar crossbow! Made of rods, wire, and an inducer, it shoots sharpened iron rods at a high velocity. High damage and good embed chance, but requires you to reload every shot which requires you to stand still for three seconds to pull the string back. You can also Use a wrench on it to force it to store more rods (read: more than one), but risks it exploding and shooting you instead. The syndicate variant, avaliable to traitor engis, can fire three rounds before needing a reload, and features a scope and better armor piercing ammpo, but costs 10TC. I see it as a sidegrade to the revolver - quieter and has much more widespread ammuniton, but holds less ammo and doesnt have the same burst stopping power. And, to those concerned about the balance of a non-traitor with this item - the AP ammo can only be made by the traitor who bought it, and anyone else has to use normal ammo. GUN STAT JUNK Normal one has 60% embed chance and does 40 damage (against unarmored targetd), but requires you to wait at least 3 seconds not moving to pull the string back. Good alpha strike but not sustainable in a long fight. Its akin to a pipegun. Lacks any AP qualities besides piercing a jumpsuit, because any wound chance it has is due to a bare skin bonus. Generally not a great weapon to fight sec with. Syndie version is generally the above but better. Takes less to pull the string back, slightly higher damage, better fire rate, etc. Doesnt fare well against any armor thats equivalent to sec gear or better due to most having low (relatively) AP and wound chance, but good bare wound bonus. STATS TLDR: Its good against unarmored chumps and greyshirts but anyone in armor that protects against bullets will kick your teeth in. Also, Ammo is crafted from an iron rod. I wanted to have it just fire rods as is, but theyre stacked items which you cant define projectiles or ammo from. ## Why It's Good For The Game I've always felt engi, for as big of a department as it is, is lacking in the "fun weapons" area. Sci has mechs and xenobio, med has chem nades and syringe guns, and cargo has anything the QM will buy - but other than the flamer and shocked doors, engi doesnt have much. Thats why I made this pr. it was originally just a traitor item, as they lacked many traitor items in their shop, but I felt like a worse, bootleg version would suit them. ## 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 it's 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. --> 🆑 add: Enginenering rebar crossbows + tot kit add: Added a bunch of ammos and crafting junk to make the ammo exist image: added icond for all the above /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 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. --> --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
190d5087b3 |
[MIRROR] Fix crafting granters runtiming for food items [MDB IGNORE] (#24565)
* Fix crafting granters runtiming for food items (#79191) ## About The Pull Request Caused by #77465 Two global lists, food items are only found in one. This locate failed and caused the next line to runtime error. ## Changelog 🆑 Melbert fix: Cooking Deserts 101 grants all intended recipes /🆑 * Fix crafting granters runtiming for food items --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
7cce84a33c |
Fix crafting granters runtiming for food items (#79191)
## About The Pull Request Caused by #77465 Two global lists, food items are only found in one. This locate failed and caused the next line to runtime error. ## Changelog 🆑 Melbert fix: Cooking Deserts 101 grants all intended recipes /🆑 |
||
|
|
d4bb0d4c86 |
[MIRROR] Adds Summon Cheese [MDB IGNORE] (#23430)
* Adds Summon Cheese * Update staff.dm --------- Co-authored-by: Sealed101 <cool.bullseye@yandex.ru> Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
d93dfbc35c |
Adds Summon Cheese (#77778)
oh apparently this is my 100th PR on tg, which is weird because github reports 99 total, and i made at least one to the old voidcrew repo, and filtering tg prs by my name still shows 99. weird. here's to 100 more i guess? <sub>could have been better if it was a get, jhonflupwliiard watch ur back 🔫 </sub> ## About The Pull Request Adds a new spell granter book to the Wizard's Den - Summon Cheese, which grants the spell by the same name, which summons 9 heads of cheese. That's about it, I think. ## Why It's Good For The Game Wizards are a hungry bunch, so why can't they just summon food? They can even share, if they'd like, since the notion of a friendly wizard still exists <details> <summary>... </summary> alright fine i'm slightly malding over not getting the 77777 get so no more roleplaying in the pr body Wizard Grand Ritual now has a hidden goal of sacrificing 50 cheese wheels. Sacrificing a cheese wheel is done with invoking the grand rune, and each invocation/pulse of the rune will whisk away more cheese until all cheese on the rune is taken by whichever entity lurks in the other realm. The sacrifice will be hinted at in an _ancient parchment_ which will be on the bookshelf (when i add it lmao) alongside the spell book. Meeting this cheese goal will lock the wizard's grand finale rune and grand finale effect to special ones. The cheese rune is mostly identical to the normal grand rune, barring the custom sprites/animations. The cheese finale consists of the wizard getting permanent Levitation (nogravity + free space movement), a 0.5 modifier(reducing incoming damage in half) to every damage type, a comically strong mood buff and **The Wabbajack**(separate sprite pending) - a juiced up chaos staff which can fire a lot more projectiles than a normal one can (it will get more, I may even make a few just for it). Everybody else (including any invader antags) gets hallucinations, 175 brain damage and a comically strong mood debuff, as well as a vendetta against the wizard. If the victim was already suffering from hallucinations from a trauma (including the quirk), they are instead healed. if you didn't catch the obvious reference, this entire shtick is a tribute to Sheogorath. the rune makes use of daedric script, and most of the catchphrases are a direct quotation of the Daedric Prince of Madness, so if any of those things can get us in trouble somehow, let me know. i will be sad but i will comply. This shtick is intended as an easter egg, really, so I wasn't really planning on expanding the wizard grand finale into heretic paths thing or whatever. Oh, and finale grand runes now allow the wizard to select the effect even if it's time-gated. If it is, you just won't be able to invoke it until the time comes. The rune will tell you how much time is left until you can invoke it. And grand finale runes with a finale effect selected also glow in the color of their effect. I also think I fixed some step of the grand rune animation not triggering but I'm not sure. <details><summary>Some rune animations (some are subject to change)</summary>   </details> ## Why It's Great For The Game it's funny </details> ## Changelog 🆑 Sealed101, EBAT_BASUHA for spritework add: Wizard's Den now has a book of Summon Cheese in the Studies Room /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
883d2f0b62 |
[MIRROR] Fixes mime book consuming itself when it isn't supposed to [MDB IGNORE] (#23032)
* Fixes mime book consuming itself when it isn't supposed to (#77513) ## About The Pull Request ``on_start_reading`` now has a return value, which the mime book will use to early return out if an option isn't selected. I also tested fikou's report of it eating its use while in the dark and this seems to fix that as well. ## Why It's Good For The Game Closes https://github.com/tgstation/tgstation/issues/77441 Fixes cancelling out of the mime book giving you the spells and removing its use. ## Changelog 🆑 fix: Mime spell books don't eat itself when used in the dark or cancelled out of. /🆑 * Fixes mime book consuming itself when it isn't supposed to --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> |
||
|
|
4ed6811538 |
Fixes mime book consuming itself when it isn't supposed to (#77513)
## About The Pull Request ``on_start_reading`` now has a return value, which the mime book will use to early return out if an option isn't selected. I also tested fikou's report of it eating its use while in the dark and this seems to fix that as well. ## Why It's Good For The Game Closes https://github.com/tgstation/tgstation/issues/77441 Fixes cancelling out of the mime book giving you the spells and removing its use. ## Changelog 🆑 fix: Mime spell books don't eat itself when used in the dark or cancelled out of. /🆑 |
||
|
|
104eeba880 |
[MIRROR] Crafting recipes without an explicit name are now named after their results. [MDB IGNORE] (#22984)
* Crafting recipes without an explicit name are now named after their results. (#77465) ## About The Pull Request What it says on the tin. The code comment accompanying the "name" var suggests this was already the case, but it was only true for the crafting UI. Adjusted some other code that gets recipe names to account for this change. ## Why It's Good For The Game Convenient, both as a fallback and for the sake of avoiding repetition where it isn't necessary. That said, I haven't gone out of my way to remove pre-existing names that match the result, in case that practice is still considered desirable. It also fixes #77379 and similar issues. ## Changelog 🆑 fix: crafting recipes without a name, such as the mothic pizzas, will inherit the name of the item they make /🆑 * Crafting recipes without an explicit name are now named after their results. --------- Co-authored-by: A miscellaneous Fern <80640114+FernandoJ8@users.noreply.github.com> |
||
|
|
4d654c7e2a |
Crafting recipes without an explicit name are now named after their results. (#77465)
## About The Pull Request What it says on the tin. The code comment accompanying the "name" var suggests this was already the case, but it was only true for the crafting UI. Adjusted some other code that gets recipe names to account for this change. ## Why It's Good For The Game Convenient, both as a fallback and for the sake of avoiding repetition where it isn't necessary. That said, I haven't gone out of my way to remove pre-existing names that match the result, in case that practice is still considered desirable. It also fixes #77379 and similar issues. ## Changelog 🆑 fix: crafting recipes without a name, such as the mothic pizzas, will inherit the name of the item they make /🆑 |
||
|
|
dcd2d0e418 |
[MIRROR] Adds a wizard Right and Wrong that lets the caster give one spell (or relic) to everyone on the station [MDB IGNORE] (#22637)
* Adds a wizard Right and Wrong that lets the caster give one spell (or relic) to everyone on the station (#76974) ## About The Pull Request This PR adds a new wizard ritual (the kind that require 100 threat on dynamic) This ritual allows the wizard to select one spellbook entry (item or spell), to which everyone on the station will be given or taught said spell or item. If the spell requires a robe, the spell becomes robeless, and if the item requires wizard to use, it makes it usable. Mostly. - Want an epic sword fight? Give everyone a high-frequency blade - One mindswap not enough shenanigans for you? Give out mindswap - Fourth of July? Fireball would be pretty hilarious... The wizard ritual costs 3 points plus the cost of whatever entry you are giving out. So giving everyone fireball is 5 points. It can only be cast once by a wizard, because I didn't want to go through the effort to allow multiple in existence ## Why It's Good For The Game Someone gave me the idea and I thought it sounded pretty funny as an alternative to Summon Magic Maybe I make this a Grand Finale ritual instead / in tandem? That's also an idea. ## Changelog 🆑 Melbert add: Wizards have a new Right and Wrong: Mass Teaching, allowing them to grant everyone on the station one spell or relic of their choice! /🆑 * Adds a wizard Right and Wrong that lets the caster give one spell (or relic) to everyone on the station --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |