Commit Graph

2691 Commits

Author SHA1 Message Date
Kashargul
a97ded5b3b fix runechat offset (#17510)
* don't double this

* .

* urg

* always use if defined

* eh

* tgui window from tg

* skip on char select

* rh

* .

* move to config
2025-04-11 17:10:37 +02:00
Kashargul
d18cd11713 [TGUI v6] Migration to CSS Variables, styles refactor & React 19 (#17487)
* Initial Port of tg's tgui 2.0

* initial

* first UI fixes

* fix retro theme

* rd console

* wiki theme

* better tgui say handling

* Ui scaling port

* smaller gap

* guh

* reset subcats on main cat change

* blink a bit later

* tofixed

* fixed

* currently not fully supported

* increase that

* fix powermonitor chart

* typescript up

* tgui core up
2025-04-08 22:49:38 +02:00
Cameron Lennox
2e38926234 Removes sleeping from the code in more places (#17418)
* Axes unused 'paused' variable from projectile code

* Remove TGUI in scrubber init

Moves it to only happen when a user interacts with it.

* Ghostpod tgui input from init -> LateInit

Ghost query REQUIRES a tgui input. It can't be fixed on that level.
Ghost pods however created a ghost query when spawned if they are NOT mapspawn. This means it can only be moved to lateinit, as far as I can see

* Moves borer ghost query from init to lateinit

* Better mob chasing. Gets rid of sleep in mob chasing

Moves Noodle's and Ian's snack tracking var to base /simple_mob
Moves Noodle's and Ian's tracking process from a individual proc of each to /simple_mob
Moves the sleeps out from the tracking proc and makes it a repeating timer.
Noodle now gets nutrition when you feed him.

* Moves blob query to lateinit

Once again, blob HAS to do a ghost query when it's created.
Ghost query will ALWAYS make a tgui window.

* No sleep in cyborg code

Moves pick_module() from /init on robot_module to /LateInit on /robot
photo showing it popped up the module select when I spawned in as a borg: https://i.imgur.com/5rGbqIR.png

* Moves AI controlled human's 'death' proc to LateInitialize

* Moves Corpse's processing from Init to LateInit

death() has a LOT that happens inside of it.

* Let's actually make it lateload on the human itself

* In case we don't want to auto kill ai controlled mobs

* Fixes death() some more

- Protean blobs will ALWAYS have a humanform, so that segment of code was unused.
- Makes the bulk of the exit VR section in a new perform_exit() proc
- Gets rid of the WIP proof of concept hack in there.

* whoops duplicate

* We will ALWAYS have a humanform. ALWAYS.

The server will CRASH if we do not.

* get rid of this...

* Makes corpsespawn work better

* more VR stuff

* No suspending the whole machines subsystem

* avatar

* as anything

* u2

* nolist

* forgot this one

* fix

* VR fix

Fixes an oversight with VR sleepers

* player initiated

* OVERSIGHT

* Update borer.dm

OF course WE DON'T have a mind, we're a GHOST.
Fixes borer spawning

* this was unused

no
2025-04-07 17:16:07 -04:00
Cameron Lennox
e2980a5c48 Resizing & better runechat (#17384)
* Resizing & better runechat

Sprite decals also adjusted. Now get generated BEFORE tummies, so they don't overlay over stomachs.

* no world

* Update resize_vr.dm

* else

* n dent

* Update resize_vr.dm

* always allow 100% size

* no breaking the cap without admin intervention
2025-04-07 05:10:40 -04:00
Kashargul
35b3a76176 some fixes (#17468) 2025-04-02 21:40:51 +02:00
Kashargul
c30f2b9c49 next grep, no spaces (#17437)
* next grep, no spaces

* next few files

* fix that

* fix that
2025-03-28 21:25:08 +01:00
Cameron Lennox
c42610c5ae Have you bingled that (#17407)
* Initial wiki system

* wiki organization and spoilers

* hide belly chems

* move ads to tgui

* add search

* .

* load screen

* error screen

* 8

* center

* .

* .

* make this more realistic

* tgui errro col

* move search to top

* .

* non NT theme

* logo to common

* base custom theme

* .

* wip refactor

* almost halfway

* reworked wiki data

* easy fix

* get data fix

* Material Page in tgui

* catch null supply points

* .

* forward crash

* reset pages

* .

* canvas prep

* fix icon stacking

* .

* colored outlined images

* fix sm datum

* fix material names

* subType prep

* only on crash

* fix null crash

* .

* fix solgov

* clean hiding

* .

* implement catalog page

* .

* particle smasher page

* I'm lazy

* unfuck some sins

* ore page

* botany page

* allergen list

* allergen returns null too

* slime injection var

* slime core data

* fixed warning

* wip

* proper data list for chems

* pass is_slime as null

* chems

* split that

* .

* .

* .

* .

* donation for bingle, some cleanup

* return types

* partially colord icons for chemistry

* .

* more sillies

* donation page

* thaler

* needs some variation

* .

* this will crash until implemented

* handle it

* fix that

* dismiss donation banner button

* .

* fix that

* donating procs

* donation stuff for comp

* -

* drink glass for drinks

* illegal iconstate pass

* fixes

* .

* nuke drink fix

* .

* .

* .

* Drink reagent fix

* more cleanup

* adjust

* .

* simple food

* .

* food list

* sending nulls, removed flavor from recipes

* .

* .

* get_donation_current added

* .

* missing key

* .

* duped recipes fixed

* .

* .

* wiki food reagent recipes

* double list add

* properly forbid remaining bad reagent

* hide this too

* stacky

* enable eslint const

* fix typing

* update that

* use proper donation proc

* printing fixes

* grinding

* .

* beaker fill volume

* plant ore and mat grinding results

* duped recipes fixed, unit test tweak

* yes this is terrible

* .

* .

* .

* chem analyzer tgui mode, some subsystem changes to support it

* redoce

* .

* ,

* .

* small fixes, missing reagent volume

* push

* sort

* catalog entries unlocked by explo

* new chem stuff

* .

* fix byond code

* fix scroll tracking

* comment

* alphabetical

* also this

* .

* fallback icon

* .

* ...

* rel path

* that too

* to defines

* organ to define

* .

* .

* .

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-03-28 19:00:50 +01:00
Kashargul
2556102719 only tab indentation (#17408)
* only tab indentation

* .
2025-03-23 15:28:15 +01:00
Kashargul
2a83d9da7f allows soulcatcher import and export (#17391)
* allows soulcatcher import and export

* .

* vore pref transfer to define

* order them

* fix button issue on tgpanel

* Update vore_prefs.dm

* Update VorePanelExportSoulcatcherString.tsx
2025-03-22 17:10:02 -04:00
Cameron Lennox
95e3bf67c4 VR pod and mob TF fixes & adjustments (#17397)
* Makes VR not crash the server

- Makes mouse rays no longer crash the server under certain circumstances
- Makes VR pods no longer crash the server (Method #1)
- Makes VR pods no longer crash the server (Method #2)
- I think there was a third method to crash the server with VR pods. That got fixed too. If it existed.
- Updates TF and makes it no longer cause runtimes & crashes.
- Makes it so you can no longer repeatedly spawn in VR and clog up the server with hundreds of yourself (humanoids are expensive!)
- Adds a greyscale effect for reconverting TF rays
- Added a toggle for VR pods to spawn people with clothing or not
- Ghosts now have a button to enter the VR space if it's spawned in!
- Ghosts can now enter VR if it's spawned in!
- Adds the ability to TF into different creatures while in VR

* turfs

* moving stuff around

also small drippy fix while at it

* shhhh

* Update ar_console.dm
2025-03-21 21:58:25 +01:00
Cameron Lennox
17ec1d700b Removes more sleeps from init (#17332)
* splits emotes into original (custom_emote) and automatic (automatic_custom_emote)

* no copy paste

* immunosuprizine touchup

* srcining
2025-03-16 18:11:04 +01:00
Kashargul
2757cefab8 first few resolved greps (#17343)
* first few resolved greps

* .
2025-03-14 14:16:40 +01:00
Kashargul
c8aff28c5b space cleanup (#17300)
* space cleanup

* this

* this too

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-03-14 06:37:13 -04:00
Cameron Lennox
ba029d73ad Refactors ghost query to not use sleep (#17267)
* Refactors ghost query to not use sleeep

* Update ghost_query.dm

* don't need this anymore
2025-03-12 16:58:25 +01:00
Kashargul
1def015bad end of file Fix (#17308)
* end of file Fix

* fix those lints too
2025-03-10 16:15:35 -04:00
Cameron Lennox
34c7fc761e Plushie Fixes & Additions (#17258)
* tinytin plush

* missing var

* Fixes plushie speech. Plushies now speak to you. Cutely.

qol: Goes through and gives plushies speech bubbles pertaining to what they are.
fix: Fixes it so plushies now properly speak.
qol: Makes it so any interaction with plushies will play their phrase, NOT just disarm-intenting them (This was never made clear that disarm intent makes them speak.)
code: Gets rid of a few non-existent base paths by converting one of the paths into the base one. (plushy/therapy & plushies/squid)
fix: Fixes the toaster from having the sus plushie sound.
code: Changed some timers that were calling a proc that just set a var to false. Instead, we now use a varset_callback timer there.

* we are not the danger

* No name stealing.

* comment

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
2025-03-10 01:58:04 -04:00
Guti
a5a3bd953c Swarm Component + Pixel shift attack animation (#17179)
* Swarm!!

* carp dmi

* swarm

* Proper swarming

* Swarmers

* Update

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
2025-03-09 15:09:32 -04:00
Kashargul
46bea7cfa2 Initialize fixing (#17279)
* Initialoize fixing

* diff fix

* add init grep test

* fixed missed ones

* .

* some more

* ,
2025-03-08 13:59:29 -05:00
Cameron Lennox
ddc95236e0 Fixes some runtimes [IDB IGNORE] (#17194)
* Fixes some runtimes

* typo

* No more infinite mannequins

* crash

* More runtime fixes and  pressure fling

Makes it so you can unwrench pipes that are pressurized, at the cost of being flung back from the pipe. Higher pressure = longer distance and faster.

* Fixes a memory leak and a bug
2025-03-06 13:17:13 -05:00
Selis
7a7ae89713 [MAJOR CHANGE] Admin rank datum (#17133)
* Admin ranks update

* Permissions fix

* One missing thing

* Further rework to make database also fully work

* Adds admin rank bitflag calculator to tools

* ZA WARUDO

---------

Co-authored-by: C.L. <killer65311@gmail.com>
2025-03-06 01:38:19 +01:00
Killian
cc58d111cb Veymed Voidsuit Tweaks (#17180)
* veymed voidsuit tweaks

* deconflict

adds the teshhood

* these were removed

* Fixes sergal

* Fixes altevian. Gives them the taj base sprites

* Fixes akula head

---------

Co-authored-by: C.L. <killer65311@gmail.com>
2025-03-03 18:31:08 -05:00
Guti
4fe99bd865 Various upports (#17061)
* Mail

* Updoot

* Stuffs

* Updoot

* oops

* Change

* usr + span_notice

* fix

* Forgot the gelatin :(

* MORE gelatin

* Proper Gelatin :)

* Gelatin shall not be a juice

* And gives it an ID of course

* deconf

* adds the missing worn sprites

* enables this since guti's pr gets merged

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
Co-authored-by: C.L. <killer65311@gmail.com>
2025-03-03 10:39:38 -05:00
Kashargul
4f8e9f7ef8 some more new to init (#17231)
* some more new to init

* rigs

* rigs

* intellisense moment

* telcoms and landmarks

* fix that as well

* some more minor things

* re add missing message

* fix trash eating...
2025-03-01 13:39:52 -05:00
Kashargul
55a61bc38f up ports incorp and proximity handling (#17106)
* up ports inCorp and proximity handling

* anim size

* bullets no longer hit shadekin

* fix throwing and clicking

* use the proc

* and add the proc

* .

* No moving when you can't move

* fixes portal runtime

* No bonk when throwing at incorporeal entities

* MAR

- I coded in picking yourself up years ago and someone broke it (by adding a lying check). This unbreaks it. Additionally, picking yourself up was made immediate instead of a 0.5 delay since before hitting the U key was slow and doing it this way was quicker. That's not the case anymore.

- Makes attack_hand not happen if the person is incorporeal
- Makes you not  contract touch spread viruses when you click one someone and don't do an interaction (you will now always do an interaction)
- Makes it so you can't mousedrop items while phased.

* no more spreading viruses while phased  / to phased

* F

---------

Co-authored-by: C.L. <killer65311@gmail.com>
2025-03-01 12:09:35 -05:00
Cameron Lennox
83831f2555 Makes the game no longer try to see if your heart is vital before letting you rip it out of yourself (and a few others) (#17159)
* Update human_modular_limbs.dm

* More fixes

* Update update_icons.dm

* fixes tcrystals

* more tcrystal fixes
2025-03-01 12:03:59 -05:00
Kashargul
cb56adaa37 more font tag replacements (#17123)
* more font tag replacements

* few more

* more span conversion (#9)

---------

Co-authored-by: Nadyr <41974248+Darlantanis@users.noreply.github.com>
2025-03-01 11:58:58 -05:00
Cameron Lennox
6a157d8614 Rig glovefix and Clothing protection fix (#17118)
* Fixes RIG gear to not drop your equipped items

Fixes the rig gear to not drop your equipped gear after undeployment

* better fix

* Fixes suits and RIGS

- Makes rigsuits no longer eat your gloves
- Allows you to properly wear a ring under a rigsuit
- Gets rid of a LOT of duplicate var  = XYZ in places
- Makes it so clothing actually properly provide protection to the areas they're covering. (This doesn't change anything unless their actual min_cold_protection or max_heat_protection is adjusted!)
- Adds a define for CHEST which is just UPPER_TORSO|LOWER_TORSO to make it clear it's protecting your WHOLE chest at a glance.
- Gives some things like knee-high and thigh-high boots proper leg protection

* Clothing unit test

* fixes

* oops

* hoods are snowflakes

* hood fix

* path fix

* no nullspace turf

* nullcheck

* don't test devwarning cloths

* ignore this too

* more exclusions

* more exclusions, disabled species test

* Changes So Far

* holding/wearing icons for clothing

* fixed

* more fixes

* lets try this again

* go

* tesh cloak

* some more

* devwarning

* the cursed one

* oops

* fixed species scan

* Update clothing.dm

* restrict this down a bit more, we don't want unit-test to choke

* no more CI killer

* suit defined name twice

* suit

* some more exclusions

* etc

* gwah

* gwah

* clarifying exclusions

* yet more exclusions

* another set of exclusions

* ranger

* compile

* more bitflag

* yet more exclusions

* more

* more missing

* Update sifguard.dm

comment (also to wake up travis)

* more exclusions

* sifguard

* more exclusions

* more

* send help, yes more exclusions

* lost to time

* skrell stuff

* offear is special

* fixes more and unbreaks protean rigs

* The big one

* wrong ifdef

* more

* boots

* Update accessory.dm

* small object fix

* lets be more careful

* Does this fix the signal

* is it the signal?

* FIXES THE REST OF THEM

* wah

* disable test

* the last one

* fix signal check

* fixes

* ignore storage

* teshari blacklist

* tesh

* God speed

* fixed progression removed lizard

* fixes some i guess but what's the point

* disable indepth check

* START ROBOT SPRITE VALIDITY

* Revert "START ROBOT SPRITE VALIDITY"

This reverts commit c9bfb7e9ce.

* consistency with another test

* yuh uh

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
2025-03-01 11:56:30 -05:00
Drathek
d062ff9f49 Port OD Pragma Lints (#17171)
* 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>
2025-02-26 18:12:03 -05:00
Kashargul
b91e6883be fix runechat flicker (#17209) 2025-02-26 18:44:59 +01:00
Cameron Lennox
3c08c90f2a Orbit fix [IDB IGNORE] [MDB IGNORE] (#17198)
* wip orbit fix

* dos fix
2025-02-22 03:51:17 -05:00
Selis
f7de6141b5 Autochangelogs (#17152)
* Scripts ported

* Converted changelogs

* Fix

* Prettier

* Removes old unneeded save

* Removes very old changelogs
2025-02-15 17:10:05 -05:00
Kashargul
2e83d07efb fix runechat offset on resize (#17156) 2025-02-15 15:10:47 -05:00
Cameron Lennox
b1fc0d4c70 Consolidates some /Destroy()s to make them properly delete (#17046)
* The mob/living/Destroy() consolidation

* The mob/Destroy() consolidation

* The /mob/living/carbon/human consolidation

* The datum/Destroy() Consolidation

* The /atom/movable/Destroy() Consolidation

* for human
2025-02-14 03:06:25 +01:00
Nadyr
900d0144a7 Up port orbit improvements (#17122) 2025-02-14 02:52:10 +01:00
Kashargul
e94546badd moves runechat to a subsystem (#17132)
* moves runechat to a subsystem

* undef

* our linear interpolation is inaccurate...

* missing dependencies
2025-02-13 23:05:02 +01:00
Cameron Lennox
96381f94f1 Better Block Injectors (#17128)
* Better Block Injectors

* makes it pass

* .

* Update human_organs.dm

* fixes blood v2

* save

* gwah

* update appearance

* resolve

* Update computers.dm
2025-02-13 06:27:14 -05:00
Kashargul
69858552ca Up ports the dynamic light system (#17102)
* Up ports the dynamic light system

* missed comment

* fix light intensity... 0 to 100 percent

* Crash on insane bounds
2025-02-12 07:48:27 -05:00
Cameron Lennox
cdafe425a5 Adds Trait Genetics (#16921)
* Adds Trait Genetics from Outpost21

Adds trait genetics from Outpost 21
- Tried to update each file it touched to be equivalent to their Chomp specific variants in order to maintain functionality and make sure no oddities would happen due to code differences. (Some things like the eardeaf loop were left there but commented out)

* Morph trait

* Fixes a server crashing bug with flip

aa

* flip

* Makes morph superpower better

- Makes it use the appearance_changer instead of 1000 different  procs

- Makes cocoon weaver able to change eye and skin color.

I did NOT select you. BAD

* begone

* fix dna modifier

* Fixes massive memory leak

* Brain Runtime Fix

* There was no reason for this to be a spawn(0)

And no I didn't spawn with no blood - https://i.imgur.com/vPizqCD.png

* revert

revert the dna changes there

* Deconf

* gets rid of unused proc vars that did nothing

* expects enough free slots

* glob

* fixed and added two other tests

* another few tests

* this is a list

* fixed bad injector

* lets wrap these for sanity

* better feedback

* wrong name

* don't allow multiple occupants into the dna pod

* future traits will have activation levels instead of binary on/off

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
2025-02-11 02:01:27 -05:00
Kashargul
408b765def pulse and door tag fix (#17117) 2025-02-11 00:41:49 +01:00
Kashargul
b037bb9b36 mmi holder init (#17100)
* mmi holder init

* who changed that

* .

* .

* .

* fixing

* .

* -

* .

* add this
2025-02-08 23:03:47 -05:00
Guti
a081d48590 DCS Update + Footstep element (#17076)
* DCS Update + Footstep element

* Steppy

* Revert "Steppy"

This reverts commit fab0590fb7.

* Reapply "Steppy"

This reverts commit 1f7ad8f8f7.

* Ough

* Oops! Wrong map.

* lil stuff

* Update

* Only loud

* Missed one

* NO MORE SILENT

* ...parenthesis.
2025-02-08 18:19:59 -05:00
Cameron Lennox
eeefd4ef3f Fixes the body designer [WIP] (#17062)
* designer

* finished off remaining body designer stuff, name etc

* merged _vr file, added note to use this

* harddel fix

* this one too

* unifies subtabs, adds search and improves layout

* fixes a longstanding issue with marking color appearance changer

It was feeding a /list (The object) to the color picker and the color picker just rolled with it and said 'sure'.

Now with actual sanity TGUI color picker freaks out and goes 'wtf'

This makes it actually feed a color input into the color picker.

* quick push

* adds hair grad to body designer

* push

* color works again

* hair gradient for body designer

* deconf

* Gets rid of duplicate datum

* no test tonight

* spotty fat

* Condenses hair_extras. Fixes a few missing.

Also adds a new cosmetics_tests unit test.

* fixes the rest of the sprites

* lets try this test

* why did that test compile

* another test ENHANCEMENT(fix)

* More aggressive unittest

* fixie

* invisible tail has snowflake handling

* fix for invis check

* oops

* validate existence of icon in unit test

* unittest checks marking and hair icons properly

* fixing bad unit testing again

* fixed marking icon check

* get rid of unused datum, markings show

* fixes things

* you too

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-02-07 20:57:25 -05:00
Guti
43a8a1a5a6 boom (#17083) 2025-02-07 10:55:53 -05:00
Kashargul
af85f098cd bunch of misc fixes (#17031)
* bunch of misc fixes

* .

* more refs also new ref tracking from chomp

* oups

* eh
2025-02-05 13:53:53 -05:00
Kashargul
bbed406b2e remove old inputs (#17008) 2025-02-01 14:23:25 -05:00
Kashargul
7be621e7c3 usr to user part two (#16884)
* usr to user part two

* this can be null

* A few edits

- Gets rid of src. in a few places that were edited
- Gets rid of a few //VORESTATION comments
- Removes an unneeded sanity check in sizegun_vr
- Gets rid of a mind boggling !usr check in mob.dm
- Changes usr to user in sizegun_vr.dm

---------

Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: C.L. <killer65311@gmail.com>
2025-01-30 17:17:46 -05:00
Cameron Lennox
a6452d7541 Fixes bodybags and crew console (#16997)
* Fixes bodybags

Enables the bodybag label overlay as well

* Labeling stuff

* Fixes bodybags

Enables the bodybag label overlay as well

* crewfix by Kash

Fixed by Kash

* more crew fix

* This got swapped, somehow
2025-01-29 21:07:03 -05:00
Kashargul
e7a12c0364 fix a missing definition (#16969)
* fix a missing definition

* Update crew.dm

* Update crew.dm
2025-01-27 03:08:48 -05:00
Kashargul
394b2a4789 some destroy cleanup (#16958)
* some destroy cleanup

* fix inits

* deconf

* wrong PR

* rm duplicate

* fix that

* forgot that
2025-01-27 09:11:39 +10:00
Cameron Lennox
09b36a7ff6 Xenoarch Rework [Ready for Review] (#16757)
* 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.
2025-01-27 07:15:58 +10:00