Commit Graph

560 Commits

Author SHA1 Message Date
Kashargul
ca5a254a00 lobby screen subsystem (#17686)
* lobby screen subsystem

* .

* tgui core 3.1.5

* use unknown in the class

* .

* second

* Didn't even know you could type components like this

* .

* dependency up

* can we not use any...

---------

Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>
2025-05-09 22:25:18 +02:00
ShadowLarkens
e627fb8d1d CMSS Lobby Screen (#17581)
* Establish base working new_player tgui

* Tweak to fit virgo

* .

* fix that

* split that

* no as import

* clean up old code

* .

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-04-26 23:52:01 +02:00
Cameron Lennox
d0787362cd Kitchen Sink PR (#17515)
* insanity

- Crawling
- Recursive Listeners
- Global Conversion to GLOB.
- Sound channels (and sound (but not looping sound yet))
- Species and gender specific sounds
- Admin proc to enable vore antag on a target
- Dying by being crushed inside of shoes now enables your vore_death flag
- *pain emote
- RNG Spaceslipping removed
- Selecting the groin with help intent will do a bellyrub on the target
- Xenochimera get lick wounds
- Wolves now get stomachs (and stomach overlays)
- Proper vantag handling
- Staff exiting will now notify staff
- Modular computers get a power on sound now

GET IN THERE

* whoops forgot to give it to mobs

* Bellyrubbing is now an emote

* Update vorestation.dme

* some small edits

actually gives voice freq a valid starting selection
makes the default voice less jarring

* Update atoms_movable.dm

* Update atoms_movable.dm
2025-04-25 16:21:35 -04:00
Kashargul
e5d5b3769a ss atoms update (#17529)
* draft ss atoms update

* .

* .

* .

* low wall

* do that when not asleep

* late init handling

* .

* smes

* try this
2025-04-24 00:00:57 +02:00
Asher 49
abe23fe918 fixes code that makes resting borgs show missing sprite error (#17578)
* borg missing sprite error fix(sorry)

* fix

* forgot to push these

* Update robot_sprites.dm

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-04-23 23:46:44 +02:00
Cameron Lennox
b549f48a9f Removing the last sleeps in Init (#17550)
* Should not Sleep

* roughdraft that works for POI loader

needs the bells and whistles

* better queue

* Moved the procs to the subsystem itself

* Update pois.dm

* empty list

* Update pois.dm

* do it during init
2025-04-21 20:29:40 -04:00
Guti
640cab345e Virology Update #3 (#17227)
* Base stuff

* Thresholds

* Cockroaches, adjustments

* Extrapolator + TGUI Update

* Adjustments

* Updoot

* Revert "Updoot"

This reverts commit 8c27a2525e.

* Gwuh

* test

* heals

* Genetic

* Holder and vomit

* Indents

* Compilable :)

* Various fixes

* Updates Symptoms

* Genevirus

* Neutered Symptoms

* Adjustments

* rads

* Extra symptoms

* Extra extra symptoms

* Adjustments, fixes, more symptoms

* Powder that makes the linter green

* Finishing touches?

* Fixup maps in TGM format

5041170ae1: maps/expedition_vr/beach/submaps/quarantineshuttle.dmm

Automatically commited by: tools\mapmerge2\fixup.py

* Last bits

* Defines

* Oxy heal

* I crave the green check

* fix

* Maps

* Macrophages to turf

* Fimxes

* Fixes :)

* Vomit

* Preset

* Fire desc

* SPELLING MISTAKE

* Extra stuffs

* types

Allows infecting children of a type

* feet

paws?

* fix

* Fixes

* Update

* Flags

* Update _disease.dm

* Infinite blood glitch (100% real)

* virus data properly carries over

* GODSPEED, KELENIUS

YOUR 10 YEAR TODO IS FINALLY DONE

* define

* U2

* Implicit

* Damn it Fleming

* oops

linter is kill

* Update _reagents.dm

* Extra check

* .

* ough

* fixes

* Small changes

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-04-21 06:12:15 -04:00
Selis
28e969778c code/global.dm => code/_global_vars/ (#17244)
* 1

* Full conversion

* .

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-04-21 05:55:25 -04:00
Selis
21dcf0555b Conversion many Globals to Managed Globals (Part 1) (#17121)
* Conversion of some Globals to Managed Globals

* Fix

* for later

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-04-17 14:16:53 -04:00
Kashargul
cdfa1c853f New to init final (#17512)
* Initial

* some more

* next few

* only light left

* fix things up

* some rmore fixes

* guh

* Update ai_vr.dm

* comment

* lets try something

* .

* hmm

* .

* .

* hmm

* push that here

* fix layout

* grrr
2025-04-14 00:07:35 +02:00
Kashargul
aad224fafe Reworks weather effects to no longer hurt phased entities (#17469)
* Reworks weather effects to no longer hurt phased entities

* no tracy ...

* .

* return

* fix planetary weather

* clearr that

* mob spawners

* fix simple mob sloshes

* fix those

* fix examines

* revert that

* convert to Z

* effect all mobs type
2025-04-06 18:09:33 +02:00
Kashargul
cc02a1a056 split tgui html (#17476)
* Repackage yarn sdks

* oups forgot that

* update dompurify

* fix mantraps

* .

* fix weakrefs

* rm

* porting the HTML split

* minify

* ut that back

* bye poly

* .

* re minify

* ..

* prettier

* fix that
2025-04-06 18:08:14 +02:00
Guti
b5fc516468 Mail update (#17477) 2025-04-06 16:11:59 +02:00
Kashargul
d1b9aa9ae8 dependency update (#17454)
* dependency update

* pda typing

* windows dll

* .

* make it rescale directly

* rm log

* urg

* remove polyfills

* rust g up
2025-04-03 22:54:22 +02:00
SatinIsle
c9e13dcc96 Appreciation Day (#17427)
* Appreciation Day

A new little system to create and announce Appreciation Days for certain species, and a few other funny things.

The first announcement is 90 minutes into the shift, where a random species will be chosen. This species is one from either a long list, or one of the crew's own species! This is then remembered and further announcements (on average less than every two hours) will use the same thing to appreciate for the rest of that shift.

It seems suitably horribly corporate to me, with some potential for comedy.

* Update appreciation.dm

* Terrible factoids

* Update appreciation.dm

* Update appreciation.dm

* Fixes some things

* unfuck that

* .

* .

* .

* cut it

* fix it

* .

* Set the test values back to proper values

* Update appreciation.dm

* resume

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-03-28 19:05:00 +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
cc27b3ee7f adds spoiler function to statpanel (#17371)
* adds spoiler function to statpanel

* spoiler for popups

* .

* Update mob.dm
2025-03-23 10:56:30 +01: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
e31df5e920 Recipie conflict unit test + Chemanalyzer PRO (#17270)
* conflict test

* crash fix

* test bad chem

* tweaked

* is this even working

* what?

* is this broken?

* test fix

* force reactions

* Another attempt

* oop

* another

* oop

* actual check

* inverted

* distilling pain

* backward

* attempting again

* slime rules

* wrong path

* fix for slime

* no test chem

* oops lol

* inhibitor test

* var

* another fix

* what is going on

* oh that's how that works

* this?

* again...

* better inhibitors

* fixed order

* clear beaker

* lets try this, plus cleanup

* comments

* another test

* fix

* stale ref?

* more logs

* round and round

* keycheck

* reverse lookup lists

* chemanalyzer update

* addiction code commented out

* span cleanup, downstream code commented out

* debug cleanup

* reaction fixing

* reduced scale again

* another wrapper

* more info in test

* document reagents

* scaling dynamic

* check single inhibitors too

* oop

* using unittest data signal

* fixes

* this is still needed

* broken reactions, and bad id reactions

* oops

* this too actually

* single chems are illegal

* validity on lists

* oops again

* invalid key check, fixed invalid reactions

* test remove

* pretty chat messages

* spanred

* slimecore results

* grinding unit test and grinding results in chem analyzer

* ore check

* fluid pump info

* correct id

* enforce id case

* compliance

* it makes no sense that this machine gives no feedback that you need to reanchor it after construction

* lets not unseal either

* display chems produced

* notify players of belly liquids, as they do not react with anything

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-03-21 04:36:06 -04:00
Kashargul
6fafd033e3 adds animation flicks to robots (#17381) 2025-03-20 14:49:50 -04:00
Cameron Lennox
b431c4efb2 ATC Refactor (#17237)
* Bazinga

* moved to global var

* moved to subsystem

* susbsys fixes

* invoke async

* stable but fighting optimization

* missed delay

* makes this a subsystem

* Makes a base announce_atc proc.

* mob_announce_cooldown

* defs

* rocks

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
2025-03-14 23:00:24 +01:00
Cameron Lennox
ce8b46fb92 Adds Gooborgs & Toggleable Stomach Glowing for Borgs (#17280)
* Gooborgs!

add: Adds gooborgs! Sprites from Toriate
code: Robotic eswords and batons now count as robotic weapons and trigger appropriate sprites.

* shocker

* cargofix

* some more

* sendit

* rest sprites

* mmoree

* Glowy tummies

Will make all the catborg sprites scream, but let's see what the UT says

* FIXES MORE SPRITES AAAAAAAAAAAAAAAA

* License

* fixed sprites

* better handling

* rewrite

* bonus damage

* Fixes stunbaton

* status check

* Makes BCS remove the charge properly

* charge

* subsystem
2025-03-14 15:19:20 +01:00
Kashargul
2757cefab8 first few resolved greps (#17343)
* first few resolved greps

* .
2025-03-14 14:16:40 +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
Drathek
196bbd28e9 Refactor hardcoded lateloaded map define zs (#17290)
* Refactor hardcoded lateloaded map define zs to use a GLOB list instead

* Refactor groundbase wilds loading

* new to init docking codes

* fix space whales excessive deleting

* update comment

* Forgot some aliases

* How is this now a missing turf
Remove duplicate turf
2025-03-09 14:06:25 -04: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
Cameron Lennox
90be6b856e Better vent hibernation (#17221)
* Experimental vent hibernation

* loooopppp

* fix that too

* functional

* fixes

* ensure all vents get checked at some point

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
2025-03-03 18:41:39 -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
Selis
52ce9232fc Chat history prototype (#17206)
* Chat history prototype

* changes

* static defines

* bunch of fixes (#17207)

* bunch of fixes

* multi round export

* allow to export 1 specific round

* prepare for databse load

* Update code/__defines/vchatlog.dm

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* fixed typo

* beginning of loading

* frontend

* data/chatlogs

* loading lines

* lint fix

* more fixes

* new define

* less spam

* timeout the loading (#17214)

* more frontend fixes

* ckey

* some comments and reverts (#17220)

* some comments and reverts

* we should fix that too

* .

* api

* cleanup (#17232)

* Button.Confirm

* API

* Up to date binaries

* Default set for chatlog backend

* Removed unused verbs

* fix that

* Update misc.dm

* .

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-03-02 15:04:33 +01: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
9a77517bd3 Hide and seek mode (#17233)
* Admin toggle for events

* actually subscribe on spawn

* proper subscribe

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
2025-02-28 06:37:27 -05:00
Cameron Lennox
e3409de8b9 Robot Sprite Unit test, Robot Upports, Robot Sprite Fixes [MDB IGNORE] [IDB IGNORE] (#17139)
* Robot sprite validity

* key instead of index

* kash additions

* missing tag

* fail out on no name

* fixes

* let the dance commence

* rest style

* Fixes some of the sprites

Merging so I can see what else it wants

* check belly stages too not just max

* this too

* fixes

* fixes

* Adds variant catborgs

- Adds variant carborgs. These are the older models. Upport from CS.

NEEDS REMOVAL:
DMI FILE: modular_chomp/icons/mob/catborg/catborg.dmi

SPECIFIC REMOVAL IN FILES:
modular_chomp/code/modules/mob/living/silicon/robot/sprites/mining.dm
modular_chomp/code/modules/mob/living/silicon/robot/sprites/medical.dm
modular_chomp/code/modules/mob/living/silicon/robot/sprites/janitor.dm
modular_chomp/code/modules/mob/living/silicon/robot/sprites/science.dm
modular_chomp/code/modules/mob/living/silicon/robot/sprites/security.dm
modular_chomp/code/modules/mob/living/silicon/robot/sprites/civilian.dm
modular_chomp/code/modules/mob/living/silicon/robot/sprites/engineering.dm

* DULLAHAN BORGS

Up-ported dullahan borgs.
Makes it so proteans can choose dullahans as their sprite blob sprite.
NOTE: DULLAHAN-NINJA (V3) DOES NOT HAVE A SIT SPRITE. IT'S ALSO UNUSED. SYNDI SPRITE WAS PUT TO ACT AS A STANDIN

TO BE REMOVED DOWNSTREAM:
modular_chomp/icons/mob/dullahanborg

modular_chomp/code/modules/mob/living/silicon/robot/sprites/civilian.dm (dullahan/service & dullahan/servicealt)

modular_chomp/code/modules/mob/living/silicon/robot/sprites/engineering.dm
(dullahan/engineerv1 & dullahan/envingeerv2)

modular_chomp/code/modules/mob/living/silicon/robot/sprites/janitor.dm
(dullahan/janitor & dullahan/janitoralt)

modular_chomp/code/modules/mob/living/silicon/robot/sprites/medical.dm
(dullahan/crisis & dullahan/crisisalt)

modular_chomp/code/modules/mob/living/silicon/robot/sprites/mining.dm
(dullahan, dullahan/miner, dullahan/mineralt, dullahancarg, dullahancarg/cargo, dullahancarg/cargoalt

modular_chomp/code/modules/mob/living/silicon/robot/sprites/syndicate.dm
(Delete the entire file)

modular_chomp/code/modules/mob/living/silicon/robot/sprites/security.dm
(security/dullahan dullahan/sec dullahan/secalt)

* Update science.dm

* fixes dead overlays

* Update mining.dm

* more borgs

DOWNSTREAM REMOVAL:
code/modules/mob/living/silicon/robot/robot_modules/Widerobot_Clown_ch.dm
modular_chomp/code/modules/mob/living/silicon/robot/sprites/clown.dm
code/modules/mob/living/silicon/robot/robot_modules/Widerobot_Standard_ch.dm (This file was unticked. It was placed in standard.dm)
modular_chomp/code/modules/mob/living/silicon/robot/sprites/combat.dm
modular_chomp/code/modules/mob/living/silicon/robot/sprites/medical.dm
code/modules/mob/living/silicon/robot/subtypes/boozeborg_ch.dm (Unticked in the DMI. Moved to subtypes/boozeborg.dm)
modular_chomp/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper.dm
modular_chomp/icons/mob/raptorborg/raptor.dmi - Unused
All the worm borg overrides

Downstream as well:
/obj/item/robot_tongue/examine(user) in code\modules\mob\living\silicon\robot\dogborg\dog_modules_vr.dm needs to be enabled.

* whew

* gwah

* SAVE

* fixes

* fixes sprites more

* Adds Outpost Borgs

Stoat and Possum.
Other versions of possum WIP

* no wreck overlay

* gwah

* decals to list

* fixing

* .

* fixes there 3 being 3

* fix decal resting

* sleeper fix

* fix struggle resting

* puts surgery module in its place

* no CE

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-02-27 13:00:02 -05:00
Cameron Lennox
636dd0a3a6 Motion tracker subsystem (#17215)
* Motion tracker basics

* force unsubscribe on destroy

* remove tracking on destroy too

* missing include

* use new art

* logging

* per client echos

* toggle verb

* vis things not needed, and reset vis option if resubbed

* blind and deaf should affect this

* feedback on toggle

* teshari gain vibration sense, lose listen in

* xenochi too

xenochi also get vibration sense

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
2025-02-26 18:37:18 -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
Kashargul
3e32450e49 no empty passwords ... (#17137)
* no empty passwords ...

* .

* Update world.dm

* defines

* .
2025-02-13 20:13:52 -05: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
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
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
2e4f1ce642 (Partially) Fixes Out Of Memory crashes (#17043)
* 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

* Fixes deadringer not properly deathgasping the right entity

* Wounds properly get delted off destroyed limbs

* Update vorestation.dme

* Runtime fix & DNA lock fix

* More qdels

* qdel

* comment out
2025-02-05 14:02:17 -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
Selis
8661955bfb Moving the database to a subsystem (#16480)
* dbcorev2

* qdel stuff

* New DB code

* Fixed comments

* Fixed lower define limit

* Added missing hooks

* Added missing qdels

* Fixed statistics sql
2025-01-27 09:59:56 -05: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
Cameron Lennox
af4b4fecd1 Adds Catborg, Kittyborgs, and Gryphborg (#16910)
* Adds Catborg, Kittyborgs, and Gryphborg

Adds Catborgs, Kitty borgs, and Gryphon Borgs

* Makes the sprite the correct path

Clarifies them as large/small instead of catborg again.

Also moves them to /robot

* Moves drakeborg to /robot/resources

It isn't actually used anywhere, but it's a good idea to keep all the robot sprites together.

* Changes things to sleeper. Gives sec/med sleeper colors

* Fixes tummy disappearing

* case

* Gets rid of charname for whitelist

Because if you want to have a borg with multiple names, you'd have to have them added numerous times.

If someone is ALREADY whitelisted for a borg sprite, why not allow them to have multiple names for that sprite?

* Fixes ckey, adds attribution

* Update ATTRIBUTIONS.md

* Update ATTRIBUTIONS.md

Changes license of kittyborg_spotteh_custom.dmi at request of license holder.

* Update ATTRIBUTIONS.md

* Removes ND sprite

This will be a separate PR due to licensing

* undef
2025-01-27 07:02:51 +10:00
Kashargul
df3ea601a7 allows direct robot sprite testing (#16942)
* allows direct robot sprite testing

* .

* some more details
2025-01-25 11:10:32 -05:00
Kashargul
e2b68fd0ac bunch of unhandled refs (#16919)
* bunch of unhandled refs

* fix that (#6)
2025-01-17 23:43:53 -05:00
Cameron Lennox
1497af0573 Merge pull request #16885 from TheCaramelion/virology
Virology Update #2
2025-01-14 15:46:17 -05:00
Guti
a53b287f11 Last bit 2025-01-12 01:35:07 +01:00
Kashargul
75b13a47d8 fixes wire loading 2025-01-11 02:23:32 +01:00