Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New and Modified Map Spawners #34424

Merged
merged 7 commits into from
Jan 16, 2025

Conversation

southbridge-fur
Copy link
Contributor

@southbridge-fur southbridge-fur commented Jan 14, 2025

About the PR

Some brainstorming has occurred among the map creators over on Discord and we came up with ideas for some additional map spawners to implement into the game.

Some of that discussion was devoted to the metagamey situation surrounding the pet crate. Given that they are extremely rare maints loot and are rarely mapped, someone with a crate is often assumed via metagaming to be a thief. It was suggested these crates be added to low value crate pool to help ensure they are more common, and less fuel for metagaming. This PR does that.

The additions are specifically a surplus materials crate and a surplus tech boards crate, which both spawn random selections of materials and tech boards. These have also been added to the low value crate spawn pool.
image

Surplus Tech Boards

The list of boards is as follows:

    - id: AirAlarmElectronics
    - id: FireAlarmElectronics
    - id: DoorElectronics
    - id: FirelockElectronics
    - id: APCElectronics
    - id: SignalTimerElectronics
    - id: SMESMachineCircuitboard
    - id: SubstationMachineCircuitboard
    - id: SpaceVillainArcadeComputerCircuitboard
    - id: BlockGameArcadeComputerCircuitboard

This is a reduced selection from the regular tech board spawner, to prevent power gaming. The crate rolls 4-8 times on this table when it generates.

Surplus Materials

The surplus materials crate has the following loot table

    - !type:GroupSelector # regular materials, 10
      weight: 35
      children:
      - id: SheetGlass10
      - id: SheetSteel10
      - id: SheetPlastic10
    - !type:GroupSelector # regular materials, stack
      weight: 30
      children:
      - id: SheetGlass
      - id: SheetSteel
      - id: SheetPlastic
    - !type:GroupSelector # secondary materials, stack
      weight: 30
      children:
      - id: MaterialCloth
      - id: SheetPlasteel
      - id: MaterialWoodPlank
      - id: PartRodMetal
    - !type:GroupSelector # tertiary materials, singles
      weight: 5
      children:
      - id: SheetPlasma1
      - id: SheetUranium1
      - id: IngotGold1
      - id: IngotSilver1

This table is rolled on 2-4 times when the crate's inventory is generated.

On average, this means the person opening this crate will receive slightly less total materials than they would if the crate was instead one of the genetic 90 steel, 90 plastic, etc. crates. I feel like this is best since it's more likely this crate will contain a material the person wants. It also does come with the possibility that it will contain significantly less materials, or a decent bit more. Which to me disincentives these crates being a guaranteed source of loot if they are spawned in a map.

Clothing Vendors

This PR also meets the requirement proposed in the Pride-O-Mat PR #34412 (review) by adding a new random spawner for clothing vendors.
image
(Sprite by me)
image
Odds are as follows

- type: entityTable
  id: ClothingVendorTable
  table: !type:GroupSelector
    children:
    - id: VendingMachineClothing
      weight: 40
    - id: VendingMachineWinter
      weight: 40
    - id: VendingMachinePride
      weight: 10
    - id: VendingMachineTheater
      weight: 10

Also @Emisse had a funny idea to give maint loot lockers a very rare chance to spawn an additional maint loot locker, so that has also been implemented.

image
after about 100 attempts or so

Why / Balance

More variety in loot, spawns etc. is always nice in maps.

Technical details

All Yaml changes, most of which are adding new entityTables and entities or markers for spawning items.

Media

Requirements

Breaking changes

Changelog

No CL

@github-actions github-actions bot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M Denotes a PR that changes 100-999 lines. Changes: No C# Changes: Requires no C# knowledge to review or fix this item. Changes: Sprites Changes: Might require knowledge of spriting or visual design. and removed size/M Denotes a PR that changes 100-999 lines. labels Jan 14, 2025
Copy link
Contributor

github-actions bot commented Jan 14, 2025

RSI Diff Bot; head commit 67f4b79 merging into e094b79
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Structures/Machines/VendingMachines/random.rsi

State Old New Status
clothing Added

Edit: diff updated after 67f4b79

@southbridge-fur southbridge-fur marked this pull request as ready for review January 14, 2025 05:18
@github-actions github-actions bot added the size/M Denotes a PR that changes 100-999 lines. label Jan 14, 2025
@ScarKy0 ScarKy0 added P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. T: New Feature Type: New feature or content, or extending existing content D3: Low Difficulty: Some codebase knowledge required. A: Mapping Area: Maps, or tools used for mapping S: Approved Status: Reviewed and approved by at least one maintainer; a PR may require another approval. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Jan 14, 2025
@Warpzoned
Copy link

I love the surplus crate idea! However, I find the Pride-O-Mat's weight to be a bit too high, it being as common as ClothesMates/WinterDrobes removes their sense of uniqueness (And rarity, meaning coder socks would lose a bit of their essence), so I think making it as probable as AutoDrobes to be much more fun, or even less so to make stumbling into them a complete surprise!

@southbridge-fur
Copy link
Contributor Author

I love the surplus crate idea! However, I find the Pride-O-Mat's weight to be a bit too high, it being as common as ClothesMates/WinterDrobes removes their sense of uniqueness (And rarity, meaning coder socks would lose a bit of their essence), so I think making it as probable as AutoDrobes to be much more fun, or even less so to make stumbling into them a complete surprise!

Done

@slarticodefast
Copy link
Member

Thank you for your contribution!

@slarticodefast slarticodefast merged commit 87ff3a2 into space-wizards:master Jan 16, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: Mapping Area: Maps, or tools used for mapping Changes: No C# Changes: Requires no C# knowledge to review or fix this item. Changes: Sprites Changes: Might require knowledge of spriting or visual design. D3: Low Difficulty: Some codebase knowledge required. P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. S: Approved Status: Reviewed and approved by at least one maintainer; a PR may require another approval. size/M Denotes a PR that changes 100-999 lines. T: New Feature Type: New feature or content, or extending existing content
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants