}
SpectateCopy(this, this.enemy);
+ if (IS_OBSERVER(this))
+ TRANSMUTE(Spectator, this);
return true;
}
if (autocvar_sv_spectate == 2 && !warmup_stage && !this.vote_master)
Send_Notification(NOTIF_ONE_ONLY, this, MSG_CENTER, CENTER_SPECTATE_SPEC_NOTALLOWED);
else if(SpectateNext(this))
- TRANSMUTE(Spectator, this);
+ { }
else if (is_spec)
{
TRANSMUTE(Observer, this);
if(CS(this).impulse == 12 || CS(this).impulse == 16 || CS(this).impulse == 19 || (CS(this).impulse >= 220 && CS(this).impulse <= 229))
{
this.flags &= ~FL_JUMPRELEASED;
- if(SpectatePrev(this))
- TRANSMUTE(Spectator, this);
- else
+ if (!SpectatePrev(this))
{
TRANSMUTE(Observer, this);
PutClientInServer(this);
if (IS_PLAYER(client)
&& VerifyClientEntity(client, false, false)
&& Spectate(caller, client)) // mutator hook might say no
- {
- if (IS_OBSERVER(caller))
- TRANSMUTE(Spectator, caller);
- }
+ { }
else
sprint(caller, "Can't spectate ", argv(1), "^7\n");
}