mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-06-19 13:14:05 +01:00
ed94de4ddf7edad8694badefc577392e0f762bf5
17 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e4ece2fbd6 |
makes snow legions from portals drop skeletons (like tendril legions) (#75707)
## About The Pull Request Exactly what it says on the tin (snow legions only dropping ashen skeletons, like tendril legions). Also changes the name of the "fromtendril" variable to "from_spawner", and comments it. Not sure if that warrants a changelong comment, but I'll go ahead and assume no. ## Why It's Good For The Game being able to farm snow legion portals for an endless tide of bodies and/or equipment is a bit weird. also puts it a bit more in line with the legions of Lavaland ## Changelog 🆑 balance: The source of the demonic portals that endlessly deposits snow legions onto the Icemoon no longer preserves the bodies nor gear of the damned (read: demon portal snow legions now only drop skeletons). /🆑 --------- Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com> |
||
|
|
48183ec0ff |
Icemoon Hermit Ruin Active Turf Fix - For Real This Time (#74476)
In #74306, I _thought_ I knew what the cause was, and I both attempted a potential fix _and_ made tracking it easier. The fruits of my labor paid off, I know exactly what caused it now. Basically, the demonic portal will scrape away all turfs in a 5-tile radius on its `Initialize()`, and if a spawner spawned right next to the hermit ruin... it would count it as a mineral turf and scrape it away as well. That's so fucking silly. At least we know now. ## Why It's Good For The Game The fix is to just make those tiles unscrapeable, which is accomplished via another turf_flag and filtering those out in the `Initialize()` of the demonic portals. I also cleaned up the calls to scrapeaway being `null`, which is really weird because it just defaulted to the normal proc behavior. Naming the arguments instead does the same thing (I checked) |
||
|
|
50b37c8c7f |
Faction defines (#73681)
## About The Pull Request Quite a lot of mobs had faction defines as a string, which always has a chance for error. For example, the clown mob spawner had their faction written as "clown", when the official faction name was "clowns", and a define existed for it anyways! This PR moves every single string based factions over here. No references or special role factions. Hopefully I didn't miss anything. I also moved a global define used for picking your uplink provider's flavour to the only file that used it, datum_traitor.dm, and renamed them a bit to avoid confusion. I have also noticed that the mimic faction was assigned to the petrified player with += instead of |=. |= would ensure no duplicate factions, so I have changed it. Future improvement: I have noticed that there is a lot of bloat with factions that contain only one or two entries (examples: gnomes, floating eyeballs, penguins, the pet lizards), and some always appear in pairs (vines and plants, the rare exceptions being killer tomatoes and strange reagent spawned pine trees), but trimming consolidating them is a matter for a different time. ## Why It's Good For The Game Makes assigning factions a bit less error prone. I can finally remove the ```/// Later all mob factions will be moved here and their current factions replaced with faction defines.``` comment. Later is NOW. ## Changelog Nothing player facing |
||
|
|
6dd4839ef3 |
Gatfruit will no longer drop from ice portals. (#72048)
## About The Pull Request For some god-forsaken reason, somebody decided that ice portals should be able to drop one of the most disruptive items in the game. This PR amends this by removing it from the drop pool. ## Why It's Good For The Game In 2013 gatfruit was introduced in the following PR #2000 . This was almost a decade ago at this point, repeatedly through the PR the creator states his belief that this item should only ever be obtainable through admin intervention due to its ridiculous capabilities. At the time everyone in the PR agreed it was a reasonable item to add **as it was unobtainable without admin intervention**. Over the years, it has crept its way to become more prevalent and openly obtainable, the most offensive of these options is the ice moon portal. As is, there is a 1 in 28 chance of obtaining the seeds, this sounds pretty inoffensive right? That's just 3.44% probability. Now, let us search the instances of the portal that spawns this.  That is a big number, a lot of chances to get that seed packet and other gamer looters. Now, let's take a look at the probability of being able to get these seeds, assuming you wipe out all of the portals.  92.8% chance to be able to get these seeds each shift if you focus entirely on gaming the portals. That's a pretty insane probability of being able to obtain the gatfruit seeds. While I dislike people who sprint to the seed vault, there is at least the possibility of a pod person telling them to fuck off when they demand their _free_ gamer seed. There is also the fact that the ruin isn't a guaranteed spawn every shift. ## Changelog 🆑 balance: Gatfruit seeds will no longer drop from ice portals. /🆑 |
||
|
|
4d6a8bc537 |
515 Compatibility (#71161)
Makes the code compatible with 515.1594+
Few simple changes and one very painful one.
Let's start with the easy:
* puts call behind `LIBCALL` define, so call_ext is properly used in 515
* Adds `NAMEOF_STATIC(_,X)` macro for nameof in static definitions since
src is now invalid there.
* Fixes tgui and devserver. From 515 onward the tmp3333{procid} cache
directory is not appened to base path in browser controls so we don't
check for it in base js and put the dev server dummy window file in
actual directory not the byond root.
* Renames the few things that had /final/ in typepath to ultimate since
final is a new keyword
And the very painful change:
`.proc/whatever` format is no longer valid, so we're replacing it with
new nameof() function. All this wrapped in three new macros.
`PROC_REF(X)`,`TYPE_PROC_REF(TYPE,X)`,`GLOBAL_PROC_REF(X)`. Global is
not actually necessary but if we get nameof that does not allow globals
it would be nice validation.
This is pretty unwieldy but there's no real alternative.
If you notice anything weird in the commits let me know because majority
was done with regex replace.
@tgstation/commit-access Since the .proc/stuff is pretty big change.
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
|
||
|
|
be0e6efdf6 |
[IDB IGNORE] [MDB IGNORE] Makes the icons/mob folder sane (#69302)
About The Pull Request
Reorganizes the entire icons/mob folder.
Added the following new subfolders:
nonhuman-player (this was initially just called "antag", but then I realized guardians aren't technically antags)
simplemob
silicon
effects (for bloodstains, fire, etc)
simplemob/held-pets (for exactly that -- I wasn't sure if this should go in inhands instead)
species/monkey
Moves the following stuff:
All human parts moved into species, with moth, lizard, monkey, etc parts moved to corresponding subfolders. Previously, there were some moth parts in mob/species/moth, and others just loose in mob. Other species were similar.
icemoon, lavaland, and jungle folders made into subfolders of simplemob
All AI and silicon stuff, as well as Beepsky et al. into the silicon folder, simplemobs into the simplemob folder, aliens into the nonhuman-player folder, etc.
Split up animal_parts.dmi into two bodyparts.dmi which were put in their respective folders (species/alien and species/monkey)
Code changes:
Filepath changes to account for all of this
Adds a check when performing surgery on monkeys and xenos, because we can no longer assume their limbs are in the same file
Turns some hardcoded statues and showcases that were built into maps into objects instead
Things I'd like to do in the future but cant be assed right now:
Remove primarily-antag sprites from simplemob/mob.dmi (Revenant, Morph, etc.) and put them in the nonhuman-player folder
Split up mutant_bodyparts.dmi into different files for Tizirans, Felinids, monkeys, etc and put them in their own folders. Those may have once been meant primarily for mutated humans but that's now how they're being used right now.
|
||
|
|
4a274a6e4b |
[MDB IGNORE] Refactors drinks and fixes a lot of food problems (#69081)
* Makes condiments their own subtype, fixes geese, prepares for merging * Fixes geese checking drink type instead of edible foodtype to eat gross food. * Renames foodtype var on drinks to drink_types to prevent above from happening again because it KEEPS HAPPENING. DRINKS AREN'T FOOD! * Makes Condiments their own subtype of reagent_containers because they don't make any use of being a subtype of food, at all. * Starts moving things from food to /food/drink subtype in preparation for merging /food/drink with /drink * fully removes Food subtype * /reagent_containers/drinks are now /reagent_containers/cup - This is so it's no longer confused with eachother. * /food/drinks is now /reagent_containers/cup/drinks, so we can keep their special abilities. * Fixes a LOT of errors with food, which are STILL checking the reagent_containers, despite ACTUAL food being refactored away from it a long time ago. This doesn't compile yet, but I do want to make sure my progress is well tracked. * remove copypaste code, changes soda cans * Removes most copy paste code between the two drinks, moving most stuff to parent whenever needed. * Made soda cans their own subtype since they didn't share anything with glass bottles anyways. * Fixes more problems with food/drinks, especially with geese. Geese really were just broken this whole time and no one said a word... * Removes a snowflake signal, now that both drink types share a common one. * Adds everything to the .dme Currently my goal is to get this all compiling, then remove isGlass var by making glass be all glass ones only. * Moves all icons into a single drinks dmi I'm not that great at icon stuff, hopefully I didn't forget/break anything. * Turns juices into their own subtype This allows us to let them check for type in molotov, to both get rid of a use of isGlass, and so non-glass non-cartons don't show up as 'carton'. * fixes compile issues, adds updatepaths * a better updatepaths * updates the damn maps now * properly names the updatepath * how did that get there * i suck at handling merge conflicts * how am i this bad * code improvement and soda fix * more fixes * Don't be a timer Ports from old food bottles to trans the reagents, rather than add a timer to. * Merge conflicts and fixes bottle smashing * Bottle smashing is now consistently functional regardless of how much liquid they have in them, when before it would spill first, then smash on the second hit. * runs updatepaths again |
||
|
|
f8f3dbed98 |
Completely removes proc_holders from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code. (#67083)
* destroy proc holder pt1 - change proc_holder/spell to action/cooldown/spell - docs all the spell vars, renames some of them - removes some useless vars - start with pointed spells, as they're easy * kill proc_holder pt2 - kill a buncha vars and replace it with flags - convert a ton over - general code improvements * kill proc_holders pt3 - convert a good few more spells - rename some signals - handle statpanel - better docs * kiill proc_holder pt4: - restructure the file system of action.dm, separating a good amount of item actions and miscellaneous garbage into files where they belong slightly better. Also splits off item actions, cooldown actions, innate actions, etc. into their own files, overlal making it much better to work with - converts touch attacks to actions - converts blood crawl, jaunt subtype * kills proc_holder pt5 - clears up some icon issues so all the currently converted pages don't have errors - shapeshift - some more action cleanup * kills proc_holder pt5.5: - some documentation - reworks feedback to prevent oversight with teleports and stuff * kills proc_holder pt6: - converted cult spells - converted magic missile - converted mime spells - chipped away at the errors - removed some vars which were too general, replaced them with more locally applicable vars. for example "range" which could mean "projectile range" or "aoe radius" or whatever - instead of having a broad net which everyone applies to in a confusing matter, instead lets each spell delegate on their own. - merged magic/spell and magic/aoe, as the comment intended - more unified behavior for spell levelling * kill proc_holders pt 6.5: - replacing a buncha old proc_holders that have been updated to reduce some errors. sub 900 baby * kills proc_holder pt 6.75: - minor fixes * kills proc_holder pt7: - cuts down on some errors - refactors some wiz events * kills proc_holder pt 7.5: - malf ranged modules - some minor errors * kills proc_holder pt 7.75: - mor eminor error handling, cleaning up changes * kill proc_holder pt8: - refactors spell book - refactors spell implant - some more minor error fixing * kill proc_holder pt 8.5: - scan ability * Adds some robust documentation * kill proc_holder pt9: - converts some / most mutations over * kill proc_holder pt10: - sort out all the granters - refactor them slightly - fix some compile errors * Some set-unset sanity - going to need to test removing Share() * Removes transfer actions. It doesn't seem to do anything. - Transfer_actions was called when current = new_character so locially speaking the early return in Grant() should cause it to NOOP. Test this in the future though * Removes sharing from actions, docs actions better * Some better documentation for spell and spell components * Kills proc_holder pt11: - Finally finishes ALL THE SPELLS IN THE SPELL FOLDER - Fixes some more errors * kills proc_holder pt11.5: - minor error fixing and sanity * Method of sharing actions. Can be improved in the future, needs testing * Implements a way to update the stat panel entry for a spell. Also gets rid of VV stuff, as you can update the bigflags directly in VV now. * Curse of madness bug I put in. * kills proc_holder pt12: - sub 500 errors! - converts cytology mobs - converts and refactors spiders slightly - some minor fixing around the place as usual * kill proc_holder pt13 - Finishes heretic spells - Sub 300 errors! - some touch refactoring to account for mansus grasp * kills proc_holder pt14: - revenant - minor bugfixing for heretic stuff * kills proc_holder pt14.5: - some missed stuff for revenant + heretic * kills proc_holder pt15: - alien abilities - more minor fixing - sub 100 errors. The end is nigh * kill proc_holder pt16? 17: - Finishes cult spells - sub 50 errors! - refactors the way charge works - renames / moves some signals * kills proc_holder pt final: - sdql spells - no more errors! * Bugfixes round 1 * Various bugfixing - documentation done - give spell works - can cast spell gives feedback conditionally - is available takes into account casting ability * Some accidental reversions + fixes * Unit tests * Completely refactors jaunting - All bloodcrawling is now handled on the action itself instead of across various living procs - slaughter demons have their own blood crawls - jaunting dummies don't have side effects on destroy() anymore * Wizard spell logging and even more refactoring |
||
|
|
6d470992cb |
This tail refactor turned into an organ refactor. Funny how that works. (#67017)
* Fuck you (refactors ur tails) * Errors * Wow. Pain. * Fixes up probably everything * finish up here * Fixes hard del maybe * original owner hard del * garbage collection runtime * suck my peen byond * Mapped tails * motherfucker. * motherrfucker. again. * Whooopppppsie * yeah bad idea * Turns out external organs literally just sat in nullspace forever if their parent was deleted, and didnt Remove() themselves, causing harddels. * So anyways I repathed all organs * Fixes * really. * unit test... test * unit test-test but it passes linters this time because im a moh-ron * I've lost track of what im doing at this point * Hopefully fixes hard del? * meh * Update code/datums/dna.dm * things n stuff * repath from master pull |
||
|
|
7b38dd4ff7 | MODsuits (#59109) | ||
|
|
6c01cc2c01 |
every case of initialize that should have mapload, does (#61623)
## About The Pull Request stop forgetting to include mapload, if you don't include it then every single subtype past it by default doesn't include it for example, `obj/item` didn't include mapload so every single item by default didn't fill in mapload  ## Regex used: procs without args, not even regex `/Initialize()` procs with args `\/Initialize\((?!mapload)((.)*\w)?` cleanup of things i didn't want to mapload: `\/datum\/(.)*\/Initialize\(mapload` |
||
|
|
375a20e49b |
Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs. Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines. Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing. Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc. (Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such) |
||
|
|
9ee4703133 | Icebox QoL minus features (#56472) | ||
|
|
580542accc |
Prevents bypassing the bluespace anomaly core limit by destroying demon portals (#55456)
This replaces the bluespace anomaly core that can be dropped by demon portals with a 3.6% chance with a soul stone. |
||
|
|
0eaab0bc54 |
Grep for space indentation (#54850)
#54604 atomizing Since a lot of the space indents are in lists ill atomize those later |
||
|
|
6ff08e1c69 |
Color standardization, vars moved, and signals (#52574)
Defined all the existing light_color values.
Moved their definitions to colors.dm
Made white the default color. It was so already, but that was very obscured.
Moved the atom light-related variables to the atom definition.
Wrapped changes to variables such as light_color into procs that report the event through signals.
Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
Cleaned up a little bit of code in where new variables were defined before redefinitions.
This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.
There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.
|
||
|
|
8af93a638b |
Icebox Station (#51090)
* there was an attempt * adds ice moon map adds config options for choosing mining maps areas now have options that affect random generation on them weather now has an option to not target indoor areas adds base for icemoon ruins turns many 1's into booleans adds ice chasms adds ztraits for weather stuff * fixes up ice ruins to be ice moon compatible adds lower z level to the ice moon mine ice chasms now have a smoothed icon megafauna only spawn in the underground portion of ice moon now * openspace fixes * adds new areas and underground specific ruins * Adds the abandoned village ruin for Ice Moon * adds abandoned village ruin and fixes some area and tile stuff to work with ice moon * random mining maps are no longer picked in the config you can no longer change the mining map before setup is complete * adds above and below ground ruin as a test * adds debug functionality for ice moon ruins fixes a bug where multiz was impossible unless there were shared areas because of whitelisted areas adds multiple whitelist areas for ruin placement in a list all underground areas are now outdoors underground plasma lava rivers are now only spawned in unexplored areas so ruins don't get destroyed by them * adds unique spawners to icemoon to replace tendrils adds 2 new mobs to icemoon the polar bear and wolf adds a clothing flag for shoes that dont slip on ice modifies mining site to be ready except for the boss adds the ability for tunnel width to be a specification, ice moon can have 1 tile wide tunnels and rarely 2 wide tunnels adds a no caves mineral for ice moon ruins * wolves no longer run into lava or chasms bears now enrage sooner bear spawners can now actually be created adds base for ice moon atmospherics adds base for a new boss and achievements / score really bad coder icon for ice boots added * ice moon now has it's own planetary atmos! (thank god) * new frost miner stuff megafauna recovery time can now be tailored to have different cooldowns to ranged or melee attacks by default sets both of them, with two arguments the first is ranged cooldown and the second is melee cooldown * converts a bunch of lavaland maps to be compatible with ice moon adds tendrils from lavaland to the bottom of ice moon with the other megafauna * updates mob drops for ice moon mobs updates config entry default value for ice moon updates ice moon map to have new gulag * updates station parallax for icemoon removes extra lavaland ported ruins updates to demonic frost miner adds ladder to icemoon map near station * updates ice moon map to have the ladder inside the mining base plant flora dont spawn on the lower z level of ice moon now you get sand from mining rocks now buncha demonic frost miner changes holy cow * adds the buried library * improves map, fixes comment * make this crap work with the station cause i have to lol it is pretty cool though and now i understand the mapping crap better * updates ice ruin blacklist * ice moon stop being too cold thanks icebox changes, now actually has its own z level that can spawn ruins and such instead of just being openspace tunnel width is now not stupid * fixes a demonic frost miner bug where orbs werent exploding after death atmosphere temp is now correct fixes library ruin for icemoon polar bear range is now fixed, only aggros in a short range and follows further than 3 tiles reverts necropolis chest change * Adds a new ruin: bathouse, barebones edition * adds many new ruins fixes a bug with tunnel creation that caused it to enter no tunnel allowed areas finishes the frost miner and adds loot to him you can now force a wabbajack option * main z level now always has gravity for ice box * hopefully the hot springs arent the buggiest thing in the world anymore protects areas near the station from having openspace * icebox takes less players fixes the ladder positioning on every icemoon map * snowstorms now only occur on the station level fixes some issues with the icebox z level having openspace over the lower level mining base * Update code/datums/map_config.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/datums/ruins/lavaland.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/game/objects/structures/lavaland/necropolis_tendril.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/game/turfs/closed/minerals.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/game/turfs/open/chasm.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/game/turfs/open/floor/plating/asteroid.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/modules/ruins/icemoonruin_code/hotsprings.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * fixes areas on the lust ruin polar bears now drop a goliath plate equivalent wolfs now drop a watcher sinew equivalent adds snow legions adds a crusher trophy for the demonic frost miner that prevents movement fixes a bug with asteroid mobs where the aggro icon would never show adds ice to the snow cave tunnel generation * starts work on the wendigo megafauna * replaces snowball machine gun with more miner useful content adds gentle var for knockback to prevent stunning on hit polar bears move slower now new icon for phase 2 demonic miner now * fixes lust ruin areas fixes whitespace fixes nesting issues adds underground specific mobs * name / location fixes demonic frost miner doesnt stun on knockback now ice demons move faster * fixes icebox having the wrong baseturf * adds achievement defines to the wendigo snowstorm for the lower z level again adds a new helper for ranged target turfs theres now a specific subtype for rivers fixes a bug where ice and spawners spawned with rocks and other flora on top of them adds indestructible ice rock turf fixes a bug with ice demons teleport distance being incorrect adds the start of wendigos attacks * Apply suggestions from code review Co-Authored-By: Rohesie <rohesie@gmail.com> * Update code/modules/mapping/ruins.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * Fixes a dumb bug with ruins from a webedit review The syndicate shuttle can now land on mineral turfs * the final commit, all that im going to change after this is documentation for procs lol makes both ice moon z levels below the station underground, and makes it so they generate rivers of their baseturf * adds nice animation to wendigo scream * small fixes * finishes autodoccing everything i could find * ok im done for real now * adds anywhere ruins does review stuff * review stuff * ok it removes the stuff now * fix removal * fixes from the git * adds surroundings to the asteroid and lavaland sites adds butchering gloves to wrath ruins the lower icebox levels are no longer station levels fixes capitals on blood drunk and frost miner boss medals adds engineering outpost ruin by trollbreeder adds boxstation job changes to icebox polar bear transformation no longer has immunity to lavaland mobs fixes ice whelp spelling mistake * fixes engi outpost atmospherics fixes missing plating on solar panels changes slowdown for icemoon turfs * fixes ruins areas so tunnels can spawn into some of them adds lights to icebox below area openspace turfs mine the thing below them now * fixes wall boundings on asteroid and lavaland domes * ur lame armhulen * adds public mining area to icebox adds computer vendors to icebox * minor fixes * fixes map type error * removes slowdown entirely increases ore chances fixes openspace on main map fixes a ton of active turfs at roundstart modifies demonic frost miner loot to be cooler and more useful since the boss was hardly killed during tests tunnels are wider underground now openspace now deletes itself if it spawns above a ruin * improve da ruins * tries to fix multiple atmos issues with ruins removes bz from the planetary atmos since it could cause unstoppable chain reactions which would cause massive lag demonic frost miner drill now automatically scans everywhere around you fixes tunnel generation issue makes it so randomly generated turfs inherit their no_ruins flags Co-authored-by: Jonathan Church <jchurch093@gmail.com> Co-authored-by: s <wesoda24@gmail.com> Co-authored-by: spookydonut <github@spooksoftware.com> Co-authored-by: Rohesie <rohesie@gmail.com> |