예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="member"></param>
        /// <param name="taxCollector"></param>
        public void RemoveTaxCollector(GuildMember member, TaxCollectorEntity taxCollector)
        {
            if (taxCollector.Guild != this)
            {
                member.SendHasNotEnoughRights();
                return;
            }

            if (!member.HasRight(GuildRightEnum.COLLECT_TAXCOLLECTOR))
            {
                member.SendHasNotEnoughRights();
                return;
            }

            taxCollector.AddMessage(() =>
            {
                if (!taxCollector.HasGameAction(GameActionTypeEnum.MAP))
                {
                    member.Dispatch(WorldMessage.BASIC_NO_OPERATION());
                    return;
                }

                taxCollector.Map.SubArea.TaxCollector = null;
                taxCollector.StopAction(GameActionTypeEnum.MAP);

                AddMessage(() =>
                {
                    RemoveTaxCollector(taxCollector);

                    SafeDispatch(WorldMessage.GUILD_TAXCOLLECTOR_REMOVED(taxCollector, member.Name));
                });
            });
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="member"></param>
        /// <param name="taxCollector"></param>
        public void FarmTaxCollector(GuildMember member, TaxCollectorEntity taxCollector)
        {
            taxCollector.Map.SubArea.TaxCollector = null;
            taxCollector.StopAction(GameActionTypeEnum.MAP);

            AddMessage(() =>
            {
                RemoveTaxCollector(taxCollector);

                AddExperience(taxCollector.ExperienceGathered);

                SafeDispatch(WorldMessage.GUILD_TAXCOLLECTOR_FARMED(taxCollector, member.Name));
            });
        }