Commit Graph

43 Commits

Author SHA1 Message Date
deltanedas
7f060eb129 make thief a subgamemode (#25740)
* add SubGamemodes comp/sys

* remove RuleChance from thief rule

* use SubGamemodes for adding thief rule instead of adding ThiefRule component to random gamemodes

* clean up thief rule prototype

* add better logging + end rule if it fails to start

* march 1st incident

* preset ops

* the dreaded

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-03-02 11:33:24 -05:00
Rainfey
4e6c59cfe5 Refactor antag rule code (#23445)
* Initial Pass, Rev, Thief

* Zombie initial pass

* Rebase, Traitor

* Nukeops, More overloads

* Revert RevolutionaryRuleComponent

* Use TryRoundStartAttempt, Rewrite nukie spawning

* Comments, Add task scheduler to GameRuleSystem

* Zombie initial testing done

* Sort methods, rework GameRuleTask

* Add CCVar, Initial testing continues

* Might as well get rid of the obsolete logging

* Oops, i dont know how to log apparently

* Suggested formatting fixes

* Suggested changes

* Fix merge issues

* Minor optimisation

* Allowed thief to choose other antags

* Review changes

* Spawn items on floor first, then inserting

* minor tweaks

* Shift as much as possible to ProtoId<>

* Remove unneeded

* Add exclusive antag attribute

* Fix merge issues

* Minor formatting fix

* Convert to struct

* Cleanup

* Review cleanup (need to test a lot)

* Some fixes, (mostly) tested

* oop

* Pass tests (for real)

---------

Co-authored-by: Rainfall <rainfey0+git@gmail.com>
Co-authored-by: AJCM <AJCM@tutanota.com>
2024-02-29 17:25:10 +11:00
Kara
cc24ba6a31 Roundstart variation game rules (#24397)
* Raise `StationPostInitEvent` broadcast

* Basic variation pass handling

* standardize names + rule entities

* why does it work like that?

* add to defaults

* light break variation pass

* ent spawn entry

* move some stationevent utility functions to gamerule + add one for finding random tile on specified station

* forgot how statistics works

* powered light variation pass is good now

* station tile count function

* public method to ensure all solutions (for procedural use before mapinit)

* move gamerulesystem utility funcs to partial

* ensure all solutions before spilling in puddlesystem. for use when spilling before mapinit

* trash & puddle variation passes!

* oh yeah

* ehh lets live a little

* std

* utility for game rule check based on comp

* entprotoid the trash spawner oops

* generalize trash variation

* use added instead of started for secret rule

* random cleanup

* generic replacement variation system

* Wall rusting variation rule

* account for modifying while enumerating

* use localaabb

* fix test

* minor tweaks

* reinforced wall replacer + puddletweaker
2024-01-30 21:52:35 -08:00
IProduceWidgets
fad00bb3b3 Zombie round shuttle autocall waits until more crew are zombied. (#24379)
More zombie more fun.
2024-01-21 21:02:25 -05:00
Ed
166296b2c5 Thief hotfix (#22976)
* fixes!

* reduced collection amount

* omeeeeega

* pipup

* popup
2023-12-27 12:42:15 -08:00
Ed
78354052ea Thief pacifist (#22932)
* pac

* to settings

* ensuuure me princess

* Update Content.Server/GameTicking/Rules/Components/ThiefRuleComponent.cs

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>

* Update Content.Server/GameTicking/Rules/ThiefRuleSystem.cs

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>

---------

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>
2023-12-24 20:42:48 -07:00
Ed
144af233c4 New Thief minor antagonist (#21520)
* start working

* add right-click thief antagins
some architecture restruct

* add meh thief greeting audio

* add thief subgamemode to Traitors gamemode

* add late join thief (not tested yet)
add briefing

* add pacifism

* add Steal tasks to thief

* fix crash thief+traitor on person

* add new condition: collection steal

* add tracking of succes collection objective

* add stamp collection target
remove some boring steal target
add check pulling entity to collection target

* finalize first 2 group objective

* start merging stealing objective systems

* merging

* finish merging. Now traitor steal objective work better

* we don't check the items of pullable sentient entity

* clear naming, enable thief signle item objective start

* objective pack add

* finish with steal item objectives

* convert string to ProtoId<>

* some clean up

* add thieves to revolution game mode

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>

* update pacifism: fix crashing, monkey-thief without pacified

* adaptive animal briefing, cleaning locales

* add structure steal objectives

* remove RCD target

* add thiefs to manifest, but bug with traitor duplications

* add escape objective

* add chat briefing

* setup animal objective group system

* add animal steal objectives

* add animal objectives notroleconditions

* add morty

* now thief mode has a chance of not launching Now there are a random number of thieves per round from 1 to 3

* 6 hours of trying to fix duplicate tasks. Failure

* added thief pinpointer (buggy)

* start thief backpack UI work

* revert pinpointer for scope reason

* UI continue work

* add thief starter kits content

* remove ERP kit :trollface:

* finally! giving starting items to thief. Now it playable, but still need more work

* clean up

* fix

* fox

* add merged items into thief
new Starting Kit (buggy)

* fix YES antag menu

* objection tweaks

* remove hearts objective, working on spawning things from toolbox

* smug

* fixes

* add race specifier objective condition LAMPS

* meh

* fix fix fix

* the alive

* Adding stamps

* Update backpack.ftl

* Revert1

* Revert ftl

* add voice mask to communicator kit

* Update Resources/Locale/en-US/administration/antag.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/objectives/conditions/steal.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/prototypes/roles/antags.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* update

* fix

* more reusable function, add documentation

* fix doc

* faint fixes

---------

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
2023-12-24 02:58:28 -07:00
2013HORSEMEATSCANDAL
23b54dae79 Operations (#21154)
* Creates an operation name when Nukies spawn.

* Fixed each nukie getting a different name

* Fixed it again for real this time

* commit name

* Revert "fix (#20719)"

This reverts commit bfa301b53e.

* Fixed it (for real this time it works now I swear)

* Update Content.Server/GameTicking/Rules/NukeopsRuleSystem.cs

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>

* shortened variable names

* moved a method

* typo fix

* rewrote the lists in alphabetical order

---------

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>
2023-11-16 14:04:50 -07:00
Robert Hardy
ac6419c1d1 Changed NukeOps Shuttle Call Time from 10 Minutes to 3 Minutes (#21690)
* Changed NukeOps Round End Behavior to Instant Round End

* Changed RoundEndBehavior and EvacShuttleTime
2023-11-16 14:01:05 -07:00
IntegerTempest
615f15e8a9 Nukeops hud (#21260)
* a

* a

* a2

* syndi visor

* left icon

* a3
2023-11-05 19:36:08 -07:00
Leon Friedrich
e685cb626b Un-revert IPlayerManager refactor (#21244) 2023-10-28 09:59:53 +11:00
JoeHammad1844
c9827c5364 headrev spawn music (#21119)
* headrev spawn music

* :trollface:

* skill issue

* double skill issue

* :trollface:

* :trollface:

* :trollface:
2023-10-26 22:19:35 -04:00
metalgearsloth
a2bbda43cc Revert "Update submodule to 172.0.0 (#21222)" (#21225) 2023-10-24 21:55:20 +11:00
Leon Friedrich
7ba0ea2926 IPlayerManager refactor (#21215) 2023-10-24 20:19:08 +11:00
Vasilis
e04d6a312c Fixed players without headrevs ticked being picked anyway (#20895)
* Fixy fix fix uwu merge pwease

* admin message to inform them

* oop
2023-10-18 23:48:55 -04:00
coolmankid12345
9df5ded9ad Revolutionaries (#18477)
Co-authored-by: coolmankid12345 <coolmankid12345@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2023-10-04 18:47:33 -07:00
DrSmugleaf
2f4b2cc887 Add active and ended game rule components, generic TryRoundStartAttempt and minPlayers field (#20564)
* Improve active game rule querying, add generic try round start attempt method, move minPlayers to GameRuleComponent

* Nukeops todo and cleanup

* Remove Active field

* Add EndedGameRuleComponent
2023-09-28 10:48:59 -04:00
deltanedas
91a157d7ed use weighted random for ninja threats (#20469)
* change threats to be weighted random and a little cleanup

* ninja rule stores weighted random id for threats

* move threats out of the rule and into weighted random

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-24 23:16:09 -04:00
csqrb
7bb3dd09c7 After killing all nuclear operatives, shuttle will be called instead of instant round end (#19850)
* ☢️🕵️💀🚫📄🚀

* 🚀📢📥📜

* 🔧🐛📢🚹🚉👑👑

* 😪

* 🧱

* 🚀🛬🕔➡️🕙

* ☢️⚙️🔵🔚🔨➡️🔵🔚⚙️

these commit names are literally evil who tf does this
2023-09-24 16:16:33 -04:00
deltanedas
37c5020a71 move ninja objectives code into generic antag system (#20186)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-21 07:33:18 -07:00
deltanedas
621e102c93 refactor nukeops rule a bit (#19792)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 21:48:42 +10:00
deltanedas
f7711edbe3 Objectives ecs rework (#19967)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-16 16:18:10 +10:00
deltanedas
24810d916b ninja 2 electric boogaloo (#15534)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-10 16:20:27 +10:00
DrSmugleaf
c71f97e3a2 Refactor actions to be entities with components (#19900) 2023-09-08 18:16:05 -07:00
DrSmugleaf
3f3ba6ac62 Move minds, roles, jobs and objectives to shared (#19679) 2023-08-30 21:46:11 -07:00
Nemanja
4d677f0685 1v1 me first to 31 no powerups [Deathmatch Gamemode] (#19467)
Co-authored-by: Kara <lunarautomaton6@gmail.com>
2023-08-30 18:06:15 -07:00
Morb
c99e365ce7 Give nukies the ability to declare war for a TC boost (#19291)
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2023-08-29 23:56:20 -08:00
DrSmugleaf
15c0211fb2 Refactor minds to be entities with components, make roles components (#19591)
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2023-08-28 16:53:24 -07:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
Vordenburg
71d4303393 Lint more stuff (#19307) 2023-08-19 11:00:41 -07:00
Leon Friedrich
385b587cfc Validate prototype ids in c# fields (#18224) 2023-07-30 03:34:51 +10:00
Nemanja
d55cd23b0a Zombie Mode 𝓡𝓮𝓭𝓾𝔁 (#18199)
* zombie mode redux

* the great zombie changes

* fix this

* 65 down to 50

* empty

* Changes to address stalling

* make zombie nukies no longer nukies

* actually work
2023-07-25 15:31:35 -06:00
Leon Friedrich
541eb417e3 Rename Faction to NpcFaction (#18079) 2023-07-17 13:51:52 +10:00
Vyacheslav Titov
2e241691aa Refactoring of roles and notifications about antagonist assignment (#16864)
* Refactoring of antagonist roles and notifications about antagonist role assignment.
Refactoring of traitor assignment methods and bug fixing.

* Announcement files moved, code is adjusted to new revision

* Play to entity changed to play to global cause of mono audio restrictions.

* Path to audio files changed to sound specifiers, unique alerts for each role.

* Uncommited changes

* New alert sounds for each antag role.

* PR review fixes

* Antagonist role assignment sound notifications moved to Systems, sounds moved to Components.

* License update

* Fixed naming and redundant parameters

---------

Co-authored-by: Титов Вячеслав Витальевич <rincew1nd@yandex.ru>
2023-06-07 01:15:22 -06:00
Moony
e92a8fedab Refactor stations to properly use entity prototypes. (stationsv3) (#16570)
* Update StationSpawningSystem.cs

Web-edit to allow feeding in an existing entity.

* Update StationSpawningSystem.cs

value type moment

* Update StationSpawningSystem.cs

* Oh goddamnit this is a refactor now.

* awawawa

* aaaaaaaaaaa

* ee

* forgot records.

* no records? no records.

* What's in a name?

* Sloth forcing me to do the refactor properly smh.

* e

* optional evac in test.

* tests pls work

* awa

---------

Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
2023-05-19 15:45:09 -05:00
Tom Leys
d3b6bb62c0 Zombie virus delayed from 20-30 minutes from rule start. (#16346) 2023-05-16 01:59:39 -04:00
OctoRocket
84c00de6bc [Tweak] One nukeop per Ten people (#16353) 2023-05-12 18:55:47 -04:00
metalgearsloth
0e81cb4319 Remove diseases (#15684) 2023-05-07 17:50:37 +10:00
lzk228
7ecafb45e8 Nuke agent is separete role (#15385)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-05-02 00:20:56 +10:00
Nemanja
59349b1b9b Gamerule Entities, Take 2 (#15765) 2023-04-25 20:23:14 -04:00
metalgearsloth
d3552dae00 Revert "Gamerule Entities" (#15724) 2023-04-24 16:21:05 +10:00
Nemanja
39cc02b8f9 Gamerule Entities (#15513) 2023-04-24 15:20:51 +10:00
TekuNut
d946ed5009 NukeOps game rule tweaks (#10005)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-08-31 19:36:27 -07:00