* Add randomized tracking beacons to all maps (#61673)
This takes the new random tracking beacon spawner and adds them to all maps. The only guaranteed tracking beacon that spawns is the one at arrivals. The rest have a 35% chance to spawn and are located in the following areas:
teleporter
AI Sat teleporter
escape
showcase
bridge
courtroom
bomb testing range
atmos
xenobio secure chamber
medbay
engineering
bar/cafe
EVA
virology
dorms
mech bay
lavaland
cargo
shooting range/security
chapel
disposals
hydro
garden
library
gateway
incinerator room
vacant office
More roguelike randomization for every round is good for the soul.
* Add randomized tracking beacons to all maps
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Move current pick_weight consumers to not pass in zeros (#62940)
About The Pull Request
pick_weight_allow_zero was a backwards compatible hack, so it exists alongside pick_weight.
I would really like to just remove the old proc and just rename it, so I want to log what, if anything, is relying on this behavior, to see if it's a bug or if it needs to be handled especially in that case.
* Move current pick_weight consumers to not pass in zeros
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Replacing more C-style for loops with the faster, traditional ones. (#62908)
* Replacing more C-style for loops with the faster, traditional ones.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fix maint loot spawners not deleting after roundstart/spawning their loot. (#61707)
Maint loot spawners hang around and never get qdeleted after spawning their loot.
This does a little bit of simple code logic to limit copypasta and ensure that loot spawners never qdel late and that they qdel precisely when they intend to. Or when SSmapping intends for them to.
* Fix maint loot spawners not deleting after roundstart/spawning their loot.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Corrects mapload args that sprug up in the past few days (#61759)
See #61623 . These were either merged after the prior PR, coded before the prior PR, or were made in between and not updated.
* Corrects mapload args that sprug up in the past few days
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fixes neglected fern cell ine amounts + reverts undocumented crate spawner change that removed my brand new fern from the game. (#61671)
* Fixes neglected fern cell ine amounts + reverts undocumented crate spawner change that removed my brand new fern from the game.
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
* 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>
* 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>
* Change maintenance loot spawns to be invisible post-spawn (#60294)
A previous commit made maintenance loot spawn effects visibile to
observers, but transparent.
However, in practice this is a lot of visual noise for very little
benefit for observers, so after they've spawned, they disappear, akin to
the old behaviour.
(They are still there, just hidden, but it looks the same to the end
user.)
* Change maintenance loot spawns to be invisible post-spawn
Co-authored-by: coiax <yellowbounder@gmail.com>
* Rework maintenance loot spawners to fire at roundstart (#59913)
Maintenance loot spawners now fire at roundstart, rather than during the initialization of the Atoms subsystem.
Maintenance loot spawners do not qdel themselves during the spawning process, but persist, and merely hide themselves from living players.
As a cute side effect, this lets preround observers look at the colourful maintenance loot dice icons before the round starts. Observers can continue to see the loot dice post-round, but they are deliberately
very faint.
* Rework maintenance loot spawners to fire at roundstart
* fixafix
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
* I hate TGUI even if its better than what we had before
* this is why linters exist
* you need to be a Head or the Warden to get items
* does this please you linter?
* foundation
* basic interactions
* yea I can spell okay?
* linters please leave me alone
* begone debug code
* if you are dead, no interacting
* linters leave me alone
* linters are stealing my soul
* forgot to do this
* sound framework, probably wont work though
* max length, and interaction cooldowns
* message can now be a list and minor code improve
* I am a slave and linters are my master
* fix improper static reference
* add json loading/saving functionality
* default for message is now a list
* jsonize def interactions; implement requirements
* bad
* bug fix; CtrlShiftClick to interact
* minor qol fix
* fix CtrlShiftClick and remove debug code
* haha docker has security measures
* this was painful
* why are you in this branch
* begone
* bruh
* begone
Co-authored-by: Matthew <matthew@tfaluc.com>
Co-authored-by: Matthew J <GoldenKeyboard@users.noreply.github.com>
* fixes stuff made with bronze sheets deconstructing into tiles or not being able to make bronze golems (#58708)
* fixes poopy bronze tiles sstuff
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* RCD now rebuilds existing constructs faster and with less resources (#58029)
* RCD now rebuilds faster
* Reconstructing now costs less
* Fix _
* Remove unused flag, use helper proc
* Add sound
* Remove previously useless, now inaccurate comment
* Add MIN_COMPILER_VERSION warning
* RCD now rebuilds existing constructs faster and with less resources
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* You can now put food on plates, and plate no longer materialize out of nowhere as you cook
* Update dish_drive.dm
* aaaaaaaaaaaaaaa
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Desnowflakes tank integrity (#56443)
Makes tanks use obj_integrity instead of their own snowflaked version.
Makes tanks check for exploding when they are destroyed, rather than once every process.
Makes tanks always leak their gases when they are deconstructed.
Removes the ability for tanks to seal themselves back up over time.
Makes the bomb spawner actually produce functional bombs.
Removes the extraneous syndicate bomb spawner subtype.
Miscellaneous code improvements to tanks, bomb spawners, and the blastcannon.
Fixes the explosives compressor doubling the power of any bomb you put in it.
The changes to tank rupturing behavior shouldn't effect most tritium fueled TTVs including the 50K recipe. Toxins players don't need to worry about suddenly being incapable of getting points or refining anomaly cores. They should only really effect singlecaps, but I don't know enough about singlecaps to know what recipes I should test. I have confirmation that at least one mix is not effected by this.
The self-sealing properties of tanks have been removed. I'm not sure what the purpose of it was, I have heard that it was used to enable hand-portable plasmaflooding, but I'm not familiar with the practice.
As it turns out, the basic bomb spawners were broken on master! I have made the bombs they produce maxcap instead of just spring a leak. Since they maxcap by default now I have removed the syndicate subtype used to spawn the TTV produced by the cuban pete arcade game and replaced it with the normal timer subtype. Since none of the bomb spawner subtypes were used for anything else this shouldn't have any effect on the game.
On a similar note, I have discovered that the maxcap recipe on the wiki stopped working at some point since it was written. I will replace it with a functioning set of instructions.
Less snowflake code.
Bomb spawners are actually functional now.
Slightly better code.
The explosives compressor accurately reflects the power of the bomb you put into it.
* Desnowflakes tank integrity
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* [READY] Adds station traits: Small modifiers that can randomly be chosen each round
* conflicts
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* var/hacked now actually does something in vendor spawners (#56144)
Oversight made by @ TiviPlus when making #55147
var/hacked wasn't actually used in code and instead, all spawner vendors were instantly hacked.
fixes#56101
* var/hacked now actually does something in vendor spawners
Co-authored-by: EgorDinamit <53223414+EgorDinamit@users.noreply.github.com>
* Moves grown food to newfood (#55040)
Moves grown food to newfood
Gives trash element support for callbacks for item creation override
* Moves grown food to newfood
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
* Moves screen objects from mob to hud
* Update radial.dm
Co-authored-by: nicbn <nicolas.nattis@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
* Fixes mapstart and random arcade machines (#53958)
Randomly generated arcade machines were getting random boards and initing properly, but they weren't re-built as the appropriate subtype.
This oversight has been remedied. A new subtype has been created for random arcade machines which exists purely to pick a random circuit then create a machine from that circuit's build path before returning that it should be qdel'd.
This new subtype has been appropriately regex find-and-replaced into all maps.
* Objectify
* Fixes mapstart and random arcade machines
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Rebalances space loot and space exploration (#53916)
* Rebalances space loot and space exploration
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Disable some effect systems during init (#53929)
Instantly spread gib streaks rather than doing so over a delay
Completely skip broken light fixture sparking during init
* Disable some effect systems during init
Co-authored-by: Tad Hardesty <tad@platymuus.com>
* Refactors burgers to use components & auto-eating (#53224)
* Refactors burgers to use components & auto-eating
Co-authored-by: Qustinnus <Floydje123@hotmail.com>