/// <summary> /// /// </summary> public TaxCollectorFight(MapInstance map, long id, CharacterEntity attacker, TaxCollectorEntity taxCollector) : base(FightTypeEnum.TYPE_PVT, map, id, attacker.Id, 0, attacker.CellId, taxCollector.Id, 0, taxCollector.CellId, WorldConfig.PVT_START_TIMEOUT, WorldConfig.PVT_TURN_TIME) { CanDefend = true; Attacker = attacker; TaxCollector = taxCollector; JoinFight(Attacker, Team0); JoinFight(TaxCollector, Team1); AddTimer(WorldConfig.PVT_TELEPORT_DEFENDERS_TIMEOUT, TeleportDefenders, true); }
/// <summary> /// /// </summary> /// <param name="taxCollector"></param> public void ExchangeTaxCollector(TaxCollectorEntity taxCollector) { CurrentAction = new GameTaxCollectorExchangeAction(this, taxCollector); taxCollector.CurrentAction = CurrentAction; StartAction(GameActionTypeEnum.EXCHANGE); }
/// <summary> /// /// </summary> /// <param name="character"></param> /// <param name="taxCollector"></param> public TaxCollectorExchange(CharacterEntity character, TaxCollectorEntity taxCollector) : base(character, taxCollector.Storage, ExchangeTypeEnum.EXCHANGE_TAXCOLLECTOR) { TaxCollector = taxCollector; }
/// <summary> /// /// </summary> /// <param name="character"></param> /// <param name="taxCollector"></param> public GameTaxCollectorExchangeAction(CharacterEntity character, TaxCollectorEntity taxCollector) : base(new TaxCollectorExchange(character, taxCollector), character, taxCollector) { }
/// <summary> /// /// </summary> /// <param name="taxCollector"></param> public void RemoveTaxCollector(TaxCollectorEntity taxCollector) { TaxCollectorRepository.Instance.Removed(taxCollector.DatabaseRecord); InventoryItemRepository.Instance.EntityRemoved((int)EntityTypeEnum.TYPE_TAX_COLLECTOR, taxCollector.Id); EntityManager.Instance.RemoveTaxCollector(taxCollector); m_taxCollectors.Remove(taxCollector); }
/// <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)); }); }); }
/// <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)); }); }
/// <summary> /// /// </summary> /// <param name="taxCollector"></param> public void AddTaxCollector(TaxCollectorEntity taxCollector) { m_taxCollectors.Add(taxCollector); }
/// <summary> /// /// </summary> /// <param name="attacker"></param> /// <param name="taxCollector"></param> public bool StartTaxCollectorAggression(CharacterEntity attacker, TaxCollectorEntity taxCollector) { if (!CanStartFight(attacker)) return false; Add(new TaxCollectorFight(m_map, m_fightId++, attacker, taxCollector)); return true; }
/// <summary> /// /// </summary> public override void Dispose() { Attacker = null; TaxCollector = null; m_serializedFlag.Clear(); m_serializedFlag = null; base.Dispose(); }
/// <summary> /// /// </summary> /// <param name="taxCollector"></param> public void RemoveTaxCollector(TaxCollectorEntity taxCollector) { Guild.AddMessage(() => { Guild.RemoveTaxCollector(this, taxCollector); }); }
/// <summary> /// /// </summary> /// <param name="taxCollector"></param> public void FarmTaxCollector(TaxCollectorEntity taxCollector) { Guild.FarmTaxCollector(this, taxCollector); }