Skip to content

Commit

Permalink
Dual Antag Gamemodes, Calm Variants of game rules, and changeling del…
Browse files Browse the repository at this point in the history
…ay matches traitor (Simple-Station#412)

* Adds "Calm" Variants of gamerules, for dual antag gamemodes/admin usage

* Create presets-dualantag.ftl

* Update presets-dualantag.ftl

* Update presets-dualantag.ftl

* Update presets-dualantag.ftl

* Adds Dual Antag Presets

* Update secret_weights.yml

* Update roundstart.yml

* Update roundstart.yml

* forgot about that~ - Thieves removed from dual antag

* Update presets-dualantag.ftl

* Piras weights - These seem to push the no major pretty low at 60%, may have to change later based on player feedback but that requires these weights to be played first.

* really, me?
  • Loading branch information
TooSillyFennec authored and VMSolidus committed Aug 16, 2024
1 parent 92ced32 commit eb94336
Show file tree
Hide file tree
Showing 6 changed files with 262 additions and 58 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
traitorling-title = Traitorling
traitorling-description = Attention. Known enemy signals and strange biosigns detected. Confirmed Syndicate Agents and Changelings on board.
revtraitor-title = Revolutionary Traitors
revtraitor-description = A revolution has been provoked by a member of the Syndicate, but not every agent got the hint...
revling-title = Revolutionary Changelings
revling-description = A revolution has been provoked by the Syndicate, and opportunistic changelings have come to feast on the carnage.

This file was deleted.

31 changes: 0 additions & 31 deletions Resources/Prototypes/Goobstation/Changeling/game_presets.yml

This file was deleted.

149 changes: 149 additions & 0 deletions Resources/Prototypes/Goobstation/GameRules/roundstart.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
- type: entity
parent: BaseGameRule
id: Changeling
components:
- type: ChangelingRule
- type: GameRule
minPlayers: 15
delay:
min: 240
max: 420
- type: AntagSelection
agentName: changeling-roundend-name
definitions:
- prefRoles: [ Changeling ]
max: 5
playerRatio: 15
lateJoinAdditional: true
mindComponents:
- type: ChangelingRole
prototype: Changeling

- type: entity
parent: BaseTraitorRule
id: CalmTraitor # For Dual Antag Gamemodes
components:
- type: GameRule
minPlayers: 30
delay:
min: 240
max: 420
- type: AntagSelection
definitions:
- prefRoles: [ Traitor ]
max: 5
playerRatio: 15
blacklist:
components:
- AntagImmune
- Changeling
lateJoinAdditional: true
mindComponents:
- type: TraitorRole
prototype: Traitor

- type: entity
parent: Changeling
id: CalmLing # For Dual Antag Gamemodes
components:
- type: GameRule
minPlayers: 30
delay:
min: 240
max: 420
- type: AntagSelection
agentName: changeling-roundend-name
definitions:
- prefRoles: [ Changeling ]
max: 2
playerRatio: 20
lateJoinAdditional: true
mindComponents:
- type: ChangelingRole
prototype: Changeling

- type: entity
parent: BaseNukeopsRule
id: Calmops # For Dual Antag Gamemodes
components:
- type: GameRule
minPlayers: 30
- type: LoadMapRule
gameMap: NukieOutpost
- type: AntagSelection
selectionTime: PrePlayerSpawn
definitions:
- prefRoles: [ NukeopsCommander ]
fallbackRoles: [ Nukeops, NukeopsMedic ]
spawnerPrototype: SpawnPointNukeopsCommander
startingGear: SyndicateCommanderGearFull
components:
- type: NukeOperative
- type: RandomMetadata
nameSegments:
- nukeops-role-commander
- SyndicateNamesElite
- type: NpcFactionMember
factions:
- Syndicate
mindComponents:
- type: NukeopsRole
prototype: NukeopsCommander
- prefRoles: [ NukeopsMedic ]
fallbackRoles: [ Nukeops, NukeopsCommander ]
spawnerPrototype: SpawnPointNukeopsMedic
startingGear: SyndicateOperativeMedicFull
components:
- type: NukeOperative
- type: RandomMetadata
nameSegments:
- nukeops-role-agent
- SyndicateNamesNormal
- type: NpcFactionMember
factions:
- Syndicate
mindComponents:
- type: NukeopsRole
prototype: NukeopsMedic
- prefRoles: [ Nukeops ]
fallbackRoles: [ NukeopsCommander, NukeopsMedic ]
spawnerPrototype: SpawnPointNukeopsOperative
max: 1
playerRatio: 15
startingGear: SyndicateOperativeGearFull
components:
- type: NukeOperative
- type: RandomMetadata
nameSegments:
- nukeops-role-operator
- SyndicateNamesNormal
- type: NpcFactionMember
factions:
- Syndicate
mindComponents:
- type: NukeopsRole
prototype: Nukeops

- type: entity
id: CalmRevs # For Dual Antag Gamemodes
parent: BaseGameRule
components:
- type: GameRule
minPlayers: 30
- type: RevolutionaryRule
- type: AntagSelection
definitions:
- prefRoles: [ HeadRev ]
max: 1
playerRatio: 25
briefing:
text: head-rev-role-greeting
color: CornflowerBlue
sound: "/Audio/Ambience/Antag/headrev_start.ogg"
startingGear: HeadRevGear
components:
- type: Revolutionary
- type: HeadRevolutionary
mindComponents:
- type: RevolutionaryRole
prototype: HeadRev
92 changes: 92 additions & 0 deletions Resources/Prototypes/Goobstation/game_presets.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
- type: gamePreset
id: Changeling
alias:
- ling
- lings
- changeling
name: changeling-gamemode-title
description: changeling-gamemode-description
showInVote: false
rules:
- Changeling
- SubGamemodesRule
- BasicStationEventScheduler
- GameRuleMeteorScheduler
- BasicRoundstartVariation

- type: gamePreset
id: Traitorling
alias:
- lingtraitor
- traitorling
name: traitorling-title
description: traitorling-description
showInVote: false
rules:
- CalmLing
- CalmTraitor
- BasicStationEventScheduler
- GameRuleMeteorScheduler
- BasicRoundstartVariation

- type: gamePreset
id: NukeTraitor
alias:
- nuketot
- optraitor
- optot
name: nukeops-title
description: nukeops-description
showInVote: false
rules:
- Calmops
- CalmTraitor
- BasicStationEventScheduler
- GameRuleMeteorScheduler
- BasicRoundstartVariation

- type: gamePreset
id: NukeLing
alias:
- nukeling
- opling
name: nukeops-title
description: nukeops-description
showInVote: false
rules:
- Calmops
- CalmLing
- BasicStationEventScheduler
- GameRuleMeteorScheduler
- BasicRoundstartVariation

- type: gamePreset
id: RevTraitor
alias:
- revtraitor
- revtot
- totrevs
name: revtraitor-title
description: revtraitor-description
showInVote: false
rules:
- CalmRevs
- CalmTraitor
- BasicStationEventScheduler
- GameRuleMeteorScheduler

- type: gamePreset
id: RevLing
alias:
- revling
- lingrevs
name: revling-title
description: revling-description
showInVote: false
rules:
- CalmRevs
- CalmLing
- BasicStationEventScheduler
- GameRuleMeteorScheduler
- BasicRoundstartVariation
- BasicRoundstartVariation
20 changes: 13 additions & 7 deletions Resources/Prototypes/secret_weights.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
- type: weightedRandom
id: Secret
weights:
Survival: 0.44
Nukeops: 0.14
Zombie: 0.03
Traitor: 0.39
Changeling: 0.20
#Pirates: 0.15 #ahoy me bucko

Traitor: 0.40
Changeling: 0.10
Traitorling: 0.05
Nukeops: 0.20
NukeTraitor: 0.01
NukeLing: 0.01
Revolutionary: 0.10
RevTraitor: 0.02
RevLing: 0.01
Zombie: 0.05
Survival: 0.05
# Wizard: 0.05
# Cult: 0.05

0 comments on commit eb94336

Please sign in to comment.