Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Faction Objectives #510

Open
Peptide90 opened this issue Sep 7, 2024 · 0 comments
Open

Add Faction Objectives #510

Peptide90 opened this issue Sep 7, 2024 · 0 comments
Labels
enhancement New feature or request Feature Request Something we need and not an issue Hard? help wanted Extra attention is needed

Comments

@Peptide90
Copy link
Collaborator

We need an objective system that can be applied to any faction in game with set conditions they can greentext.

I imagine a lot of existing things can be repurposed such as kill and steal objectives applied to certain factions e.g. Factions having to assassinate another faction leader, factions having to steal a holodisk another faction posesses, or for the brotherhood to "aquire" a certain item which would be reusing the steal objective? Instead of the objective being applied to one character, they would all get the objective and the system would check if any of them had completed it for the faction to get the greentext.

So it would likely need a rethinking of how the end screen works to support factions "departments" as a whole, rather than just players.

Examples:

  • Caravan Company need to amass a certain amount of currency on their players or in their treasury crate.
  • Brotherhood need to acquire a certain item, a certain number of x tagged items.
  • Brotherhood & NCR have the chance to get an assassination or steal objective.
  • Brotherhood and NCR have a chance to get a capture objective, where they need to plant their flag on a certain tile in town and keep it there till round end.
  • Townspeople can get the stay independent objective, which is keeping that flag tile clear as above.
  • Townspeople can get the amass wealth objective, or amass resources objective, again checking the treasury for said items.
  • Vault may need its own system or need tied into the map to make sure they get a relevant objective. Like breaking their water purifier and their objective is to fix it.
  • Vault Overseer will get their own personal objective which will be relevant to experimenting.

There will also still be some player antags who will get the typical traitor or theft objectives. We can reuse the evil twin antag from EE as a synth needing to replace someone. This comes more into gamemodes than objectives I feel though.

@Peptide90 Peptide90 added enhancement New feature or request help wanted Extra attention is needed Feature Request Something we need and not an issue Hard? labels Sep 7, 2024
Peptide90 pushed a commit that referenced this issue Sep 11, 2024
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Require #459 

Add 3 optional settings for LanguagePrototypes to play with richtext
tags to they could be reconized as Makings

color - Set a specefic color to the text.
fontId - Set a font to the text by using the Id.
fontSize - Set the size of the text

All 3 are optional if not set message will be handeled like normal.

This should be mostly used to know what language your currently speaking
and assist with markings.
Take note those changes happent only in the TextBox chat, bubblechat is
left unchanged.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [x] Add Markings
- [x] Add Fonts

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/Simple-Station/Einstein-Engines/assets/45297731/10c3956b-c964-41af-ba0e-37ad1be8119e)

![image](https://github.com/Simple-Station/Einstein-Engines/assets/45297731/4377bdd8-a52e-4b62-bd70-fa9ba36c8d8b)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `:cl:` to change the name that appears
in the changelog (ex: `:cl: Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

:cl: FoxxoTrystan
- add: Languages are now marked in the chat!

---------

Signed-off-by: Mnemotechnican <[email protected]>
Signed-off-by: FoxxoTrystan <[email protected]>
Co-authored-by: fox <[email protected]>
Co-authored-by: Mnemotechnican <[email protected]>
Peptide90 pushed a commit that referenced this issue Sep 11, 2024
Peptide90 pushed a commit that referenced this issue Sep 11, 2024
# Description
This refactors #510 and #553. #553 specifically was reverted and
re-implemented from scratch. As a consequence to all of this, the chat
system was refactored a bit too, hopefully for the best.

Changes:
- InGameICChatType, InGameOOCChatType, ChatTransmitRange were all moved
to shared and made serializable
- Added a method to wrap whisper messages to reduce code duplication in
chat system
- Both WrapPublicMethod and WrapWhisperMessage call the same generic
WrapMessage method, which allows to add speech verbs to whispers and
more. That method is also fully responsible for adding language markers
and deducing speech verbs now.
- Everything related to speech was moved out of LanguagePrototype and
into SpeechOverrideInfo. LanguagePrototype now holds an instance of
that.
- Added AllowRadio, RequireSpeech, ChatTypeOverride,
SpeechVerbOverrides, MessageWrapOverrides to SpeechOverrideInfo, all of
which are used in implementing the sign language.
- Suffered a lot

# TODO
- [X] Cry
- [X] Fix the sign language not displaying properly over the character.
- [X] Find a way to circumvent being unable to speak??

<details><summary><h1>Media</h1></summary><p>


![image](https://github.com/user-attachments/assets/845ec5d3-20aa-4786-bdc8-c39c80e0a4a3)

See below

</p></details>

# Changelog
No cl no fun

---------

Signed-off-by: Mnemotechnican <[email protected]>
Co-authored-by: Danger Revolution! <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Feature Request Something we need and not an issue Hard? help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant