public override void OnEntitySpawn() { base.OnEntitySpawn(); if (World.Api.Side == EnumAppSide.Server) { EntityBehaviorTaskAI taskAi = GetBehavior <EntityBehaviorTaskAI>(); taskAi.taskManager.ShouldExecuteTask = (task) => tradingWith == null || (task is AiTaskIdle || task is AiTaskSeekEntity || task is AiTaskGotoEntity); if (TradeProps != null) { RefreshBuyingSellingInventory(); WatchedAttributes.SetDouble("lastRefreshTotalDays", World.Calendar.TotalDays - World.Rand.NextDouble() * 6); Inventory.GiveToTrader((int)TradeProps.Money.nextFloat(1f, World.Rand)); } else { World.Logger.Warning("Trader TradeProps not set during trader entity spawn. Won't have any items for sale/purchase."); } Personality = Personalities.GetKeyAtIndex(World.Rand.Next(Personalities.Count)); (AnimManager as TraderAnimationManager).Personality = this.Personality; } }
public override void OnEntitySpawn() { base.OnEntitySpawn(); if (World.Api.Side == EnumAppSide.Server) { RefreshBuyingSellingInventory(); Inventory.GiveToTrader((int)TradeProps.Money.nextFloat(1f, World.Rand)); } }