From 70fc1bd97eff4c948ab6a49c1a22949cd1dd301d Mon Sep 17 00:00:00 2001 From: Mark Lemming Date: Thu, 31 Jan 2013 20:34:10 -0700 Subject: [PATCH] Random colony placement for AI. --- lib/Lacuna/AI.pm | 10 +++++++++- lib/Lacuna/AI/Trelvestian.pm | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/Lacuna/AI.pm b/lib/Lacuna/AI.pm index 4d5b1252..f4b2f43b 100644 --- a/lib/Lacuna/AI.pm +++ b/lib/Lacuna/AI.pm @@ -154,7 +154,15 @@ sub add_colonies { else { say 'Finding colony in '.$zone.'...'; # Need to narrow search if neutral area defined by coordinates. - my $body = $self->viable_colonies->search({zone => $zone},{rows=>1})->single; + my @bodies = $self->viable_colonies->search({ + 'me.zone' => $zone, + 'stars.station_id' => undef, + },{ + join => 'stars', + rows => 100, + }); + my $body = random_element(\@bodies); + if (defined $body) { say 'Clearing '.$body->name; my @to_demolish = @{$body->building_cache}; diff --git a/lib/Lacuna/AI/Trelvestian.pm b/lib/Lacuna/AI/Trelvestian.pm index ce9407f7..f0fd7876 100644 --- a/lib/Lacuna/AI/Trelvestian.pm +++ b/lib/Lacuna/AI/Trelvestian.pm @@ -45,6 +45,7 @@ sub colony_structures { return ( ['Lacuna::DB::Result::Building::Permanent::EssentiaVein',1], ['Lacuna::DB::Result::Building::Permanent::GeoThermalVent',21], + ['Lacuna::DB::Result::Building::Permanent::GratchsGauntlet',12], ['Lacuna::DB::Result::Building::Permanent::NaturalSpring',21], ['Lacuna::DB::Result::Building::Permanent::Volcano',21], ['Lacuna::DB::Result::Building::Permanent::AlgaePond',21], -- 2.51.2