Bare-bones Food Critic ghost role.#709
Conversation
…riptions it is a carbon copy of Sample Collector
…nstead of the Sample Collector shuttle.
…into FoodCriticStationSpawn1.1Branch
…ttle and will not be used.
…sprite from the sample collector.
|
As a final thing before I open this, I guarantee y'all I've made a mistake somewhere. I don't know where, but somewhere. I have never made a PR even close to this large before, so I can't imagine I haven't, despite my best efforts. Please be vigilant, and good day to you. |
|
I have no idea why that test failed, I checked and StationEventComponent does have those fields. |
|
Hm. The YAMLLinter failed again, citing an inability to find the exact same two fields. Fields that I am so very sure this component has. I would say this is above my pay grade, but no one is getting paid for this so I guess I should just say I am sorry for leaving this here. My medication is wearing off, so this is looking more and more like a tomorrow problem for me, or a today problem for anyone who knows what's causing this. Maybe I spelled something wrong? Unlikely, because I'm fairly certain the FoodCriticSpawn prototype was partially copy-pasted. |
| duration: 1 | ||
| earliestStart: 5 | ||
| minimumPlayers: 20 | ||
| OccursDuringRoundEnd: false |
There was a problem hiding this comment.
case matters should be
maxOccurrences: 1 not MaxOccurences: 1
and occursDuringRoundEnd not OccursDuringRoundEnd
There was a problem hiding this comment.
Could've sworn I checked case. Maybe I'm getting tired.
|
"Failed AllItemsHaveSpritesTest" hm... I'll look at that later |
About the PR
The Food Critic is a ghost role meant to highlight the themes of Euphoria, namely the fact that HGI is a resort company. It is mainly a role-play-based role where the player is directed to put to the test the culinary capabilities of the station's Service department.
Why / Balance
The intention here is to give the game the opportunity to throw events at the station that don't involve death, destruction, or crime. This will be a boon for gameplay, as we will no longer have to choose between "disaster simulator" or "nothing ever happens". It seems right now that the plan is for there to be quite a few of these, this being just a taste (Pun unintended.)
Technical details
The implementation of this ghost role is mostly a simple YAML addition, with the addition of just a single component (Content.Shared/_Floof/Roles/Components/FoodCriticRoleComponent.cs) that holds no data purely for the purpose of mirroring the Sample Collector from when this role was being built as a copy of that. This component currently isn't used for anything aside from being attached to the Food Critic mind role and doesn't have a corresponding system, though nothing references it.
Issues and Future Changes
This implementation of the Food Critic is, as the title says, bare-bones. It's currently the intention for it to be made a full "antagonist" (in the game sense) with pinktext and the ability to spawn at arrivals in the future, rather than how it is implemented as a free agent ghost role in this PR. This was due to technical reasons as I attempted to use the Ninja as a base, as detailed here:
The Character Problem
I haven't been able to make the GhostRoleCharacterSpawnerComponent make the character it spawns be an antag. Specifically, it does spawn things if added to the spawner prototype, but those things are not affected by the AntagSelectionComponent. I have been copying the prototype for the Ninja to use as a base for the Food Critic as was suggested to me during the dev meeting before last, but the Ninja uses AntagLoadProfileRuleComponent, which does not do the same thing (it gets the same species as the player's selected character, at least, but does not copy the name and likely a lot of other things) and I haven't been able to find a way to change out one for the other.
The Spawn Location Problem
I haven't been able to find a spawn rule that's appropriate for a civil character. The closest solutions I have found are using AntagRandomSpawnComponent or having it spawn on its own shuttle. However, AntagRandomSpawnComponent makes it so they can spawn wherever, in any department, and that's just kind of weird and possibly very inconvenient. An alternative is them having a shuttle, but that is unnecessary and stations don't have too much docking space.
Conclusion
The creation of new functionality will be needed, breaking out of the realm of YAML and into C#, which halted my efforts as I am not an experienced programmer. I will be attempting to take a crack at it, or at the very least enlist the help of a more experienced developer, but that may take a while. For the time being, I've been instructed to PR the Food Critic role in its current state: It will spawn as a free agent in a random location on the station. It will use the player's currently selected character, just like the sample collector. The player will have enough information to come up with some decent RP with the Service department. One could say it is... serviceable bah dum tsss
Summary of Current Issues
The following issues may cause problems:
Media
Click to show
food_critic_test_2.mp4
Requirements
Licensing:
Breaking changes
Changelog
🆑