public void turnTickAI_Knight(Map map) { if (task == null && society.isAtWar()) { task = new Task_SupportMilitary(); } if (task != null) { task.turnTick(this); } }
public void turnTickAI_Basic(Map map) { foreach (Evidence ev in evidenceCarried) { if (ev.pointsTo != null && ev.pointsTo != this) { if (huntableSuspects.Contains(ev.pointsTo) == false) { huntableSuspects.Add(ev.pointsTo); } } } if (this.location.soc == society) { sinceHome = 0; if (this.hp < maxHp && task == null && location.settlement != null) { task = new Task_Resupply(); } } else { sinceHome += 1; } if (task == null || task is Task_Wander) { bool onDisease = false; foreach (Property pr in location.properties) { if (pr.proto.isDisease) { onDisease = true; break; } } if (onDisease) { task = new Task_TreatDisease(); task.turnTick(this); return; } } if (task != null) { task.turnTick(this); return; } else if (society.isAtWar()) { task = new Task_SupportMilitary(); } else if (location.evidence.Count > 0) { task = new Task_Investigate(); } else if (sinceHome > wanderDur) { task = new Task_GoToSocialGroup(society); } else { task = new Task_Wander(); } task.turnTick(this); }