Random events (#706)
* first game event! Closet skeleton! * demiplane outbreak gamerules * Update game_presets.yml * d
This commit is contained in:
@@ -352,9 +352,9 @@ public sealed partial class ChatSystem : SharedChatSystem
|
||||
SoundSpecifier? announcementSound = null,
|
||||
Color? colorOverride = null)
|
||||
{
|
||||
sender ??= Loc.GetString("chat-manager-sender-announcement");
|
||||
sender ??= Loc.GetString("cp14-announcement-gamemaster"); //CP14 - replaced default sender
|
||||
|
||||
var wrappedMessage = Loc.GetString("chat-manager-sender-announcement-wrap-message", ("sender", sender), ("message", FormattedMessage.EscapeText(message)));
|
||||
var wrappedMessage = Loc.GetString("cp14-announcement-wrapped", ("sender", sender), ("message", FormattedMessage.EscapeText(message))); //CP14 - replaced default wrapped
|
||||
_chatManager.ChatMessageToManyFiltered(filter, ChatChannel.Radio, message, wrappedMessage, source ?? default, false, true, colorOverride);
|
||||
if (playSound)
|
||||
{
|
||||
|
||||
@@ -31,4 +31,9 @@
|
||||
- files: ["ambimagic5.ogg", "ambimagic6.ogg"]
|
||||
license: "CC0-1.0"
|
||||
copyright: 'by xkeril of Freesound.org.'
|
||||
source: "https://freesound.org/people/xkeril/sounds/706092/"
|
||||
source: "https://freesound.org/people/xkeril/sounds/706092/"
|
||||
|
||||
- files: ["event_boom.ogg"]
|
||||
license: "CC-BY-4.0"
|
||||
copyright: 'by juskiddink of Freesound.org.'
|
||||
source: "https://freesound.org/people/juskiddink/sounds/130890/"
|
||||
BIN
Resources/Audio/_CP14/Ambience/event_boom.ogg
Normal file
BIN
Resources/Audio/_CP14/Ambience/event_boom.ogg
Normal file
Binary file not shown.
2
Resources/Locale/en-US/_CP14/chat/chat-manager.ftl
Normal file
2
Resources/Locale/en-US/_CP14/chat/chat-manager.ftl
Normal file
@@ -0,0 +1,2 @@
|
||||
cp14-announcement-gamemaster = Narrator
|
||||
cp14-announcement-wrapped = [font size=14][bold]{$sender}: [/font][font size=12]{$message}[/font]
|
||||
1
Resources/Locale/en-US/_CP14/events/events.ftl
Normal file
1
Resources/Locale/en-US/_CP14/events/events.ftl
Normal file
@@ -0,0 +1 @@
|
||||
cp14-event-announcement-demiplane-outbreak = A sense of danger pierces the air... Something from other worlds is invading your town.
|
||||
@@ -1,2 +1,2 @@
|
||||
cp14-ghost-role-information-name-skeleton = Demiplane skeleton
|
||||
cp14-ghost-role-information-description-skeleton = A spawn of necromancy that seeks to kill all living things that have infiltrated the demiplane.
|
||||
cp14-ghost-role-information-name-skeleton = Undead skeleton
|
||||
cp14-ghost-role-information-description-skeleton = The spawn of necromancy, putting a living soul into dead bones. Often such souls are controlled by the necromancer, doing his bidding.
|
||||
@@ -1 +1,3 @@
|
||||
cp14-ghost-role-information-rules-demiplane = Вы - [color=red]антагонист демиплана[/color]. Ваша задача - убить вторженцев в демиплан любой ценой. Вы можете выполнять свою цель любыми способами. Вы не помните вашу прошлую жизнь, и вам абсолютно [color=red]НЕ[/color] разрешается помнить, скажем, имя, внешность и т.д. вашего предыдущего персонажа.
|
||||
cp14-ghost-role-information-rules-demiplane = You are the [colour=red]demiplane antagonist[/color]. Your task is to kill the demiplane invaders at any cost. You can fulfil your goal in any number of ways. You do not remember your past life, and you are absolutely [colour=red]NOT[/color] allowed to remember, say, the name, appearance, etc. of your previous character.
|
||||
|
||||
cp14-ghost-role-information-rules-free = You are a [colour=yellow]free antagonist[/color]. You can do whatever you want, as long as it doesn't result in widespread destruction and mass deaths. You do not remember your past life, and you are absolutely [colour=red]NOT[/color] allowed to remember, say, the name, appearance, etc. of your previous character.
|
||||
2
Resources/Locale/ru-RU/_CP14/chat/chat-manager.ftl
Normal file
2
Resources/Locale/ru-RU/_CP14/chat/chat-manager.ftl
Normal file
@@ -0,0 +1,2 @@
|
||||
cp14-announcement-gamemaster = Рассказчик
|
||||
cp14-announcement-wrapped = [font size=14][bold]{$sender}: [/font][font size=12]{$message}[/font]
|
||||
1
Resources/Locale/ru-RU/_CP14/events/events.ftl
Normal file
1
Resources/Locale/ru-RU/_CP14/events/events.ftl
Normal file
@@ -0,0 +1 @@
|
||||
cp14-event-announcement-demiplane-outbreak = Воздух пронзает чувство опасности... Что-то из других миров вторгается в ваш городок.
|
||||
@@ -1,2 +1,2 @@
|
||||
cp14-ghost-role-information-name-skeleton = Скелет демиплана
|
||||
cp14-ghost-role-information-description-skeleton = Порождение некромантии, стремящееся убить все живое, проникшее в демиплан.
|
||||
cp14-ghost-role-information-name-skeleton = Оживленный скелет
|
||||
cp14-ghost-role-information-description-skeleton = Порождение некромантии, вселившее живую душу в мертвые кости. Часто такие души контролируются некромантом, исполняя его волю.
|
||||
@@ -1 +1,3 @@
|
||||
cp14-ghost-role-information-rules-demiplane = Вы - [color=red]антагонист демиплана[/color]. Ваша задача - убить вторженцев в демиплан любой ценой. Вы можете выполнять свою цель любыми способами. Вы не помните вашу прошлую жизнь, и вам абсолютно [color=red]НЕ[/color] разрешается помнить, скажем, имя, внешность и т.д. вашего предыдущего персонажа.
|
||||
cp14-ghost-role-information-rules-demiplane = Вы - [color=red]антагонист демиплана[/color]. Ваша задача - убить вторженцев в демиплан любой ценой. Вы можете выполнять свою цель любыми способами. Вы не помните вашу прошлую жизнь, и вам абсолютно [color=red]НЕ[/color] разрешается помнить, скажем, имя, внешность и т.д. вашего предыдущего персонажа.
|
||||
|
||||
cp14-ghost-role-information-rules-free = Вы - [color=yellow]свободный антагонист[/color]. Вы можете делать все что хотите, если это не приводит к масштабным разрушениям и массовым смертям. Вы не помните вашу прошлую жизнь, и вам абсолютно [color=red]НЕ[/color] разрешается помнить, скажем, имя, внешность и т.д. вашего предыдущего персонажа.
|
||||
@@ -0,0 +1,74 @@
|
||||
- type: entity
|
||||
id: CP14BaseMobGroupSpawner
|
||||
abstract: true
|
||||
categories: [ ForkFiltered ]
|
||||
name: pulsating demiplane rift
|
||||
description: Something from the demiplanes is bursting into your world! Look out!
|
||||
components:
|
||||
- type: Transform
|
||||
anchored: True
|
||||
- type: Clickable
|
||||
- type: Physics
|
||||
canCollide: false
|
||||
bodyType: Static
|
||||
- type: Sprite
|
||||
drawdepth: Effects
|
||||
sprite: /Textures/_CP14/Structures/Dungeon/demiplan_rift.rsi
|
||||
layers:
|
||||
- state: pulse
|
||||
shader: unshaded
|
||||
color: red
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
energy: 2
|
||||
color: "#851531"
|
||||
netsync: false
|
||||
- type: AmbientSound
|
||||
volume: -3
|
||||
range: 7
|
||||
sound:
|
||||
path: /Audio/Ambience/Objects/gravity_gen_hum.ogg
|
||||
- type: TimedDespawn
|
||||
lifetime: 6
|
||||
- type: SingularityDistortion
|
||||
falloffPower: 1.5
|
||||
intensity: 50
|
||||
- type: EmitSoundOnSpawn
|
||||
sound:
|
||||
path: /Audio/Effects/demon_dies.ogg
|
||||
params:
|
||||
variation: 0.3
|
||||
|
||||
- type: entity
|
||||
parent: CP14BaseMobGroupSpawner
|
||||
id: CP14MobGroupSpawnerZombie
|
||||
suffix: 1-3 Zombie
|
||||
components:
|
||||
- type: EntityTableSpawner
|
||||
deleteSpawnerAfterSpawn: false
|
||||
offset: 1
|
||||
table: !type:GroupSelector
|
||||
rolls: !type:RangeNumberSelector
|
||||
range: 1, 3
|
||||
children:
|
||||
- id: CP14MobUndeadZombie
|
||||
weight: 2
|
||||
- id: CP14MobUndeadZombieGearEasy1
|
||||
- id: CP14MobUndeadZombieGearEasy2
|
||||
- id: CP14MobUndeadZombieGearEasy3
|
||||
- id: CP14MobUndeadZombieGearMedium1
|
||||
- id: CP14MobUndeadZombieGearMedium2
|
||||
|
||||
- type: entity
|
||||
parent: CP14BaseMobGroupSpawner
|
||||
id: CP14MobGroupSpawnerHydras
|
||||
suffix: 1-3 Hydras
|
||||
components:
|
||||
- type: EntityTableSpawner
|
||||
deleteSpawnerAfterSpawn: false
|
||||
offset: 1
|
||||
table: !type:GroupSelector
|
||||
rolls: !type:RangeNumberSelector
|
||||
range: 1, 3
|
||||
children:
|
||||
- id: CP14MobDinoSmallHydra
|
||||
@@ -27,11 +27,6 @@
|
||||
children:
|
||||
- id: CP14MobUndeadZombieGearMedium1
|
||||
- id: CP14MobUndeadZombieGearMedium2
|
||||
- !type:GroupSelector
|
||||
weight: 10
|
||||
children:
|
||||
- id: CP14MobUndeadZombieGearHard1
|
||||
- id: CP14MobUndeadZombieGearHard2
|
||||
|
||||
# Animal
|
||||
|
||||
|
||||
@@ -16,6 +16,22 @@
|
||||
skills:
|
||||
- Warcraft
|
||||
|
||||
- type: entity
|
||||
id: CP14MobUndeadSkeletonCloset
|
||||
parent: CP14MobUndeadSkeleton
|
||||
components:
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: GhostRole
|
||||
name: cp14-ghost-role-information-name-skeleton
|
||||
allowMovement: true
|
||||
description: cp14-ghost-role-information-description-skeleton
|
||||
rules: cp14-ghost-role-information-rules-free
|
||||
raffle:
|
||||
settings: default
|
||||
- type: Loadout
|
||||
prototypes:
|
||||
- CP14MobSkeletonCloset
|
||||
|
||||
- type: entity
|
||||
id: SpawnPointGhostDemiplaneSkeleton
|
||||
name: ghost role spawn point
|
||||
|
||||
@@ -60,22 +60,4 @@
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [ CP14MobUndeadMedium2 ]
|
||||
|
||||
- type: entity
|
||||
id: CP14MobUndeadZombieGearHard1
|
||||
parent: CP14MobUndeadZombie
|
||||
suffix: Zombie. Hard
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [ CP14MobUndeadHard1 ]
|
||||
|
||||
- type: entity
|
||||
id: CP14MobUndeadZombieGearHard2
|
||||
parent: CP14MobUndeadZombie
|
||||
suffix: Zombie. Hard
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [ CP14MobUndeadHard2 ]
|
||||
prototypes: [ CP14MobUndeadMedium2 ]
|
||||
@@ -71,6 +71,7 @@
|
||||
- type: PointLight
|
||||
energy: 5
|
||||
radius: 8
|
||||
- type: VentCritterSpawnLocation # Uggh, need something better
|
||||
|
||||
- type: entity
|
||||
parent: CP14BaseLamppost
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
- type: entity
|
||||
parent: CP14BaseGameRule
|
||||
id: CP14BaseStationEventShortDelay
|
||||
abstract: true
|
||||
components:
|
||||
- type: GameRule
|
||||
delay:
|
||||
min: 10
|
||||
max: 20
|
||||
|
||||
- type: entityTable
|
||||
id: CP14BasicCalmEventsTable
|
||||
table: !type:AllSelector
|
||||
children:
|
||||
- id: CP14ClosetSkeleton
|
||||
- id: CP14ZombiesSpawn
|
||||
- id: CP14HydrasSpawn
|
||||
|
||||
- type: entity
|
||||
parent: CP14BaseGameRule
|
||||
id: CP14ClosetSkeleton
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 5
|
||||
duration: 1
|
||||
minimumPlayers: 10
|
||||
- type: RandomEntityStorageSpawnRule
|
||||
prototype: CP14MobUndeadSkeletonCloset
|
||||
|
||||
- type: entity
|
||||
parent: CP14BaseStationEventShortDelay
|
||||
id: CP14ZombiesSpawn
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: cp14-event-announcement-demiplane-outbreak
|
||||
startAudio:
|
||||
path: /Audio/_CP14/Ambience/event_boom.ogg
|
||||
earliestStart: 20
|
||||
minimumPlayers: 15
|
||||
weight: 5
|
||||
duration: 60
|
||||
- type: VentCrittersRule
|
||||
entries:
|
||||
- id: CP14MobGroupSpawnerZombie
|
||||
prob: 0.05
|
||||
|
||||
- type: entity
|
||||
parent: CP14BaseStationEventShortDelay
|
||||
id: CP14HydrasSpawn
|
||||
components:
|
||||
- type: StationEvent
|
||||
startAnnouncement: cp14-event-announcement-demiplane-outbreak
|
||||
startAudio:
|
||||
path: /Audio/_CP14/Ambience/event_boom.ogg
|
||||
earliestStart: 20
|
||||
minimumPlayers: 15
|
||||
weight: 5
|
||||
duration: 60
|
||||
- type: VentCrittersRule
|
||||
entries:
|
||||
- id: CP14MobGroupSpawnerHydras
|
||||
prob: 0.05
|
||||
|
||||
@@ -34,9 +34,6 @@
|
||||
startingGear: CP14SociopathGear
|
||||
max: 8
|
||||
playerRatio: 10
|
||||
#blacklist:
|
||||
# components:
|
||||
# - AntagImmune
|
||||
lateJoinAdditional: true
|
||||
mindRoles:
|
||||
- CP14MindRoleSociopath
|
||||
@@ -44,3 +41,20 @@
|
||||
text: cp14-roles-antag-sociopath-briefing
|
||||
color: "#cc3010"
|
||||
sound: "/Audio/_CP14/Ambience/Antag/bandit_start.ogg"
|
||||
|
||||
# event schedulers
|
||||
|
||||
- type: entity
|
||||
id: CP14BasicStationEventScheduler
|
||||
parent: CP14BaseGameRule
|
||||
components:
|
||||
- type: BasicStationEventScheduler
|
||||
scheduledGameRules: !type:NestedSelector
|
||||
tableId: CP14BasicGameRulesTable
|
||||
|
||||
- type: entityTable
|
||||
id: CP14BasicGameRulesTable
|
||||
table: !type:AllSelector
|
||||
children:
|
||||
- !type:NestedSelector
|
||||
tableId: CP14BasicCalmEventsTable
|
||||
@@ -31,31 +31,15 @@
|
||||
pants: CP14ClothingPantsTrouserWhite
|
||||
head: CP14ClothingHeadBeretRed
|
||||
|
||||
- type: startingGear
|
||||
id: CP14MobUndeadHard1
|
||||
equipment:
|
||||
cloak: CP14ClothingCloakInfantryCuirass
|
||||
shirt: CP14ClothingShirtMercenary
|
||||
pants: CP14ClothingPantsMercenaryTrousers
|
||||
shoes: CP14ClothingShoesBlack
|
||||
back: CP14BaseTwoHandedSword
|
||||
head: CP14ClothingHeadBeretMercenary
|
||||
|
||||
- type: startingGear
|
||||
id: CP14MobUndeadHard2
|
||||
equipment:
|
||||
cloak: CP14ClothingCloakCuirassLoincloth
|
||||
shirt: CP14ClothingShirtMercenary
|
||||
pants: CP14ClothingPantsMercenaryTrousers
|
||||
shoes: CP14ClothingShoesBlack
|
||||
back: CP14BaseShield
|
||||
head: CP14ClothingHeadCapellina
|
||||
mask: CP14ClothingMaskSteelMask
|
||||
|
||||
- type: startingGear
|
||||
id: CP14MobSkeleton
|
||||
equipment:
|
||||
pants: CP14ClothingPantsLoincloth
|
||||
neck: CP14ModularSkeletonHalberd
|
||||
inhand:
|
||||
- CP14TorchIgnited
|
||||
- CP14TorchIgnited
|
||||
|
||||
- type: startingGear
|
||||
id: CP14MobSkeletonCloset
|
||||
equipment:
|
||||
pants: CP14ClothingPantsLoincloth
|
||||
@@ -19,6 +19,7 @@
|
||||
rules:
|
||||
- CP14SociopathsRule
|
||||
- CP14RoundObjectivesRule
|
||||
- CP14BasicStationEventScheduler
|
||||
|
||||
- type: gamePreset
|
||||
id: CP14Sandbox
|
||||
@@ -31,3 +32,4 @@
|
||||
rules:
|
||||
- Sandbox
|
||||
- CP14RoundObjectivesRule
|
||||
- CP14BasicStationEventScheduler
|
||||
|
||||
Reference in New Issue
Block a user