Exemplo n.º 1
0
        public void OnStart()
        {
            snapshot = new StateSnapshot();
            snapshot.UpdateState(intelManager);

            activeTactics = new List <IReplaceableModule>();

            economyModule = new EconomyModule(snapshot, intelManager, productionManager, combatManager, rawManager);
            abathur.AddToGameloop(economyModule);

            intelManager.Handler.RegisterHandler(Case.StructureAddedSelf, OnStructureBuilt);

            // Startup Queue
            productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false);
            productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false);
            productionManager.QueueUnit(BlizzardConstants.Unit.SupplyDepot, lowPriority: false, spacing: 1);
            productionManager.QueueUnit(BlizzardConstants.Unit.Refinery, lowPriority: false);
            productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false);
            productionManager.QueueUnit(BlizzardConstants.Unit.Barracks, lowPriority: false, spacing: 3);
            productionManager.QueueUnit(BlizzardConstants.Unit.SupplyDepot, lowPriority: true, spacing: 1);
            productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false);
            productionManager.QueueUnit(BlizzardConstants.Unit.BarracksTechLab, lowPriority: false);
            productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false);
            productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false);
            productionManager.QueueUnit(BlizzardConstants.Unit.Barracks, lowPriority: false, spacing: 3);
            productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false);
            productionManager.QueueUnit(BlizzardConstants.Unit.BarracksReactor, lowPriority: false);
            productionManager.QueueTech(BlizzardConstants.Research.CombatShield, lowPriority: false);
            productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: true);
            productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: true);
            productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: true);
        }
Exemplo n.º 2
0
        public override async Task <bool> ActivateAsync(IPost n, IShell shell, Server core)
        {
            if (n.Text != null && n.Text.IsMatch("(何|な[んに])か(喋|しゃべ|話[しせそ])"))
            {
                await shell.ReplyAsync(n, MapVariables(ExtractTopics().Random()));

                core.LikeWithLimited(n.User);
                EconomyModule.Pay(n, shell, core);
                return(true);
            }
            return(false);
        }