Fix some minor creep behaviour issues

This commit is contained in:
uwap 2026-01-03 06:57:39 +01:00
parent 537dc46dc7
commit c0f81a50ed
2 changed files with 7 additions and 4 deletions

View file

@ -29,6 +29,7 @@ const assignTask = (creep: Creep) => {
if (urgentRepair != null) { if (urgentRepair != null) {
return Tasks.Repair(urgentRepair); return Tasks.Repair(urgentRepair);
} }
return null;
} }
return Tasks.Upgrade(creep.room.controller); return Tasks.Upgrade(creep.room.controller);
} }

View file

@ -20,8 +20,11 @@ const assignTask = (creep: Creep) => {
} }
} }
else { else {
const urgentRepair = creep.pos.findClosestByRange(FIND_MY_STRUCTURES, { const urgentRepair = creep.pos.findClosestByRange(FIND_STRUCTURES, {
filter: s => s.hits < s.hitsMax * 0.3, filter: s => "my" in s
? s.my
: s.structureType === STRUCTURE_CONTAINER
&& s.hits < s.hitsMax * 0.3,
}); });
if (urgentRepair != null) { if (urgentRepair != null) {
return Tasks.Repair(urgentRepair); return Tasks.Repair(urgentRepair);
@ -35,8 +38,7 @@ const assignTask = (creep: Creep) => {
filter: s => s.hits < s.hitsMax * 0.8, filter: s => s.hits < s.hitsMax * 0.8,
}) ?? creep.pos.findClosestByRange(FIND_STRUCTURES, { }) ?? creep.pos.findClosestByRange(FIND_STRUCTURES, {
filter: s => s.hits < s.hitsMax * 0.8 filter: s => s.hits < s.hitsMax * 0.8
&& (s.structureType === STRUCTURE_WALL && ("my" in s ? s.my : true),
|| s.structureType === STRUCTURE_ROAD),
}); });
if (structure != null) { if (structure != null) {
return Tasks.Repair(structure); return Tasks.Repair(structure);