Commit Graph

44 Commits

Author SHA1 Message Date
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
Vyacheslav Kovalevsky 7311ce671f
Store ninja objectives in conditions 2 (#20894)
* move spider charge target from role

* shorter field names

* remove ninja role comment

* remove unused systems in SpaceNinjaSystem

* GenericAntagObjectivesAddedEvent

* check if warp point is on same map

* remove unnecessary import

* add missing loc when spider charge has no target

* a

* remove spider charge target requirement comp

* inline SpiderChargeTitle

* allow planting charge without objective

* remove map check

* fix role check when planting

* obj.Target

* Fix merge

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-01-29 15:06:32 +11:00
deltanedas 52532e4075
exterminator midround minor antag (#19946)
* terminator locale

* terminate objective

* terminator components and shared system

* terminator roles rules and system

* terminator events

* skeleton recolour

* terminator and endoskeleton

* ghost role spawn

* damage modifier sets

* :trollface:

* :trollface:

* add antag prototype

* ghost role locale

* skynet

* :trollface:

* :trollface:

* :trollface:

* add endoskeleton body prototype

* :trollface:

* :trollface:

* smite locale

* implement terminate smite

* :trollface:

* :trollface:

* implement PopupBehavior

* endoskeleton transform popup

* move stuff from shared to server since nothing actually used it

* recolour everything

* update parts

* :trollface:

* :trollface:

* ok fire was using the damage set, back to 1.0

* tweak

* :trollface:

* :trollface:

* simplemob ops

* 1 rule per pro

* :trollface:

* :trollface:

* update some sprites

* structural damage

* :trollface:

* :trollface:

* Revert "update some sprites"

This reverts commit 459196c6a8942c5412885d5fe2f1a83a48408ddc.

* offbrand, add die objective to maybe remove fear of murderbone

* add shut down objective to the list

* fix ghost role

* fix control mob

* :trollface:

* :trollface:

* please

* naming

* code changes for GenericAntag terminator

* yml changes for GenericAntag terminator

* :trollface:

* moved kill objective override to an objective component

* use kill objective override

* fix

* oh

* locale changes

* change burn to heat for skin melting gib

* change some endoskeleton stuff

* pro

* i already did this dementia ops

* objective

* fix

* pro

* swap out full sprite

* update parts

* forgor

* fix mind transfer

* type

* endoskeleton has 500 mass

* evil

* fishops

* warops

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-12-24 20:16:56 -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
deltanedas 24476721af
rev roundend shows converted count (#21854)
* add ConvertedCount field to role

* make objectives roundend title logic reusable

* change rev system + use GetTitle

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-27 14:43:48 -07:00
DrSmugleaf dc3b6e31b2
Fix Client RoleSystem not inheriting SharedRoleSystem, network job component (#21436) 2023-11-07 14:44:53 -08:00
Slava0135 6f8c2b7e52
Use conditions to store progress for Ninja objectives (#20254)
* TryGetObjectiveComp

* helper function to get objective

* store N of jacked doors in condition

* store called in threat bool in condition

* store techs in steal research condition

* fix access

* remove unused transform system

* use popup from shared system

* fix formatting

* condition => obj everywhere

* i fogror to remove downloaded nodes from role

* change signature

* use query

* View Variables

* spider charge detonated => condition
2023-10-10 09:32:10 +03:00
deltanedas a365568a7a
give revs briefing (#20749)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-05 08:05:09 -07:00
DrSmugleaf 066054982d
Fix revolutionaries not being considered antags (#20739) 2023-10-04 22:40:52 -06: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
deltanedas 94a11f28ca
dragon refactor, objectives and use GenericAntag (#20201)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-30 13:18:01 -07:00
metalgearsloth e1a91466f1
Fix playtime tracker (#20014) 2023-09-11 17:42:25 +10:00
metalgearsloth b77265314b
Make role timer tooltips pretty (#19605)
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-09-11 15:44:21 +10:00
deltanedas 24810d916b
ninja 2 electric boogaloo (#15534)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-10 16:20:27 +10:00
Nemanja cc5e185c6e
Fix initial infected transformation (#19735) 2023-09-08 17:29:49 -04:00
deltanedas 7842f0d055
decouple briefing from traitor (#19668)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-08-31 14:29:45 -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
DrSmugleaf 084ad5415c
Fix jobs not getting their round start message (#19643) 2023-08-29 17:50:23 -05:00
DrSmugleaf 9567ae3b7f
Fixed not tracking job playtime (#19639) 2023-08-29 13:39:16 -07: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
Nemanja 7ddee71379
More borg tweaks (#19143)
* borg tweaks but i'm gonna go code fun stuff first

* werkin' on it

* a ton of tweaks

* fuck everyone and then myself
2023-08-14 18:34:23 -05:00
ShadowCommander dd7032a860
Mind ECS (#16826) 2023-06-19 04:33:19 +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
Leon Friedrich 4d71b1b81e
Revert "Mind ecs" (#14881) 2023-03-27 08:24:00 +11:00
ShadowCommander bfc4da9377
Mind ecs (#14412) 2023-03-26 14:31:13 -04:00
Visne c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
Mervill 9c27f8417b
Show the station name on spawn (#12128) 2022-10-22 14:51:51 -07:00
Kara db1dfc8958
Command perm modifications (#11273)
* Command perm modifications

* actually not this one

* string
2022-09-14 19:02:38 -05:00
Pieter-Jan Briers e852ada6c8
Play time tracking: Job timers 3: more titles: when the (#9978)
Co-authored-by: Veritius <veritiusgaming@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-08-07 16:00:42 +10:00
Rane cfe39123a7
Allow non-humanoid roles (#9604) 2022-07-10 20:10:03 -05:00
Morber 7a14c6f331
Localize jobs (#8968)
* Localize job supervisors

* Rename supervisors file

* Localize job names

* Remove localization for fallback job name

* Use LocalizedName for Job

* Fix job names case
2022-06-28 22:55:05 +10:00
metalgearsloth 3da454140d
Add department-specific radio channels (#9061)
* Add department-specific radio channels

This commit adds working department-specific radio channels, while
minimizing damage to the current codebase. It is expected that a future
refactor will clean this up a bit.

ChatSystem now has a RadioPrefix() method that recognizes
department-specific channels (e.g. ":e" and ":m") in addition to the
global channel (";"). It strips the prefix from the message and assigns
messages an integer representing the destination channel, if any.

IListen and IRadio now accept optional 'channel' arguments with this
channel in mind.

The ugly is that the integer channel number is hard-coded and also shows
up in chat.

Comms are not modeled at this time. You cannot break comms (yet).

All headsets have channels soldered into them. You cannot change
encryption keys to hop on new channels. Steal a headset instead.

* Remove debugging print

* Convert to prototypes

* Use prototype names in headset prototype

* Adjust list style

* Document prototype fields

* cringe

* some cleanup

* colours

* Remove alphas at least

* cc

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2022-06-23 20:11:03 +10:00
Veritius 237cb3d0b4
Communications Console: The ECSining (#8374)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-06-03 21:37:35 +10:00
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
mirrorcult ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Vera Aguilera Puerto e3e1291e54 VV attributes for Job and Role. 2021-12-14 00:22:43 +01:00
wrexbe a354741b4b
Fix the add role command (#5532) 2021-11-26 23:43:54 -07:00
wrexbe 1a39807ce5
Add listroles command (#5533) 2021-11-26 23:43:49 -07:00
20kdc 1ba58456c4
Announcements play the general announcement sound unless specifically inhibited (#5460) 2021-11-22 15:34:48 -07:00
Moony d171c5e84c
Fix antag shitcurity (#5441)
* fix jobs

* Antagn't the heads and sec

* good to go, time to test my code
2021-11-21 19:33:50 -07:00
metalgearsloth a12eb29464
Convert sus events to eventbus (#5044) 2021-10-27 10:53:10 +02:00
Vera Aguilera Puerto 419edc710d
Various improvements to job greetings. (#4777) 2021-10-06 22:51:11 +11:00
DrSmugleaf ff1a2d97ea
Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00