* Experimental: Port OD Pragma Lints
* first pass: Includes icon forge fixes/updates
* 2nd pass
* third pass
* debug_ai: This what you're unhappy with?
* Revert "debug_ai: This what you're unhappy with?"
This reverts commit bc178792e6.
* How about this
* Or is it the else?
* Pass summer
---------
Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
* WIP Xenoarch
* Removes the chompedits
* Makes field gen not required.
Genuinely, it was a relic and NOT fun at all to lug around this giant machinery that all it did was make it so you could actually GET the artifacts.
It added nothing to the experience and simply made it feel more clunky.
Previously, the field generator REQUIRED you to select what "generator field type" it needed, which was 'used in conjunction with analysis machines to determine correct suspension field type'...
Or, if you did what 99% of every xenoarch player did, you learned how to code dive or used the wiki ("Oh, metal composite = this field gen type").
Someone down the line realized this was a dumb idea and proceeded to axe the types.
Now, I axe the generator entirely. Still leaving this IN here in case someone DOES want to reenable it, but it just makes the whole xenoarch experience that much more worse in my opinion.
Especially when you get to deposits in awkward positions that are sandwiched between two walls, meaning you can't excavate AND use the suspension gen at the same time without choosing one of the tiles to break. Visual example below. X walls, x open space, O artifacts.
XXX
xOX
xOX
XXX
* Part 1
-Slashes a LOT of RNG from xenoarch spawns. No longer will you get 5 normal, mundane bowls in a row that all look the same. They're GUARANTEED to have coloration and various effects
- Adjusts a LOT of the RNG of xenoarch spawns.
- Remove shards (was just a glass shard...The most disappointing find you could get)
- Removes rods (See above)
- Removed Cutlery (See above)
- Increases chance for the vampiric statuette to spawn
- Makes the 'syringe' archeology find generate random 3 to 6 random chemicals that get stuffed into the syringe. (Using same blacklist as the xenoflora chem blacklist)
- Readjust spawned /material weights for items. These are ALIEN artifacts. It's boring to get your 20th 'alien wooden bat' of the day. Now it's COMPLETELY random. You might get a glass bat. Or a supermatter bat. Or a diamond bat. Who knows! (Has a blacklist that includes adminspawn materials or materials that would be too strong/make little sense. No durasteel hull knives here!)
- Made things that just spawned "this weapon" spawn a subtype of "this weapon". Things like knives, handcuffs, 'flame' (includes matches now), tanks, and tools will also follow this logic.
- Adjust it so you can get an alien tool AND alien clothes
- Alien remains aren't just useless bones anymore, they spawn with a randomized plasma vessel and organ! Go ask medical to shove it in ya!
(TODO: Test that medical can ACTUALLY shove it in you)
- Removes the no fun 'Oops you accidentally dug too far, the artifact inside breaks!' when it comes to rocky debris because the game never tells you to dig 1 at a time.
- Expands the list of what the replenishing bowl can spawn with. Uses the xenobio plant chemical blacklist. (TODO: Add a 'blacklist' var on said chemicals, sometime)
- Makes it so ARCHAEO_REMAINS_HUMANOID can spawn a random organ.
- Makes it so the ARCHAEO_REMAINS_ROBOT spawns a lost drone pod.
- Makes it so guns are more randomized in xenoarch. They now tell you what bullet type they require
Additionally, they are now a subtype of bullet and can spawn with ANY /bullet. This makes the guns ACTUALLY really weird.
- Makes it so your xenoarch guns will always spawn with some bullets.
-Expands the alien clothes spawn to include the gluttony psy_crown.
- Makes the 'ARCHAEO_UNKNOWN' that was previous broken (and spawned nothing) spawn a rare research sample. (This is generally useless since the circuit printer exists and R&D can be speedran in 10 minutes, but whatever. If your xenoarch finds one in precursor or anomalous you'll be happy.)
- The plant fossil notes to give it to xenobotany and extract it.
- Gives the instrument spawn logic the same as everything else. Subtypes.
- Swaps the 'ARCHAEO_CULTBLADE' cultblade to a new archeology based cultblade. Has SPOOKY effects. (TODO!)
- Adds the library tome to the possible spawn pool for temple digsites (Useless unless you're an antag cult but SPOOKY
- Gets rid of 'digsite animal' as it was completely irrelevent due to bones not being able to put in the xenobio machine to give you animals. (This was a very VERY old feature. I can't even recall how many years ago)\
- Makes every xenoarch effect have its own individual tag.
- Makes it so the artifact analyzer actually gives you an idea of WHAT the artifact will do instead of saying "I dunno boss, go test it and accidentally blow medical up"
- Makes it so the artifact analyzer gives you an idea of how the artifact disperses it's effect, other than using weird super sciency-sounding terms and requiring you to code dive
- Reworks the vampire artifact spawns to make it so you're rewarded for interacting with it via spawning spooky cult-themed objects.
This makes it so there's actually a (small) incentive to experiment with it instead of just proccing it once and going "INTO THE BOX OF THINGS TO NEVER BE TOUCHED AGAIN"
- Better formatting for the anomaly analyzer. No longer will it be a MASSIVE wall of text, especially if it has multiple artifacts!
* Part 2: Guns and Weight
- Adjusts the large artifact find rates. Some things (like the supermatter shard, which could just instakill the xenoarch and the crystal which was useless) were too high, while some (like the construct shell) were too low and would NEVER really be seen. (I've done xenoarch for years now and have only seen ONE construct shell.
Previous drop rates:
Total Wt In Pool: 1590
5 wt: 0.31%
25 wt: 1.5%
100 wt: 6.2%
150 wt: 9.4%
1000 wt (artifact): 62.8%
New wt:
// Our total is 560 (As of the time of writing. If ANY of the weights are adjusted above, you have to recalculate. Formula: (thingy_wt/total_wt)*100 = % chance of drop)
// Artifact: 53%
// 50 wt: 8.9%
// 25 wt: 4.4%
// 5 wt: 0.89%
- Adjusts the archeology gun logic. Makes it actually functional AND makes it so you can't remove the fancy bullets out of it.
- Adjusts the archeology calibers to ones that can be obtained.
- Adds a note to the archeology gun when examined that it requires ONE bullet at a time. No speedloading these alien guns!
- Makes it so the archeology gun has the proper special HUD state depending on what bullet type is loaded.
- Fixes a few runtimes pertaining to secondary items
- ADDS A DEBUG SPAWN VERB SO I CAN TEST ALL THIS. THIS NEEDS TO BE REMOVED PRIOR TO MERGE.
- Fixes an unintentional = vs == in archeo_melee.dm. It's not completed yet and is in an EARLY wip stage but might as well fix it sooner than later.
* Added an extra failsafe last second and forgot to tab it
* angy
* Energy guns
- Makes xenoarch laser gun follow the same logic as the xenoarch projectile gun, but SOMEWHAT stricter. (Not using projectile/energy for example. Beams, ion, animate, and floramut rays only!)
- Removes the '5% explode on use' chance
* Update find_spawning.dm
- Fixes a few runtimes with material display names. Some didn't have any and would runtime.
- Adjusts and expands the list of the source_material if we don't have a specific material display name. It's supposed to be alien artifacts, so unearthing a ring made of pure meitnerium or a bowl composed of roentgenium is COMPLETELY in the realm of possibility.
* More spawn logic
- Makes material stuffs spawn properly
- Makes the robot pod spawn properly
- Makes the cursedform stop spawning (It served its purpose of confirming stuff worked)
- Makes rings have different materials (https://i.imgur.com/T9OzU4p.png)
- Makes gasmask able to spawn as either a poltergeist or a voice type.
- Makes the banned materials a list in the proc only once instead of multiple times. (Cuts down on copy paste errors and makes it easier to add to. Could honestly make it a global list but eh.)
- Makes the new_item_mat default to steel correctly.
- Allows for secondary items to have different names and desriptions.
* More Small Artifact Adjustments
- Gives the artifact blade a proper decription
- Makes the vampiric statuette no longer RNG.
- Makes the occult clothing spawn in sets instead of mix&matched
- Makes the research sample (ARCHAEO_UNKNOWN) spawn properly.
- Fixes the syringe from having too much volume and not having the sprites. It's limited to 15u now, but spawns with 5 chems now, 3u each.
- Fixes the alien clothes from having the same name as the alien tool
- Makes it so boats spawn properly.
This is ALL the small artifacts taken care of, fixed, and having additional fluff added to them.
Next, I need to adjust the large artifacts, add feature to the artifact sword, rework the vampiric statue, and see about touching up the other xenoarch code
* Shock Maul Adjustment
- Makes the shock maul's description of breaking rocks different. Plays a different sound as well
* whoops quotes
* More adjustments!
- Vampiric statuette has a hint/warning of how to activate it in it's description
- Makes shadow wrights NOT sit in nullspace 5ever after activating
- Makes shadow wrights give you some fluff text instead of just randomly KOing you.
- Makes the vampiric statuette follow the same spawn logic as the vampiric large artifact
* More sword stuff
- Adds 'ispassive' typecheck helper
- Makes the artifact blade's origin tech 6/6/6 because funny
- Makes it so the cult sword only starts processing when it's first touched.
- Makes cult sword stop processing when the user dies or stops existing.
- Adds some more features
* More relic sword stuff
More artifact blade works.
- Various blade fixes
- Makes it so it can 'consecrate' SIMULATED turf, SIMULATED walls, and girders.
- Also adjusts 0 & 1 for grille destruction & bullet passthrough to false/true while I was in there
* Purge is lame get rid of it
* mixup
* Finishes artifact sword
Makes it so if you use it and destroy it, it gets VERY upset
Makes it so the artifact sword is a way for archeology to - slowly - exchange health and time in exchange for artifacts
* Verifies all artifact effects works, fixes some
- Makes the xenoarch anomaly harvester ACTUALLY work
- This has a BUNCH of features but I'll have to detail them out better once the PR is ready for review
- Fixes a bug where rarely, "datum/artifact_effect/extreme" would get selected and do nothing.
- Fixes a server-crashing bug.
- Makes all the artifacts compatible with the artifact harvester
- Moves 'being_used' from the artifact to /obj
- Makes gas artifacts not 100% useless.
- Makes some more adjustments to the artifact sword
* small rewrite
* lightning and culstist check fixes
* iscultist
* More small adjustments
* Organization
Organizes all the atmos affecting artifacts into one folder
* Condenses artifacts
- Condenses a LOT of the artifacts down and gets rid of duplicates.
* Updates dme for new artifacts
* switch
* Type Changes
- Adds wrench to xenoarch supply pack
- Changes istype to ishuman, isrobot, ismob where applicable
screech
* Changes <b> to span_bold
In applicable places
* Adds Power Generator artifact
- Adds power generator artifact
- Adds some sounds from Goonstation to go along with the new artifact
- Makes it so animate_shake is a proc on /obj instead of just /closet
- Makes it so you can activate artifacts with gloves on, but you won't accidentally touch them if you have gloves on.
* More edits
* Procedural gen. Rock adjustment. Drill buffs
- Speeds up excavation drill (It made no sense it was a downgrade in speed)
- Makes it so when going to change the depth, it defaults to whatever it's currently set to
- Makes excavation drill able to go up to 60cm
- Makes xenoarch lockers start with excavation drill
- Changes loot pile prob2 from excavation pack to excavationdrill
- Makes it so mining vendor also sells the excavation kit
- Gives miners a basic anomaly scanner (but NOT the anomaly locator) to allow miners to do basic archeology if they stumble across a rock and want to excavate it but can't actively search and locate artifacts that archeology might be going for.
- Makes archeologist's anomaly scanner able to do continual artifact searching and generation. No more will you 'run out' of artifacts halfway through a round and have nothing to do anymore. This only occurs when all large (or small) artifacts have been completely depleted on a Z level.
- Makes it so boulders no longer randomly spawn when miners are mining, even when no artifact was there.
- Makes anomaly scanner do procedural generation to keep giving further ability to mine.
- Makes it so strange rocks can be mined with any /pickaxe, as small picks (the excavation pickset) was destroying them
* Gets rid of clearance
- Gets rid of clearance range. It was confusing and not helpful in the slightest for players.
* Gets rid of unused variables
* Removes unused vars from the tsx as well
Wanted to test to make sure it'd work first
* More bugfixes
- Fixes excavation drill text
- Fixes runtime with responsive reagent
- Makes temperature artifact show up properly to the scanner
- Fixes a typo with the atmospheric effect name
- Adds some spaces to effect.dm to make the artifact analyzer effect show up properly.
- Removes a few invisible sprite organs from spawning
* Untick
* Adds a cooldown and sanity check
- Adds a cooldown to the procedural generation of the ano scanner.
- Makes the debug ability a proc on /mob so that admins can call it to spawn artifacts.
- Adds a sanity check since it's now a proc that can be called.
* Making it compileable
* Adds Tracy & Fixed missing compat in sorting code
* CI workflow using "Stable" beta version
* Tracy define
* Fixes
* Update GC from TGStation
* fixes
* Appease linter
* begone custom_items.txt
* Making it compileable
* Adds Tracy & Fixed missing compat in sorting code
* CI workflow using "Stable" beta version
* Tracy define
* Fixes
* Build dependencies at 514
* Asset delivery/GC/515 megapatch
* fix runtime
* Appease integration tests
* More runtime fixes
* Attempting to resolve runtime
* Update spacemanDMM
* icon2html revolution
* icon2html part 2
* fixes
* Attempt to appease linter
* More fixes
* Final fixes (hopefully)
* operator keyword moment
* minor fixes and additions
* undo extra tgui files
* switch to QDEL_IN_STOPPABLE where necessary
* Pain
* GPS runtime
* dropped(null) fix, + chompedit the fixes just incase.
* Fix chat tags
* Update _build_dependencies.sh
* runtime in orebag, duplicate in computer/ship/proc/look, runtime in zoom
* tweak zoom change
* another registersignal override runtime
* 1
* Revert "1"
This reverts commit 43f619ca6c216c2bc41b8f7a346069f99591261b.
* various qdel ref fixes
* newplayer and observer harddels
* disposalholder logging remove, gargoyle hard del + typo
* retouch atom/movable destroy to be TG-like
* potential edge case ref in manualfollow
* extra following potential ref
* global list refs tweak, new_player undo a thing
* /mob/new_player qdel fixes
* undo some things
* revert atoms/movable/destroy
* revert mind and new_player panel changes
* atoms and atom/movable reversions
* bring back datum/mind and panel fixes
* projectile optimisation
* Reverts useless edits, clothing hood runtime, projectile runtime
I tried a lot of things which do not help, and i reverted a lot of it here.
* a few more reversions of useless changes
* Begin getting rid of CHOMPedit comments
* Nuke remaining chompedit comments
* Revert "undo extra tgui files"
This reverts commit f3bdcde8cb.
* fixing oops
* line ending shenanigans
* More GC cleanup
* Optimisations to test/trace projectile, turrets. Tweaks.
Turrets now only trace when they are absolutely sure they want to shoot. disposalholder, effect master and artefact qdel refs changes.
* bad usage of the check_trajectory proc
check_trajectory returns a list of objects hit along it's path to it's target, not a boolean of the target being hittable. a couple places in code assume this, so here they are fixed.
* puts legacy globals into GLOB datum for debug use
* fix upport oopsie
* fix
* Move recursive listening to component
* Minor fixes and cleanup
* undo my temp solution
* tweaks + a missed thing
* recursive_move sanity checks and safety cases
* Catch null initialisation cases + fix borg creation
VV edit spawns the object in nullspace then directly sets it's loc, which means the movement is unregistered. The spawn(0) delay should hopefully mean that setup_parents happens AFTER any unregistered movement.
* circular inventory check, make checks better
* better handling of safety reset cases
* Add logging to safety checks
---------
Co-authored-by: Selis <selis@xynolabs.com>
Co-authored-by: Selis <sirlionfur@hotmail.de>
Co-authored-by: Raeschen <rycoop29@gmail.com>
a primitive shield, perfect for the next knights at castle mystic event.
it's much less cool, there's no metal ones. but it's literally the only low tech shield in our code right.
No really all other shields are made of plastic like the riot shield, or energy like halo jackles.
anyway it has 10 lower block chance than the explo shield and 20 less than riot. It's planks off wood and a bucket tied together