New event: Approaching unknown shuttle (#24490)
* setup codebase * Add first shuttle * tak * sync striker * sync 2 * pipipi * Preloaded roundstart shuttles! * Make it abstract "PreloaderGrid" not "PreloaderShuttle" * to do * added china cuisin shuttle * fixes * add disaster evacpod * remove enemy * final shuttles * weight 5 -> 10 * move data to component * remove autotrailer touching * doc, respath * fix frozen positioning * fixes + cvar * finally * fix evacpod * remove blacklistrules * remove `UnknownShuttleSpawnRule`, refactor `LoadMapRule` to support preloaded grids * use tryload * cleanup * fixes * use preloadedgrid for loneops * weight unknown shuttles differently (preliminal) * leftover * cleanup and raffling * partial review * singleton gridpreloader no station coupling * fix grid atmoses * `roleLoadout` support for `LoadoutComponent`, fix missing gear * weighting changes * init logic fix --------- Co-authored-by: Kara <lunarautomaton6@gmail.com>
This commit is contained in:
@@ -838,3 +838,17 @@
|
||||
- type: ConditionalSpawner
|
||||
prototypes:
|
||||
- MobLuminousEntity
|
||||
|
||||
- type: entity
|
||||
name: clown spider spawner
|
||||
id: SpawnClownSpider
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: green
|
||||
- state: clown
|
||||
sprite: Mobs/Animals/clownspider.rsi
|
||||
- type: ConditionalSpawner
|
||||
prototypes:
|
||||
- MobClownSpider
|
||||
@@ -589,3 +589,307 @@
|
||||
settings: default
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Cluwne
|
||||
|
||||
## Lost Cargo technician
|
||||
|
||||
- type: entity
|
||||
name: lost cargo technician spawner
|
||||
id: LostCargoTechnicianSpawner
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: red
|
||||
- sprite: Objects/Tools/appraisal-tool.rsi
|
||||
state: icon
|
||||
- type: RandomSpawner
|
||||
prototypes:
|
||||
- RandomHumanoidLostCargoTechnician
|
||||
chance: 1
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidLostCargoTechnician
|
||||
name: lost cargo technician ghost role
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Tools/appraisal-tool.rsi
|
||||
state: icon
|
||||
- type: RandomHumanoidSpawner
|
||||
settings: LostCargoTechnician
|
||||
|
||||
- type: randomHumanoidSettings
|
||||
id: LostCargoTechnician
|
||||
randomizeName: false
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-lost-cargo-technical-name
|
||||
description: ghost-role-information-lost-cargo-technical-description
|
||||
rules: ghost-role-information-lost-cargo-technical-rules
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Loadout
|
||||
roleLoadout: [ JobCargoTechnician ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- names_first
|
||||
- names_last
|
||||
|
||||
# Clown troupe
|
||||
|
||||
- type: entity
|
||||
name: clown troupe spawner
|
||||
id: ClownTroupeSpawner
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: red
|
||||
- sprite: Objects/Fun/bikehorn.rsi
|
||||
state: icon
|
||||
- type: RandomSpawner
|
||||
prototypes:
|
||||
- RandomHumanoidClownTroupe
|
||||
rarePrototypes:
|
||||
- RandomHumanoidClownTroupeBanana
|
||||
rareChance: 0.3
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidClownTroupe
|
||||
name: clown troupe ghost role
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Tools/appraisal-tool.rsi
|
||||
state: icon
|
||||
- type: RandomHumanoidSpawner
|
||||
settings: ClownTroupe
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidClownTroupeBanana
|
||||
name: banana clown troupe
|
||||
parent: RandomHumanoidClownTroupe
|
||||
components:
|
||||
- type: RandomHumanoidSpawner
|
||||
settings: ClownTroupeBanana
|
||||
|
||||
- type: randomHumanoidSettings
|
||||
id: ClownTroupe
|
||||
randomizeName: false
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-clown-troupe-name
|
||||
description: ghost-role-information-clown-troupe-description
|
||||
rules: ghost-role-information-clown-troupe-rules
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Loadout
|
||||
roleLoadout: [ JobClown ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- names_clown
|
||||
|
||||
- type: randomHumanoidSettings
|
||||
id: ClownTroupeBanana
|
||||
randomizeName: false
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-clown-troupe-name
|
||||
description: ghost-role-information-clown-troupe-description
|
||||
rules: ghost-role-information-clown-troupe-rules
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Loadout
|
||||
prototypes: [ BananaClown ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- names_clown
|
||||
|
||||
# Traveling exotic chef
|
||||
|
||||
- type: entity
|
||||
name: traveling chef spawner
|
||||
id: TravelingChefSpawner
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: red
|
||||
- sprite: Objects/Weapons/Melee/kitchen_knife.rsi
|
||||
state: icon
|
||||
- type: RandomSpawner
|
||||
prototypes:
|
||||
- RandomHumanoidTravelingChef
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidTravelingChef
|
||||
name: traveling chef ghost role
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Tools/appraisal-tool.rsi
|
||||
state: icon
|
||||
- type: RandomHumanoidSpawner
|
||||
settings: TravelingChef
|
||||
|
||||
- type: randomHumanoidSettings
|
||||
id: TravelingChef
|
||||
randomizeName: false
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-traveling-chef-name
|
||||
description: ghost-role-information-traveling-chef-description
|
||||
rules: ghost-role-information-traveling-chef-rules
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Loadout
|
||||
roleLoadout: [ JobChef ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- names_first
|
||||
- names_last
|
||||
|
||||
# Disaster victim
|
||||
|
||||
- type: entity
|
||||
name: disaster victim spawner
|
||||
id: DisasterVictimSpawner
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: red
|
||||
- sprite: Clothing/OuterClothing/Hardsuits/basic.rsi
|
||||
state: icon
|
||||
- type: RandomSpawner
|
||||
prototypes:
|
||||
- RandomHumanoidDisasterVictimRD
|
||||
- RandomHumanoidDisasterVictimCMO
|
||||
- RandomHumanoidDisasterVictimCaptain
|
||||
- MobSkeletonCloset
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidDisasterVictimRD
|
||||
name: disaster victim RD ghost role
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Clothing/OuterClothing/Hardsuits/basic.rsi
|
||||
state: icon
|
||||
- type: RandomHumanoidSpawner
|
||||
settings: DisasterVictimResearchDirector
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidDisasterVictimCMO
|
||||
parent: RandomHumanoidDisasterVictimRD
|
||||
name: disaster victim CMO ghost role
|
||||
components:
|
||||
- type: RandomHumanoidSpawner
|
||||
settings: DisasterVictimCMO
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidDisasterVictimCaptain
|
||||
parent: RandomHumanoidDisasterVictimRD
|
||||
name: disaster victim Captain ghost role
|
||||
components:
|
||||
- type: RandomHumanoidSpawner
|
||||
settings: DisasterVictimCaptain
|
||||
|
||||
- type: randomHumanoidSettings
|
||||
id: DisasterVictimResearchDirector
|
||||
randomizeName: false
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-disaster-victim-name
|
||||
description: ghost-role-information-disaster-victim-description
|
||||
rules: ghost-role-information-disaster-victim-rules
|
||||
raffle:
|
||||
settings: default
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Loadout
|
||||
roleLoadout: [ JobResearchDirector ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- names_first
|
||||
- names_last
|
||||
|
||||
- type: randomHumanoidSettings
|
||||
id: DisasterVictimCMO
|
||||
randomizeName: false
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-disaster-victim-name
|
||||
description: ghost-role-information-disaster-victim-description
|
||||
rules: ghost-role-information-disaster-victim-rules
|
||||
raffle:
|
||||
settings: default
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Loadout
|
||||
roleLoadout: [ JobChiefMedicalOfficer ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- names_first
|
||||
- names_last
|
||||
|
||||
- type: randomHumanoidSettings
|
||||
id: DisasterVictimCaptain
|
||||
randomizeName: false
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-disaster-victim-name
|
||||
description: ghost-role-information-disaster-victim-description
|
||||
rules: ghost-role-information-disaster-victim-rules
|
||||
raffle:
|
||||
settings: default
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Loadout
|
||||
roleLoadout: [ JobCaptain ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- names_first
|
||||
- names_last
|
||||
|
||||
# Syndie Disaster Victim
|
||||
|
||||
- type: entity
|
||||
name: syndie disaster victim spawner
|
||||
id: SyndieDisasterVictimSpawner
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: red
|
||||
- sprite: Structures/Decoration/banner.rsi
|
||||
state: banner_syndicate
|
||||
- type: RandomSpawner
|
||||
prototypes:
|
||||
- RandomHumanoidSyndieDisasterVictim
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidSyndieDisasterVictim
|
||||
name: syndie disaster victim ghost role
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Structures/Decoration/banner.rsi
|
||||
state: banner_syndicate
|
||||
- type: RandomHumanoidSpawner
|
||||
settings: SyndieDisasterVictim
|
||||
|
||||
- type: randomHumanoidSettings
|
||||
id: SyndieDisasterVictim
|
||||
randomizeName: false
|
||||
components:
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
- Syndicate
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-syndie-disaster-victim-name
|
||||
description: ghost-role-information-syndie-disaster-victim-description
|
||||
rules: ghost-role-information-syndie-disaster-victim-rules
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: Loadout
|
||||
prototypes: [ SyndicateOperativeGearCivilian ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- names_first
|
||||
- names_last
|
||||
|
||||
@@ -126,4 +126,4 @@
|
||||
id: BaseStationAllEventsEligible
|
||||
abstract: true
|
||||
components:
|
||||
- type: StationEventEligible # For when someone makes this more granular in the future.
|
||||
- type: StationEventEligible # For when someone makes this more granular in the future.
|
||||
|
||||
Reference in New Issue
Block a user