Commit Graph

76 Commits

Author SHA1 Message Date
Kashargul
1def015bad end of file Fix (#17308)
* end of file Fix

* fix those lints too
2025-03-10 16:15:35 -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
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
Cameron Lennox
3c08c90f2a Orbit fix [IDB IGNORE] [MDB IGNORE] (#17198)
* wip orbit fix

* dos fix
2025-02-22 03:51:17 -05:00
Nadyr
900d0144a7 Up port orbit improvements (#17122) 2025-02-14 02:52:10 +01: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
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
Kashargul
e8dfeeee86 fix crafting UI stuck 2025-01-14 18:56:23 +01:00
Kashargul
4d7255c709 . 2024-12-04 22:45:00 +01:00
Kashargul
ead0180057 converts area vars to flags 2024-12-04 22:21:38 +01:00
Heroman3003
a15578d8fd Merge pull request #16597 from Kashargul/miscGripper
up ports misc gripper, gargoyle, petrification, some message fixes
2024-11-30 14:41:36 +10:00
Kashargul
d1b6b8a6ca adds petrification 2024-11-12 19:43:48 +01:00
Kashargul
49d89c0059 usr to user up to player effects 2024-11-12 00:10:20 +01:00
ShadowLarkens
4ebf8c4303 Update the autolathe UI, make it less laggy (#16521) 2024-10-26 14:19:12 +02:00
ShadowLarkens
c07027136e Port tg statpanel (#16463)
* Port tg statpanel

* Add verb descriptions using the title attribute

* Fix a dreamchecker error

* Remove chomp edits

* Add mentor tickets to ticket panel

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2024-10-16 19:39:06 +02:00
Kashargul
a2c673ab7a refactors most spans 2024-10-02 21:10:31 +02:00
Guti
409aaba802 Remove 2024-09-09 02:36:53 +02:00
Kashargul
7793329bfd always resize... (#16038) 2024-06-11 19:15:57 +02:00
Kashargul
6cabe9f7e6 Undefines local defines and moves global to __define (#16028)
* first set of defines

* some more

* .

* final defines

* del local define
2024-06-09 17:29:20 +10:00
Heroman3003
c7b6c3e42b Revert "Revert "Garbage collection, asset delivery, icon2html revolution, and…" (#15816)
This reverts commit f6d0f62622.
2024-04-22 06:29:01 +10:00
Heroman3003
f6d0f62622 Revert "Garbage collection, asset delivery, icon2html revolution, and general…" (#15815)
This reverts commit cc05d51b69.
2024-03-10 20:01:05 +10:00
Cadyn
cc05d51b69 Garbage collection, asset delivery, icon2html revolution, and general fixes (515) (#15739)
* 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>
2024-03-10 09:39:33 +10:00
Raeschen
578f576d90 Fix datum components (#15788) 2024-02-27 19:37:15 +01:00
Heroman
9a94306585 Refactors tool typechecks, refactors transforming tools, makes Altevian wrench into one 2023-10-01 09:34:43 +10:00
ItsSelis
10d2178516 More 515 Compatibility 2023-06-05 19:29:40 +02:00
Heroman
547382e647 Fixes autolathe and smartfridge issues 2022-12-28 17:43:04 +10:00
Heroman
60c566f2a9 Fixes autolathe thing. 2022-12-14 18:24:16 +10:00
Heroman
cf704c9c7b Typo fix 2022-10-30 05:49:49 +10:00
Heroman
f6d78e4ccf Fixes inserting sheets with no defined material (like tiles) into machines 2022-10-30 05:39:20 +10:00
GhostActual
81c603f9d5 Base Commit 2022-04-02 22:54:14 -04:00
Pandora
25d1bbeba7 fucky lists 2022-03-22 17:57:15 +00:00
GhostActual
96d2da15a3 Base Commit
Update shotgun.dm

Final Commit?

Final
2022-03-21 05:02:08 -04:00
Heroman
d788a61aa4 Compile error resolution 2022-02-19 19:42:32 +10:00
TheDavestDave
c2c4ffb85d unwanted ) bannished to the shadow realm 2022-02-19 02:20:52 +00:00
TheDavestDave
08d0304039 updoot
macth with updoot
2022-02-19 02:18:35 +00:00
TheDavestDave
055f4699d1 lower tech shield
requested changes by soft.  Uses a wooden bucket instead of a metal one, and cloth instead of cable coils.
2022-02-19 02:09:06 +00:00
TheDavestDave
6dcadd97c0 primative-shields
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
2022-02-17 15:14:18 +00:00
Aronai Sieyes
a0debb7751 fixes crafting reqs not storing parts in the result 2021-10-24 20:08:17 -04:00
Aronai Sieyes
4571b1c886 Remove stray character 2021-10-22 14:13:21 -04:00
Aronai Sieyes
6a34f3e7b5 Adjust existing recipes 2021-09-27 14:30:06 -04:00
Aronai Sieyes
c9fb50dcdc Further fix merge 2021-09-27 14:29:57 -04:00
Aronai Sieyes
c1103ff8cd Fix merge 2021-09-27 14:25:33 -04:00
Atermonera
ae87e4574b Refactors crafting to support requirement alternatives 2021-09-02 21:52:06 -04:00
Ghost Actual
4bb386e166 Expanding Clothing Options (#11466)
* Base Commit

* Second Commit

* Third Commit

* Fourth Commit

* Fifth Commit

* Sixth Commit

* Seventh Commit

* Final (?) Commit

* Small Fix

* Small Fix

* Merge Fix

* Small Fix

* Additional Goods

* Small Fix
2021-08-26 11:43:44 -04:00
Aronai Sieyes
e52031d6aa Make stack amount var private 2021-08-19 21:06:46 -04:00
VerySoft
6ba1086887 ALMOST DONE 2021-08-13 23:12:12 -04:00
VerySoft
29b29bf8a6 Survival crafting stuff
Stuff! For surviving in the wilderness.
2021-08-09 17:48:10 -04:00
Verkister
ae96f80201 H 2021-08-02 13:45:37 +03:00