public void Append(SyndicateRank pos, uint dwDonation)
        {
            int offset = 8 + Count * 8;

            Count += 1;
            Resize(24 + Count * 8);
            WriteHeader(Length - 8, PacketType.MSG_DUTY_MIN_CONTRI);
            WriteUInt((uint)pos, offset);
            WriteUInt(dwDonation, offset + 4);
        }
Esempio n. 2
0
        public static bool IsUserSetPosition(SyndicateRank pos)
        {
            switch (pos)
            {
            case SyndicateRank.GUILD_LEADER:
            case SyndicateRank.DEPUTY_LEADER:
            case SyndicateRank.DEPUTY_LEADER_AIDE:
            case SyndicateRank.HONORARY_DEPUTY_LEADER:
            case SyndicateRank.HONORARY_MANAGER:
            case SyndicateRank.HONORARY_STEWARD:
            case SyndicateRank.SUPERVISOR_AIDE:
            case SyndicateRank.HONORARY_SUPERVISOR:
            case SyndicateRank.MANAGER_AIDE:
            case SyndicateRank.AIDE:
            case SyndicateRank.LEADER_SPOUSE_AIDE:
                return(true);

            default:
                return(false);
            }
        }
        public void AddMember(uint idUser, SyndicateRank pos, uint dwRank, int dwSilver, uint dwEmoney, int dwPk, uint dwGuide, uint dwArsenal,
                              uint dwRose, uint dwWhite, uint dwOrchid, uint dwTulip, uint dwTotal, string szName)
        {
            int offset = 16 + (Count * 68);

            Count++;
            Resize(32 + Count * 68);
            WriteHeader(Length - 8, PacketType.MSG_FACTION_RANK_INFO);
            WriteUInt((uint)pos, offset);
            WriteUShort((ushort)dwRank, offset + 4);
            WriteInt(dwSilver, offset + 8);
            WriteUInt(dwEmoney, offset + 12);
            WriteInt(dwPk, offset + 20);     // pk
            WriteUInt(dwGuide, offset + 16); // Guide
            //WriteUInt(0, offset + 24);
            WriteUInt(dwArsenal, offset + 24);
            WriteUInt(dwRose, offset + 28);
            WriteUInt(dwWhite, offset + 32);
            WriteUInt(dwOrchid, offset + 36);
            WriteUInt(dwTulip, offset + 40);
            WriteUInt(dwTotal, offset + 44);
            WriteString(szName, 16, offset + 48);
        }
Esempio n. 4
0
        public void Append(string name, uint dwLookface, uint nobility, ushort level, SyndicateRank rank, uint positionExpire, uint totalDonation,
                           bool isOnline, ushort profession, ulong offlineTime)
        {
            Amount += 1;
            uint dwShowNobility = nobility * 10;

            if (dwLookface % 10 == 3 || dwLookface % 10 == 4)
            {
                dwShowNobility += 1;
            }
            else
            {
                dwShowNobility += 2;
            }
            var offset = (int)(16 + ((Amount - 1) * 48));

            WriteString(name, 16, offset);
            WriteUInt(0, offset + 16); // lookface? mess the nobility if filled
            WriteUInt(dwShowNobility, offset + 20);
            WriteUInt(level, offset + 24);
            WriteUShort((ushort)rank, offset + 28);
            WriteUInt(positionExpire, offset + 32);
            WriteUInt(totalDonation, offset + 36);
            WriteBoolean(isOnline, offset + 40);
            WriteUInt(0, offset + 44); // Unknown , changes nothing
        }
Esempio n. 5
0
        public uint SharedBattlePower(SyndicateRank rank)
        {
            uint totalBp = BattlePower;

            switch (rank)
            {
            case SyndicateRank.GUILD_LEADER:
            case SyndicateRank.LEADER_SPOUSE:
                return(totalBp);

            case SyndicateRank.DEPUTY_LEADER:
            case SyndicateRank.HONORARY_DEPUTY_LEADER:
                return((uint)(totalBp * 0.9f));

            case SyndicateRank.MANAGER:
            case SyndicateRank.HONORARY_MANAGER:
                return((uint)(totalBp * 0.8f));

            case SyndicateRank.SUPERVISOR:
            case SyndicateRank.ARSENAL_SUPERVISOR:
            case SyndicateRank.CP_SUPERVISOR:
            case SyndicateRank.GUIDE_SUPERVISOR:
            case SyndicateRank.HONORARY_SUPERVISOR:
            case SyndicateRank.LILY_SUPERVISOR:
            case SyndicateRank.ORCHID_SUPERVISOR:
            case SyndicateRank.PK_SUPERVISOR:
            case SyndicateRank.ROSE_SUPERVISOR:
            case SyndicateRank.SILVER_SUPERVISOR:
            case SyndicateRank.TULIP_SUPERVISOR:
                return((uint)(totalBp * 0.7f));

            case SyndicateRank.STEWARD:
            case SyndicateRank.DEPUTY_LEADER_SPOUSE:
            case SyndicateRank.LEADER_SPOUSE_AIDE:
            case SyndicateRank.DEPUTY_LEADER_AIDE:
                return((uint)(totalBp * 0.5f));

            case SyndicateRank.DEPUTY_STEWARD:
                return((uint)(totalBp * 0.4f));

            case SyndicateRank.AGENT:
            case SyndicateRank.SUPERVISOR_SPOUSE:
            case SyndicateRank.MANAGER_SPOUSE:
            case SyndicateRank.SUPERVISOR_AIDE:
            case SyndicateRank.MANAGER_AIDE:
            case SyndicateRank.ARSENAL_AGENT:
            case SyndicateRank.CP_AGENT:
            case SyndicateRank.GUIDE_AGENT:
            case SyndicateRank.LILY_AGENT:
            case SyndicateRank.ORCHID_AGENT:
            case SyndicateRank.PK_AGENT:
            case SyndicateRank.ROSE_AGENT:
            case SyndicateRank.SILVER_AGENT:
            case SyndicateRank.TULIP_AGENT:
                return((uint)(totalBp * 0.3f));

            case SyndicateRank.STEWARD_SPOUSE:
            case SyndicateRank.FOLLOWER:
            case SyndicateRank.ARSENAL_FOLLOWER:
            case SyndicateRank.CP_FOLLOWER:
            case SyndicateRank.GUIDE_FOLLOWER:
            case SyndicateRank.LILY_FOLLOWER:
            case SyndicateRank.ORCHID_FOLLOWER:
            case SyndicateRank.PK_FOLLOWER:
            case SyndicateRank.ROSE_FOLLOWER:
            case SyndicateRank.SILVER_FOLLOWER:
            case SyndicateRank.TULIP_FOLLOWER:
                return((uint)(totalBp * 0.2f));

            case SyndicateRank.SENIOR_MEMBER:
                return((uint)(totalBp * 0.15f));

            case SyndicateRank.MEMBER:
                return((uint)(totalBp * 0.1f));

            default:
                return(0);
            }
        }