void PendingInvite::HandleSpamPoints(bool accepted) { Client *invitee = psserver->GetConnections()->Find(clientnum); Client *inviter = psserver->GetConnections()->Find(inviterClientNum); if (!invitee || !inviter) return; inviter->SetLastInviteResult(accepted); if (accepted) { if (inviter->GetSpamPoints() && invitee->GetSpamPoints() <= 1 && invitee->GetAdvisorPoints() >= 3*INVITESPAMBANTIME[inviter->GetSpamPoints()]*INVITESPAMBANTIME[invitee->GetSpamPoints()] ) { // Lower spam points on accept from a sufficiently "reputable" player inviter->DecrementSpamPoints(); } } else { inviter->IncrementSpamPoints(); } // Reset spam penalty inviter->SetPenalized(false); }