示例#1
0
        private bool checkUserThrownAtAlready(ThrowTracker tracker, User thrownAt)
        {
            foreach (User user in tracker.ThrownAt)
            {
                if (user.Id == thrownAt.Id)
                {
                    return(true);
                }
            }

            return(false);
        }
示例#2
0
        private ThrowTracker getUserThrowTracker(User thrower)
        {
            foreach (ThrowTracker throwTracker in TrackedThrows)
            {
                if (throwTracker.Thrower.Id == thrower.Id)
                {
                    return(throwTracker);
                }
            }

            ThrowTracker tracker = new ThrowTracker(thrower);

            trackedThrows.Add(tracker);
            return(tracker);
        }
示例#3
0
        public void Payout(User thrower, User throwAt)
        {
            ThrowTracker throwCounter = getUserThrowTracker(thrower);

            if (!checkUserThrownAtAlready(throwCounter, throwAt))
            {
                byte[] otherEarned = PacketBuilder.CreateChat(Messages.FormatModSplatterBallAwardedOther(thrower.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);
                byte[] youEarned   = PacketBuilder.CreateChat(Messages.FormatModSplatterBallAwardedYou(throwAt.Username), PacketBuilder.CHAT_BOTTOM_RIGHT);

                thrower.AddMoney(50);
                throwAt.AddMoney(500);

                thrower.LoggedinClient.SendPacket(youEarned);
                throwAt.LoggedinClient.SendPacket(otherEarned);

                throwCounter.AddThrownAt(throwAt);
            }
        }