|
|
|
@ -547,6 +547,8 @@ function Regression::Prices()
|
|
|
|
|
print(" BT_DOCK: " + AIMarine.GetBuildCost(AIMarine.BT_DOCK));
|
|
|
|
|
print(" BT_DEPOT: " + AIMarine.GetBuildCost(AIMarine.BT_DEPOT));
|
|
|
|
|
print(" BT_BUOY: " + AIMarine.GetBuildCost(AIMarine.BT_BUOY));
|
|
|
|
|
print(" BT_LOCK: " + AIMarine.GetBuildCost(AIMarine.BT_LOCK));
|
|
|
|
|
print(" BT_CANAL: " + AIMarine.GetBuildCost(AIMarine.BT_CANAL));
|
|
|
|
|
print(" -Tile-");
|
|
|
|
|
print(" BT_FOUNDATION: " + AITile.GetBuildCost(AITile.BT_FOUNDATION));
|
|
|
|
|
print(" BT_TERRAFORM: " + AITile.GetBuildCost(AITile.BT_TERRAFORM));
|
|
|
|
@ -556,6 +558,7 @@ function Regression::Prices()
|
|
|
|
|
print(" BT_CLEAR_ROCKY: " + AITile.GetBuildCost(AITile.BT_CLEAR_ROCKY));
|
|
|
|
|
print(" BT_CLEAR_FIELDS: " + AITile.GetBuildCost(AITile.BT_CLEAR_FIELDS));
|
|
|
|
|
print(" BT_CLEAR_HOUSE: " + AITile.GetBuildCost(AITile.BT_CLEAR_HOUSE));
|
|
|
|
|
print(" BT_CLEAR_WATER: " + AITile.GetBuildCost(AITile.BT_CLEAR_WATER));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function cost_callback(old_path, new_tile, new_direction, self) { if (old_path == null) return 0; return old_path.GetCost() + 1; }
|
|
|
|
@ -919,6 +922,9 @@ function Regression::Marine()
|
|
|
|
|
|
|
|
|
|
print(" BuildWaterDepot(): " + AIMarine.BuildWaterDepot(28479, 28480));
|
|
|
|
|
print(" BuildDock(): " + AIMarine.BuildDock(29253, AIStation.STATION_JOIN_ADJACENT));
|
|
|
|
|
print(" BuildBuoy(): " + AIMarine.BuildBuoy(28481));
|
|
|
|
|
print(" BuildLock(): " + AIMarine.BuildLock(28487));
|
|
|
|
|
print(" BuildCanal(): " + AIMarine.BuildCanal(28744));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function Regression::Order()
|
|
|
|
@ -1470,9 +1476,41 @@ function Regression::TileList()
|
|
|
|
|
print(" " + i + " => " + list.GetValue(i));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
list.AddRectangle(54421 - 256 * 2, 256 * 2 + 54421 + 8);
|
|
|
|
|
list.AddRectangle(0x6F3F, 0x7248);
|
|
|
|
|
list.Valuate(AITile.IsWaterTile);
|
|
|
|
|
print(" Water(): done");
|
|
|
|
|
print(" IsWaterTile(): done");
|
|
|
|
|
print(" Count(): " + list.Count());
|
|
|
|
|
print(" ListDump:");
|
|
|
|
|
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
|
|
|
|
|
print(" " + i + " => " + list.GetValue(i));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
list.Valuate(AITile.IsSeaTile);
|
|
|
|
|
print(" IsSeaTile(): done");
|
|
|
|
|
print(" Count(): " + list.Count());
|
|
|
|
|
print(" ListDump:");
|
|
|
|
|
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
|
|
|
|
|
print(" " + i + " => " + list.GetValue(i));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
list.Valuate(AITile.IsRiverTile);
|
|
|
|
|
print(" IsRiverTile() done");
|
|
|
|
|
print(" Count(): " + list.Count());
|
|
|
|
|
print(" ListDump:");
|
|
|
|
|
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
|
|
|
|
|
print(" " + i + " => " + list.GetValue(i));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
list.Valuate(AIMarine.IsCanalTile);
|
|
|
|
|
print(" IsCanalTile() done");
|
|
|
|
|
print(" Count(): " + list.Count());
|
|
|
|
|
print(" ListDump:");
|
|
|
|
|
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
|
|
|
|
|
print(" " + i + " => " + list.GetValue(i));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
list.Valuate(AITile.IsCoastTile);
|
|
|
|
|
print(" IsCoastTile() done");
|
|
|
|
|
print(" Count(): " + list.Count());
|
|
|
|
|
print(" ListDump:");
|
|
|
|
|
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
|
|
|
|
|