예제 #1
0
        public override void Read(PacketStream stream)
        {
            var teamId = stream.ReadUInt32();

            var lootingRule = new LootingRule();

            lootingRule.Read(stream);

            var changeFlags = stream.ReadByte();

            _log.Warn("ChangeLootingRule, TeamId: {0}");
        }
예제 #2
0
        public void ChangeLootingRule(Character owner, uint teamId, LootingRule newRules, byte flags)
        {
            var activeTeam = GetActiveTeam(teamId);

            if (activeTeam?.OwnerId != owner.Id)
            {
                return;
            }

            // TODO - FLAGS??
            activeTeam.LootingRule = newRules;
            activeTeam.BroadcastPacket(new SCTeamLootingRuleChangedPacket(teamId, newRules, flags));
        }
예제 #3
0
        public override void Read(PacketStream stream)
        {
            var teamId = stream.ReadUInt32();

            var lootingRule = new LootingRule();

            lootingRule.Read(stream);

            var changeFlags = stream.ReadByte();

            // _log.Warn("ChangeLootingRule, TeamId: {0}, Flag: {1}, Rule: {2}/{3}/{4}/{5}", teamId, changeFlags, lootingRule.LootMethod, lootingRule.Type,
            //     lootingRule.Id, lootingRule.RollForBop);
            TeamManager.Instance.ChangeLootingRule(Connection.ActiveChar, teamId, lootingRule, changeFlags);
        }
예제 #4
0
 public SCTeamLootingRuleChangedPacket(uint teamId, LootingRule lootingRule, byte changeFlags) : base(SCOffsets.SCTeamLootingRuleChangedPacket, 5)
 {
     _teamId      = teamId;
     _lootingRule = lootingRule;
     _changeFlags = changeFlags;
 }
 public SCTeamLootingRuleChangedPacket(uint teamId, LootingRule lootingRule, byte changeFlags) : base(0x0db, 1)
 {
     _teamId      = teamId;
     _lootingRule = lootingRule;
     _changeFlags = changeFlags;
 }