@@ -196,6 +196,11 @@ void Reroll()
196196 Reroll ( ) ;
197197 break ;
198198 }
199+ if ( player . HasModifier < TokenInvisible > ( ) )
200+ {
201+ Reroll ( ) ;
202+ break ;
203+ }
199204
200205 player . RpcAddModifier < TokenTransparent > ( Random . RandomRange ( 0f , 0.8f ) ) ;
201206 break ;
@@ -256,6 +261,11 @@ void Reroll()
256261 Reroll ( ) ;
257262 break ;
258263 }
264+ if ( player . HasModifier < TokenTransparent > ( ) )
265+ {
266+ Reroll ( ) ;
267+ break ;
268+ }
259269
260270 player . RpcAddModifier < TokenInvisible > ( ) ;
261271 break ;
@@ -310,9 +320,6 @@ void Reroll()
310320 player . RpcAddModifier < TokenDrunk > ( ) ;
311321 break ;
312322 case ChaosEffects . FakeRevealSelf :
313- // The player will reveal as ANY role
314- // disabled, vanilla, ghost roles included
315- // why? because it's funny
316323 if ( player . HasModifier < TokenReveal > ( ) )
317324 {
318325 Reroll ( ) ;
@@ -325,7 +332,10 @@ void Reroll()
325332 break ;
326333 }
327334
328- player . RpcAddModifier < TokenReveal > ( RoleManager . Instance . AllRoles . Random ( ) . Role , player . Data . PlayerId ) ;
335+ var validRoles = CustomRoleManager . CustomMiraRoles
336+ . Where ( r => r . Team != player . GetTownOfUsRole ( ) ? . Team )
337+ . Select ( r => ( r as RoleBehaviour ) . Role ) ;
338+ player . RpcAddModifier < TokenReveal > ( validRoles . Random ( ) , player . Data . PlayerId ) ;
329339 break ;
330340 case ChaosEffects . Hyperactive :
331341 if ( player . HasModifier < TokenHyperactive > ( ) )
0 commit comments