* Fixes a few cargo exports problems. (#62686)
About The Pull Request
Cargo exports will now start deleting the thing and its contents only after everything has been sold and hopefully stop objects from being deleted before getting sold (no export datum actually deletes anything on sell_object()). This PR also removes a variable only used in one place (an admin only item created by ExcessiveUseOfCobblestone, who probably didn't know there's an argument that stops unsold items from getting deleted) and that may be source of harddels.
Why It's Good For The Game
This will fix#62644, perhaps some harddels and other oddities.
Changelog
cl
fix: Cargo exports will now start deleting items only after everything is sold. This will fix issues such as unachievable exports (like machine ones) and getting less credits than what export scanners says.
/cl
* Fixes a few cargo exports problems.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* nitryl and stimulum merge in nitrium (#62061)
This PR is the first of a few were i'll be merging similar working gases into one.
This time is Nitryl and Stimulum. They'll be merged into Nitrium , a brown gas with both features of the two gases
The main scope is to add dept to atmos by removing bloated content and/or repeated content that has never seen the lights of the day (how many times have you seen both gases made and used at the same time?)
The PR so far:
-removed nitryl
-removed stimulum
-merged them into Nitrium (Nitrium is now made with trit, nitrogen and bz from a minimum temperature of 1500 K)
-made Nitrium have both gases features such as fast movements and sleep and stun immunity but increased damage taken
-Nitrium can make crystals that spread the chemicals with a cloud (is still far more efficient to just breathe the gas)
Less rare gases, going towards a better atmos gameplay loop
* nitryl and stimulum merge in nitrium
* Fixing blackmesa
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fixes cargo console breaking when you ordered canisters, and makes it break softer when it does anyways (#62829)
🆑
fix: cargo consoles aren't breaking when department orders buys a canister. seriously though who buys canisters man
/🆑
* Fixes cargo console breaking when you ordered canisters, and makes it break softer when it does anyways
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Routine Cargo Departmental Deliveries (#61992)
About The Pull Request
Document: https://hackmd.io/@ bazelart/HkY-SO9VF
Each department's request console is upgraded. Instead of making requests, they are only able to see crates related to their department that helps the department. They can order one for free (so not out of anyone's wallet) and it will arrive at cargo. Cargo gets the price of the ordered crate for bringing it to the department that ordered it (via an area check, of which the crate will remain locked until satisfied, emitter cracking aside).
Ordering a crate puts the console on a cooldown depending on the price of the crate ordered. The time ranges from 10 minutes at the lowest value, to capped at 20 minutes at 4x the default crate's price. the price in time follows a ease in out circular function, where the time increases slowly as the time goes up, but a lot in the middle. towards the higher end it slows down again.
Cargo will start with far less money, but this is countered by the new source of income.
Finish Mapping it
Finish tgui panel for department orders
Testmerge it for balance and feedback who cares
Maybe give multiple destination areas, just in case one area gets obliterated who cares!
Why It's Good For The Game
Cargo starts with a budget to spend on themselves, which lets them order their department rewards before doing anything. There is no inherent reward to delivering to other departments other than social expectations of filling the job, which means cargo will simply ignore deliveries and requests if there are more self-important things going on, since those deliveries both cost cargo and do not help cargo in any way
Changelog
cl
add: replaced the request consoles in each department with department order consoles, which order for free on a cooldown. cargo gets these orders and delivers the crates, which are locked until delivery. upon delivery, cargo gets paid the value of the crate, and can then sell the crate back on the shuttle.
balance: cargo doesn't start with a budget, other departments get what their budget was split up amongst them
/cl
* Routine Cargo Departmental Deliveries
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fixes#62719, exploit that let players order crates marked as special. (#62723)
* Update orderconsole.dm
* Update orderconsole.dm
* Update budgetordering.dm
* Fixes#62719, exploit that let players order crates marked as special.
Co-authored-by: CocaColaTastesGood <47264839+CocaColaTastesGood@users.noreply.github.com>
* Basic drone fuel can now be purchased from cargo. (#62578)
* Basic drone fuel can now be purchased from cargo.
* Minor typo.
* Basic drone fuel can now be purchased from cargo.
* Bye bye modular drone fuel crate
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed
* Fixing conflicts
* Makes it compile, yeet all the RAD armor from everywhere (thanks RegEx!)
* Removing more lingering rad armor (woo)
* Damnit powerarmors
* Bye bye rad collectors!
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* removes double spaces before symbols (#62397)
This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.
* removes double spaces before symbols
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Oh hi Mark.
* hand dryer 4000
* E
* fur dyer
* actually makes it work
* Update fur_dyer.dm
* Update fur_dyer.dm
* Final touches!
* Update jobs.txt
* le straight razor
* f
* Update hhmirror.dm
* updoot
* Update IceBoxStation_skyrat.dmm
* E
* No more failure penalties, it's bad.
* logic errors
* actual hairdye
* Update barber.dm
* Rebases to newer map versions
Fixes multiple issues with the original map changes in this PR, which are as follows but not limited to:
• Trapping Lawyers in their office on Blueshift
• Incorrect curtain types
• Awkward atmos
• Broken disposals
• Missing wallmounts
• Missing firelocks
* camera on meta
* Update jobs.dm
* more dyesprays
Co-authored-by: Kat <evesovereign@hotmail.co.uk>
* Power generation (collectors, coils, grounding rods) cleanup (#62144)
* Energy collection: Mass rework
Radiation Collectors and Tesla Coils are now subtyles of a common
energy_accumulator type. This type combines common code such as smoothing
output over energy received, computing power output, and handling wire
connections.
Inline calculations using machine energy units are now performed by
common math functions in maths.dm. Rather than reference 0.1,
1 SECONDS is used to make it clear this is to calculate to and from
tickrate dependent units.
Constants which are written in terms of tickrate dependent units are now
written in terms of joules, and use these helpers to convert to and from
these units. With SSmachines.wait / (1 SECONDS) being 2, this usually
means doubling the values of constants which were previously defined in
terms of machine energy units.
* Energy collection: Map path update
> git ls-files | grep dmm | xargs sed -i 's1rad_collector1energy_accumulator/&1g'
> git ls-files | grep dmm | xargs sed -i 's1tesla_coil1energy_accumulator/&1g'
> git ls-files | grep dmm | xargs sed -i 's1grounding_rod1energy_accumulator/&1g'
* Power generation (collectors, coils, grounding rods) cleanup
* object path update (#8882)
* [MDB IGNORE] Missed some paths (#8886)
* object path update
* oops missed a couple paths
Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: ORCACommander <orcacommander1@gmail.com>
* re-adds the yellow slimecore as an EMP-proof cell (#62013)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* re-adds the yellow slimecore as an EMP-proof cell
Co-authored-by: Invalid <51190031+InvalidArgument3@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Rad collectors gone, tesla coils to generate power (#61917)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Rad collectors gone, tesla coils to generate power
* replaces rad collectors
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Kat <evesovereign@hotmail.co.uk>
* Fixes contractor drop pods not being clickable due to suspected BYOND issue. (#61723)
Fixes#61695
When breaking the entire problem down, I identified the point in time at which the pod stopped being clickable
Spawning in pods manually and running their various procs couldn't replicate the issue. As a result, I eliminated pod code as the root cause and focused on the pod_landingzone that control them.
I considered the debris as a possible cause following:
#61695
However, removing the debris actually removed ALL clickable area for the pods. The debris overlap was the only part that let me click on the pods.
So then I set to hacking away at any animation code. At one point I removed both the animates
animate(pod.get_filter("motionblur"), y = 0, time = pod.delays[POD_FALLING], flags = ANIMATION_PARALLEL)
animate(pod, pixel_z = -1 * abs(sin(rotation))*4, pixel_x = SUPPLYPOD_X_OFFSET + (sin(rotation) * 20), time = pod.delays[POD_FALLING], easing = LINEAR_EASING, flags = ANIMATION_PARALLEL) //Make the pod fall! At an angle!
from /obj/effect/pod_landingzone/proc/beginLaunch and the problem still persisted.
When I removed pod.add_filter("motionblur",1,list("type"="motion_blur", "x"=0, "y"=3)) after this (the effect was permanently on the pod which made it pretty obvious as a possible cause) the problem vanished entirely.
Without the motion blur filter applied, pods now function properly.
As a result, I believe this is a BYOND issue. Someone with more brains than me can probably work out a test case. Until someone with more brains than me comes along to fix it, removing the motion blur filter is my solution.
* Fixes contractor drop pods not being clickable due to suspected BYOND issue.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Mapping DLC - Random Spawner Pack [MDB IGNORE] (#60522)
First off, I am aware of the Feature Freeze for this month. This PR was initially started in #60401 about a month ago to break the changes into smaller PRs. The end result for this PR is a poor man's attempt at roguelike procedural generation. Enjoy!
Link to the README for how the new spawner system works.
Added the following new random mapping spawners:
pen, crayon, stamp, paper, pamphlet, briefcase, folder, wardrobe closet, wardrobe closet colored, backpack, narcotics, permabrig_weapon, permabrig_gear, prison, material, carpet, ornament, generic decoration, statue, showcase, paint, tool, tool_advanced, tool_rare, material_cheap, material, material_rare, toolbox, flashlight, canister, tank, vending_restock, atmospherics_portable, tracking_beacon, musical_instrument, gambling, coin, money_small, money, money_large, drugs, dice, cigarette_pack, cigarette, cigar, wallet_lighter, lighter, wallet_storage, deck, toy, toy_figure, booze, snack, condiment, cups, minor_healing, injector, surgery_tool, surgery_tool_advanced, surgery_tool_rare, firstaid_rare, firstaid, patient_stretcher, medical supplies, crate, crate_abandoned, girder, grille, lattice, spare_parts, table_or_rack, table, table_fancy, tank_holder, crate_empty, crate_loot, closet_private, closet_hallway, closet_empty, closet_maintencne, chair, chair_maintence, chair_flipped, chair_comfy, barricade, data_disk, graffiti, mopbucket, caution_sign, bucket, soap, box, bin, janitor_supplies, soup, salad, dinner
Removed deprecated wizard trap, vault, and armory spawners.
* Mapping DLC - Random Spawner Pack [MDB IGNORE]
* HNNGH
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* [TM Candidate] Overhauls orbit and POI code to fix part of issue #61508 where players could observe /mob/living/new_player on the lobby.
* E
* Missed merge
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Baton refactor. item/melee/baton is now a subtype of item/melee/baton (formerly classic_baton)
* EEEE
* E
* follow the fucking guidelines
* E
* Update CentCom_skyrat.dmm
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Recount of bloodpacks in cargo pack (#61412)
Fixin wrong description of bloodpacks in cargo order
* Recount of bloodpacks in cargo pack
Co-authored-by: kopoba <kopoba.webmaster@gmail.com>
Repaths everything referring to "toxins" while actually meaning either the room in science or plasma gas. While this PR might be disrespectful to our forefathers, given this is (I believe) a holdover from as far back as the Exadv1 days, this has constantly irked me since I started working with the code. None of the player-facing stuff has referred to plasma as toxin since before 4407 hit, besides the Toxins Lab, and yet all of the type-paths are still pointing at toxins, making it a nightmare to search for in a map editor, and making the code needlessly easy to confuse with that of toxin damage. So this just fires it into the sun.
Anything relating to Toxins, the science subdepartment, now makes reference to Ordnance instead. This felt fitting enough given the focus of the subdepartment is around the creation of and testing of explosives.
Anything relating to plasma gas has, fittingly, been made to refer to plasma gas.
Edit: Ah yes, I feel I should probably apologise off the bat for the size of this PR- the code touched is mostly atmos machinery and simplemobs, a few sprites here and there, and of course the station maps + a few offstation maps.
Makes the code more legible and makes mapping less painful.
(The payment has been made)
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Del The World: Unit testing for hard deletes (#59612)
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
* Del The World: Unit testing for hard deletes
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
* Drugs of the 26th century. Three new hella rad drugs, one less lame drug and more!
* Update traits.dm
* Update maint_loot_trash.dm
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Adds set_density()
Fixes one instance of a duplicate density assignment on an object.
Comments two hacky usages of density which will have to forgo using the setter for now.
Lets us append code to the event of density changing.
Pretty sure this is leading up to some multitile object thing -Lemon
Co-authored-by: Rohesie <rohesie@gmail.com>