{
if(PHYS_INPUT_BUTTON_INFO(this)) // BUTTON_INFO hides initial MOTD
CS(this).motd_actived_time = -2; // wait until BUTTON_INFO gets released
- else if(CS(this).motd_actived_time == -2 || IS_PLAYER(this) || IS_SPEC(this))
+ else if (CS(this).motd_actived_time == -2)
{
// instantly hide MOTD
CS(this).motd_actived_time = 0;
Kill_Notification(NOTIF_ONE_ONLY, this, MSG_CENTER, CPID_MOTD);
}
+ else if (IS_PLAYER(this) || IS_SPEC(this))
+ {
+ // FIXME occasionally for some reason MOTD never goes away
+ // delay MOTD removal a little bit in the hope it fixes this bug
+ if (CS(this).motd_actived_time == -1) // MOTD marked to fade away as soon as client becomes player or spectator
+ CS(this).motd_actived_time = -(5 + floor(random() * 10)); // add small delay
+ else //if (CS(this).motd_actived_time < -2)
+ CS(this).motd_actived_time++;
+ }
}
}