TTT-2 / ttt2-role_inf

This is the "Infected" role for TTT2
2 stars 5 forks source link

Added Jester to Networked Roles #15

Closed ZacharyHinds closed 3 years ago

ZacharyHinds commented 3 years ago

Added Jester to Networked roles so that they are able to see who the jester is and thus avoid killing them.

Alf21 commented 3 years ago

Better disable the jester win if killed by an infected so that he get's converted (the goal of the infected), imo.

ZacharyHinds commented 3 years ago

I feel like that contradicts the jester's goal. Since the jester can't see roles, they're trying to get anyone to kill them, so it'd feel a little cheap if infected can kill them without giving them the win.

Especially since the Infected already wins if they kill everyone else besides the jester.

AaronMcKenney commented 3 years ago

Well there are two questions that need to be addressed here: Should the Infected be able to see the Jester (#13)? Should the Jester be susceptible to becoming an Infected (#11)?

This patch addresses the first issue, and therefore should be checked in regardless of what decision is made for the second issue.

Based on the comments of the second issue, I think that one is more up in the air, but I personally feel that the Infected and all other "3rd Party Last Team Standing" roles (ex. Serial Killer, Jackal, etc.) should be treated the same by the Jester. In other words, they should all be able to see the Jester, but also be able to trigger their on death effects (which may or may not be the instant Jester win). I see this as the most sane option as it is consistent, which is important given how many edge cases the TTT2 roles already have.

To allow the Infected to turn the Jester should require a convar in my opinion, and ought to be non-default behavior.

Histalek commented 3 years ago

The Problem we have is that the Jester has way to many possible configurable goals. Networking the Jester to the Infected may make sense for some winstates of the jester but not for others.

I think the best solution would be to redesign the jester and redefine its purpose/winstates making them more 'role-agnostic'. e.g. the jester should annoy traitors and punish randomkilling innocents, additionally give every other role the tools to regulate how the role-jester interaction should work.

so IMO this should not be merged until the underlying jester problems are adressed

AaronMcKenney commented 3 years ago

I see. I'm not entirely sure what the end goal there looks like, but may I suggest splitting up the Jester? I think you've probably heard it before, but with 8 win states, the Jester is a bit bloated in terms of gameplay functionality. I think that it would be saner to separate it into at least two different roles or types of roles:

  1. ("Old Jester") A role that wins if they are killed by another player.
  2. ("Swapper") A role that, when killed by another player, kills the player and then revives with a certain role (based on ConVars).

The "Swapper" can be broken down further into more roles, which may be divorced from the original concept. For example, I would argue that the Wrath is functionally similar to the combination of Jester Win States 2 and 7. The Unknown is similar to Jester Win State 5 if the killer wasn't killed. Neither of these roles are exactly the same as the Jester, but that might be a good thing. I'll go further and argue that the Jester's key features of being unable to harm others and being unable to win while alive aren't necessary for the majority of the Jester Win States because they all tackle the same questions: "How can a role benefit from its own death?" and "How do we mitigate RDM-ing?" which have many answers.

Jester Win State 0 here would be implemented merely by having many of these roles in the server to choose from.

Histalek commented 3 years ago

i'm leaning more and more towards just showing the jester to every team besides team innocent and then always triggering the winstate.

that still isn't perfect but way better than either have the jester hardcode which roles can see him or other roles hardcode that they can see the jester.

Alf21 commented 3 years ago

Closed because this is something that got discussed on the discord and planned with another rework.