Upstream stable sync (#1558)

* Adjust uplink buy button to be under item icon (#38596)

* Adjusted uplink buy button to be under item icon

* Put the discount subtext under the icon

* Indent fixes, added margin

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>

* Automatic changelog update

* More guidebook fixes (#38699)

* First commit
- Resolving a few different pages, fixing typos and updating spellings and phrasing to be more coherent.

* More slight changes

* Reverting slightly the salvage page change

* Fixing Science wording inconsistency

* Few other small guidebook fixes
- Updating NukeOps page to properly refer to "Corpsman" rather than "Agent".
- Typo and slight wording change in Traitors.xml.
- Updating small typos in Antagonists.xml and Zombies.xml pages.

* Automatic changelog update

* Fixes missing underwear FTLs (#38720)

* Validate `ShaderPrototype` IDs (#38728)

* Convert all shader prototype string literals to protoids in overlays

* Convert more shader prototype literal strings to protoids

* Convert ValidatePrototypeId to ProtoId

* Later

* Janitor Tool: Wire Brush (#38667)

* Wow! It's -brush-

* spacing.

* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* fixed changes

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* [BUGFIX] Fixed revenant malfunction ability not working properly only MediBots and Stasis bed (#38664)

* fixed

* clean up

* orks fix smart

* review fix 1

* more requested changes

* less cursed

* more descriptive description

* better wording

* Automatic changelog update

* Tiny Tiny Cleanup of the EyeClosingSystem. (#38734)

Update EyeClosingSystem.cs

* Typofixes for figurine dialogue (#38737)

* Typofixes for figurine dialogue

* Forgot two

* fix: Use PredictedQueueDel for gib spell (#38729)

* Fix human skin tone distribution (#38701)

* fix: don't default to uncharged sprite state for cells (#38730)

* Fix Hristov description - remove inaccurate technical specs (#38746)

- Removes inaccurate 'armor piercing 14.5mm shells' reference
- Replaces it with a more funny description, matching the style of the other snipers and guns
- Keeps ammunition type '.60 anti-materiel ammo' specification
- Fixes issue #38590

Co-authored-by: Arthur Fiorese de Andrade <aandrade@cmcxs.gov.br>

* Validate `ProtoId`s in tests (#38745)

* Convert string literals to protoids in Content.Tests

* Convert string literals to protoids or consts in Content.IntegrationTests

* Fix linter failures
Tricksy static using misled me

* Validate remaining `ProtoId` strings (#38747)

Validate remaining ProtoId strings

* feat: allow mopping evaporating puddles (#38743)

* Automatic changelog update

* Cleanup warning in StomachSystem (#38748)

you did not see this

* Vox scars (#38592)

* Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl

* Revert "Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl"

This reverts commit c73da55ba3b39ddf93b493aecd85604c54dd8a15.

* locale key fix

* Changed top surgery scar names to be more generalized

* Adjusted face scars

* Formatting fixes

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>

* Automatic changelog update

* UnlockNode command to LEC. (#38751)

* commit

* Update UnlockNodeCommand.cs

* commit

* move command locale to its own file.

* Update Content.Server/Xenoarchaeology/Artifact/UnlockNodeCommand.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* fix: spellbooks can have infinite charges (#38376)

* fix: spellbooks can have infinite charges

* refactor: indicate infinite spellbook charges with null

Not sure if I like this much better...

* Automatic changelog update

* Minor escape menu UX improvements (#38650)

* Automatic changelog update

* Meta.json cleanup - pins.rsi (#38781)

cleanup

* Log an error when adding an admin log containing a null char (#38782)

* Log an error when adding an admin log containing a null char

* Also log LogType and LogImpact

* Remove them

* Fix incorrect conditions on black pepper's forced cough (#38783)

no one to blame but myself

Co-authored-by: iaada <iaada@users.noreply.github.com>

* Update Credits (#38786)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Fixing incorrect headset being given to QM visitor (#38785)

* Stasis bed cleanup and bugfixes. (#38762)

* Stasis bed sent to shed

* Code Review

* Code Review 2

* Automatic changelog update

* Cleanup warnings: CS0414 (#38793)

Cleanup

* Move moth movement modifiers to the Base (#38795)

* fix centcom pda (#38796)

* Catchable items, playable basketball (#37702)

* catching

* fix

* improve

* fix linter

* cleanup

* fix prediction

* do the same here

* fix comment

* Automatic changelog update

* Fix storage voice control bug after handssystem refactor (#38810)

* Automatic changelog update

* Reducing the amount of space in the gogo hat  (#38808)

Reducing the amount of space in the hat from 7*4 to 4*3 to make a bit more sense with the fact it is only a hat.

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Automatic changelog update

* Golden pai (#38549)

* Golden pai

* Make golden PAI public and rare

* Golden PAI = legendary salvage

* Automatic changelog update

* Cleanup: Remove ``TelephoneComponent.RequiresPower`` (#38823)

* Cleanup

* Forgot about yml

* Branded lighters addition (#35514)

* newlighters

* port complete

* donk pocket box addition

* should fix test fail, proper credit

* captalisation issue

* fixed

* typo corrected

* removed accidental change to combat bakery

* fixed lock message, made NT flippo start fueled.

* Requested changes

* fixed discount dan

* moved matchbox

* requested changes, discount dan more broken than ever (somehow)

* unbungle

* uhhhhh

* maybe fixes?

* changed inheritance

* fixed enum?

* nevermind

* finally fixed

* breaking changes

* inheritance unbungled

* Automatic changelog update

* Cleanup: Remove ``TryInsert`` method from the ``DisposableSystem`` and use event subscriptions instead (#38819)

Cleanup

* JumpBoots Attempt №2 (#36862)

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: unknown <wainzor1337@gmail.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Automatic changelog update

* Replace `ValidatePrototypeId` uses with `ProtoId` or `EntProtoId` (#38814)

* The easy ones

* For certain values of easy

* Easy test

* Hair

* Fix sandbox violations

* Sort usings

* Fix SSD sleep misprediction (#38831)

init

* New science unlock: the H.A.R.M.P.A.C.K (#38824)

* Automatic changelog update

* Fix: Add cluwne translation in ftl (#38835)

Fix

* Artifact glue reagent (#38670)

* a

* Revert "a"

This reverts commit 2b9ba4ea67a9395d30b7ab37c8065f627f1a961a.

* f

* dev it

* a?

* ad

* forgor

* Revert "f"

This reverts commit 39228c7cbe4d28ba43b73580b55e01c3979eb869.

* derandomisation!

* reviv

* flavor

* fixe

* dwwasdwasdwa

* dwasdwasdwas

* fuck you

* Automatic changelog update

* Contraband category fixes (#38698)

* Adding contraband to some items missing it
- This includes updating contraband to follow more consistently where items are expected to be used
- Fixing the spacing in arrays to be more consistent with other files

* Updating PPD to be Eng contra

* Automatic changelog update

* Added Vox Heterochromia (#38595)

* Added Vox Heterochromia

* Forgot to change moth to vox

* minor formatting fix

---------

Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>

* Automatic changelog update

* Make mopping predicted (and some other stuff) (#38749)

* refactor: move puddle evaporation + absorbents to shared

* refactor: move SolutionRegeneration to shared

* refactor: make AbsorbentSystem visuals clientside

* style: general formatting/cleanup on touched files

- Few logical simplifications
- Add field for hard-coded sparkle effect ent
- Switch stuff to Entity<T>

No actual prediction fixes in this commit (though in
retrospect I should've done this commit last).

* fix: use predicted variants for predicted code

* fix: average out evaporation rates in mixtures

* refactor: move SolutionPurge to shared

* style: Basic SolutionPurgeComponent field cleanup

* fix: general prediction + timing + networking fixes

- Moves client side visuals back to shared because other
  players exist
- Don't accumulate CurTime in Purge/RegenerationSystem
- Network the next update field in Purge/RegenerationSystem to
  deal with UI mispredictions???

* fix: add udder bug workaround

Not needed for SolutionPurgeSystem which doesn't resolve
solutions (probably fine that SolutionPurgeSystem doesn't
cache since it's much rarer, though it probably should), and
likely not needed for AbsorbentSystem since it only resolves
against puddles which, I don't think can be in containers.

* fix: don't divide by zero for evaporation speed = 0.

* refactor: revert evaporation changes

Will cherry-pick these out in another PR.

Also reverting the evaporation speed bugfix since it's easier
to revert all at once. :)

* fix: component cleanup; autopause fields, use ProtoID

* fix: remove unused AbsorbentComponentState

* fix: ProtoId is not string

* refactor: move PuddleSystem.UpdateAppearance to shared

* style: general PuddleSystem.UpdateAppearance tweaks

- Switch to Entity<T>
- Use ProtoIds
- Minor simplifications

* fix: add udderly silly PVS workaround

* cleanup

* fix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* fix: Register OnRequestMovePulledObject under the right system (#38484)

* fix: Register OnRequestMovePulledObject under the right system

* nukeops test flake

* fix: correct ToggleableVisuals for toy sword and pirate helm (#38867)

* Fix lingering ghost roles (and expand tests to catch it) (#38788)

* Improve and expand `TakeRoleAndReturn` to fail on bug #38292

* fix #38292 and expanded test cases

* use validated EntProtoIds for tests

remove unusued using declarations

* use const strings that match the TestPrototypes

* Automatic changelog update

* Fix non-humanoid mobs being destroyed on devour (#38087)

* Allow non-preference living things to be added to a devourer's stomach

* Fix ordering of devour logic

* Minor refactor for whitelist on storage and food preference

* Fix linter issue

* Coerce workflow to run again; also fix bad indenting error

* Code review changes

* Automatic changelog update

* Prefer file-scoped namespaces in `.editorconfig` (#38879)

Prefer file-scoped namespaces in .editorconfig

* Parroting Parrots part 1: Help maints! SQUAWK! Maints! (#38243)

* parrots have ears. add poly

* high tech parrot functionality

* adjust times

* add accent to radio message

* don't spam everything all at once probably

* learn about the existence of prob(float)

* actually use Prob(float) correctly

* newline

* add pet spawner for poly

* move chance to talk on radio to component

* missing comment

* minor edits and doc additions

* the reviewerrrrrrr

* parrot can't learn when crit or dead

* increase default memory

* rename poly to polly

* crude way to ignore whispers. chatcode please

* This is Polly. It is set to broadcast over the engineering frequency

* add missing initialize

* add displacement map for parrot ears

* review comments - Errant

* minor things

* large rework

* fix attempting to talk when entity has no channels

* use list of active radios again to track channels

* fix bad return, some comments

* fix long learn cooldown

* minor adjustments

* use FromMinutes

* the voices told me to make these changes

* remove default reassignment

* Review changes

* remove polly's accent

* decouple radio stuff from parrotsystem

* minor stuff

* split vocalization and parroting

* minor review work

* re-add missing check

* add admin verb for clearing parrot messages

* minor action icon update

* oops

* increase icon number text size

* Admin erase parrot messages associated with players

* part 1 beck review

* add whitelist and blacklist for parrots

* Downgrade missing component error to warning

* Add comment

* add some missing comments

* Remove active radio entity tracking, use all inventory slots

* Minor changes

* small review stuff

* review radio stuff

* swap ears displacement to invisible death displacement

* remove syncsprite

* vscode why do yo have to hurt my feelings

* review changes

* use checkboth

* Automatic changelog update

* Predict RepairableSystem (#38886)

* commit

* Update SharedRepairableSystem.cs

* compo

* final touches.

* Update RepairableComponent.cs

* Update RepairableSystem.cs

* Update Content.Shared/Repairable/RepairableSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out (#37959)

* Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out

* Missed one

* Missed another

* Fix data field ids

* Fix yaml linter and misc errors (#37444)

* Fix yaml linter

* Revert "fix cluwne pda pen slot (#35611)"

This reverts commit 66e926843f.

* More fixes

* Try again with the engine requirement removed

* Decrease number of brass sheets dropped by clockwork windoors

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Add VV button to the solution editor (#38889)

add vv button to solution editor

* Automatic changelog update

* fix: wide swings with resistanceBypass now bypass resists (#38496)

* Allow pAIs to emote like a borg (#38425)

* Automatic changelog update

* reduced motion flash effect version 3 (#37824)

* V3

* Apply suggestions from code review

* Automatic changelog update

* feat: allow admins to interact under subfloors (#38813)

* feat: allow admins to interact under subfloors

* feat: use BypassInteractionChecks instead

* Automatic changelog update

* Operation Remove Gun Bloat (#38104)

* Remove long-unused magazines

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Not sure why that failed, going to rerun tests real quick

* Testing if this resolves the tests. Anyone know how to run tests locally, without waiting for github?

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Fully removed boxes of vector ammo and the vector ammo tag

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* This might fix the tests

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Nulled more =

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Nulled more migrations

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>

* Minigun inhands + HMG multihand and slow move speed (#35344)

* hmg move speed

* minigun inhands

* even better inhands

* touch-up

* Automatic changelog update

* Add Bolas to SecTech vendor (#38902)

* Automatic changelog update

* Kobold/monkey AI holograms (#38888)

* Added kobold/monkey AI holograms

* Updated meta.json

* Automatic changelog update

* Fix localization error when trying to change hair on someone with a hat (#38907)

* change Identity.Name to Identity.Entity for delivery popups (#38909)

* Replace `AdvertiseComponent` with `DatasetVocalizerComponent` (#38887)

* Replace AdvertiseComponent with DatasetVocalizerComponent

* No vocalizing while broken or without power

* Kill AdvertiseComponent/System

* This really shouldn't be here

* xmldoc for VocalizerRequiresPowerComponent

* TryIndex -> Index

* Bagel genpop (#38829)

* skelaton (skeleton)

* basic genpop

* genpop mostly done

* general layout

* all details

* maints firelocks, tweaks

* invalids bye, remove residual air and fire alarm

* uhh tweaked something dont remember

* remove actions

* armory: truncheon and riot crate

* remove more invalid devices

* armory holopad, graffiti tweak

* no windoor into sec substation, add flasher

* Revert "no windoor into sec substation, add flasher"

This reverts commit a7b919fb74433b82f48f92f98d5521ecb1f3eae4.

* no sub windoor, flasher

* fix camera blocking turret

* move warden and armory, restyle decals

* maints flashlights :D

* fix locker room dark tile placement

* Automatic changelog update

* fix clones not getting the thieving skill (#38914)

* Automatic changelog update

* Make more objects spray paintable (Reviving #31328) (#37341)

* PaintableAirlockComponent and AirlockGroupPrototype have been replaced

* Slightly redesigned SprayPainterSystem for greater versatility

* Added handling of changes to the appearance of doors and storages

* PaintableGroup prototypes have been created

* Generating tabs with styles in the UI

* Fix error with undiscovered layer

* Slight improvement

* Removed unnecessary property

* The category for `PaintableGroup` was allocated to a separate prototype so that the engine itself would check if the category existed

* Added canisters, but repainting doesn't work

* Added localization to styles

* Fix sprite changing

* Added the ability to paint canisters

* slight ui improvement

* Fix yamllinter errors

* Fix test

* The UI now remembers which tab was open

* Fix build (?)

* Rename

* Charges have been added to the spray painter

* Added a charge texture for the spray painter

* Now spray painter can paint decals

* Increased number of charges

* Spawning dummy objects has been replaced by PrototypeManager

* added a signature about the painting of the object

* fix

* Code commenting

* Fix upstream

* Update Content.Shared/SprayPainter/Components/SprayPainterAmmo.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* review

* Now decals can only be painted if the corresponding tab in the menu is open.

* Fixed a bug with pipe and decal tabs not being remembered

* Update EntityStorageVisualizerSystem.cs

* record

* loc

* Cleanup

* Revert electrified visuals

* more cleanup, fix charges, del ammo4

* no empty file, remove meta component

* closet exceptions, storage visualizer fixes

* enable/disable decal through alt-verb

* Fix missed merge conflicts

* fix snap offset, button event handlers

* simpler order, fix snap loc string

* Remove PaintableViz.BaseRSI, no decal item, A-Z

* State-respecting UI, BUI updates, FTL fixes

* revert DecalPlacerWindow changes

* revert unwanted changes, cleanup function order

* Limit SprayPainterAmmo write access to AmmoSystem

* Remove PaintedSystem

* spray paint ammo lathe recipe, youtool listing

* category as a list, groups as subtabs

* Restore inhand copyright in meta.json

* empty spray painter, recipe produces an empty one

* allow alpha on spray painter decals

* add comments

* paintable wall lockers

* Restrict painting more objects

* Suggested event changes, event cleanup

* component comments, fix ammo inhands

* uncleanable decals, dirty styles on mapinit

* organize paintables, separate emergency/closet grp

* fix categories newline at EOF

* airlock group whitespace cleanup

* realphabetize

* Clean up EntityStorageViz merge conflict markers

* Apply requested changes

* Apply suggestions from sowelipililimute's review

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* betrayal most foul

* Remove members from EntityPaintedEvent

* No emerg. group, steelsec to secure, locker/closet

* Enable repainting the medical wall locker

* comments, no flags on PaintableVisuals

* Remove locked variants from closets/wall closets

* removable decals

* off value consistency

* can't paint away those bones

* fix precedence

* Remove AirlockDepartment, AirlockGroup protos

Both unused.

* whitelist consistency re: ammo component

* add standing emergency closet styles

* alphabetize the spray painter listings

---------

Co-authored-by: Ertanic <black.ikra.14@gmail.com>
Co-authored-by: Эдуард <36124833+Ertanic@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* Automatic changelog update

* Add Serializable, NetSerializable attributes to DecalPaintMode (#38921)

Serializable, Net" on DecalPaintMode

* Rotated turret wall panel sprites (#38464)

rotated sprites

* Stun and Stamina Visuals (#37196)

* Stun animation

* Commit 2

* Almost working commit

* Best commit

* Minor cleanup and value adjustments

* Fix animation data getting wasted and cleaned up some stuff

* Don't animate if dead

* AppearanceSystem is for chumps

* Cleanup

* More cleanup

* More cleanup

* Half working commit

* Documentation

* Works

* ComponentHandleState my beloved

* AppearanceComp compatibility

* Address review

* Borgar

* AND NOW THE END IS NEAR

* AppearanceSystem compliance (Real)

* Don't need to log missing there

* I actually hate mob prototypes so much you don't even know

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Automatic changelog update

* Fix AddHandCommand not working on aghosts (#38866)

* Component for clothes to suppress emotes and scream action in general, and the muzzle to suppress vocal emotes in particular (#32588)

* Component for clothes to suppress scream noise

GaggedComponent + AddGaggedClothingComponent and relevant systems to make them work.

Currently only stifles the scream _action_, not all emotes

because if a mime can silently emote, so can gagged you!

* fix comments

* swap to inventory relay

and make it more general such that specific emotes or emotes of a given category can be blocked

* power gloves shouldn't block snapping

* easy fixes

* blockable emote event

* pr comments, switch to using emote event mostly

* pr comments

add beforeEmoteEvent

add emote blocker name to popup

maybe some other stuff, I forget

* get rid of emoteevent's source because I don't need it anymore

* smol clean

* formatting, style, and one minor thing where having a muzzle in your pocket would gag you

* Automatic changelog update

* Tweaks to ShowRulesCommand structure, localization, and autocomplete. (#38855)

commit

* Automatic changelog update

* Convert Locker/Closet fills to Entity Tables: Part 2 (#38254)

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

* Fixing a singular pixel on the frame of the AI (#38936)

* Singular pixel ops

* Third commit - upholding CC-BY-SA by indicating changes made

* Bottle Drink Inhands (#38937)

* there is now bottles of booze in your hands

* Messed up the vermouth inhand fills slightly.

* oh whoops that's redundant

* Automatic changelog update

* refactor: rework the new status effect system to use containers (#38915)

* refactor: rework the new status effect system to use containers (#38915) (#38943)

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* fix: don't divide by zero in FragmentIntoProjectiles (#38946)

* Accents Event to Shared (#38948)

* 27 file diff

* 27 file diff 2

* Apply suggestions from code review

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Credits (#38955)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* SharedGunSystem spread bugfix (#38960)

two bytes

* Fixed error thrown when examining indestructible plastitanium windows (#38950)

* Fixed error thrown when examining indestructible plastitanium windows

* Fixed indentation to match yaml standards

* Fix extra dollar sign in admin log for machine toggle (#38961)

* Don't compile EF Core designer files on release builds (#38927)

* Hats (and glasses) for pets - Part 1 - Ian and McGriff (#38634)

* new branch new me

* cursed displacement

* 2 pixels of death

* forgot a line

* fixed some edge cases on corgis with the displacement

* fix conflict

* fix indentations

* a bit more displacement fixes

* Automatic changelog update

* [BUGFIX] Stops scurrets from suffocating in crates (#38951)

Prevent scurrets from dying!

* Automatic changelog update

* Cleanup warnings: CS0649 (#38797)

* make ocarina small (#38971)

Update instruments_wind.yml

* Automatic changelog update

* Add contraband parent to war declarator (#38972)

* Automatic changelog update

* Remove prototype caching from `ZombieComponent` (#38979)

Remove prototype caching from ZombieComponent

* Vox customization additions (+eyeshadows) (#38906)

vox customization stuff

* Automatic changelog update

* Refactor ExaminableDamage (#38978)

* Remove prototype caching in ExaminableDamageComponent

* Replace ExaminableDamagePrototype with LocalizedDatasetPrototype

* Allow null

* Voltage enum to shared (#38964)

* fix: ghosts shouldn't see whisper obfuscation (#38202)

* Fix devices in terminal mispredicting power state (#38647)

* The simple solution

* The better solution

* Revert "The better solution"

This reverts commit 611e56e031636734abab1ad3e77bf88b69a4de13.

* make biogenerator not accept low-nutrient plants (#38427)

* anti-noob

* dsaswa

* Minor grammar change

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>

* Make RunVerbAs take and return EntityUids (#38155)

fix: make RunVerbAs take and return EntityUids

* Automatic changelog update

* Buff parrot learn rates and radio chatter (#38984)

* buff parrots

* ok but not that smart

* oop

* Remove prototype caching from `TransformableContainerComponent` (#38988)

Remove prototype caching from TransformableContainer

* New holy books (#38986)

* Adds a few new holy books, implements one existing, and makes them pickable from loadout

* Almost forgot the yaml

* Forgot to change fork-specific paths

* Modified copyright to be less specific as requested by maintainer

* Newlines

* Replaced scroll torah with a book-bound tanakh, as recommended by dvir001

* Changed all mentions to use tanakh instead of torah

* Made the Mosin bayonet usable. (#38295)

* Made mosin an alt-melee weapon, added reagent fill for the weapon.

* fixes

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>

* Automatic changelog update

* Adjust throwables hitboxes to match sprites (#38985)

Initial commit

* Automatic changelog update

* Moproaches (#38700)

* MOPROACHES

* rerun test - random test fail of doom

* added to random pest event, with same prob as cancer mouse

* rerun test - random test fail of doom 2 electric boogaloo

* changed moproach obtain methods

* no crafting of moproaches allowed :(

* Reverted content of file.

* requested changes

* requested changes

* requested changes

* Increase moproach health by 5 - requested by Emo on discord

* spaaaaaaaaaaaaaaaaaaaaaaaaace

* microwave recipe added

* no surgery this week

* spaaaaaaaaaaaaaaaaaaace 2 more space for your space

* space

* new mopshoes sprite

* in-hands

* inhands v2

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>

* Automatic changelog update

* Remove the Qur'an (#39000)

* Mostly fix reaction sound effect stacking :( (#38999)

* fix: band-aid the reaction sound effect stacking

It's so funny I'm so sad I'm writing this commit :(

* fix: remove unused hashset

Drive by fix. 'Tis never read from.

* fix: switch to just making it server only

* fix: uncomment the if lol

Commented it out for recording video oopsie

* Convert some voice samples to mono (#39002)

* Convert Xenoborg voice sounds to mono

* Convert female human cough sounds to mono

* PressureEvent removed (dead code) (#39004)

yep

* Predict DevourSystem. (#38970)

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Whitelist extension for tool belt (#35212)

* sd

* xd

* im so dumb

* revert to just remote signaller

* forgot

* add code comment

---------

Co-authored-by: shampunj <140359015+shampunj@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Fix firelocks failing to drop fast enough (#38918)

* Automatic changelog update

* Fix Mjollnir throw while on delay (#39018)

* init

* fuck dirty

* yippee

* Automatic changelog update

* Give admin bags explosion resistance (#38384)

Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>

* Automatic changelog update

* Inconsistent Produce Inhands Fix (#38860)

* V1 Sprites

* Adding heldPrefix

* Updated Sprites

* 4 New Inhands & Sprite Tweak

* WaterMelon/HolyMelon Front Change

* Meta Guh

* Sugarcane Updated Inhands

* Re-id 'Medical Doctor' guide entry to 'MedicalDoctor' (#39029)

chore: re-id 'Medical Doctor' guide entry

* Make diagonal windows prevent electrocution (#39032)

Add the window tag

* Automatic changelog update

* Carps Can No Longer Suicide (#39033)

Update carp.yml

* Wearable banana peels (#38868)

* Add wearable helmet sprites for banana and mimana peels

Made it so banana peels and their variants can be worn as head gear. The sprites were done by myself, so feel free to change or update them! Includes hamster compatibility.

* fixed a minor state bug

* Review fixes

- Removed blank space
- Added "FlipBrooke" to all modified meta.jsons, with the added note of which sprites I got the colors from/referenced.

* I forgot a comma

adds a comma and some periods

* NPC spiders sometimes spin webs 🕷️🕸️ (#38319)

* NPC spiders now spin webs

* oops

* move logic to always update next spawn, to prevent rare web spam

* WebSpawnCooldown is timespan

* remove vv

* add web spawn method, no sus action event method call

* dont spin web immediately at spawn

* move NextWebSpawn value init to update

* oop

* remove unused game timing

* web spawn cooldown to 45

* Automatic changelog update

* Fix Respirator Asserts (#38911)

* Fix errors

* Cleanup CanMetabolizeInhaledAir

* Wait no don't do that

* Revert changes for real

* Fix

* Code cleanup and some safety rails

* Better tests and also comments

* Better comments

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>

* Add supercritical sounds for ALL anomalies (#36425)

* add supercritical sounds for flesh anomaly and shadow anomaly

* fix attribution yml

* use sound collections, add TWO -- count em TWO tech anomaly supercrit sounds.

* add sound for present anomaly

* wrong soundcollection for flesh

* actually add the present anomaly sound...

* add fire anom sound

* add gravity anomaly supercritical sound

* add electric anomaly supercritical sound

* add bluespace anomaly supercritical and explosion sound

* add ice anomaly supercritical sound

* add fluid anomaly supercritical sound

* fix busted link

* typo

* add floral supercritical sound, fix typos

* Add supercritical sounds to injected anomalies

* add rock anomaly supercritical sound

* supercritical sound follows the entity, important for injected anomalies

* make the rock crit rumble a little less subtle at the start

* use CC0 freesound alternatives where available

* New pyro anomaly sound by GonTar

* New sounds by GonTar. Change AnomalyComponent so that you can change the length of supercritical properly in the prototype.

* oopsie, forgot the traps

* use TimeSpan for duration

* Automatic changelog update

* Metashield Rules Update (Removal) (#38953)

* Revert "Don't compile EF Core designer files on release builds" (#39057)

* Revert "Kobold/monkey AI holograms (#38888)"

This reverts commit 97fcebb92b.

Please check the maintainer meeting and the recording at time 41:58 for further information

https://docs.spacestation14.com/en/maintainer-meetings/maintainer-meeting-2025-07-19.html

* Replace SharedStatusEffectsSystem with StatusEffectsSystem

Updated references from SharedStatusEffectsSystem to StatusEffectsSystem in spell and magic weakness systems to use the correct status effects system implementation.

* Update examine_messages.yml

* fix

* Update round_end.yml

---------

Signed-off-by: Nox38 <nebulousnox38@gmail.com>
Co-authored-by: Mora <46364955+TrixxedHeart@users.noreply.github.com>
Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Andrew Malcolm O'Neill <105134723+maland1@users.noreply.github.com>
Co-authored-by: Minerva <218184747+mnva0@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Tiniest Shark <head.rebel@yahoo.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Velken <8467292+Velken@users.noreply.github.com>
Co-authored-by: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Arthur Fiorese de Andrade <170277843+ADM2PLAY@users.noreply.github.com>
Co-authored-by: Arthur Fiorese de Andrade <aandrade@cmcxs.gov.br>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: B_Kirill <153602297+B-Kirill@users.noreply.github.com>
Co-authored-by: poklj <compgeek223@gmail.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: AsnDen <75905158+AsnDen@users.noreply.github.com>
Co-authored-by: Winkarst-cpu <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: Smugman <85798843+Smugman@users.noreply.github.com>
Co-authored-by: Голубь <124601871+Golubgik@users.noreply.github.com>
Co-authored-by: unknown <wainzor1337@gmail.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: kosticia <kosticia46@gmail.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: Sparlight <twiksparlight@gmail.com>
Co-authored-by: Crude Oil <124208219+CroilBird@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Tobias Berger <toby@tobot.dev>
Co-authored-by: Nox <nebulousnox38@gmail.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Hitlinemoss <209321380+Hitlinemoss@users.noreply.github.com>
Co-authored-by: qwerltaz <69696513+qwerltaz@users.noreply.github.com>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Ertanic <black.ikra.14@gmail.com>
Co-authored-by: Эдуард <36124833+Ertanic@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Centronias <me@centronias.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Mono <182929384+Monotheonist@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: KOTOB <59124164+kotobdev@users.noreply.github.com>
Co-authored-by: devinschubert14 <59582670+devinschubert14@users.noreply.github.com>
Co-authored-by: SpaceManiac <tad@platymuus.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: ToastEnjoyer <masondoesgamingyes@gmail.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: UpAndLeaves <92269094+Alpha-Two@users.noreply.github.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: Trosling <111116669+RHSvenson@users.noreply.github.com>
Co-authored-by: RedBookcase <crazykid1590@gmail.com>
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: Łukasz Lindert <lukasz.lindert@protonmail.com>
Co-authored-by: nabegator <stunprod228@outlook.com>
Co-authored-by: shampunj <140359015+shampunj@users.noreply.github.com>
Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>
Co-authored-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: FlipBrooke <87075384+FlipBrooke@users.noreply.github.com>
Co-authored-by: Admiral-Obvious-001 <89495925+Admiral-Obvious-001@users.noreply.github.com>
This commit is contained in:
Red
2025-07-30 16:02:21 +03:00
committed by GitHub
1247 changed files with 21555 additions and 15543 deletions

View File

@@ -401,6 +401,20 @@
useDelay: 1
itemIconStyle: BigAction
- type: entity
parent: BaseAction
id: ActionGravityJump
name: Jump
description: Activating the advanced propulsion system, you propel yourself a short distance in the direction of your gaze.
components:
- type: Action
useDelay: 8
icon:
sprite: Interface/Actions/jump.rsi
state: icon
- type: InstantAction
event: !type:GravityJumpEvent {}
- type: entity
parent: BaseToggleAction
id: ActionToggleRootable

View File

@@ -151,7 +151,7 @@
- type: cargoProduct
id: LivestockParrot
icon:
sprite: Mobs/Animals/parrot.rsi
sprite: Mobs/Animals/parrot/parrot.rsi
state: parrot
product: CrateNPCParrot
cost: 3000

View File

@@ -57,27 +57,6 @@
amount: 4
# Magnum
- type: entity
name: box of SMG .45 magnum magazines
parent: BoxMagazine
id: BoxMagazineMagnumSubMachineGun
description: A box full of SMG .45 magnum magazines.
components:
- type: StorageFill
contents:
- id: MagazineMagnumSubMachineGun
amount: 3
- type: entity
name: box of SMG .45 magnum (practice) magazines
parent: BoxMagazine
id: BoxMagazineMagnumSubMachineGunPractice
description: A box full of SMG .45 magnum (practice) magazines.
components:
- type: StorageFill
contents:
- id: MagazineMagnumSubMachineGunPractice
amount: 3
# Pistol
- type: entity

View File

@@ -102,6 +102,7 @@
layers:
- state: box
- state: bodybags
- type: Storage
whitelist:
tags:
- BodyBag

View File

@@ -462,7 +462,7 @@
name: hydrated scurret
description: Wait, what?
id: CrateFunScurret
parent: CratePlastic
parent: CrateLivestock
components:
- type: StorageFill
contents:

View File

@@ -2,7 +2,7 @@
id: CrateServiceJanitorialSupplies
parent: CratePlastic
name: janitorial supplies crate
description: Fight back against dirt and grime with Nanotrasen's Janitorial Essentials(tm)! Contains three buckets, caution signs, and cleaner grenades. Also has a single mop, broom, spray cleaner, rag, and trash bag.
description: Fight back against dirt and grime with Nanotrasen's Janitorial Essentials(tm)! Contains three buckets, caution signs, and cleaner grenades. Also has a single mop, broom, spray cleaner, wire brush, rag, and trash bag.
components:
- type: StorageFill
contents:
@@ -20,6 +20,8 @@
- id: Plunger
amount: 2
- id: BoxCleanerGrenades
- id: WireBrush
amount: 2
- type: entity
id: CrateServiceCleanerGrenades

View File

@@ -84,6 +84,7 @@
amount: 2
- id: FlashlightLantern
- id: LightReplacer
- id: WireBrush
- type: entity
id: ClothingBeltMedicalFilled

View File

@@ -3,161 +3,201 @@
suffix: Filled, Hardsuit
parent: LockerWarden
components:
- type: StorageFill
contents:
- id: FlashlightSeclite
- id: WeaponDisabler
- id: ClothingBeltSecurityFilled
- id: Flash
- id: ClothingEyesGlassesSecurity
- id: ClothingHandsGlovesCombat
- id: ClothingShoesBootsJack
- id: ClothingOuterCoatWarden
- id: ClothingOuterWinterWarden
- id: RubberStampWarden
- id: DoorRemoteArmory
- id: ClothingOuterHardsuitWarden
- id: HoloprojectorSecurity
- id: BookSpaceLaw
- id: ClothingBackpackElectropack
amount: 2
- id: RemoteSignaller
amount: 2
- type: EntityTableContainerFill
containers:
entity_storage: !type:AllSelector
children:
- !type:NestedSelector
tableId: FillLockerWarden
- !type:NestedSelector
tableId: FillLockerWardenHarduit
- type: entity
id: LockerWardenFilled
suffix: Filled
parent: LockerWarden
components:
- type: StorageFill
contents:
- id: FlashlightSeclite
- id: WeaponDisabler
- id: ClothingBeltSecurityFilled
- id: Flash
- id: ClothingEyesGlassesSecurity
- id: ClothingHandsGlovesCombat
- id: ClothingShoesBootsJack
- id: ClothingOuterCoatWarden
- id: ClothingOuterWinterWarden
- id: RubberStampWarden
- id: DoorRemoteArmory
- id: HoloprojectorSecurity
- id: BookSpaceLaw
- id: ClothingBackpackElectropack
amount: 2
- id: RemoteSignaller
amount: 2
- id: Binoculars
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillLockerWarden
- type: entityTable
id: FillLockerWarden
table: !type:AllSelector
children:
- id: FlashlightSeclite
- id: WeaponDisabler
- id: ClothingBeltSecurityFilled
- id: Flash
- id: ClothingEyesGlassesSecurity
- id: ClothingHandsGlovesCombat
- id: ClothingShoesBootsJack
- id: ClothingOuterCoatWarden
- id: ClothingOuterWinterWarden
- id: RubberStampWarden
- id: DoorRemoteArmory
- id: HoloprojectorSecurity
- id: BookSpaceLaw
- id: ClothingBackpackElectropack
amount: 2
- id: RemoteSignaller
amount: 2
- id: Binoculars
- type: entityTable
id: FillLockerWardenHarduit
table: !type:AllSelector
children:
- id: ClothingOuterHardsuitWarden
- id: OxygenTankFilled
- id: ClothingMaskBreath
- type: entity
id: LockerSecurityFilled
suffix: Filled
parent: LockerSecurity
components:
- type: StorageFill
contents:
- id: FlashlightSeclite
prob: 0.8
- id: WeaponDisabler
- id: ClothingUniformJumpsuitSecGrey
prob: 0.3
- id: ClothingHeadHelmetBasic
- id: ClothingOuterArmorBasic
- id: ClothingBeltSecurityFilled
- id: Flash
prob: 0.5
- id: ClothingEyesGlassesSecurity
- id: ClothingHeadsetSecurity
- id: ClothingHandsGlovesColorBlack
- id: ClothingShoesBootsJack
- id: WeaponMeleeNeedle
prob: 0.1
- id: HoloprojectorSecurity
prob: 0.6
- id: BookSpaceLaw
prob: 0.5
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillLockerSecurity
- type: entityTable
id: FillLockerSecurity
table: !type:AllSelector
children:
- id: FlashlightSeclite
prob: 0.8
- id: WeaponDisabler
- id: ClothingUniformJumpsuitSecGrey
prob: 0.3
- id: ClothingHeadHelmetBasic
- id: ClothingOuterArmorBasic
- id: ClothingBeltSecurityFilled
- id: Flash
prob: 0.5
- id: ClothingEyesGlassesSecurity
- id: ClothingHeadsetSecurity
- id: ClothingHandsGlovesColorBlack
- id: ClothingShoesBootsJack
- id: WeaponMeleeNeedle
prob: 0.1
- id: HoloprojectorSecurity
prob: 0.6
- id: BookSpaceLaw
prob: 0.5
- type: entity
id: LockerBrigmedicFilled
suffix: Brigmedic, Filled
parent: LockerBrigmedic
components:
- type: StorageFill
contents:
- id: ClothingEyesGlassesSecurity
- id: WeaponDisabler
- id: TrackingImplanter
amount: 2
- id: ClothingOuterHardsuitBrigmedic
- id: BoxSterileMask
- id: ClothingHeadHatBeretBrigmedic
- id: ClothingOuterCoatAMG
- id: ClothingUniformJumpsuitBrigmedic
- id: ClothingUniformJumpskirtBrigmedic
- id: ClothingUniformJumpskirtOfLife
prob: 0.1
- id: MedkitFilled
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillLockerBrigmedic
- type: entityTable
id: FillLockerBrigmedic
table: !type:AllSelector
children:
- id: ClothingEyesGlassesSecurity
- id: WeaponDisabler
- id: TrackingImplanter
amount: 2
- id: ClothingOuterHardsuitBrigmedic
- id: BoxSterileMask
- id: ClothingHeadHatBeretBrigmedic
- id: ClothingOuterCoatAMG
- id: ClothingUniformJumpsuitBrigmedic
- id: ClothingUniformJumpskirtBrigmedic
- id: ClothingUniformJumpskirtOfLife
prob: 0.1
- id: MedkitFilled
- !type:GroupSelector
prob: 0.7
children:
- id: MedkitCombatFilled
prob: 0.6
weight: 1.6
- id: MedkitAdvancedFilled
prob: 0.4
- id: MedkitOxygenFilled
prob: 0.3
weight: 0.8
- id: MedkitBruteFilled
prob: 0.3
weight: 0.8
- id: MedkitToxinFilled
prob: 0.3
weight: 0.8
- id: MedkitBurnFilled
prob: 0.7
- id: ClothingNeckCloakMoth #bzzz Moth-pocalypse
prob: 0.15
weight: 1.8
- id: ClothingNeckCloakMoth #bzzz Moth-pocalypse
prob: 0.15
- type: entity
id: LockerDetectiveFilled
suffix: Filled
parent: LockerDetective
components:
- type: StorageFill
contents:
- id: ClothingEyesGlassesNoir
- id: ClothingHeadHatDetGadget
- id: ClothingNeckTieDet
- id: ClothingOuterVestDetective
- id: ClothingOuterCoatDetectiveLoadout
- id: FlippoEngravedLighter
- id: FlashlightSeclite
- id: ForensicScanner
- id: LogProbeCartridge
- id: BoxForensicPad
- id: DrinkDetFlask
- id: ClothingHandsGlovesForensic
- id: RubberStampDetective
- id: HoloprojectorSecurity
- id: BoxEvidenceMarkers
- id: HandLabeler
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillLockerDetective
- type: entityTable
id: FillLockerDetective
table: !type:AllSelector
children:
- id: ClothingEyesGlassesNoir
- id: ClothingHeadHatDetGadget
- id: ClothingNeckTieDet
- id: ClothingOuterVestDetective
- id: ClothingOuterCoatDetectiveLoadout
- id: FlippoEngravedLighter
- id: FlashlightSeclite
- id: ForensicScanner
- id: LogProbeCartridge
- id: BoxForensicPad
- id: DrinkDetFlask
- id: ClothingHandsGlovesForensic
- id: RubberStampDetective
- id: HoloprojectorSecurity
- id: BoxEvidenceMarkers
- id: HandLabeler
- type: entity
id: ClosetBombFilled
parent: ClosetBomb
suffix: Filled
components:
- type: StorageFill
contents:
- id: ClothingHeadHelmetBombSuit
- id: ClothingOuterSuitBomb
- id: Wirecutter
- id: Screwdriver
- id: Multitool
prob: 0.5
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillClosetBomb
- type: entityTable
id: FillClosetBomb
table: !type:AllSelector
children:
- id: ClothingHeadHelmetBombSuit
- id: ClothingOuterSuitBomb
- id: Wirecutter
- id: Screwdriver
- id: Multitool
prob: 0.5
- type: entity
parent: [GunSafeBaseSecure, BaseSecurityContraband]
id: GunSafeDisabler
name: disabler safe
components:
- type: StorageFill
contents:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillGunSafeDisabler
- type: entityTable
id: FillGunSafeDisabler
table: !type:AllSelector
children:
- id: WeaponDisabler
amount: 5
@@ -166,8 +206,15 @@
id: GunSafePistolMk58
name: mk58 safe
components:
- type: StorageFill
contents:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillGunSafePistolMk58
- type: entityTable
id: FillGunSafePistolMk58
table: !type:AllSelector
children:
- id: WeaponPistolMk58
amount: 4
- id: MagazinePistol
@@ -178,8 +225,15 @@
id: GunSafeRifleLecter
name: lecter safe
components:
- type: StorageFill
contents:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillGunSafeRifleLecter
- type: entityTable
id: FillGunSafeRifleLecter
table: !type:AllSelector
children:
- id: WeaponRifleLecter
amount: 2
- id: MagazineRifle
@@ -190,8 +244,15 @@
id: GunSafeSubMachineGunDrozd
name: drozd safe
components:
- type: StorageFill
contents:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillGunSafeSubMachineGunDrozd
- type: entityTable
id: FillGunSafeSubMachineGunDrozd
table: !type:AllSelector
children:
- id: WeaponSubMachineGunDrozd
amount: 2
- id: MagazinePistolSubMachineGun
@@ -202,8 +263,15 @@
id: GunSafeShotgunEnforcer
name: enforcer safe
components:
- type: StorageFill
contents:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillGunSafeShotgunEnforcer
- type: entityTable
id: FillGunSafeShotgunEnforcer
table: !type:AllSelector
children:
- id: WeaponShotgunEnforcer
amount: 2
- id: BoxLethalshot
@@ -214,12 +282,19 @@
id: GunSafeShotgunKammerer
name: kammerer safe
components:
- type: StorageFill
contents:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillGunSafeShotgunKammerer
- type: entityTable
id: FillGunSafeShotgunKammerer
table: !type:AllSelector
children:
- id: WeaponShotgunKammerer
amount: 2
- id: BoxLethalshot
amount: 2
amount: 4
- type: entity
id: GunSafeSubMachineGunWt550
@@ -227,8 +302,15 @@
parent: [GunSafeBaseSecure, BaseSecurityContraband]
name: wt550 safe
components:
- type: StorageFill
contents:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillGunSafeSubMachineGunWt550
- type: entityTable
id: FillGunSafeSubMachineGunWt550
table: !type:AllSelector
children:
- id: WeaponSubMachineGunWt550
amount: 2
- id: MagazinePistolSubMachineGunTopMounted
@@ -239,7 +321,14 @@
id: GunSafeLaserCarbine
name: laser safe
components:
- type: StorageFill
contents:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillGunSafeLaserCarbine
- type: entityTable
id: FillGunSafeLaserCarbine
table: !type:AllSelector
children:
- id: WeaponLaserCarbine
amount: 3

View File

@@ -3,24 +3,28 @@
suffix: Filled
parent: LockerBooze
components:
- type: StorageFill
contents:
- id: ClothingOuterArmorBasicSlim
- id: WeaponShotgunDoubleBarreledRubber
- id: DrinkShaker
- id: ClothingEyesHudBeer
- id: HandLabeler
amount: 1
- id: DrinkBottleBeer
prob: 0.5
- id: DrinkBottleBeer
prob: 0.5
- id: DrinkBottleBeer
prob: 0.5
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillLockerBooze
- type: entityTable
id: FillLockerBooze
table: !type:AllSelector
children:
- id: ClothingOuterArmorBasicSlim
- id: WeaponShotgunDoubleBarreledRubber
- id: DrinkShaker
- id: ClothingEyesHudBeer
- id: HandLabeler
- id: DrinkBottleBeer
amount: !type:BinomialNumberSelector
trials: 3
- !type:AllSelector
rolls: 2
children:
- id: BoxBeanbag
amount: 2
- id: RagItem
amount: 2
#- type: entity
# id: LockerFormalFilled
@@ -32,101 +36,134 @@
suffix: Filled
parent: ClosetChef
components:
- type: StorageFill
contents:
- id: VariantCubeBox
- id: BoxMousetrap
amount: 2
- id: SprayBottleWater
- id: ReagentContainerFlour
amount: 2
- id: FoodBoxCloth
amount: 1
- id: ReagentContainerSugar
- id: FoodCondimentPacketSalt
amount: 3
- id: FoodCondimentPacketPepper
amount: 3
- id: FoodCondimentBottleEnzyme
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillClosetChef
- type: entityTable
id: FillClosetChef
table: !type:AllSelector
children:
- id: VariantCubeBox
- id: SprayBottleWater
- id: FoodBoxCloth
- id: ReagentContainerSugar
- id: FoodCondimentBottleEnzyme
- id: DrinkSoyMilkCarton
- !type:AllSelector
rolls: 2
children:
- id: DrinkMilkCarton
# really, milk should go in the fridge. Unfortunately saltern only has freezers.
# yes, I'm using this as an excuse to not have to do extra work.
- id: DrinkMilkCarton
amount: 2
- id: DrinkSoyMilkCarton
- id: ReagentContainerFlour
- id: BoxMousetrap
- !type:AllSelector
rolls: 3
children:
- id: FoodCondimentPacketSalt
- id: FoodCondimentPacketPepper
- type: entity
id: ClosetJanitorFilled
suffix: Filled
parent: ClosetJanitor
components:
- type: StorageFill
contents:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillClosetJanitor
- type: entityTable
id: FillClosetJanitor
table: !type:AllSelector
children:
- id: WetFloorSign
amount: 3
- id: LightReplacer
- id: BoxLightMixed
- id: Holoprojector
- !type:AllSelector
rolls: 2
children:
- id: MopItem
amount: 2
- id: BoxMousetrap
amount: 2
- id: WetFloorSign
amount: 3
- id: TrashBag
amount: 2
- id: LightReplacer
- id: BoxLightMixed
- id: Holoprojector
- id: SoapNT
amount: 2
- id: FlashlightLantern
amount: 2
- id: Plunger
amount: 2
- id: WireBrush
- type: entity
id: ClosetLegalFilled
suffix: Filled
parent: ClosetLegal
components:
- type: StorageFill
contents:
- id: BriefcaseBrownFilled
prob: 0.80
- id: ClothingOuterRobesJudge
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillClosetLegal
- type: entityTable
id: FillClosetLegal
table: !type:AllSelector
children:
- id: BriefcaseBrownFilled
prob: 0.80
- id: ClothingOuterRobesJudge
- type: entity
id: LockerBotanistFilled
suffix: Filled
parent: LockerBotanist
components:
- type: StorageFill
contents:
- id: ClothingHandsGlovesLeather
- id: ClothingOuterApronBotanist
- id: ClothingHeadBandBotany
- id: ChemistryBottleRobustHarvest
prob: 0.3
- id: ClothingBeltPlant
- id: PlantBag ##Some maps don't have nutrivend
- id: BoxMouthSwab
- id: Dropper
- id: HandLabeler
- id: ClothingUniformOveralls
- id: ClothingHeadHatTrucker
prob: 0.1
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillLockerBotanist
- type: entityTable
id: FillLockerBotanist
table: !type:AllSelector
children:
- id: ClothingHandsGlovesLeather
- id: ClothingOuterApronBotanist
- id: ClothingHeadBandBotany
- id: ChemistryBottleRobustHarvest
prob: 0.3
- id: ClothingBeltPlant
- id: PlantBag ##Some maps don't have nutrivend
- id: BoxMouthSwab
- id: Dropper
- id: HandLabeler
- id: ClothingUniformOveralls
- id: ClothingHeadHatTrucker
prob: 0.1
- type: entity
id: LockerBotanistLoot
suffix: Loot
parent: LockerBotanist
components:
- type: StorageFill
contents:
- id: ClothingUniformOveralls
- id: ClothingHeadHatTrucker
prob: 0.3
- id: GatfruitSeeds
prob: 0.1
- id: FlyAmanitaSeeds
prob: 0.5
- id: NettleSeeds
prob: 0.7
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillLockerBotanistLoot
- type: entityTable
id: FillLockerBotanistLoot
table: !type:AllSelector
children:
- id: ClothingUniformOveralls
- id: ClothingHeadHatTrucker
prob: 0.3
- id: GatfruitSeeds
prob: 0.1
- id: FlyAmanitaSeeds
prob: 0.5
- id: NettleSeeds
prob: 0.7
- type: entity
id: ClosetJanitorBombFilled
@@ -134,7 +171,14 @@
suffix: DO NOT MAP, Filled
categories: [ DoNotMap ]
components:
- type: StorageFill
contents:
- id: ClothingHeadHelmetJanitorBombSuit
- id: ClothingOuterSuitJanitorBomb
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillClosetJanitorBomb
- type: entityTable
id: FillClosetJanitorBomb
table: !type:AllSelector
children:
- id: ClothingHeadHelmetJanitorBombSuit
- id: ClothingOuterSuitJanitorBomb

View File

@@ -5,11 +5,18 @@
suffix: NTSRA voidsuit locker
parent: LockerSyndicate
components:
- type: StorageFill
contents:
- id: ClothingHeadHelmetAncient
- id: ClothingOuterHardsuitAncientEVA
- id: JetpackVoidFilled
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FilLockerOldAISat
- type: entityTable
id: FilLockerOldAISat
table: !type:AllSelector
children:
- id: ClothingHeadHelmetAncient
- id: ClothingOuterHardsuitAncientEVA
- id: JetpackVoidFilled
#Syndicate ship armory stuff
- type: entity
@@ -17,35 +24,49 @@
parent: LockerSyndicate
suffix: Basic ship gear, Random
components:
- type: StorageFill
contents:
- id: CrowbarRed
prob: 0.6
- id: ClothingShoesBootsCombat
prob: 0.4
- id: ClothingUniformJumpsuitOperative
prob: 0.4
- id: ClothingHandsGlovesCombat
prob: 0.2
- id: ClothingBeltMilitaryWebbing
prob: 0.2
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FilLockerSyndicateShipGearBasic
- type: entityTable
id: FilLockerSyndicateShipGearBasic
table: !type:AllSelector
children:
- id: CrowbarRed
prob: 0.6
- id: ClothingShoesBootsCombat
prob: 0.4
- id: ClothingUniformJumpsuitOperative
prob: 0.4
- id: ClothingHandsGlovesCombat
prob: 0.2
- id: ClothingBeltMilitaryWebbing
prob: 0.2
#Garunteed chameleon kit spawn, for the syndicate dropship
- type: entity
id: LockerSyndicateShipGearBasicChameleonKit
parent: LockerSyndicateShipGearBasic
suffix: Basic ship gear, Random, Chameleon Kit
components:
- type: StorageFill
contents:
- id: ClothingBackpackChameleonFill
- id: CrowbarRed
prob: 0.6
- id: ClothingShoesBootsCombat
prob: 0.4
- id: ClothingUniformJumpsuitOperative
prob: 0.4
- id: ClothingHandsGlovesCombat
prob: 0.2
- id: ClothingBeltMilitaryWebbing
prob: 0.2
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FilLockerSyndicateShipGearBasicChameleonKit
- type: entityTable
id: FilLockerSyndicateShipGearBasicChameleonKit
table: !type:AllSelector
children:
- id: ClothingBackpackChameleonFill
- id: CrowbarRed
prob: 0.6
- id: ClothingShoesBootsCombat
prob: 0.4
- id: ClothingUniformJumpsuitOperative
prob: 0.4
- id: ClothingHandsGlovesCombat
prob: 0.2
- id: ClothingBeltMilitaryWebbing
prob: 0.2

View File

@@ -5,12 +5,19 @@
parent: SuitStorageBase
suffix: EVA
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitEVA
- id: ClothingHeadHelmetEVA
- id: ClothingMaskBreath
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStorageEVA
- type: entityTable
id: FillSuitStorageEVA
table: !type:AllSelector
children:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitEVA
- id: ClothingHeadHelmetEVA
- id: ClothingMaskBreath
#Basic EVA (Big Ass Helmet)
- type: entity
@@ -18,12 +25,19 @@
parent: SuitStorageBase
suffix: EVA, Large Helmet
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitEVA
- id: ClothingHeadHelmetEVALarge
- id: ClothingMaskBreath
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStorageEVAAlternate
- type: entityTable
id: FillSuitStorageEVAAlternate
table: !type:AllSelector
children:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitEVA
- id: ClothingHeadHelmetEVALarge
- id: ClothingMaskBreath
#Emergency EVA
- type: entity
@@ -31,11 +45,18 @@
parent: SuitStorageBase
suffix: Emergency EVA
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingOuterSuitEmergency
- id: ClothingMaskBreath
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStorageEVAEmergency
- type: entityTable
id: FillSuitStorageEVAEmergency
table: !type:AllSelector
children:
- id: OxygenTankFilled
- id: ClothingOuterSuitEmergency
- id: ClothingMaskBreath
#Prisoner EVA
- type: entity
@@ -43,12 +64,19 @@
parent: SuitStorageBase
suffix: Prisoner EVA
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitEVAPrisoner
- id: ClothingHeadHelmetEVALarge
- id: ClothingMaskBreath
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStorageEVAPrisoner
- type: entityTable
id: FillSuitStorageEVAPrisoner
table: !type:AllSelector
children:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitEVAPrisoner
- id: ClothingHeadHelmetEVALarge
- id: ClothingMaskBreath
#Syndicate EVA
- type: entity
@@ -56,12 +84,19 @@
parent: SuitStorageBase
suffix: Syndicate EVA
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingOuterEVASuitSyndicate
- id: ClothingHeadHelmetSyndicate
- id: ClothingMaskGasSyndicate
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStorageEVASyndicate
- type: entityTable
id: FillSuitStorageEVASyndicate
table: !type:AllSelector
children:
- id: OxygenTankFilled
- id: ClothingOuterEVASuitSyndicate
- id: ClothingHeadHelmetSyndicate
- id: ClothingMaskGasSyndicate
#Pirate EVA
- type: entity
@@ -69,11 +104,18 @@
parent: SuitStorageBase
suffix: Pirate EVA
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitPirateEVA
- id: ClothingMaskGas
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStorageEVAPirate
- type: entityTable
id: FillSuitStorageEVAPirate
table: !type:AllSelector
children:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitPirateEVA
- id: ClothingMaskGas
#NTSRA Voidsuit
- type: entity
@@ -81,12 +123,19 @@
parent: SuitStorageBase
suffix: Ancient EVA
components:
- type: StorageFill
contents:
- id: JetpackVoidFilled
- id: ClothingOuterHardsuitAncientEVA
- id: ClothingHeadHelmetAncient
- id: ClothingMaskBreath
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStorageEVANTSRA
- type: entityTable
id: FillSuitStorageEVANTSRA
table: !type:AllSelector
children:
- id: JetpackVoidFilled
- id: ClothingOuterHardsuitAncientEVA
- id: ClothingHeadHelmetAncient
- id: ClothingMaskBreath
#HARDSUITS
#Engineering hardsuit
@@ -121,14 +170,21 @@
parent: SuitStorageBase
suffix: Security
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitSecurity
- id: ClothingMaskBreath
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStorageSecurity
- type: AccessReader
access: [["Security"]]
- type: entityTable
id: FillSuitStorageSecurity
table: !type:AllSelector
children:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitSecurity
- id: ClothingMaskBreath
#CE's hardsuit
- type: entity
id: SuitStorageCE
@@ -187,11 +243,10 @@
parent: SuitStorageBase
suffix: Warden
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitWarden
- id: ClothingMaskBreath
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillLockerWardenHarduit
- type: AccessReader
access: [["Armory"]]
@@ -227,12 +282,19 @@
parent: SuitStorageBase
suffix: Syndicate Hardsuit
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitSyndie
- id: ClothingShoesBootsMagSyndie
- id: ClothingMaskGasSyndicate
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStorageSyndie
- type: entityTable
id: FillSuitStorageSyndie
table: !type:AllSelector
children:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitSyndie
- id: ClothingShoesBootsMagSyndie
- id: ClothingMaskGasSyndicate
#Pirate Captain's hardsuit
- type: entity
@@ -240,11 +302,18 @@
parent: SuitStorageBase
suffix: Pirate Captain
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitPirateCap
- id: ClothingMaskGas
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStoragePirateCap
- type: entityTable
id: FillSuitStoragePirateCap
table: !type:AllSelector
children:
- id: OxygenTankFilled
- id: ClothingOuterHardsuitPirateCap
- id: ClothingMaskGas
#Wizard
- type: entity
@@ -252,10 +321,17 @@
parent: SuitStorageBase
suffix: Wizard
components:
- type: StorageFill
contents:
- id: OxygenTankFilled
- id: ClothingMaskBreath
# TODO: Gone until reworked to have no space protection
#- id: ClothingOuterHardsuitWizard
#- id: JetpackVoidFilled
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillSuitStorageWizard
- type: entityTable
id: FillSuitStorageWizard
table: !type:AllSelector
children:
- id: OxygenTankFilled
- id: ClothingMaskBreath
# TODO: Gone until reworked to have no space protection
#- id: ClothingOuterHardsuitWizard
#- id: JetpackVoidFilled

View File

@@ -3,60 +3,111 @@
suffix: Filled
parent: WardrobeGrey
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitColorGrey
amount: 2
- id: ClothingUniformJumpskirtColorGrey
amount: 2
- id: ClothingShoesColorBlack
amount: 3
- id: ClothingHeadHatGreysoft
- id: ClothingBackpackDuffel
prob: 0.5
- id: ClothingOuterCoatBomber
prob: 0.3
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeGrey
- type: entity
id: ClosetWallWardrobeGreyFilled
suffix: Filled
parent: ClosetWallGrey
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeGrey
- type: entityTable
id: FillWardrobeGrey
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitColorGrey
amount: 2
- id: ClothingUniformJumpskirtColorGrey
amount: 2
- id: ClothingShoesColorBlack
amount: 3
- id: ClothingHeadHatGreysoft
- id: ClothingBackpackDuffel
prob: 0.5
- id: ClothingOuterCoatBomber
prob: 0.3
- type: entity
id: WardrobeMixedFilled
suffix: Filled
parent: WardrobeMixed
components:
- type: StorageFill
contents:
- id: ClothingShoesColorBlack
amount: 1
- id: ClothingShoesColorBrown
amount: 1
- id: ClothingShoesColorWhite
amount: 1
- id: ClothingOuterCoatBomber
prob: 0.4
- id: ClothingOuterCoatGentle
prob: 0.3
- id: ClothingUniformRandomShorts
amount: 3
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeMixed
- type: entity
id: ClosetWallWardrobeMixedFilled
suffix: Filled
parent: ClosetWallMixed
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeMixed
- type: entityTable
id: FillWardrobeMixed
table: !type:AllSelector
children:
- id: ClothingShoesColorBlack
- id: ClothingShoesColorBrown
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatBomber
prob: 0.4
- id: ClothingOuterCoatGentle
prob: 0.3
- id: ClothingUniformRandomShorts
amount: 3
- id: ClothingUniformRandomBra
amount: 5
- !type:AllSelector
rolls: 5
children:
- id: ClothingUniformRandomArmless
amount: 5
prob: 0.8
- id: ClothingUniformRandomStandard
amount: 5
- id: ClothingUniformRandomBra
amount: 5
prob: 0.8
- id: ClothingUniformRandomShirt
amount: 4
prob: 0.8
- type: entity
id: WardrobeYellowFilled
suffix: Filled
parent: WardrobeYellow
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitColorYellow
- id: ClothingUniformJumpskirtColorYellow
- id: ClothingShoesColorOrange
amount: 2
- id: ClothingHeadBandGold
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeYellow
- type: entity
id: ClosetWallWardrobeYellowFilled
suffix: Filled
parent: ClosetWallYellow
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeYellow
- type: entityTable
id: FillWardrobeYellow
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitColorYellow
- id: ClothingUniformJumpskirtColorYellow
- id: ClothingShoesColorOrange
amount: 2
- id: ClothingHeadBandGold
- type: entity
@@ -64,62 +115,147 @@
suffix: Filled
parent: WardrobeWhite
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitColorWhite
- id: ClothingUniformJumpskirtColorWhite
- id: ClothingShoesColorWhite
amount: 2
- id: ClothingHeadHatMimesoft
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeWhite
- type: entity
id: ClosetWallWardrobeWhiteFilled
suffix: Filled
parent: ClosetWallWhite
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeWhite
- type: entityTable
id: FillWardrobeWhite
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitColorWhite
- id: ClothingUniformJumpskirtColorWhite
- id: ClothingShoesColorWhite
amount: 2
- id: ClothingHeadHatMimesoft
- type: entity
id: WardrobeBlueFilled
suffix: Filled
parent: WardrobeBlue
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitColorBlue
- id: ClothingUniformJumpskirtColorBlue
- id: ClothingShoesColorBrown
amount: 2
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeBlue
- type: entity
id: ClosetWallWardrobeBlueFilled
suffix: Filled
parent: ClosetWallBlue
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeBlue
- type: entityTable
id: FillWardrobeBlue
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitColorBlue
- id: ClothingUniformJumpskirtColorBlue
- id: ClothingShoesColorBrown
amount: 2
- type: entity
id: WardrobePinkFilled
suffix: Filled
parent: WardrobePink
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitColorPink
- id: ClothingUniformJumpskirtColorPink
- id: ClothingShoesColorBrown
amount: 2
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobePink
- type: entity
id: ClosetWallWardrobePinkFilled
suffix: Filled
parent: ClosetWallPink
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobePink
- type: entityTable
id: FillWardrobePink
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitColorPink
- id: ClothingUniformJumpskirtColorPink
- id: ClothingShoesColorBrown
amount: 2
- type: entity
id: WardrobeBlackFilled
suffix: Filled
parent: WardrobeBlack
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitColorBlack
- id: ClothingUniformJumpskirtColorBlack
- id: ClothingShoesColorBlack
amount: 2
- id: ClothingHeadBandBlack
- id: ClothingHeadBandSkull
prob: 0.4
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeBlack
- type: entity
id: ClosetWallWardrobeBlackFilled
suffix: Filled
parent: ClosetWallBlack
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeBlack
- type: entityTable
id: FillWardrobeBlack
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitColorBlack
- id: ClothingUniformJumpskirtColorBlack
- id: ClothingShoesColorBlack
amount: 2
- id: ClothingHeadBandBlack
- id: ClothingHeadBandSkull
prob: 0.4
- type: entity
id: WardrobeGreenFilled
suffix: Filled
parent: WardrobeGreen
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitColorGreen
- id: ClothingUniformJumpskirtColorGreen
- id: ClothingShoesColorBlack
amount: 2
- id: ClothingHeadBandGreen
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeGreen
- type: entity
id: ClosetWallWardrobeGreenFilled
suffix: Filled
parent: ClosetWallGreen
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeGreen
- type: entityTable
id: FillWardrobeGreen
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitColorGreen
- id: ClothingUniformJumpskirtColorGreen
- id: ClothingShoesColorBlack
amount: 2
- id: ClothingHeadBandGreen

View File

@@ -1,18 +1,83 @@
- type: entity
id: WardrobePrisonFilled
suffix: Filled
parent: WardrobePrison
description: "Contains a selection of nice orange clothes for people enjoying their stay in the brig."
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitPrisoner
amount: 2
- id: ClothingUniformJumpskirtPrisoner
amount: 2
- id: ClothingShoesColorBlack
amount: 2
- id: ClothingMaskMuzzle
- type: entity
id: WardrobePrisonFilled
suffix: Filled
parent: WardrobePrison
description: "Contains a selection of nice orange clothes for people enjoying their stay in the brig."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobePrison
- type: entity
id: ClosetWallWardrobePrisonFilled
suffix: Filled
parent: ClosetWallOrange
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobePrison
- type: entityTable
id: FillWardrobePrison
table: !type:AllSelector
children:
- !type:AllSelector
rolls: 2
children:
- id: ClothingUniformJumpsuitPrisoner
- id: ClothingUniformJumpskirtPrisoner
- id: ClothingShoesColorBlack
- id: ClothingMaskMuzzle
- !type:GroupSelector
prob: 0.15
rolls: 2
children:
- id: FoodSnackBoritos
- id: FoodSnackCheesie
- id: FoodSnackChips
- id: FoodSnackRaisins
- id: FoodSnackMREBrownie
- id: FoodSnackChocolate
- id: FoodSnackChowMein
- !type:GroupSelector
prob: 0.25
children:
- id: BookRandomStory
- id: BookRandom
- !type:GroupSelector
prob: 0.15
children:
- id: Flare
- id: BarberScissors
- id: FlippoLighter
- id: trayScanner
- id: Wristwatch
- id: ClothingNeckBling
- id: ClothingMultipleHeadphones
- id: DiceBag
- id: PersonalAI
- id: CrayonBox
- id: HarmonicaInstrument
- id: ToyAmongPequeno
- id: WhoopieCushion
- id: Brutepack
- id: StrangePill
- id: Shiv
- !type:GroupSelector
prob: 0.1
children:
- id: CigPackBlack
- id: Joint
- id: Blunt
- id: PackPaperRolling
- id: Cigarette
amount: !type:RangeNumberSelector
range: 1, 4
- id: GroundCannabis
amount: !type:RangeNumberSelector
range: 1, 6
#- type: entity
# id: WardrobePajamaFilled
@@ -20,202 +85,304 @@
# parent: WardrobeWhite
# name: pajama wardrobe
- type: entity
id: WardrobeRoboticsFilled
suffix: Filled
parent: WardrobeRobotics
description: "You can build a robot out of this locker."
components:
- type: StorageFill
contents:
- id: ClothingOuterCoatRobo
amount: 2
- id: ClothingUniformJumpsuitRoboticist
- id: ClothingUniformJumpskirtRoboticist
- id: ClothingShoesColorBlack
amount: 2
- id: ClothingHandsGlovesFingerless
amount: 2
- type: entity
id: WardrobeRoboticsFilled
suffix: Filled
parent: WardrobeRobotics
description: "You can build a robot out of this locker."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeRobotics
- type: entity
id: WardrobeChemistryFilled
suffix: Filled
parent: WardrobeChemistry
description: "The sleek orange threads contained within make you much less likely to be thrown out of the chemistry lab."
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitChemistry
- id: ClothingBackpackChemistry
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatLabChem
- id: ClothingUniformJumpskirtChemistry
- type: entityTable
id: FillWardrobeRobotics
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitRoboticist
- id: ClothingUniformJumpskirtRoboticist
- !type:AllSelector
rolls: 2
children:
- id: ClothingOuterCoatRobo
- id: ClothingShoesColorBlack
- id: ClothingHandsGlovesFingerless
- type: entity
id: WardrobeGeneticsFilled
suffix: Filled
parent: WardrobeGenetics
description: "The sleek blue threads contained within make you much less likely to be thrown out of the genetics lab."
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitGenetics
- id: ClothingBackpackGenetics
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatLabGene
- id: ClothingUniformJumpskirtGenetics
- type: entity
id: WardrobeChemistryFilled
suffix: Filled
parent: WardrobeChemistry
description: "The sleek orange threads contained within make you much less likely to be thrown out of the chemistry lab."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeChemistry
- type: entity
id: WardrobeVirologyFilled
suffix: Filled
parent: WardrobeVirology
description: "The sleek green threads contained within make you much less likely to be thrown out of the virology lab."
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitVirology
- id: ClothingBackpackVirology
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatLabViro
- id: ClothingUniformJumpskirtVirology
- type: entityTable
id: FillWardrobeChemistry
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitChemistry
- id: ClothingBackpackChemistry
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatLabChem
- id: ClothingUniformJumpskirtChemistry
- type: entity
id: WardrobeScienceFilled
suffix: Filled
parent: WardrobeScience
description: "You've read a couple pop science articles, now it's time for the real deal."
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitScientist
- id: ClothingBackpackScience
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatRnd
- id: ClothingUniformJumpskirtScientist
- id: ClothingEyesGlasses
prob: 0.5
- id: CrowbarRed #The jojoke - hit video game Half-Life
prob: 0.1
- type: entity
id: WardrobeGeneticsFilled
suffix: Filled
parent: WardrobeGenetics
description: "The sleek blue threads contained within make you much less likely to be thrown out of the genetics lab."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeGenetics
- type: entityTable
id: FillWardrobeGenetics
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitGenetics
- id: ClothingBackpackGenetics
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatLabGene
- id: ClothingUniformJumpskirtGenetics
- type: entity
id: WardrobeBotanistFilled
suffix: Filled
parent: WardrobeBotanist
description: "Plant yourself among the plant men with these 100% natural plant-derived clothes."
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitHydroponics
- id: ClothingBackpackHydroponics
- id: ClothingShoesColorBrown
- id: ClothingOuterApronBotanist
- id: ClothingUniformJumpskirtHydroponics
- id: ClothingUniformOveralls
- id: ClothingHeadHatTrucker #the hat itself is a subtle joke
prob: 0.15
- id: ClothingHandsGlovesLeather
prob: 0.5
- type: entity
id: WardrobeVirologyFilled
suffix: Filled
parent: WardrobeVirology
description: "The sleek green threads contained within make you much less likely to be thrown out of the virology lab."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeVirology
- type: entity
id: WardrobeMedicalDoctorFilled
suffix: Filled
parent: WardrobeMedicalDoctor
description: "We've all played doctor before, now practice medicine."
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitMedicalDoctor
- id: ClothingBackpackMedical
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatLab
- id: ClothingUniformJumpskirtMedicalDoctor
- id: ClothingHandsGlovesLatex
prob: 0.4
- id: ClothingEyesGlasses
prob: 0.3
- type: entityTable
id: FillWardrobeVirology
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitVirology
- id: ClothingBackpackVirology
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatLabViro
- id: ClothingUniformJumpskirtVirology
- type: entity
id: WardrobeChapelFilled
suffix: Filled
parent: WardrobeChapel
description: "You have to look presentable for your flock."
components:
- type: StorageFill
contents: # todo chaplain backpack
- id: ClothingUniformJumpsuitChaplain
- id: ClothingShoesColorBlack
- id: ClothingUniformJumpskirtChaplain
- type: entity
id: WardrobeScienceFilled
suffix: Filled
parent: WardrobeScience
description: "You've read a couple pop science articles, now it's time for the real deal."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeScience
- type: entity
id: WardrobeSecurityFilled
suffix: Filled
parent: WardrobeSecurity
description: "Cross the thin red line."
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitSec
- id: ClothingBackpackSecurity
- id: ClothingShoesBootsJack
- id: ClothingEyesGlassesSunglasses
- id: ClothingHeadHelmetBasic
- id: ClothingOuterArmorBasic
- id: ClothingUniformJumpskirtSec
- type: entityTable
id: FillWardrobeScience
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitScientist
- id: ClothingBackpackScience
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatRnd
- id: ClothingUniformJumpskirtScientist
- id: ClothingEyesGlasses
prob: 0.5
- id: CrowbarRed #The jojoke - hit video game Half-Life
prob: 0.1
- type: entity
id: WardrobeCargoFilled
suffix: Filled
parent: WardrobeCargo
description: "This locker? Maybe 500 spesos. Brotherhood? Priceless."
components:
- type: StorageFill
contents:
- id: ClothingHeadHatCargosoft
- id: ClothingUniformJumpsuitCargo
- id: ClothingBackpack
- id: ClothingShoesColorBlack
- id: ClothingUniformJumpskirtCargo
- id: ClothingHandsGlovesFingerless
- id: AppraisalTool
- type: entity
id: WardrobeBotanistFilled
suffix: Filled
parent: WardrobeBotanist
description: "Plant yourself among the plant men with these 100% natural plant-derived clothes."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeBotanist
- type: entity
id: WardrobeSalvageFilled
suffix: Filled
parent: WardrobeSalvage
components:
- type: StorageFill
contents:
- id: ClothingBackpack
- id: ClothingShoesBootsSalvage
amount: 2
- id: ClothingUniformJumpsuitSalvageSpecialist
amount: 2
- type: entityTable
id: FillWardrobeBotanist
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitHydroponics
- id: ClothingBackpackHydroponics
- id: ClothingShoesColorBrown
- id: ClothingOuterApronBotanist
- id: ClothingUniformJumpskirtHydroponics
- id: ClothingUniformOveralls
- id: ClothingHeadHatTrucker #the hat itself is a subtle joke
prob: 0.15
- id: ClothingHandsGlovesLeather
prob: 0.5
- type: entity
id: WardrobeAtmosphericsFilled
suffix: Filled
parent: WardrobeAtmospherics
description: "This locker contains a uniform for atmospheric technicians."
components:
- type: StorageFill
contents:
- id: ClothingUniformJumpsuitAtmos
- id: ClothingBackpackEngineering
- id: ClothingShoesColorWhite
- id: ClothingUniformJumpskirtAtmos
- type: entity
id: WardrobeMedicalDoctorFilled
suffix: Filled
parent: WardrobeMedicalDoctor
description: "We've all played doctor before, now practice medicine."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeMedicalDoctor
- type: entity
id: WardrobeEngineeringFilled
suffix: Filled
parent: WardrobeEngineering
description: "This locker contains a uniform for engineering or social engineering."
components:
- type: StorageFill
contents:
- id: ClothingHeadHatHardhatYellow
- id: ClothingUniformJumpsuitEngineering
- id: ClothingBackpackEngineering
- id: ClothingShoesBootsWork
- id: ClothingOuterVestHazard
- id: ClothingUniformJumpskirtEngineering
- type: entityTable
id: FillWardrobeMedicalDoctor
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitMedicalDoctor
- id: ClothingBackpackMedical
- id: ClothingShoesColorWhite
- id: ClothingOuterCoatLab
- id: ClothingUniformJumpskirtMedicalDoctor
- id: ClothingHandsGlovesLatex
prob: 0.4
- id: ClothingEyesGlasses
prob: 0.3
- type: entity
id: WardrobeChapelFilled
suffix: Filled
parent: WardrobeChapel
description: "You have to look presentable for your flock."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeChapel
- type: entityTable
id: FillWardrobeChapel
table: !type:AllSelector
children:
# todo chaplain backpack
- id: ClothingUniformJumpsuitChaplain
- id: ClothingShoesColorBlack
- id: ClothingUniformJumpskirtChaplain
- type: entity
id: WardrobeSecurityFilled
suffix: Filled
parent: WardrobeSecurity
description: "Cross the thin red line."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeSecurity
- type: entityTable
id: FillWardrobeSecurity
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitSec
- id: ClothingBackpackSecurity
- id: ClothingShoesBootsJack
- id: ClothingEyesGlassesSunglasses
- id: ClothingHeadHelmetBasic
- id: ClothingOuterArmorBasic
- id: ClothingUniformJumpskirtSec
- type: entity
id: WardrobeCargoFilled
suffix: Filled
parent: WardrobeCargo
description: "This locker? Maybe 500 spesos. Brotherhood? Priceless."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeCargo
- type: entityTable
id: FillWardrobeCargo
table: !type:AllSelector
children:
- id: ClothingHeadHatCargosoft
- id: ClothingUniformJumpsuitCargo
- id: ClothingBackpack
- id: ClothingShoesColorBlack
- id: ClothingUniformJumpskirtCargo
- id: ClothingHandsGlovesFingerless
- id: AppraisalTool
- type: entity
id: WardrobeSalvageFilled
suffix: Filled
parent: WardrobeSalvage
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeSalvage
- type: entityTable
id: FillWardrobeSalvage
table: !type:AllSelector
children:
- id: ClothingBackpack
- id: ClothingShoesBootsSalvage
amount: 2
- id: ClothingUniformJumpsuitSalvageSpecialist
amount: 2
- type: entity
id: WardrobeAtmosphericsFilled
suffix: Filled
parent: WardrobeAtmospherics
description: "This locker contains a uniform for atmospheric technicians."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeAtmospherics
- type: entity
id: ClosetWallWardrobeAtmosphericsFilled
suffix: Filled
parent: ClosetWallAtmospherics
description: "This locker contains a uniform for atmospheric technicians."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeAtmospherics
- type: entityTable
id: FillWardrobeAtmospherics
table: !type:AllSelector
children:
- id: ClothingUniformJumpsuitAtmos
- id: ClothingBackpackEngineering
- id: ClothingShoesColorWhite
- id: ClothingUniformJumpskirtAtmos
- type: entity
id: WardrobeEngineeringFilled
suffix: Filled
parent: WardrobeEngineering
description: "This locker contains a uniform for engineering or social engineering."
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: FillWardrobeEngineering
- type: entityTable
id: FillWardrobeEngineering
table: !type:AllSelector
children:
- id: ClothingHeadHatHardhatYellow
- id: ClothingUniformJumpsuitEngineering
- id: ClothingBackpackEngineering
- id: ClothingShoesBootsWork
- id: ClothingOuterVestHazard
- id: ClothingUniformJumpskirtEngineering

View File

@@ -8,6 +8,7 @@
FoodSnackPopcorn: 3
FoodSnackEnergy: 3
CigPackMixed: 2
DiscountDanLighter: 1
contrabandInventory:
FoodSnackDanDanNoodles: 3
FoodBakedBunHoney: 3

View File

@@ -20,6 +20,7 @@
RiotLaserShield: 2
RiotBulletShield: 2
RadioHandheldSecurity: 5
Bola: 6
# security officers need to follow a diet regimen!
contrabandInventory:
WeaponMeleeNeedle: 2

View File

@@ -13,6 +13,7 @@
FlashlightLantern: 5
ClothingHandsGlovesColorYellowBudget: 3
SprayPainter: 3
SprayPainterAmmo: 5
# Some engineer forgot to take the multitool out the youtool when working on it, happens.
contrabandInventory:
Multitool: 1

View File

@@ -2233,6 +2233,17 @@
- Chef
- Mime
- type: listing
id: UplinkContrabandLighter
name: uplink-contraband-lighter-name
description: uplink-contraband-lighter-desc
icon: { sprite: Objects/Tools/Lighters/syndielighter.rsi, state: icon}
productEntity: UplinkLighterBox
cost:
Telecrystal: 1
categories:
- UplinkPointless
- type: listing
id: UplinkSmugglerSatchel
name: uplink-smuggler-satchel-name

View File

@@ -1,9 +1,5 @@
- type: examinableDamage
- type: localizedDataset
id: WindowMessages
messages:
- comp-window-damaged-1
- comp-window-damaged-2
- comp-window-damaged-3
- comp-window-damaged-4
- comp-window-damaged-5
- comp-window-damaged-6
values:
prefix: comp-window-damaged-
count: 6

View File

@@ -116,6 +116,7 @@
components:
- type: Sprite
sprite: Clothing/Back/Duffels/mime.rsi
- type: Storage
storageOpenSound:
collection: null
storageInsertSound:

View File

@@ -178,3 +178,13 @@
maxItemSize: Huge
grid:
- 0,0,19,9
- type: entity
parent: ClothingBackpackSatchelHolding
id: ClothingBackpackSatchelAdmin
name: satchel of administration
suffix: Admin
description: If you are somehow seeing this, no you're not.
components:
- type: ExplosionResistance
damageCoefficient: 0

View File

@@ -98,3 +98,25 @@
- type: Construction
graph: ClothingBagPet
node: bagPet
- type: entity
parent: Clothing
id: ClothingBackpackHarmpack
name: H.A.R.M.P.A.C.K.
description: Now you can reload, punch, and eat a snack - simultaneously.
components:
- type: Sprite
sprite: Clothing/Back/Specific/harmpack.rsi
state: icon
- type: Item
size: Ginormous
- type: Clothing
slots: BACK
- type: ExtraHandsEquipment
hands:
# middle hands to prevent overlapping inhand sprites
# This can be changed once we have per-hand displacement maps
extra_hand_1:
location: Middle
extra_hand_2:
location: Middle

View File

@@ -12,7 +12,9 @@
sprite: Clothing/Belt/utility.rsi
- type: Storage
maxItemSize: Normal
# TODO: Fill this out more.
# Don't add more than absolutely needed to this whitelist!
# Utility belts shouldn't just be free extra storage.
# This is only intended for basic engineering equipment.
whitelist:
tags:
- Powerdrill
@@ -32,9 +34,11 @@
- JawsOfLife
- GPS
- WeldingMask
- RemoteSignaller
components:
- StationMap
- SprayPainter
- SprayPainterAmmo
- NetworkConfigurator
- RCD
- RCDAmmo
@@ -119,6 +123,7 @@
components:
- StationMap
- SprayPainter
- SprayPainterAmmo
- NetworkConfigurator
- RCD
- RCDAmmo
@@ -229,6 +234,7 @@
- WetFloorSign
- HolosignProjector
- Plunger
- WireBrush
components:
- LightReplacer
- SmokeOnTrigger

View File

@@ -67,7 +67,7 @@
coverage: EYES
- type: Tag
tags:
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: entity
@@ -144,7 +144,7 @@
- type: Tag
tags:
- HamsterWearable
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: IdentityBlocker
coverage: EYES
@@ -161,7 +161,7 @@
- type: Tag
tags:
- Sunglasses
- CorgiWearable
- PetWearable
- HamsterWearable
- WhitelistChameleon
@@ -184,7 +184,7 @@
- type: Tag
tags:
- HamsterWearable
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: GuideHelp
guides:
@@ -209,7 +209,7 @@
- type: Tag
tags:
- HamsterWearable
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: IdentityBlocker
coverage: EYES
@@ -265,7 +265,7 @@
coverage: EYES
- type: Tag
tags:
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: entity

View File

@@ -44,7 +44,7 @@
- type: Tag
tags:
- HudMedical
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: entity
@@ -60,7 +60,7 @@
- type: Tag
tags:
- HudSecurity
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: entity
@@ -76,7 +76,7 @@
- type: ShowJobIcons
- type: Tag
tags:
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: entity
@@ -95,7 +95,7 @@
- type: SolutionScanner
- type: Tag
tags:
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: entity
@@ -221,7 +221,7 @@
- type: ShowSyndicateIcons
- type: Tag
tags:
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: entity
@@ -238,7 +238,7 @@
- type: ShowHealthBars
- type: Tag
tags:
- CorgiWearable
- PetWearable
- WhitelistChameleon
- type: entity
@@ -258,7 +258,7 @@
sprite: Clothing/Eyes/Hud/medpatch.rsi
- type: Tag
tags:
- CorgiWearable
- PetWearable
- WhitelistChameleon
- HudMedical
@@ -279,7 +279,7 @@
sprite: Clothing/Eyes/Hud/secpatch.rsi
- type: Tag
tags:
- CorgiWearable
- PetWearable
- WhitelistChameleon
- HudSecurity

View File

@@ -7,7 +7,7 @@
components:
- type: Tag
tags: # intentionally no WhitelistChameleon tag
- CorgiWearable
- PetWearable
- type: Sprite
sprite: Clothing/Eyes/Glasses/sunglasses.rsi
- type: Clothing

View File

@@ -91,8 +91,8 @@
id: blinking
interpolate: Nearest
maxDuration: 1.0
minValue: 0.1
maxValue: 2.0
startValue: 0.1
endValue: 2.0
isLooped: true
- type: PowerCellSlot
cellSlotId: cell_slot
@@ -238,8 +238,8 @@
id: blinking
interpolate: Nearest
maxDuration: 1.0
minValue: 0.1
maxValue: 2.0
startValue: 0.1
endValue: 2.0
isLooped: true
- type: Battery
maxCharge: 600 #lights drain 3/s but recharge of 2 makes this 1/s. Therefore 600 is 10 minutes of light.

View File

@@ -37,8 +37,8 @@
id: blinking
interpolate: Nearest
maxDuration: 1.0
minValue: 0.1
maxValue: 2.0
startValue: 0.1
endValue: 2.0
isLooped: true
- type: ToggleableVisuals
spriteLayer: light

View File

@@ -651,7 +651,7 @@
components:
- type: Sprite
sprite: Clothing/Head/Hardsuits/piratecaptainhelm.rsi
- type: ToggleableLightVisuals
- type: ToggleableVisuals
clothingVisuals:
head:
- state: equipped-HELMET-light

View File

@@ -21,6 +21,8 @@
sprite: Clothing/Head/Hats/beret.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -40,6 +42,8 @@
accent: FrenchAccent
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- WhitelistChameleon
@@ -58,6 +62,8 @@
tags:
- ClothMade
- Recyclable
- PetWearable
- CorgiWearable
- HamsterWearable
- WhitelistChameleon
@@ -86,6 +92,10 @@
sprite: Clothing/Head/Hats/casa.rsi
- type: Clothing
sprite: Clothing/Head/Hats/casa.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -99,6 +109,8 @@
sprite: Clothing/Head/Hats/beret_rnd.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -116,6 +128,8 @@
sprite: Clothing/Head/Hats/beret_engineering.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -133,6 +147,8 @@
sprite: Clothing/Head/Hats/beret_qm.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -150,6 +166,8 @@
sprite: Clothing/Head/Hats/beret_hos.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -165,6 +183,10 @@
sprite: Clothing/Head/Hats/beret_warden.rsi
- type: Clothing
sprite: Clothing/Head/Hats/beret_warden.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -176,6 +198,10 @@
sprite: Clothing/Head/Hats/beret_physician.rsi
- type: Clothing
sprite: Clothing/Head/Hats/beret_physician.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -187,6 +213,10 @@
sprite: Clothing/Head/Hats/beret_brigmedic.rsi
- type: Clothing
sprite: Clothing/Head/Hats/beret_brigmedic.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: [ ClothingHeadBase ]
@@ -198,6 +228,10 @@
sprite: Clothing/Head/Hats/beret_merc.rsi
- type: Clothing
sprite: Clothing/Head/Hats/beret_merc.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -214,6 +248,8 @@
- ClothMade
- HamsterWearable
- WhitelistChameleon
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -225,6 +261,10 @@
sprite: Clothing/Head/Hats/bowler_hat.rsi
- type: Clothing
sprite: Clothing/Head/Hats/bowler_hat.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: [ClothingHeadBase, BaseCommandContraband]
@@ -238,6 +278,8 @@
sprite: Clothing/Head/Hats/captain.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -268,6 +310,10 @@
sprite: Clothing/Head/Hats/centcom.rsi
- type: Clothing
sprite: Clothing/Head/Hats/centcom.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -295,6 +341,8 @@
- ChefPilot
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -312,6 +360,8 @@
sprite: Clothing/Head/Hats/brownfedora.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -327,6 +377,10 @@
sprite: Clothing/Head/Hats/greyfedora.rsi
- type: Clothing
sprite: Clothing/Head/Hats/greyfedora.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -338,6 +392,10 @@
sprite: Clothing/Head/Hats/fez.rsi
- type: Clothing
sprite: Clothing/Head/Hats/fez.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: [ClothingHeadBase, BaseCommandContraband]
@@ -351,6 +409,8 @@
sprite: Clothing/Head/Hats/hopcap.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -368,6 +428,8 @@
sprite: Clothing/Head/Hats/hoshat.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -385,6 +447,10 @@
sprite: Clothing/Head/Hats/outlawhat.rsi
- type: StaticPrice
price: 500
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -396,6 +462,10 @@
sprite: Clothing/Head/Hats/witchhat.rsi
- type: Clothing
sprite: Clothing/Head/Hats/witchhat.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -407,6 +477,10 @@
sprite: Clothing/Head/Hats/paper.rsi
- type: Clothing
sprite: Clothing/Head/Hats/paper.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -418,6 +492,10 @@
sprite: Clothing/Head/Hats/pirate.rsi
- type: Clothing
sprite: Clothing/Head/Hats/pirate.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -452,6 +530,7 @@
sprite: Clothing/Head/Hats/redwizard.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- WhitelistChameleon
@@ -484,8 +563,10 @@
- state: icon-nobeard
map: [ "foldedLayer" ]
visible: true
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -499,6 +580,10 @@
sprite: Clothing/Head/Hats/sombrero.rsi
- type: AddAccentClothing
accent: SpanishAccent
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -554,7 +639,6 @@
HeadTop : HEAD
HeadSide : HEAD
- type: entity
parent: ClothingHeadBase
id: ClothingHeadHatTophat
@@ -567,6 +651,8 @@
sprite: Clothing/Head/Hats/tophat.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -647,6 +733,7 @@
sprite: Clothing/Head/Hats/violetwizard.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- WhitelistChameleon
@@ -663,6 +750,10 @@
sprite: Clothing/Head/Hats/warden.rsi
- type: StealTarget
stealGroup: ClothingHeadHatWarden
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -677,6 +768,8 @@
sprite: Clothing/Head/Hats/witch.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- ClothMade
- Recyclable
@@ -719,11 +812,12 @@
sprite: Clothing/Head/Hats/wizardhat.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
- WhitelistChameleon
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -932,6 +1026,8 @@
sprite: Clothing/Head/Hats/beret_cmo.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- HamsterWearable
@@ -1055,6 +1151,9 @@
containers:
storagebase: !type:Container
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -1070,6 +1169,8 @@
sprite: Clothing/Head/Hats/capcap.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- WhitelistChameleon
@@ -1093,6 +1194,8 @@
sprite: Clothing/Head/Hats/comcap.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- ClothMade
- Recyclable
- WhitelistChameleon
@@ -1126,8 +1229,10 @@
sprite: Clothing/Head/Hats/party_red.rsi
- type: Tag
tags:
- WhitelistChameleon
- HamsterWearable
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadHatPartyRed
@@ -1138,6 +1243,12 @@
sprite: Clothing/Head/Hats/party_yellow.rsi
- type: Clothing
sprite: Clothing/Head/Hats/party_yellow.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadHatPartyRed
@@ -1148,6 +1259,12 @@
sprite: Clothing/Head/Hats/party_green.rsi
- type: Clothing
sprite: Clothing/Head/Hats/party_green.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadHatPartyRed
@@ -1158,6 +1275,12 @@
sprite: Clothing/Head/Hats/party_blue.rsi
- type: Clothing
sprite: Clothing/Head/Hats/party_blue.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadHatPartyRed
@@ -1169,6 +1292,12 @@
sprite: Clothing/Head/Hats/party_water_cup.rsi
- type: Clothing
sprite: Clothing/Head/Hats/party_water_cup.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadBase
@@ -1211,6 +1340,12 @@
- type: AddAccentClothing
accent: ReplacementAccent
replacement: cowboy
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadHatCowboyBrown
@@ -1221,6 +1356,12 @@
sprite: Clothing/Head/Hats/cowboyhatblack.rsi
- type: Clothing
sprite: Clothing/Head/Hats/cowboyhatblack.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadHatCowboyBrown
@@ -1231,6 +1372,12 @@
sprite: Clothing/Head/Hats/cowboyhatgrey.rsi
- type: Clothing
sprite: Clothing/Head/Hats/cowboyhatgrey.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadHatCowboyBrown
@@ -1241,6 +1388,12 @@
sprite: Clothing/Head/Hats/cowboyhatred.rsi
- type: Clothing
sprite: Clothing/Head/Hats/cowboyhatred.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadHatCowboyBrown
@@ -1251,6 +1404,12 @@
sprite: Clothing/Head/Hats/cowboyhatwhite.rsi
- type: Clothing
sprite: Clothing/Head/Hats/cowboyhatwhite.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadHatCowboyBrown
@@ -1261,6 +1420,12 @@
sprite: Clothing/Head/Hats/cowboyhatbountyhunter.rsi
- type: Clothing
sprite: Clothing/Head/Hats/cowboyhatbountyhunter.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- WhitelistChameleon
- HamsterWearable
- type: entity
parent: ClothingHeadBase
@@ -1277,6 +1442,8 @@
node: strawhat
- type: Tag
tags:
- PetWearable
- CorgiWearable
- HamsterWearable
- type: Flammable
fireSpread: true
@@ -1316,6 +1483,10 @@
sprite: Clothing/Head/Hats/beret_medic.rsi
- type: Clothing
sprite: Clothing/Head/Hats/beret_medic.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -1327,6 +1498,10 @@
sprite: Clothing/Head/Hats/solidheadband.rsi
- type: Clothing
sprite: Clothing/Head/Hats/solidheadband.rsi
- type: Tag
tags:
- PetWearable
- CorgiWearable
- type: entity
parent: ClothingHeadBase
@@ -1360,3 +1535,7 @@
path: /Audio/Items/flashlight_on.ogg
soundDeactivate:
path: /Audio/Items/flashlight_off.ogg
- type: Tag
tags:
- PetWearable
- CorgiWearable

View File

@@ -38,7 +38,7 @@
- type: Storage
showVerb: false
grid:
- 0,0,6,3
- 0,0,3,2
maxItemSize: Small
blacklist:
tags:

View File

@@ -324,6 +324,9 @@
- type: IngestionBlocker
- type: AddAccentClothing
accent: MumbleAccent
- type: EmoteBlocker
blocksCategories:
- Vocal
- type: Construction
graph: Muzzle
node: muzzle

View File

@@ -293,8 +293,8 @@
id: blinking
interpolate: Nearest
maxDuration: 1.0
minValue: 0.1
maxValue: 2.0
startValue: 0.1
endValue: 2.0
isLooped: true
- type: Battery
maxCharge: 600

View File

@@ -182,3 +182,30 @@
price: 75
- type: Tag
tags: [ ]
- type: entity
parent: ClothingShoesBase
id: ClothingShoesBootsJump
name: jump boots
description: High-tech boots that give you the incredible ability to JUMP! With these boots you can jump over lava, chasms and weird chemicals on the floor!
components:
- type: Sprite
sprite: Clothing/Shoes/Boots/jumpboots.rsi
layers:
- state: icon
- type: Clothing
sprite: Clothing/Shoes/Boots/jumpboots.rsi
- type: JumpAbility
jumpDistance: 4
jumpSound: /Audio/Effects/stealthoff.ogg
- type: ActionGrant
actions:
- ActionGravityJump
- type: ItemActionGrant
actions:
- ActionGravityJump
activeIfWorn: true
- type: StaticPrice
price: 220
- type: Tag
tags: []

View File

@@ -86,6 +86,21 @@
prototypes:
- MobCockroach
- type: entity
parent: MarkerBase
id: SpawnMobMoproach
name: Moproach Spawner
components:
- type: Sprite
layers:
- state: green
- sprite: Mobs/Animals/mothroach/moproach.rsi
state: icon
- state: ai
- type: ConditionalSpawner
prototypes:
- MobMoproach
- type: entity
parent: MarkerBase
id: SpawnMobCow
@@ -210,7 +225,7 @@
layers:
- state: green
- state: parrot
sprite: Mobs/Animals/parrot.rsi
sprite: Mobs/Animals/parrot/parrot.rsi
- type: ConditionalSpawner
prototypes:
- MobParrot

View File

@@ -218,6 +218,21 @@
prototypes:
- MobMonkeyPunpun
- type: entity
parent: MarkerBase
id: SpawnMobPollyParrot
name: Polly the parrot Spawner
suffix: CE Pet
components:
- type: Sprite
layers:
- state: green
- state: parrot
sprite: Mobs/Animals/parrot/parrot.rsi
- type: ConditionalSpawner
prototypes:
- MobPollyParrot
- type: entity
parent: MarkerBase
id: SpawnMobPossumMorty

View File

@@ -172,6 +172,7 @@
- id: ClothingHeadHatFancyCrown
- id: GoldenBikeHorn
- id: ClothingHeadHatCatEars
- id: GoldenPersonalAI
- id: TreasureCoinDiamond
amount: !type:RangeNumberSelector
range: 2, 5

View File

@@ -172,6 +172,8 @@
- id: ClothingUniformJumpsuitFamilyGuy
- id: WristwatchGold
- id: RubberStampGreytide
- id: MysteryLighterBox
- id: GoldenPersonalAI
- type: entity
name: Maint Loot Spawner

View File

@@ -9,7 +9,7 @@
- type: Sprite
sprite: Interface/Misc/pointing.rsi
state: pointing
drawDepth: Overlays
drawdepth: Overlays
noRot: true
- type: PointingArrow
duration: 4

View File

@@ -165,3 +165,28 @@
sprites:
- sprite: Mobs/Customization/tattoos.rsi
state: tattoo_eye_moth_l
- type: marking
id: TattooEyeshadowUpper
# there are a lot of deliberate limitations with this marking that should be pointed out. some of them may seem overly restrictive on the surface, but most of them are fully intentional.
# this marking is meant to be supplementary so they are transparent. if you give this 255 alpha it will probably be really distracting looking and make the face very difficult to read
# the reason these are also not recolorable is because allowing for the full RGB range makes these look not very good (especially considering they are stackable, and ESPECIALLY considering vox can stack 3 at once.)
# this is not a very big issue on humans, but is much more pronounced on vox & other nonhuman species, where the skin being more colorful can make for some truly dreadful meshing with the sprite thats definitely not desired.
# some of these limitations could possibly be removed with better control over how the marking can be customized - possibly removing stacking, allowing recoloring & clamping higher-end colors for the eyeshadow, etc.
bodyPart: Eyes
markingCategory: Overlay
speciesRestriction: [Human, SlimePerson, Reptilian, Dwarf]
forcedColoring: true
sprites:
- sprite: Mobs/Customization/tattoos.rsi
state: eyeshadow_upper
- type: marking
id: TattooEyeshadowLower
bodyPart: Eyes
markingCategory: Overlay
speciesRestriction: [Human, SlimePerson, Reptilian, Dwarf]
forcedColoring: true
sprites:
- sprite: Mobs/Customization/tattoos.rsi
state: eyeshadow_lower

View File

@@ -18,6 +18,16 @@
- sprite: Mobs/Customization/vox_hair.rsi
state: braid_s
- type: marking
id: VoxHairBushy
bodyPart: Hair
markingCategory: Hair
canBeDisplaced: false
speciesRestriction: [Vox]
sprites:
- sprite: Mobs/Customization/vox_hair.rsi
state: bushy_s
- type: marking
id: VoxHairCrestedQuills
bodyPart: Hair
@@ -58,6 +68,16 @@
- sprite: Mobs/Customization/vox_hair.rsi
state: hawk_s
- type: marking
id: VoxHairHedgehog
bodyPart: Hair
markingCategory: Hair
canBeDisplaced: false
speciesRestriction: [Vox]
sprites:
- sprite: Mobs/Customization/vox_hair.rsi
state: hedgehog_s
- type: marking
id: VoxHairHorns
bodyPart: Hair
@@ -108,6 +128,16 @@
- sprite: Mobs/Customization/vox_hair.rsi
state: long_braid_s
- type: marking
id: VoxHairMadScientist
bodyPart: Hair
markingCategory: Hair
canBeDisplaced: false
speciesRestriction: [Vox]
sprites:
- sprite: Mobs/Customization/vox_hair.rsi
state: mad_scientist_s
- type: marking
id: VoxHairMange
bodyPart: Hair
@@ -188,6 +218,16 @@
- sprite: Mobs/Customization/vox_hair.rsi
state: shortquills_s
- type: marking
id: VoxHairSlick
bodyPart: Hair
markingCategory: Hair
canBeDisplaced: false
speciesRestriction: [Vox]
sprites:
- sprite: Mobs/Customization/vox_hair.rsi
state: slick_s
- type: marking
id: VoxHairSpotty
bodyPart: Hair

View File

@@ -141,5 +141,24 @@
forcedColoring: true
sprites:
- sprite: Mobs/Customization/vox_parts.rsi
# Ideally this should use the normal tail sprite and apply an actual mask over it, not just use a butchered sprite
state: tail_stenciled
state: tail
- type: marking
id: VoxTailShort
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vox]
forcedColoring: true
sprites:
- sprite: Mobs/Customization/vox_parts.rsi
state: tail_short
- type: marking
id: VoxTailBig
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Vox]
forcedColoring: true
sprites:
- sprite: Mobs/Customization/vox_parts.rsi
state: tail_big

View File

@@ -0,0 +1,118 @@
- type: marking
id: VoxScarEyeRight
bodyPart: Head
markingCategory: Head
speciesRestriction: [Vox]
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_scar_eye_right
- type: marking
id: VoxScarEyeLeft
bodyPart: Head
markingCategory: Head
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_scar_eye_left
- type: marking
id: VoxScarTopSurgeryShort
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_top_surgery_short
- type: marking
id: VoxScarTopSurgeryLong
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_top_surgery_long
- type: marking
id: VoxScarChest
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_scar_chest
- type: marking
id: VoxScarNeck
bodyPart: Head
markingCategory: Head
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_scar_neck
- type: marking
id: VoxScarChestBullets
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_scar_chest_bullets
- type: marking
id: VoxScarStomachBullets
bodyPart: Chest
markingCategory: Chest
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_scar_stomach_bullets
- type: marking
id: VoxScarFace1
bodyPart: Head
markingCategory: Head
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_scar_face_1
- type: marking
id: VoxScarFace2
bodyPart: Head
markingCategory: Head
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_scar_face_2
- type: marking
id: VoxScarEyeRightSmall
bodyPart: Head
markingCategory: Head
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_scar_eye_right_small
- type: marking
id: VoxScarEyeLeftSmall
bodyPart: Head
markingCategory: Head
speciesRestriction: [Vox]
followSkinColor: true
sprites:
- sprite: Mobs/Customization/vox_scars.rsi
state: vox_scar_eye_left_small

View File

@@ -53,3 +53,80 @@
sprites:
- sprite: Mobs/Customization/vox_tattoos.rsi
state: nightling_s
- type: marking
id: TattooVoxTailRing
bodyPart: Tail
markingCategory: Overlay
speciesRestriction: [Vox]
coloring:
default:
type:
!type:TattooColoring
fallbackColor: "#666666"
sprites:
- sprite: Mobs/Customization/vox_tattoos.rsi
state: tail_ring
- type: marking
id: TattooEyeVoxRight
bodyPart: Eyes
markingCategory: Overlay
speciesRestriction: [Vox]
coloring:
default:
type:
!type:EyeColoring
negative: true
sprites:
- sprite: Mobs/Customization/vox_tattoos.rsi
state: tattoo_eye_vox_r
- type: marking
id: TattooEyeVoxLeft
bodyPart: Eyes
markingCategory: Overlay
speciesRestriction: [Vox]
coloring:
default:
type:
!type:EyeColoring
negative: true
sprites:
- sprite: Mobs/Customization/vox_tattoos.rsi
state: tattoo_eye_vox_l
- type: marking
id: TattooEyeshadowVoxSmall
# there are a lot of deliberate limitations with this marking that should be pointed out. some of them may seem overly restrictive on the surface, but most of them are fully intentional.
# this marking is meant to be supplementary so they are transparent. if you give this 255 alpha it will probably be really distracting looking and make the face very difficult to read
# the reason these are also not recolorable is because allowing for the full RGB range makes these look not very good (especially considering they are stackable, and ESPECIALLY considering vox can stack 3 at once.)
# this is not a very big issue on humans, but is much more pronounced on vox & other nonhuman species, where the skin being more colorful can make for some truly dreadful meshing with the sprite thats definitely not desired.
# some of these limitations could possibly be removed with better control over how the marking can be customized - possibly removing stacking, allowing recoloring & clamping higher-end colors for the eyeshadow, etc.
bodyPart: Eyes
markingCategory: Overlay
speciesRestriction: [Vox]
forcedColoring: true
sprites:
- sprite: Mobs/Customization/vox_tattoos.rsi
state: eyeshadow_small
- type: marking
id: TattooEyeshadowVoxMedium
bodyPart: Eyes
markingCategory: Overlay
speciesRestriction: [Vox]
forcedColoring: true
sprites:
- sprite: Mobs/Customization/vox_tattoos.rsi
state: eyeshadow_medium
- type: marking
id: TattooEyeshadowVoxLarge
bodyPart: Eyes
markingCategory: Overlay
speciesRestriction: [Vox]
forcedColoring: true
sprites:
- sprite: Mobs/Customization/vox_tattoos.rsi
state: eyeshadow_large

View File

@@ -217,8 +217,8 @@
id: blinking
interpolate: Nearest
maxDuration: 1.0
minValue: 0.1
maxValue: 2.0
startValue: 0.1
endValue: 2.0
isLooped: true
- type: ToggleableVisuals
spriteLayer: light

View File

@@ -1464,6 +1464,9 @@
Piercing: 4
groups:
Burn: 3
catchingFailDamage:
types:
Blunt: 1
clumsySound:
path: /Audio/Animals/monkey_scream.ogg
@@ -1643,6 +1646,9 @@
Piercing: 7
groups:
Burn: 3
catchingFailDamage:
types:
Blunt: 1
clumsySound:
path: /Audio/Voice/Reptilian/reptilian_scream.ogg
@@ -2168,9 +2174,9 @@
# Would be cool to have some functionality for the parrot to be able to sit on stuff
- type: entity
name: parrot
parent: [ SimpleMobBase, FlyingMobBase ]
id: MobParrot
id: MobParrotBase
abstract: true
description: Infiltrates your domain, spies on you, and somehow still a cool pet.
components:
- type: MovementSpeedModifier
@@ -2181,7 +2187,7 @@
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: parrot
sprite: Mobs/Animals/parrot.rsi
sprite: Mobs/Animals/parrot/parrot.rsi
- type: Fixtures
fixtures:
fix1:
@@ -2211,7 +2217,29 @@
- type: Vocal
sounds:
Unsexed: Parrot
- type: ParrotAccent
- type: ActiveListener
- type: Vocalizer
- type: RadioVocalizer
- type: ParrotListener
- type: ParrotMemory
- type: Inventory
templateId: parrot
speciesId: parrot
# transparent displacement map to hide the headset. this should be an animated displacement map to follow the parrot
# as it bobs up and down, but this in turn needs some way to change the displacement map on inventory entities when
# the parrot dies, otherwise the visuals will be broken
displacements:
ears:
sizeMaps:
32:
sprite: Mobs/Animals/parrot/displacement.rsi
state: ears
- type: InventorySlots
- type: Strippable
- type: UserInterface
interfaces:
enum.StrippingUiKey.Key:
type: StrippableBoundUserInterface
- type: InteractionPopup
successChance: 0.6
interactSuccessString: petting-success-bird
@@ -2222,6 +2250,13 @@
- type: Bloodstream
bloodMaxVolume: 50
- type: entity
name: parrot
parent: MobParrotBase
id: MobParrot
components:
- type: ParrotAccent # regular parrots have a parrotaccent. Polly is special and does not
- type: entity
name: penguin
parent: SimpleMobBase
@@ -3761,13 +3796,18 @@
belt:
sizeMaps:
32:
sprite: Mobs/Pets/corgi.rsi
state: belt_displacement
sprite: Mobs/Pets/displacements.rsi
state: corgi_belt_displacement
ears:
sizeMaps:
32:
sprite: Mobs/Pets/corgi.rsi
state: belt_displacement
sprite: Mobs/Pets/displacements.rsi
state: corgi_belt_displacement
head:
sizeMaps:
32:
sprite: Mobs/Pets/displacements.rsi
state: corgi_head_displacement
- type: Hands # HANDS!
- type: Puller
- type: Cuffable # bad dog!

View File

@@ -76,6 +76,7 @@
tags:
- Carp
- DoorBumpOpener
- CannotSuicide
- type: ReplacementAccent
accent: genericAggressive
- type: Speech

View File

@@ -399,7 +399,6 @@
solution: bloodstream
transferAmount: 5
- type: DamageStateVisuals
rotate: true
states:
Alive:
Base: alive

View File

@@ -0,0 +1,55 @@
- type: entity
name: moproach
parent: MobMothroach
id: MobMoproach
description: This little mothroach has mopshoes on its feet! How adorable!
components:
- type: GhostRole
name: ghost-role-information-moproach-name
description: ghost-role-information-moproach-description
- type: Sprite
sprite: Mobs/Animals/mothroach/moproach.rsi
- type: Clothing
quickEquip: false
sprite: Mobs/Animals/mothroach/moproach.rsi
equippedPrefix: 0
slots:
- HEAD
- type: MobThresholds
thresholds:
0: Alive
45: Critical
65: Dead
- type: MovementSpeedModifier
baseSprintSpeed : 5 # extra speed for that moppin'!
- type: HTN
rootTask:
task: MoproachCompound
- type: Absorbent
pickupAmount: 2 # small feet
- type: UseDelay
delay: 0.5 # quick feet
- type: SolutionRegeneration
solution: absorbed
generated:
reagents:
- ReagentId: Water
Quantity: 10
- type: SolutionPurge
solution: absorbed
preserve:
- Water
quantity: 10
- type: SolutionContainerManager
solutions:
absorbed:
maxVol: 50
food:
reagents:
- ReagentId: Slime
Quantity: 5
- type: DrainableSolution
solution: drainBuffer
- type: InteractionPopup
interactSuccessString: petting-success-cleanbot
interactFailureString: petting-failure-cleanbot

View File

@@ -13,6 +13,20 @@
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: ian
- type: Inventory
speciesId: dog
templateId: petAdvanced
displacements:
head:
sizeMaps:
32:
sprite: Mobs/Pets/displacements.rsi
state: corgi_head_displacement
eyes:
sizeMaps:
32:
sprite: Mobs/Pets/displacements.rsi
state: corgi_eyes_displacement
- type: DamageStateVisuals
states:
Alive:
@@ -84,6 +98,20 @@
attributes:
proper: true
gender: female
- type: Inventory
speciesId: dog
templateId: petAdvanced
displacements:
head:
sizeMaps:
32:
sprite: Mobs/Pets/displacements.rsi
state: lisa_head_displacement
eyes:
sizeMaps:
32:
sprite: Mobs/Pets/displacements.rsi
state: corgi_eyes_displacement
- type: entity
name: real mouse
@@ -280,6 +308,8 @@
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: mcgriff
- map: [ "head" ]
- map: [ "eyes" ]
- type: Physics
- type: Fixtures
fixtures:
@@ -294,7 +324,18 @@
- MobLayer
- type: Inventory
speciesId: puppy
templateId: pet
templateId: petAdvanced
displacements:
head:
sizeMaps:
32:
sprite: Mobs/Pets/displacements.rsi
state: mcgriff_head_displacement
eyes:
sizeMaps:
32:
sprite: Mobs/Pets/displacements.rsi
state: mcgriff_eyes_displacement
- type: DamageStateVisuals
states:
Alive:
@@ -671,6 +712,8 @@
types:
Piercing: 8
Poison: 8
- type: Spider
spawnsWebsAsNonPlayer: false
- type: Grammar
attributes:
proper: true
@@ -858,3 +901,21 @@
# - type: AlwaysRevolutionaryConvertible
- type: StealTarget
stealGroup: AnimalTropico
- type: entity
name: Polly the parrot
parent: MobParrotBase
id: MobPollyParrot
description: An expert in quantum cracker theory
components:
- type: Vocalizer
maxVocalizeInterval: 240 # polly is chattier
- type: RadioVocalizer
radioAttemptChance: 0.8 # polly wants to share with the world
- type: Grammar
attributes:
proper: true
gender: male
- type: Loadout
prototypes: [ MobPollyGear ]

View File

@@ -79,7 +79,6 @@
Dead: 0
baseDecayRate: 0.1
- type: DamageStateVisuals
rotate: true
states:
Alive:
Base: regalrat

View File

@@ -6,6 +6,8 @@
name: revenant
description: A spooky ghostie.
components:
- type: Emag
emagType: All
- type: Input
context: "ghost"
- type: Spectral

View File

@@ -159,8 +159,9 @@
interactFailureString: petting-failure-firebot
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: Advertise
pack: FirebotAd
- type: Vocalizer
- type: DatasetVocalizer
dataset: FirebotAd
- type: entity
parent: MobSiliconBase
@@ -355,8 +356,9 @@
interactFailureString: petting-failure-medibot
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: Advertise
pack: MedibotAds
- type: Vocalizer
- type: DatasetVocalizer
dataset: MedibotAds
- type: Inventory
templateId: medibot
- type: DoAfter

View File

@@ -79,7 +79,6 @@
groups:
Brute: 6
- type: DamageStateVisuals
rotate: true
states:
Alive:
Base: running
@@ -504,7 +503,6 @@
groups:
Brute: 5
- type: DamageStateVisuals
rotate: true
states:
Alive:
Base: running

View File

@@ -110,6 +110,8 @@
- type: Loadout
prototypes: [ MobAghostGear ]
- type: BypassInteractionChecks
- type: ExplosionResistance
damageCoefficient: 0
- type: entity
abstract: true

View File

@@ -33,6 +33,7 @@
- MindShield
- MimePowers
- SpaceNinja
- Thieving
# accents
- Accentless
- BackwardsAccent

View File

@@ -136,8 +136,12 @@
Piercing: 15
Slash: 15
- type: Devourer
foodPreference: Humanoid
shouldStoreDevoured: true
foodPreferenceWhitelist:
components:
- HumanoidAppearance
stomachStorageWhitelist:
components:
- MobState
chemical: Ichor
healRate: 7.5
whitelist:

View File

@@ -239,6 +239,9 @@
Piercing: 4
groups:
Burn: 3
catchingFailDamage:
types:
Blunt: 1
- type: MeleeWeapon
angle: 30
animation: WeaponArcFist

View File

@@ -190,6 +190,7 @@
acts: [ "Destruction" ]
- type: ApcPowerReceiver
powerLoad: 1000
needsPower: false
- type: StationAiCore
- type: StationAiVision
- type: InteractionOutline
@@ -218,7 +219,6 @@
listeningRange: 0
speakerVolume: Speak
unlistedNumber: true
requiresPower: false
- type: Holopad
- type: StationAiWhitelist
- type: UserInterface

View File

@@ -278,6 +278,7 @@
Asphyxiation: -1.0
- type: FireVisuals
alternateState: Standing
- type: StunVisuals
- type: entity
save: false

View File

@@ -48,8 +48,8 @@
Female: UnisexMoth
Unsexed: UnisexMoth
- type: MovementSpeedModifier
weightlessAcceleration: 1.5 # Move around more easily in space.
weightlessFriction: 1
baseWeightlessAcceleration: 1.5 # Move around more easily in space.
baseWeightlessFriction: 1
baseWeightlessModifier: 1
- type: Flammable
damage:

View File

@@ -44,6 +44,7 @@
- type: MovementSpeedModifier
- type: RequireProjectileTarget
active: False
- type: StunVisuals
- type: entity
save: false

View File

@@ -215,6 +215,8 @@
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: fill-
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
# Large Glass Bottles
@@ -719,9 +721,6 @@
Quantity: 30
- type: Sprite
sprite: Objects/Consumable/Drinks/waterbottle.rsi
- type: SolutionContainerVisuals
inHandsMaxFillLevels: 2
inHandsFillBaseName: -fill-
- type: Label
currentLabel: reagent-name-water
- type: Sealable

View File

@@ -168,3 +168,5 @@
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: fill-
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-

View File

@@ -277,7 +277,7 @@
prob: 0.05
orGroup: Pizza
- id: KnifePlastic
- type: entity
name: pizza box
parent: FoodBoxPizzaFilled
@@ -372,6 +372,9 @@
contents:
- id: FoodDonkpocket
amount: 6
- id: DonkcoLighter
amount: 1
prob: 0.10
- type: entity
parent: FoodBoxDonkpocket

View File

@@ -90,6 +90,8 @@
components:
- type: Sprite
sprite: Objects/Specific/Hydroponics/oat.rsi
- type: Item
heldPrefix: produce
- type: SolutionContainerManager
solutions:
food:
@@ -435,6 +437,8 @@
- Recyclable
- Trash
- BananaPeel
- WhitelistChameleon
- HamsterWearable
- type: SolutionContainerManager
solutions:
food:
@@ -447,12 +451,21 @@
- type: SpaceGarbage
- type: Food
requiresSpecialDigestion: true
- type: Clothing
sprite: Objects/Specific/Hydroponics/banana.rsi
equippedState: peel-equipped-HELMET
slots:
- HEAD
quickEquip: false
- type: entity
name: baked banana peel
parent: TrashBananaPeel
id: TrashBakedBananaPeel
components:
- type: Clothing
sprite: Objects/Specific/Hydroponics/banana.rsi
equippedState: baked-peel-equipped-HELMET
- type: Sprite
sprite: Objects/Specific/Hydroponics/banana.rsi
state: baked-peel
@@ -481,6 +494,9 @@
- type: Item
sprite: Objects/Specific/Hydroponics/mimana.rsi
heldPrefix: peel
- type: Clothing
sprite: Objects/Specific/Hydroponics/mimana.rsi
equippedState: equipped-HELMET
- type: Slippery
slipSound:
path: /Audio/Effects/slip.ogg
@@ -499,6 +515,9 @@
sprite: Objects/Materials/materials.rsi
heldPrefix: peel
- type: Slippery
- type: Clothing
sprite: Objects/Materials/materials.rsi
equippedState: peel-equipped-HELMET
- type: entity
name: carrot
@@ -1070,6 +1089,8 @@
Quantity: 4
- type: Sprite
sprite: Objects/Specific/Hydroponics/apple.rsi
- type: Item
heldPrefix: produce
- type: Produce
seedId: apple
- type: Extractable

View File

@@ -19,6 +19,7 @@
- type: Tag
tags:
- Payload
- RemoteSignaller
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: BasicDevice

View File

@@ -1,5 +1,5 @@
- type: entity
parent: BaseItem
parent: [BaseItem, BaseSyndicateContraband ]
id: NukeOpsDeclarationOfWar
name: war declarator
description: Use to send a declaration of hostilities to the target, delaying your shuttle departure while they prepare for your assault. Such a brazen move will attract the attention of powerful benefactors within the Syndicate, who will supply your team with a massive amount of bonus telecrystals. Must be used at start of mission, or your benefactors will lose interest.

View File

@@ -219,7 +219,7 @@
state: pda-internmed
- type: GuideHelp
guides:
- Medical Doctor
- MedicalDoctor
- type: entity
parent: BaseSecurityPDA
@@ -759,7 +759,7 @@
state: pda-medical
- type: GuideHelp
guides:
- Medical Doctor
- MedicalDoctor
- type: entity
parent: MedicalPDA
@@ -923,6 +923,7 @@
id: CentcomIDCard
penSlot:
startingItem: PenCentcom
priority: -1
whitelist:
tags:
- Write

View File

@@ -106,6 +106,8 @@
program: 79
- type: Sprite
sprite: Objects/Fun/Instruments/ocarina.rsi
- type: Item
size: Small
- type: entity
parent: BaseWoodwindInstrument

View File

@@ -133,3 +133,62 @@
- id: ToyFigurineHamlet
prob: 0.20
orGroup: SpacemenFig
- type: entity
parent: BaseItem
id: MysteryLighterBox
name: Novelty lighter mystery box
suffix: Filled
description: A box of discontinued promotional lighters, many of which have since been declared "contraband".
components:
- type: Sprite
sprite: Objects/Fun/figurines.rsi
layers:
- state: fig_box
- type: SpawnItemsOnUse
items:
- id: MysteryFigureBoxTrash
- id: CybersunFlippo
orGroup: Lighterbox
weight: 0.15
- id: InterdyneFlippo
orGroup: Lighterbox
weight: 0.15
- id: NanotrasenFlippo
orGroup: Lighterbox
weight: 0.25
- id: WaffleCoFlippo
orGroup: Lighterbox
weight: 0.35
- id: HonkCoFlippo
orGroup: Lighterbox
- id: GorlexMatchbox
orGroup: Lighterbox
weight: 0.15
- id: DonkcoLighter
orGroup: Lighterbox
weight: 0.25
- id: SyndicateFlippo
orGroup: Lighterbox
weight: 0.15
- type: entity
parent: MysteryLighterBox
id: UplinkLighterBox
suffix: Uplink
components:
- type: SpawnItemsOnUse
items:
- id: MysteryFigureBoxTrash
- id: CybersunFlippo
orGroup: Lighterbox
- id: InterdyneFlippo
orGroup: Lighterbox
- id: WaffleCoFlippo
orGroup: Lighterbox
- id: GorlexMatchbox
orGroup: Lighterbox
- id: DonkcoLighter
orGroup: Lighterbox
- id: SyndicateFlippo
orGroup: Lighterbox

View File

@@ -93,6 +93,12 @@
components:
- SecretStash
- WrappedParcel
- type: Vocal
sounds:
Unsexed: UnisexSilicon
- type: Tag
tags:
- SiliconEmotes
- type: entity
parent: [ PersonalAI, BaseSyndicateContraband]
@@ -129,6 +135,26 @@
On: { state: syndicate-pai-on-overlay }
- type: StaticPrice
price: 500
- type: Vocal
sounds:
Unsexed: UnisexSiliconSyndicate
- type: entity
parent: PersonalAI
id: GoldenPersonalAI
name: golden personal ai device
description: Your electronic pal who's fun to be with! Special golden edition!
components:
- type: Sprite
sprite: Objects/Fun/pai.rsi
layers:
- state: golden-pai-base
- state: pai-off-overlay
shader: unshaded
map: ["screen"]
- type: Appearance
- type: StaticPrice
price: 5000
- type: entity
parent: PersonalAI

View File

@@ -396,6 +396,20 @@
- type: Sprite
sprite: Objects/Fun/Balls/basketball.rsi
state: icon
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.25
density: 20
mask:
- ItemMask
restitution: 0.8 # bouncy
friction: 0.2
- type: Catchable
catchChance: 0.8
catchSuccessSound:
path: /Audio/Effects/Footsteps/bounce.ogg
- type: EmitSoundOnCollide
sound:
path: /Audio/Effects/Footsteps/bounce.ogg
@@ -414,6 +428,23 @@
- type: Sprite
sprite: Objects/Fun/Balls/football.rsi
state: icon
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.25
density: 20
mask:
- ItemMask
restitution: 0.5 # a little bouncy
friction: 0.2
- type: Catchable
catchChance: 0.8
catchSuccessSound:
path: /Audio/Effects/Footsteps/bounce.ogg
- type: EmitSoundOnCollide
sound:
path: /Audio/Effects/Footsteps/bounce.ogg
- type: Item
size: Small
sprite: Objects/Fun/Balls/football.rsi
@@ -427,6 +458,21 @@
- type: Sprite
sprite: Objects/Fun/Balls/beach_ball.rsi
state: icon
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.3
position: "0,-0.2"
density: 20
mask:
- ItemMask
restitution: 0.1 # not bouncy
friction: 0.2
- type: Catchable
catchChance: 0.8
catchSuccessSound:
path: /Audio/Effects/Footsteps/bounce.ogg
- type: EmitSoundOnCollide
sound:
path: /Audio/Effects/Footsteps/bounce.ogg
@@ -525,9 +571,9 @@
components:
- type: Sprite
sprite: Structures/Power/Generation/Tesla/energy_miniball.rsi
shader: unshaded
layers:
- state: tesla_projectile
shader: unshaded
- type: Item
inhandVisuals:
left:
@@ -559,8 +605,9 @@
components:
- type: Sprite
sprite: Objects/Fun/pondering_orb.rsi
state: icon
shader: unshaded
layers:
- state: icon
shader: unshaded
- type: PointLight
radius: 2
color: "#00CCFF"
@@ -628,7 +675,7 @@
color: white
netsync: false
- type: Appearance
- type: ToggleableLightVisuals
- type: ToggleableVisuals
spriteLayer: blade
inhandVisuals:
left:
@@ -799,7 +846,6 @@
- type: Sprite
sprite: Objects/Fun/whoopie.rsi
state: icon
quickEquip: false
- type: Tag
tags:
- Payload

View File

@@ -69,7 +69,7 @@
components:
- type: Spellbook
spellActions:
ActionSpawnMagicarpSpell: -1
ActionSpawnMagicarpSpell: null
- type: entity
id: ForceWallSpellbook
@@ -92,7 +92,7 @@
color: gold
- type: Spellbook
spellActions:
ActionForceWall: -1
ActionForceWall: null
- type: entity
id: BlinkBook
@@ -113,7 +113,7 @@
color: gold
- type: Spellbook
spellActions:
ActionBlink: -1
ActionBlink: null
- type: entity
id: SmiteBook
@@ -136,7 +136,7 @@
- state: overlay_blood
- type: Spellbook
spellActions:
ActionSmiteNoReq: -1
ActionSmiteNoReq: null
- type: entity
id: KnockSpellbook
@@ -158,7 +158,7 @@
color: "#98c495"
- type: Spellbook
spellActions:
ActionKnock: -1
ActionKnock: null
- type: entity
id: FireballSpellbook
@@ -182,7 +182,7 @@
shader: unshaded
- type: Spellbook
spellActions:
ActionFireball: -1
ActionFireball: null
- type: entity
id: ScrollRunes
@@ -197,7 +197,7 @@
- state: spell_default
- type: Spellbook
spellActions:
ActionFlashRune: -1
ActionExplosionRune: -1
ActionIgniteRune: -1
ActionStunRune: -1
ActionFlashRune: null
ActionExplosionRune: null
ActionIgniteRune: null
ActionStunRune: null

View File

@@ -21,8 +21,8 @@
id: blinking
interpolate: Nearest
maxDuration: 1.0
minValue: 0.1
maxValue: 2.0
startValue: 0.1
endValue: 2.0
isLooped: true
- type: PowerCellSlot
cellSlotId: cell_slot

View File

@@ -0,0 +1,15 @@
### For items thare are used as intermediate steps on a crafting recipe but have no use outside of it.
- type: entity
parent: BaseItem
id: MoproachShoes
name: moproach shoes
description: Three pairs of tiny mopshoes, perfectly fit for a moproach.
components:
- type: Sprite
sprite: Objects/Misc/moproach_shoes.rsi
state: mopshoes
- type: Construction
graph: MoproachShoes
node: shoes
- type: Item
size: Tiny

View File

@@ -42,6 +42,20 @@
damage:
types:
Piercing: 3
- type: Fixtures
fixtures:
fix1:
shape: !type:PolygonShape
vertices:
- -0.3,0.1
- -0.1,0.3
- 0.3,-0.1
- 0.1,-0.3
density: 20 # derived from base_item
mask:
- ItemMask
restitution: 0.3
friction: 0.2
#TODO: I want the luxury pen to write a cool font like Merriweather in the future.

View File

@@ -94,3 +94,58 @@
useDelay: 1
- type: InstantAction
event: !type:SummonActionEvent
- type: entity
parent: Bible
name: tanakh
description: "For God's chosen crewmembers"
id: BibleTanakh
components:
- type: Sprite
sprite: Objects/Specific/Chapel/tanakh.rsi
- type: Item
sprite: Objects/Specific/Chapel/tanakh.rsi
- type: entity
parent: Bible
name: druidic tablet
description: "It's the mystery of the druids!"
id: BibleDruid
components:
- type: Sprite
sprite: Objects/Specific/Chapel/mysteryofthedruids.rsi
- type: Item
sprite: Objects/Specific/Chapel/mysteryofthedruids.rsi
- type: entity
parent: Bible
name: communist manifesto
description: "Remove the mask of humanity from Capital."
id: BibleCommunistManifesto
components:
- type: Sprite
sprite: Objects/Specific/Chapel/communistmanifesto.rsi
- type: Item
sprite: Objects/Specific/Chapel/communistmanifesto.rsi
- type: entity
parent: Bible
name: satanic bible
description: "What could possibly go wrong?"
id: BibleSatanic
components:
- type: Sprite
sprite: Objects/Specific/Chapel/satanicbible.rsi
- type: Item
sprite: Objects/Specific/Chapel/satanicbible.rsi
- type: entity
parent: Bible
name: codex nanotrasimus
description: "A familiar book containing the Sacred Operating Procedures."
id: BibleNanoTrasen
components:
- type: Sprite
sprite: Objects/Specific/Chapel/codexnanotrasimus.rsi
- type: Item
sprite: Objects/Specific/Chapel/codexnanotrasimus.rsi

View File

@@ -240,7 +240,7 @@
projectile:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.1,0.1,0.1"
bounds: "-0.2,-0.4,0.2,-0.1"
hard: false
mask:
- Impassable
@@ -248,6 +248,7 @@
- type: EmbeddableProjectile
sound: /Audio/Weapons/pop.ogg
embedOnThrow: True
offset: "0,-0.1"
- type: ThrowingAngle
angle: 0
- type: LandAtCursor
@@ -301,6 +302,7 @@
SpacemenFigureSpawner: 28
SpawnMobCockroach: 5
MaintenanceToolSpawner: 5
SpawnMobMoproach: 2
- type: entity
parent: BaseItem
@@ -352,3 +354,39 @@
- type: Fiber
fiberColor: fibers-white
- type: DnaSubstanceTrace
- type: entity
parent: BaseItem
id: WireBrush
name: wire brush
description: A bristly steel wire brush, perfect for scraping away even the toughest patches of rust.
components:
- type: Sprite
sprite: Objects/Specific/Janitorial/wirebrush.rsi
state: icon
- type: Item
storedSprite:
sprite: Objects/Specific/Janitorial/wirebrush.rsi
state: storage
size: Small
- type: Tag
tags:
- WireBrush
- type: PhysicalComposition
materialComposition:
Steel: 50
Plastic: 50
- type: Tool
qualities:
- Brushing
useSound:
path: /Audio/Items/wirebrushing.ogg
- type: StaticPrice
price: 22
- type: MeleeWeapon
wideAnimationRotation: 45
damage:
types:
Piercing: 3
soundHit:
path: "/Audio/Weapons/bladeslice.ogg"

View File

@@ -73,7 +73,6 @@
description: Get out there and slang some dogs.
components:
- type: Sprite
netSync: false
noRot: true
sprite: Objects/Specific/Kitchen/food_carts.rsi
layers:
@@ -154,7 +153,6 @@
description: It's the Ice Cream Man! It's the Ice Cream Man!
components:
- type: Sprite
netSync: false
noRot: true
sprite: Objects/Specific/Kitchen/food_carts.rsi
layers:

View File

@@ -39,7 +39,7 @@
price: 30
- type: GuideHelp
guides:
- Medical Doctor
- MedicalDoctor
- type: entity
id: Defibrillator

View File

@@ -40,7 +40,7 @@
False: { visible: false }
- type: GuideHelp
guides:
- Medical Doctor
- MedicalDoctor
- type: entity
id: HandheldHealthAnalyzer

View File

@@ -473,7 +473,7 @@
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
- type: EmbeddableProjectile
offset: "-0.1,0"
offset: "0,-0.1"
minimumSpeed: 3
removalTime: 0.25
embedOnThrow: false

View File

@@ -116,6 +116,15 @@
possibleSpawns:
- MobMothroach
- type: entity
parent: RehydratableAnimalCube
id: MoproachCube
name: moproach cube
components:
- type: Rehydratable
possibleSpawns:
- MobMoproach
- type: entity
parent: RehydratableAnimalCube
id: MouseCube

View File

@@ -24,8 +24,8 @@
id: blinking
interpolate: Nearest
maxDuration: 1.0
minValue: 0.1
maxValue: 2.0
startValue: 0.1
endValue: 2.0
isLooped: true
- type: ToggleableVisuals
spriteLayer: light

View File

@@ -134,8 +134,8 @@
- !type:PulseBehaviour
interpolate: Cubic
maxDuration: 10.0
minValue: 1.0
maxValue: 7.0
startValue: 1.0
endValue: 7.0
isLooped: true
property: Energy
enabled: true
@@ -198,7 +198,7 @@
interpolate: Nearest
minDuration: 0.2
maxDuration: 1.0
maxValue: 0.2
endValue: 0.2
property: AnimatedEnable
isLooped: true
enabled: true
@@ -237,8 +237,8 @@
- !type:FadeBehaviour
interpolate: Cubic
maxDuration: 5.0
minValue: 0.0
maxValue: 10.0
startValue: 0.0
endValue: 10.0
isLooped: true
property: Energy
enabled: true
@@ -269,8 +269,8 @@
interpolate: Cubic
minDuration: 1.0
maxDuration: 5.0
minValue: 2.0
maxValue: 10.0
startValue: 2.0
endValue: 10.0
isLooped: true
enabled: true
@@ -300,7 +300,7 @@
- !type:RandomizeBehaviour
interpolate: Nearest
maxDuration: 0.5
minValue: 10.0
maxValue: 25.0
startValue: 10.0
endValue: 25.0
isLooped: true
enabled: true

View File

@@ -21,8 +21,8 @@
id: blinking
interpolate: Nearest
maxDuration: 1.0
minValue: 0.1
maxValue: 2.0
startValue: 0.1
endValue: 2.0
isLooped: true
- type: Sprite
sprite: Objects/Tools/lantern.rsi

View File

@@ -20,7 +20,7 @@
activatedSize: Small
- type: ItemToggleHot
- type: Sprite
sprite: Objects/Tools/lighters.rsi
sprite: Objects/Tools/Lighters/lighters.rsi
layers:
- state: icon_map
- state: cheap_icon_base
@@ -62,7 +62,7 @@
shader: unshaded
- type: Item
size: Tiny
sprite: Objects/Tools/lighters.rsi
sprite: Objects/Tools/Lighters/lighters.rsi
- type: UseDelay
- type: RefillableSolution
solution: Welder
@@ -97,7 +97,7 @@
description: "A dangerously inexpensive plastic lighter, don't burn your thumb!"
components:
- type: Sprite
sprite: Objects/Tools/lighters.rsi
sprite: Objects/Tools/Lighters/lighters.rsi
layers:
- state: icon_map
- state: cheap_icon_base
@@ -126,7 +126,7 @@
description: "A rugged metal lighter, lasts quite a while."
components:
- type: Sprite
sprite: Objects/Tools/lighters.rsi
sprite: Objects/Tools/Lighters/lighters.rsi
layers:
- state: zippo_icon_base
map: ["base"]
@@ -159,7 +159,7 @@
- type: ItemToggleHot
- type: Item
size: Tiny
sprite: Objects/Tools/lighters.rsi
sprite: Objects/Tools/Lighters/lighters.rsi
heldPrefix: zippo
- type: Appearance
- type: GenericVisualizer
@@ -219,7 +219,7 @@
description: "A rugged golden lighter, lasts quite a while. Engravings serve no tactical advantage whatsoever."
components:
- type: Sprite
sprite: Objects/Tools/lighters.rsi
sprite: Objects/Tools/Lighters/lighters.rsi
layers:
- state: zippo_engraved_icon_base
map: ["base"]
@@ -235,3 +235,404 @@
shader: unshaded
- type: StealTarget
stealGroup: FlippoEngravedLighter
- type: entity
abstract: true
parent: BaseItem
id: BaseBrandedLighter
components:
- type: ItemToggle
predictable: false
soundActivate:
path: /Audio/Items/Lighters/zippo_open.ogg
params:
volume: -5
soundDeactivate:
path: /Audio/Items/Lighters/zippo_close.ogg
params:
volume: -5
- type: ItemToggleMeleeWeapon
activatedDamage:
types:
Heat: 1
- type: ItemToggleSize
activatedSize: Small
- type: ItemToggleHot
- type: Item
size: Tiny
- type: Appearance
- type: SolutionContainerManager
solutions:
Welder:
reagents:
- ReagentId: WeldingFuel
Quantity: 12
maxVol: 12
- type: Sprite
layers:
- state: icon
map: [ "base" ]
- state: top
map: [ "top" ]
visible: false
- state: open
map: [ "open" ]
visible: false
- state: flame
map: [ "flame" ]
visible: false
shader: unshaded
- type: GenericVisualizer
visuals:
enum.ToggleableVisuals.Enabled:
flame:
True: { visible: true }
False: { visible: false }
open:
True: { visible: true }
False: { visible: false }
top:
True: { visible: true }
False: { visible: false }
base:
True: { visible: false }
False: { visible: true }
- type: ToggleableVisuals
spriteLayer: lighter_flame
inhandVisuals:
left:
- state: inhand-left-lit
shader: unshaded
right:
- state: inhand-right-lit
shader: unshaded
- type: ItemTogglePointLight
- type: UseDelay
- type: IgnitionSource
ignited: false
- type: entity
parent: [BaseBrandedLighter, BaseSyndicateContraband]
id: SyndicateFlippo
name: Blood-red flippo
description: "A 'Valid' choice in lighters. Contains no copper."
components:
- type: Sprite
sprite: Objects/Tools/Lighters/syndielighter.rsi
- type: Item
sprite: Objects/Tools/Lighters/syndielighter.rsi
- type: Welder
fuelConsumption: 0.005
fuelLitCost: 0.01
tankSafe: true
- type: PointLight
enabled: false
netsync: false
radius: 2
color: green
- type: entity
parent: Lighter
id: DiscountDanLighter
name: Discount Dan's lighter
description: "The worst lighter ever produced, lighterburn is inevitable, do not refuel while lit."
components:
- type: Sprite
sprite: Objects/Tools/Lighters/lighters.rsi
layers:
- state: icon_map
- state: discount_icon_base
map: [ "skin" ]
- state: basic_icon_top
- state: lighter_flame
visible: false
shader: unshaded
map: [ "flame" ]
- type: Welder # the single worst lighter invented by mankind
fuelConsumption: 0.2
fuelLitCost: 0.1
tankSafe: false
- type: Item
sprite: Objects/Tools/Lighters/lighters.rsi
- type: ToggleableVisuals
spriteLayer: lighter_flame
inhandVisuals:
left:
- state: inhand-left-flame
shader: unshaded
right:
- state: inhand-right-flame
shader: unshaded
- type: RandomSprite
available:
- skin:
discount_icon_base: ""
- type: PointLight
enabled: false
netsync: false
radius: 1.5
color: yellow
- type: ComponentToggler
components:
- type: DamageOnHolding
damage:
types:
Heat: 2
- type: SolutionContainerManager
solutions:
Welder:
reagents:
- ReagentId: WeldingFuel
Quantity: 3
maxVol: 3
- type: entity
parent: [BaseBrandedLighter, BaseSyndicateContraband]
id: CybersunFlippo
name: CyberSun Flippo
description: "A Sleek black and magenta flippo lighter, bearing the logo and iconography of CyberSun Industries."
components:
- type: Sprite
sprite: Objects/Tools/Lighters/cybersun.rsi
- type: Item
sprite: Objects/Tools/Lighters/cybersun.rsi
- type: Welder #
fuelConsumption: 0.005
fuelLitCost: 0.01
tankSafe: true
- type: PointLight
enabled: false
netsync: false
radius: 2
color: magenta
- type: entity
parent: [BaseBrandedLighter, BaseSyndicateContraband]
id: InterdyneFlippo
name: Interdyne Flippo
description: "A deep blue flippo lighter, decorated with the logo of Interdyne Pharmaceuticals' 'Gene Clean' clinics. Become the master of your own cigarette."
components:
- type: Sprite
sprite: Objects/Tools/Lighters/interdyne.rsi
- type: Item
sprite: Objects/Tools/Lighters/interdyne.rsi
- type: Welder #
fuelConsumption: 0.005
fuelLitCost: 0.01
tankSafe: true
- type: ItemToggleMeleeWeapon
activatedDamage:
types:
Radiation: 1
- type: PointLight
enabled: false
netsync: false
radius: 2
color: cyan
- type: entity
parent: [BaseBrandedLighter]
id: NanotrasenFlippo
name: Nanotrasen Flippo
description: "A navy blue luxury flippo, generally handed out to loyal heads of staff instead of a payraise. Fueled with liquid plasma"
components:
- type: Sprite
sprite: Objects/Tools/Lighters/nanotrasen.rsi
- type: Item
sprite: Objects/Tools/Lighters/nanotrasen.rsi
- type: Welder #
fuelConsumption: 0.005
fuelLitCost: 1
fuelReagent: Plasma
tankSafe: true
- type: PointLight
enabled: false
netsync: false
radius: 2
color: blue
- type: RefillableSolution
solution: Welder
- type: SolutionContainerManager
solutions:
Welder:
reagents:
- ReagentId: Plasma
Quantity: 10
maxVol: 10
- type: entity
parent: [BaseBrandedLighter, BaseCentcommContraband]
id: CentCommFlippo
name: Gilded CentComm Flippo
description: "An Ornate, jade embossed and gilded flippo frame containing a bluespace powered jet. The latch is secured by a miniature access reader that only responds to CentComm officials. The nicest lighter known to man."
suffix: DO NOT MAP
components:
- type: Sprite
sprite: Objects/Tools/Lighters/centcomm.rsi
- type: Item
sprite: Objects/Tools/Lighters/centcomm.rsi
- type: ItemToggleRequiresLock
requireLocked: false
- type: Welder #
fuelConsumption: 0.0
fuelLitCost: 10
fuelReagent: Plasma
tankSafe: true
- type: PointLight
enabled: false
netsync: false
radius: 4 #Excessively powerful
color: Gold
- type: RefillableSolution
solution: Welder
- type: SolutionContainerManager
solutions:
Welder:
reagents:
- ReagentId: Plasma
Quantity: 999
maxVol: 999
- type: Tool
useSound:
collection: Welder
qualities: Welding
- type: SolutionRegeneration
solution: Welder
generated:
reagents:
- ReagentId: Plasma
Quantity: 0.1
- type: Lock
- type: AccessReader
access: [["CentralCommand"]]
- type: entity
parent: [BaseBrandedLighter, BaseMajorContraband]
id: SpiderclanFlippo
name: Spider-Clan lighter
description: "A high tech jet lighter, engineered to function even in deep space. Runs on a tiny microfusion cell."
components:
- type: Sprite
sprite: Objects/Tools/Lighters/spiderclan.rsi
- type: Item
sprite: Objects/Tools/Lighters/spiderclan.rsi
- type: Welder #
fuelConsumption: 0
fuelLitCost: 0
tankSafe: true
- type: PointLight
enabled: false
netsync: false
radius: 2
color: green
- type: entity
parent: [BaseBrandedLighter, BaseSyndicateContraband]
id: WaffleCoFlippo
name: Waffle Co. flippo
description: "A robust mass produced lighter. The Waffle Co. logo turns the spark wheel when pushed up, minimising risk of lighter burns for even the most inept user."
components:
- type: Sprite
sprite: Objects/Tools/Lighters/waffleco.rsi
- type: Item
sprite: Objects/Tools/Lighters/waffleco.rsi
- type: Welder #
fuelConsumption: 0.005
fuelLitCost: 0.05
tankSafe: true
- type: PointLight
enabled: false
netsync: false
radius: 2
color: brown
- type: entity
parent: [BaseBrandedLighter]
id: HonkCoFlippo
name: Honk Co. flippo
description: "A slippery gag lighter produced by Honk Co. hidden inside of a real banana peel."
components:
- type: Sprite
sprite: Objects/Tools/Lighters/honkco.rsi
- type: Item
sprite: Objects/Tools/Lighters/honkco.rsi
- type: ComponentToggler
components:
- type: Slippery
- type: StepTrigger
intersectRatio: 0.2
- type: CollisionWake
enabled: false
- type: Physics
bodyType: Dynamic
- type: Fixtures
fixtures:
slips:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- SlipLayer
hard: false
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
density: 10
mask:
- ItemMask
- type: Welder #
fuelConsumption: 0.1
fuelLitCost: 1
tankSafe: true
- type: PointLight
enabled: false
netsync: false
radius: 2
color: yellow
- type: entity
parent: [BaseBrandedLighter]
id: DonkcoLighter
name: Donk Co. flippo
description: "The flippo of choice for the seasoned traitor. A Breaded novelty lighter made by Donk Co. Somehow edible while lit."
components:
- type: Sprite
sprite: Objects/Tools/Lighters/donkco.rsi
- type: Item
sprite: Objects/Tools/Lighters/donkco.rsi
- type: Welder #
fuelConsumption: 0.02
fuelLitCost: 0.1
tankSafe: true
- type: Tag
tags:
- DonkPocket
- Meat
- type: SolutionContainerManager
solutions:
Welder:
reagents:
- ReagentId: WeldingFuel
Quantity: 12
maxVol: 12
food:
maxVol: 20
reagents:
- ReagentId: Nutriment
Quantity: 10
- ReagentId: Omnizine
Quantity: 10
- type: FlavorProfile
flavors:
- bread
- meaty
- cheap
- type: ComponentToggler
components:
- type: Food
- type: PointLight
enabled: false
netsync: false
radius: 2
color: orange

View File

@@ -108,3 +108,43 @@
tags:
- Trash
- type: SpaceGarbage
- type: entity
parent: [Matchbox, BaseSyndicateContraband]
id: GorlexMatchbox
name: Gorlex match box
description: "A pneumatic match box styled after the Gorlex Marauders' equipment. Contains 24 matches."
components:
- type: Sprite
sprite: Objects/Tools/Lighters/gorlex.rsi
- type: Item
sprite: Objects/Tools/Lighters/gorlex.rsi
- type: Storage
grid:
- 0,0,11,1
- type: StorageFill
contents:
- id: GorlexMatchstick
amount: 24
- type: Matchbox
- type: entity
name: match stick
parent: [Matchstick, BaseSyndicateContraband]
id: GorlexMatchstick
description: A military grade match stick, used for lighting fine smokables and noncombatants alike.
components:
- type: Sprite
sprite: Objects/Tools/Lighters/gorlexmatch.rsi
layers:
- state: match_unlit
- type: Item
sprite: Objects/Tools/Lighters/gorlexmatch.rsi
heldPrefix: unlit
size: Tiny
- type: PointLight
enabled: false
radius: 3
color: green
- type: Matchstick
duration: 30

View File

@@ -2,7 +2,7 @@
parent: BaseItem
id: SprayPainter
name: spray painter
description: A spray painter for painting airlocks and pipes.
description: A spray painter for painting airlocks, pipes, and other items.
components:
- type: Sprite
sprite: Objects/Tools/spray_painter.rsi
@@ -32,6 +32,45 @@
mix: '#947507'
- type: StaticPrice
price: 40
- type: LimitedCharges
maxCharges: 15
lastCharges: 15
- type: PhysicalComposition
materialComposition:
Steel: 100
- type: entity
parent: SprayPainter
id: SprayPainterRecharging
suffix: Admeme
components:
- type: AutoRecharge
rechargeDuration: 1
- type: entity
parent: SprayPainter
id: SprayPainterEmpty
suffix: Empty
components:
- type: LimitedCharges
lastCharges: -1
- type: entity
parent: BaseItem
id: SprayPainterAmmo
name: compressed paint
description: A cartridge of highly compressed paint, commonly used in spray painters.
components:
- type: SprayPainterAmmo
- type: Sprite
sprite: Objects/Tools/spray_painter.rsi
state: ammo
- type: Item
sprite: Objects/Tools/spray_painter.rsi
heldPrefix: ammo
- type: PhysicalComposition
materialComposition:
Steel: 10
Plastic: 10
- type: StaticPrice
price: 30

View File

@@ -102,6 +102,11 @@
- !type:TriggerBehavior
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Tag
tags:
- Recyclable
- Trash
- BananaPeel
- type: entity
parent: BaseItem

View File

@@ -32,25 +32,6 @@
zeroVisible: false
- type: Appearance
- type: entity
id: BaseMagazineCaselessRifleShort
name: "caseless rifle short magazine (.25 caseless)"
parent: BaseMagazineCaselessRifle
abstract: true
components:
- type: BallisticAmmoProvider
proto: CartridgeCaselessRifle
capacity: 10
- type: Item
size: Tiny
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Magazine/CaselessRifle/caseless_rifle_mag_short.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- type: entity
id: BaseMagazinePistolCaselessRifle
name: "pistol magazine (.25 caseless)"
@@ -81,21 +62,6 @@
zeroVisible: false
- type: Appearance
- type: entity
id: MagazineCaselessRifle10x24
name: "box magazine (.25 caseless)"
parent: BaseMagazineCaselessRifle
components:
- type: BallisticAmmoProvider
proto: CartridgeCaselessRifle
capacity: 99
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Magazine/CaselessRifle/10x24.rsi
- type: MagazineVisuals
magState: mag
steps: 8
zeroVisible: false
- type: entity
id: MagazinePistolCaselessRifle
name: "pistol magazine (.25 caseless)"
@@ -106,7 +72,7 @@
proto: CartridgeCaselessRifle
capacity: 10
- type: Sprite
slayers:
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
@@ -202,51 +168,3 @@
- state: inhand-right-mag
- state: inhand-right-stripe
color: "#dbdbdb"
- type: entity
id: MagazineCaselessRifleShort
name: "short magazine (.25 caseless)"
parent: BaseMagazineCaselessRifleShort
components:
- type: BallisticAmmoProvider
proto: CartridgeCaselessRifle
capacity: 20
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- type: Item
inhandVisuals:
left:
- state: inhand-left-mag
right:
- state: inhand-right-mag
- type: entity
id: MagazineCaselessRifleShortPractice
name: "short magazine (.25 caseless practice)"
parent: BaseMagazineCaselessRifleShort
components:
- type: BallisticAmmoProvider
proto: CartridgeCaselessRiflePractice
capacity: 20
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- state: stripe
color: "#dbdbdb"
- type: Item
inhandVisuals:
left:
- state: inhand-left-mag
- state: inhand-left-stripe
color: "#dbdbdb"
right:
- state: inhand-right-mag
- state: inhand-right-stripe
color: "#dbdbdb"

View File

@@ -178,36 +178,3 @@
- state: inhand-right-mag
- state: inhand-right-stripe
color: "#ff6e52"
- type: entity
id: MagazineLightRifleMaxim
name: "pan magazine (.30 rifle)"
parent: BaseMagazineLightRifle
components:
- type: Tag
tags:
- MagazineLightRiflePan
- type: BallisticAmmoProvider
proto: CartridgeLightRifle
capacity: 96
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Magazine/LightRifle/maxim.rsi
- type: entity
id: MagazineLightRiflePkBox
name: "PK munitions box (.30 rifle)"
parent: BaseMagazineLightRifle
components:
- type: Tag
tags:
- MagazineLightRifleBox
- type: BallisticAmmoProvider
proto: CartridgeLightRifle
capacity: 80
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Magazine/LightRifle/pk_box.rsi
- type: MagazineVisuals
magState: mag
steps: 8
zeroVisible: false
- type: Appearance

View File

@@ -14,39 +14,6 @@
- CartridgeMagnum
capacity: 7
- type: entity
id: BaseMagazineMagnumSubMachineGun
name: SMG magazine (.45 magnum)
parent: BaseItem
abstract: true
components:
- type: Tag
tags:
- MagazineMagnumSubMachineGun
- type: BallisticAmmoProvider
mayTransfer: true
whitelist:
tags:
- CartridgeMagnum
capacity: 25
- type: Item
size: Small
- type: ContainerContainer
containers:
ballistic-ammo: !type:Container
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/Magazine/Magnum/magnum_smg_mag.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- type: MagazineVisuals
magState: mag
steps: 2
zeroVisible: false
- type: Appearance
- type: entity
id: MagazineMagnumEmpty
name: pistol magazine (.45 magnum any)
@@ -170,122 +137,3 @@
- state: inhand-right-mag
- state: inhand-right-stripe
color: "#540000"
- type: entity
id: MagazineMagnumSubMachineGunEmpty
name: SMG magazine (.45 magnum any)
suffix: empty
parent: BaseMagazineMagnumSubMachineGun
components:
- type: BallisticAmmoProvider
proto: null
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- type: Item
inhandVisuals:
left:
- state: inhand-left-mag
right:
- state: inhand-right-mag
- type: entity
id: MagazineMagnumSubMachineGun
name: SMG magazine (.45 magnum)
parent: BaseMagazineMagnumSubMachineGun
components:
- type: BallisticAmmoProvider
proto: CartridgeMagnum
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- type: Item
inhandVisuals:
left:
- state: inhand-left-mag
right:
- state: inhand-right-mag
- type: entity
id: MagazineMagnumSubMachineGunPractice
name: SMG magazine (.45 magnum practice)
parent: BaseMagazineMagnumSubMachineGun
components:
- type: BallisticAmmoProvider
proto: CartridgeMagnumPractice
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- state: stripe
color: "#dbdbdb"
- type: Item
inhandVisuals:
left:
- state: inhand-left-mag
- state: inhand-left-stripe
color: "#dbdbdb"
right:
- state: inhand-right-mag
- state: inhand-right-stripe
color: "#dbdbdb"
- type: entity
id: MagazineMagnumSubMachineGunUranium
name: SMG magazine (.45 magnum uranium)
parent: BaseMagazineMagnumSubMachineGun
components:
- type: BallisticAmmoProvider
proto: CartridgeMagnumUranium
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- state: stripe
color: "#00cd42"
- type: Item
inhandVisuals:
left:
- state: inhand-left-mag
- state: inhand-left-stripe
color: "#00cd42"
right:
- state: inhand-right-mag
- state: inhand-right-stripe
color: "#00cd42"
- type: entity
id: MagazineMagnumSubMachineGunPiercing
name: SMG magazine (.45 magnum armour-piercing)
parent: BaseMagazineMagnumSubMachineGun
components:
- type: BallisticAmmoProvider
proto: CartridgeMagnumAP
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- state: stripe
color: "#540000"
- type: Item
inhandVisuals:
left:
- state: inhand-left-mag
- state: inhand-left-stripe
color: "#540000"
right:
- state: inhand-right-mag
- state: inhand-right-stripe
color: "#540000"

View File

@@ -103,7 +103,7 @@
- type: entity
name: svalinn laser pistol
parent: [ BaseWeaponPowerCellSmall, BaseSecurityContraband ]
parent: [BaseWeaponPowerCellSmall, BaseSecurityContraband]
id: WeaponLaserSvalinn
description: A cheap and widely used laser pistol.
components:
@@ -124,7 +124,7 @@
- type: entity
name: retro laser blaster
parent: [ BaseWeaponBatterySmall, BaseMajorContraband ]
parent: [BaseWeaponBatterySmall, BaseMajorContraband]
id: WeaponLaserGun
description: A weapon using light amplified by the stimulated emission of radiation.
components:
@@ -147,7 +147,7 @@
- type: entity
name: makeshift laser pistol
parent: BaseWeaponBatterySmall
parent: [BaseWeaponBatterySmall, BaseMinorContraband]
id: WeaponMakeshiftLaser
description: Better pray it won't burn your hands off.
components:
@@ -175,7 +175,7 @@
- type: entity
name: tesla gun
parent: BaseWeaponBattery
parent: [BaseWeaponBattery, BaseMajorContraband]
id: WeaponTeslaGun
description: The power of the primordial element of lightning in your hands.
components:
@@ -247,7 +247,7 @@
- type: entity
name: pulse pistol
parent: BaseWeaponBatterySmall
parent: [BaseWeaponBatterySmall, BaseCentcommContraband]
id: WeaponPulsePistol
description: A state of the art energy pistol favoured as a sidearm by the NT operatives.
components:
@@ -317,7 +317,7 @@
- type: entity
name: pulse rifle
parent: [BaseWeaponBattery, BaseGunWieldable]
parent: [BaseWeaponBattery, BaseGunWieldable, BaseCentcommContraband]
id: WeaponPulseRifle
description: A weapon that is almost as infamous as its users.
components:
@@ -381,7 +381,7 @@
- type: entity
name: portable particle decelerator
parent: BaseWeaponBattery
parent: [BaseWeaponBattery, BaseEngineeringContraband]
id: WeaponParticleDecelerator
description: A portable particle decelerator capable of decomposing a tesla or singularity.
components:
@@ -479,7 +479,7 @@
- type: entity
name: disabler
parent: [ WeaponDisablerPractice, BaseSecurityCommandContraband ]
parent: [WeaponDisablerPractice, BaseSecurityCommandContraband]
id: WeaponDisabler
description: A self-defense weapon that exhausts organic targets, weakening them until they collapse.
components:
@@ -507,7 +507,7 @@
- type: entity
name: disabler SMG
parent: [ BaseWeaponBattery, BaseSecurityContraband ]
parent: [BaseWeaponBattery, BaseSecurityContraband]
id: WeaponDisablerSMG
description: Advanced weapon that exhausts organic targets, weakening them until they collapse.
components:
@@ -545,7 +545,7 @@
- type: entity
name: taser
parent: [ BaseWeaponBatterySmall, BaseSecurityContraband ]
parent: [BaseWeaponBatterySmall, BaseSecurityContraband]
id: WeaponTaser
description: A low-capacity, energy-based stun gun used by security teams to subdue targets at range.
components:
@@ -625,7 +625,7 @@
- type: entity
name: advanced laser pistol
parent: [ BaseWeaponBatterySmall, BaseSecurityContraband]
parent: [BaseWeaponBatterySmall, BaseSecurityContraband]
id: WeaponAdvancedLaser
description: An experimental high-energy laser pistol with a self-charging nuclear battery.
components:
@@ -708,7 +708,7 @@
name: experimental C.H.I.M.P. handcannon
parent: [WeaponPistolCHIMP, BaseSyndicateContraband]
id: WeaponPistolCHIMPUpgraded
description: This C.H.I.M.P. seems to have a greater punch than is usual...
description: This C.H.I.M.P. seems to have a greater punch than usual...
components:
- type: BatteryWeaponFireModes
fireModes:
@@ -806,7 +806,7 @@
- type: entity
name: temperature gun
parent: [BaseWeaponBattery, BaseGunWieldable]
parent: [BaseWeaponBattery, BaseGunWieldable, BaseSecurityContraband]
id: WeaponTemperatureGun
description: An advanced gun that shoots body-temperature-changing beams. This probably constitutes as some kind of war crime.
components:
@@ -850,12 +850,12 @@
- type: entity
name: xenoborg laser gun
parent: [ WeaponAdvancedLaser, BaseXenoborgContraband ]
parent: [WeaponAdvancedLaser, BaseXenoborgContraband]
id: XenoborgLaserGun
- type: entity
name: xenoborg heavy laser gun
parent: [ WeaponAdvancedLaser, BaseXenoborgContraband ]
parent: [WeaponAdvancedLaser, BaseXenoborgContraband]
id: XenoborgHeavyLaserGun
components:
- type: HitscanBatteryAmmoProvider

View File

@@ -8,6 +8,11 @@
- type: Sprite
- type: Item
size: Ginormous
- type: MultiHandedItem
- type: ClothingSpeedModifier
walkModifier: 0.8
sprintModifier: 0.8
- type: HeldSpeedModifier
- type: Gun
fireRate: 20
selectedMode: FullAuto

View File

@@ -20,7 +20,7 @@
projectile:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.1,0.1,0.1"
bounds: "-0.1,-0.3,0.1,-0.1"
hard: false
mask:
- Impassable

View File

@@ -182,7 +182,7 @@
- type: entity
name: WT550
parent: [ BaseWeaponSubMachineGun, BaseSecurityContraband ]
parent: [BaseWeaponSubMachineGun, BaseSecurityContraband]
id: WeaponSubMachineGunWt550
description: A truly unique firearm, the WT550 was designed by Nanotrasen's Small Arms Division as a compact submachine gun fully controllable with one hand. It contains an exotic internal recoil buffer and feeds from special top-mounted .35 magazines.
components:

View File

@@ -46,6 +46,45 @@
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi
layers:
- state: base
- state: base1
map: [ "enum.SolutionContainerLayers.Fill" ]
visible: false
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 1
fillBaseName: base
inHandsFillBaseName: -fill-
inHandsMaxFillLevels: 1
equippedFillBaseName: -fill-
equippedMaxFillLevels: 1
- type: MeleeWeapon
wideAnimationRotation: -135
damage:
types:
Piercing: 12
angle: 0
animation: WeaponArcThrust
soundHit:
path: /Audio/Weapons/bladeslice.ogg
- type: MeleeRequiresWield
- type: AltFireMelee
attackType: Heavy
- type: SolutionContainerManager
solutions:
melee:
maxVol: 2
- type: MeleeChemicalInjector
solution: melee
- type: RefillableSolution
solution: melee
- type: InjectableSolution
solution: melee
- type: SolutionTransfer
maxTransferAmount: 2
- type: Sharp
butcherDelayModifier: 2 #It's a bayonet
- type: GunRequiresWield
- type: StaticPrice
price: 500
@@ -54,7 +93,7 @@
name: Hristov
parent: [BaseWeaponSniper, BaseGunWieldable, BaseSyndicateContraband]
id: WeaponSniperHristov
description: A portable anti-materiel rifle. Fires armor piercing 14.5mm shells. Uses .60 anti-materiel ammo.
description: For when you absolutely, positively need to make someone regret their life choices from a safe distance. Uses .60 anti-materiel ammo.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Snipers/heavy_sniper.rsi

View File

@@ -53,7 +53,7 @@
- type: entity
id: FireAxeFlaming
name: fire axe
parent: [ BaseSyndicateContraband, FireAxe ]
parent: [BaseSyndicateContraband, FireAxe]
description: Why fight fire with an axe when you can fight with fire and axe? Now featuring rugged rubberized handle!
components:
- type: MeleeWeapon

View File

@@ -111,6 +111,21 @@
malus: 0.225
- type: ThrowingAngle
angle: 225
- type: Fixtures
fixtures:
fix1:
shape: !type:PolygonShape
radius: 0.01
vertices:
- -0.4,-0.2
- -0.2,-0.4
- 0.4,0.2
- 0.2,0.4
density: 20 # derived from base_item
mask:
- ItemMask
restitution: 0.3
friction: 0.2
- type: entity
name: survival knife
@@ -304,3 +319,18 @@
angle: 225
- type: StaticPrice
price: 500 # 2000 for a set of 4
- type: Fixtures
fixtures:
fix1:
shape: !type:PolygonShape
radius: 0.01
vertices:
- -0.475,-0.225
- -0.225,-0.475
- 0.525,0.275
- 0.275,0.525
density: 20 # derived from base_item
mask:
- ItemMask
restitution: 0.3
friction: 0.2

Some files were not shown because too many files have changed in this diff Show More