Exemple #1
0
        function(creep) {
            if (creep.energy === 0 || creep.memory.mode == "refill") {
                creep.memory.mode = "refill";

                var spawn = creep.pos.findNearest(Game.MY_SPAWNS, {
                    filter: function(spawn) {
                        return spawn.energy > 0;
                    }
                });

                if (spawn) {
                    creep.moveTo(spawn);

                    if (spawn.transferEnergy(creep) == Game.ERR_FULL) creep.memory.mode = null;
                } else flag(creep);
            } else {
                var structure = creep.pos.findNearest(Game.STRUCTURES, {
                    filter: function(structure) {
                        return structure.hits < structure.hitsMax / 2;
                    }
                });
                /*
should completely repair it then...
*/
                if (structure) {
                    creep.moveTo(structure);
                    creep.repair(structure);
                } else flag(creep);
            }
        }
Exemple #2
0
        function(creep) {
            if (creep.energy === 0 || creep.memory.mode == "refill") {
                creep.memory.mode = "refill";

                var spawn = creep.pos.findNearest(Game.MY_SPAWNS, {
                    filter: function(spawn) {
                        return spawn.energy > 0;
                    }
                });

                if (spawn) {
                    creep.moveTo(spawn);

                    if (spawn.transferEnergy(creep) == Game.ERR_FULL) creep.memory.mode = null;
                } else flag(creep);
            } else {
                var site = creep.pos.findNearest(Game.CONSTRUCTION_SITES);
                if (site) {
                    creep.moveTo(site);
                    creep.build(site);
                } else flag(creep);
            }
        }