diff --git a/lib/Lacuna/RPC/Building/Trade.pm b/lib/Lacuna/RPC/Building/Trade.pm index c162a8c4..6a8dbbf0 100644 --- a/lib/Lacuna/RPC/Building/Trade.pm +++ b/lib/Lacuna/RPC/Building/Trade.pm @@ -288,7 +288,7 @@ sub create_supply_chain { unless (first {$resource_type eq $_} (FOOD_TYPES, ORE_TYPES, qw(water waste energy))) { confess [1002, "That is not a valid resource_type."]; } - if ($self->id == $target_id) { + if ($body->id == $target_id) { confess [1002, "You can't set up a supply chain to yourself."]; } my $target = Lacuna->db->resultset('Lacuna::DB::Result::Map::Body')->find($target_id); diff --git a/var/upgrades/3.0851.sql b/var/upgrades/3.0851.sql index 4155c359..e46a655b 100644 --- a/var/upgrades/3.0851.sql +++ b/var/upgrades/3.0851.sql @@ -16,3 +16,5 @@ create table supply_chain ( alter table waste_chain modify waste_hour bigint; +update waste_chain,body set waste_chain.star_id=body.star_id where waste_chain.planet_id=body.id; + -- 2.54.0 From 3c1728946d24ec40e4efafd1ab29de9d06008f7b Mon Sep 17 00:00:00 2001 From: lemming552 Date: Mon, 14 May 2012 21:43:27 -0600 Subject: [PATCH 02/15] fix undefined. --- lib/Lacuna/DB/Result/Building/Archaeology.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Lacuna/DB/Result/Building/Archaeology.pm b/lib/Lacuna/DB/Result/Building/Archaeology.pm index 8fedef23..0c5a194d 100644 --- a/lib/Lacuna/DB/Result/Building/Archaeology.pm +++ b/lib/Lacuna/DB/Result/Building/Archaeology.pm @@ -123,7 +123,7 @@ sub run_excavators { $result->{message}, ]; } - if (scalar @{$report}) { + if (defined($report)) { unshift @{$report}, (['Site','Type','Result']); $empire->send_predefined_message( tags => ['Excavator','Alert'], @@ -301,7 +301,7 @@ sub found_artifact { push @{$artifacts}, $building; } } - return (0,0,"Nothing") unless (scalar @{$artifacts}); + return (0,0,"Nothing") unless (defined($artifacts)); my $select = random_element($artifacts); my $class; my $lvl; my $plus; my $name; my $destroy; if ($level > $select->level and randint(1, int(3 * $level/2)) >= $select->level) { -- 2.54.0 From f0a9182bcaaed94154451e2ae781e66addefd09f Mon Sep 17 00:00:00 2001 From: ysth Date: Tue, 15 May 2012 03:16:23 -0700 Subject: [PATCH 03/15] Don't charge mercenary guild fee if there's a problem (e.g. no spy pod available) --- lib/Lacuna/RPC/Building/MercenariesGuild.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Lacuna/RPC/Building/MercenariesGuild.pm b/lib/Lacuna/RPC/Building/MercenariesGuild.pm index 7699d143..5ee83398 100644 --- a/lib/Lacuna/RPC/Building/MercenariesGuild.pm +++ b/lib/Lacuna/RPC/Building/MercenariesGuild.pm @@ -141,8 +141,8 @@ sub add_to_market { unless ($empire->essentia >= $cost) { confess [1011, "You need $cost essentia to make a trade using the Mercenaries Guild."]; } - $empire->spend_essentia($cost, 'Offered Mercenary Trade')->update; my $trade = $building->add_to_market($cost, $spy_id, $ask, $ship_id); + $empire->spend_essentia($cost, 'Offered Mercenary Trade')->update; return { trade_id => $trade->id, status => $self->format_status($empire, $building->body), -- 2.54.0 From 57fcad4e74d7d05fd411fbb898ae88d69c1af164 Mon Sep 17 00:00:00 2001 From: ysth Date: Tue, 15 May 2012 05:53:43 -0700 Subject: [PATCH 04/15] Allow building up to 50 plans at once in the Archaeology Ministry --- docs/Archaeology.pod | 26 +++++++- lib/Lacuna/DB/Result/Building/Archaeology.pm | 63 +++++++++++++++----- lib/Lacuna/RPC/Building/Archaeology.pm | 34 ++++++++++- 3 files changed, 103 insertions(+), 20 deletions(-) diff --git a/docs/Archaeology.pod b/docs/Archaeology.pod index 9d29306e..61d4deda 100644 --- a/docs/Archaeology.pod +++ b/docs/Archaeology.pod @@ -64,6 +64,22 @@ Returns a list of glyphs that have been found by this archaeology ministry. } +=head2 get_glyph_summary ( session_id, building_id ) + +Returns a summary of all glyphs that may be assembled in this archaeology ministry. Used with the C method. + + { + "glyphs" : [ + { + "type" : "bauxite", + "quantity" : 2 + }, + ... + ], + "status" : { ... } + } + + =head3 session_id A session id. @@ -74,7 +90,7 @@ The unique id of the Archaeology Ministry. -=head2 assemble_glyphs ( session_id, building_id, ids ) +=head2 assemble_glyphs ( session_id, building_id, glyphs, [ quantity ] ) Turns glyphs into rare ancient items. Returns: @@ -91,9 +107,13 @@ A session id. The unique id of the Archaeology Ministry. -=head3 ids +=head3 glyphs + +An array reference containing an ordered list of up to four glyph ids or up to four glyph types. + +=head3 quantity -An array reference containing an ordered list of up to four glyph ids. +An optional quantity; if left blank it defaults to 1, otherwise specify the number of times to assemble the indicated glyphs up to a maximum of 50. If greater than one, glyphs must specify types, not ids. diff --git a/lib/Lacuna/DB/Result/Building/Archaeology.pm b/lib/Lacuna/DB/Result/Building/Archaeology.pm index 0c5a194d..c995f99e 100644 --- a/lib/Lacuna/DB/Result/Building/Archaeology.pm +++ b/lib/Lacuna/DB/Result/Building/Archaeology.pm @@ -588,28 +588,63 @@ before finish_work => sub { }; sub make_plan { - my ($self, $ids) = @_; - unless (ref $ids eq 'ARRAY' && scalar(@{$ids}) < 5) { + my ($self, $glyphs, $quantity) = @_; + unless (ref $glyphs eq 'ARRAY' && scalar(@{$glyphs}) < 5) { confess [1009, 'It is not possible to combine more than 4 glyphs.']; } - if (grep {/\D/} @{$ids}) { - confess [1009, 'Bad data format for glyph ids.']; - } - my @glyph_names; + my $plan_class; + my $ids; my $glyphs_rs = $self->body->glyphs; - foreach my $id (@{$ids}) { - my $glyph = $glyphs_rs->find($id); - confess [1002, 'You tried to combine a glyph you do not have.'] unless defined $glyph; - push @glyph_names,$glyph->type; + + # types + if ( grep /\D/, @{$glyphs} ) { + $plan_class = Lacuna::DB::Result::Plans->check_glyph_recipe($glyphs); + if (not $plan_class) { + confess [1002, 'The glyphs specified do not fit together in that manner.']; + } + + my %count; + $count{$_} += $quantity for @{$glyphs}; + for my $type ( sort keys %count ) { + my @glyphs = Lacuna->db->resultset('Lacuna::DB::Result::Glyphs')->search({ + type => $type, + body_id => $self->body_id, + }, { + rows => $count{$type}, + page => 1, + }); + confess [1002, "You don't have $count{$type} glyphs of type $type you only have ".scalar(@glyphs)] unless scalar(@glyphs) >= $count{$type}; + push @{$ids}, map $_->id, @glyphs; + } } + # ids + else { + $ids = $glyphs; + + if ($quantity != 1) { + confess [1011, 'You can only assemble one plan from specific glyphs']; + } + + my @glyph_names; + foreach my $id (@{$ids}) { + my $glyph = $glyphs_rs->find($id); + confess [1002, 'You tried to combine a glyph you do not have.'] unless defined $glyph; + push @glyph_names,$glyph->type; + } - my $plan_class = Lacuna::DB::Result::Plans->check_glyph_recipe(\@glyph_names); - if (not $plan_class) { - confess [1002, 'The glyphs specified do not fit together in that manner.']; + $plan_class = Lacuna::DB::Result::Plans->check_glyph_recipe(\@glyph_names); + if (not $plan_class) { + confess [1002, 'The glyphs specified do not fit together in that manner.']; + } } + $glyphs_rs->search({ id => { in => $ids}})->delete; - return $self->body->add_plan($plan_class, 1); + my $plan; + for my $count (1..$quantity) { + $plan = $self->body->add_plan($plan_class, 1); + } + return $plan; } before delete => sub { diff --git a/lib/Lacuna/RPC/Building/Archaeology.pm b/lib/Lacuna/RPC/Building/Archaeology.pm index fc539681..6740543a 100644 --- a/lib/Lacuna/RPC/Building/Archaeology.pm +++ b/lib/Lacuna/RPC/Building/Archaeology.pm @@ -42,6 +42,26 @@ sub get_glyphs { }; } +sub get_glyph_summary { + my ($self, $session_id, $building_id) = @_; + + my $empire = $self->get_empire_by_session($session_id); + my $building = $self->get_building($empire, $building_id); + my $glyphs = $building->body->glyphs; + + my $glyph_summary = {}; + while (my $glyph = $glyphs->next) { + $glyph_summary->{$glyph->type}++; + } + # sort + my @out = map { {name => $_, quantity => $glyph_summary->{$_}}} sort {$a cmp $b} keys %$glyph_summary; + + return { + glyphs => \@out, + status => $self->format_status($empire, $building->body), + }; +} + sub get_ores_available_for_processing { my ($self, $session_id, $building_id, $ore) = @_; my $empire = $self->get_empire_by_session($session_id); @@ -61,10 +81,18 @@ sub search_for_glyph { } sub assemble_glyphs { - my ($self, $session_id, $building_id, $ids) = @_; + my ($self, $session_id, $building_id, $glyphs, $quantity) = @_; + $quantity = defined $quantity ? $quantity : 1; + if ($quantity > 50) { + confess [1011, "You can only assemble up to 50 plans at a time"]; + } + if ($quantity <= 0 or int($quantity) != $quantity) { + confess [1001, "Quantity must be a positive integer"]; + } + my $empire = $self->get_empire_by_session($session_id); my $building = $self->get_building($empire, $building_id); - my $plan = $building->make_plan($ids); + my $plan = $building->make_plan($glyphs, $quantity); return { item_name => $plan->class->name, status => $self->format_status($empire, $building->body), @@ -148,7 +176,7 @@ sub abandon_excavator { }; } -__PACKAGE__->register_rpc_method_names(qw(get_ores_available_for_processing assemble_glyphs search_for_glyph get_glyphs subsidize_search view_excavators abandon_excavator)); +__PACKAGE__->register_rpc_method_names(qw(get_ores_available_for_processing assemble_glyphs search_for_glyph get_glyphs get_glyph_summary subsidize_search view_excavators abandon_excavator)); no Moose; -- 2.54.0 From 7b73fabd4788ea9805da26b1420f47ed2092ae3a Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 07:20:39 -0600 Subject: [PATCH 05/15] another mod to plot tax. --- lib/Lacuna/DB/Result/Map/Body/Planet.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/Lacuna/DB/Result/Map/Body/Planet.pm b/lib/Lacuna/DB/Result/Map/Body/Planet.pm index eaca6d4d..5e35e98d 100644 --- a/lib/Lacuna/DB/Result/Map/Body/Planet.pm +++ b/lib/Lacuna/DB/Result/Map/Body/Planet.pm @@ -1085,8 +1085,9 @@ sub recalc_stats { # Decrease happiness production if short on plots. if ($stats{plots_available} < 0) { my $plot_tax = int(50 * 1.62 ** (abs($stats{plots_available})-1)); - my $max_neg = -2 * abs($stats{happiness_hour}); - $max_neg = -50_000 if $max_neg > -50_000; + my $max_neg = -1 * abs($self->happiness/20); + $max_neg = -10_000 if $max_neg > -10_000; + $max_neg = -100_000_000_000 if $max_neg < -100_000_000_000; $stats{happiness_hour} -= $plot_tax; $stats{happiness_hour} = $max_neg if ($stats{happiness_hour} < $max_neg); } -- 2.54.0 From 9af54217c2255b93263f0de7f3f300cdf4ecda2a Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 07:45:01 -0600 Subject: [PATCH 06/15] Fixed if undefined --- lib/Lacuna/DB/Result/Mission.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Lacuna/DB/Result/Mission.pm b/lib/Lacuna/DB/Result/Mission.pm index d8b4d158..19eebf50 100644 --- a/lib/Lacuna/DB/Result/Mission.pm +++ b/lib/Lacuna/DB/Result/Mission.pm @@ -343,7 +343,7 @@ sub format_items { foreach my $glyph (@{$items->{glyphs}}) { push @{$scratch}, $glyph.' glyph'; } - push @{$item_arr}, @{consolidate_items($scratch)}; + push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); # ships undef $scratch; @@ -353,7 +353,7 @@ sub format_items { my $pattern = $is_objective ? '%s (speed >= %s, stealth >= %s, hold size >= %s, combat >= %s)' : '%s (speed: %s, stealth: %s, hold size: %s, combat: %s)' ; push @{$scratch}, sprintf($pattern, $ship->type_formatted, commify($stats->{speed}), - commify($stats->{stealth}), commify($stats->{hold_size}), commify($stats->{combat})); + commify($stats->{stealth}), commify($stats->{hold_size}), commify($stats->{combat})) if (defined($scratch)); } push @{$item_arr}, @{consolidate_items($scratch)}; @@ -378,7 +378,7 @@ sub format_items { } push @{$scratch}, 'Send '.$ship->type_formatted.' to '.$target->name.' ('.$target->x.','.$target->y.').'; } - push @{$item_arr}, @{consolidate_items($scratch)}; + push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); } # plans @@ -391,7 +391,7 @@ sub format_items { my $pattern = $is_objective ? '%s (>= %s) plan' : '%s (%s) plan'; push @{$scratch}, sprintf($pattern, $stats->{classname}->name, $level); } - push @{$item_arr}, @{consolidate_items($scratch)}; + push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); return $items; } -- 2.54.0 From 1c6def3afa0d9a5683ecf65fea5c4c8e5207ec0d Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 16:06:46 -0600 Subject: [PATCH 07/15] Bug fix and another plot_tax change. --- lib/Lacuna/DB/Result/Map/Body/Planet.pm | 17 ++++++++++++----- lib/Lacuna/DB/Result/Mission.pm | 4 ++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lib/Lacuna/DB/Result/Map/Body/Planet.pm b/lib/Lacuna/DB/Result/Map/Body/Planet.pm index 5e35e98d..f06da7c7 100644 --- a/lib/Lacuna/DB/Result/Map/Body/Planet.pm +++ b/lib/Lacuna/DB/Result/Map/Body/Planet.pm @@ -1085,11 +1085,18 @@ sub recalc_stats { # Decrease happiness production if short on plots. if ($stats{plots_available} < 0) { my $plot_tax = int(50 * 1.62 ** (abs($stats{plots_available})-1)); - my $max_neg = -1 * abs($self->happiness/20); - $max_neg = -10_000 if $max_neg > -10_000; - $max_neg = -100_000_000_000 if $max_neg < -100_000_000_000; - $stats{happiness_hour} -= $plot_tax; - $stats{happiness_hour} = $max_neg if ($stats{happiness_hour} < $max_neg); +# Set max to at least -10k + my $neg_hr = $self->happiness > 100_000 ? -1 * $self->happiness/10 : -10_000; + + if ( $stats{happiness_hour} < 0 and $stats{happiness_hour} > $neg_hr) { + $stats{happiness_hour} = $neg_hr; + } + elsif ( ( $stats{happiness_hour} - $neg_hr) < $plot_tax)) { + $stats{happiness_hour} = $neg_hr; + } + else { + $stats{happiness_hour} -= $plot_tax; + } } $self->update(\%stats); diff --git a/lib/Lacuna/DB/Result/Mission.pm b/lib/Lacuna/DB/Result/Mission.pm index 19eebf50..74b69850 100644 --- a/lib/Lacuna/DB/Result/Mission.pm +++ b/lib/Lacuna/DB/Result/Mission.pm @@ -353,9 +353,9 @@ sub format_items { my $pattern = $is_objective ? '%s (speed >= %s, stealth >= %s, hold size >= %s, combat >= %s)' : '%s (speed: %s, stealth: %s, hold size: %s, combat: %s)' ; push @{$scratch}, sprintf($pattern, $ship->type_formatted, commify($stats->{speed}), - commify($stats->{stealth}), commify($stats->{hold_size}), commify($stats->{combat})) if (defined($scratch)); + commify($stats->{stealth}), commify($stats->{hold_size}), commify($stats->{combat})); } - push @{$item_arr}, @{consolidate_items($scratch)}; + push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); # fleet movement if ($is_objective && exists $items->{fleet_movement}) { -- 2.54.0 From ee7d7ff55c26b63c164d28a4b017222ef1465240 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 16:20:06 -0600 Subject: [PATCH 08/15] grr --- lib/Lacuna/DB/Result/Mission.pm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/Lacuna/DB/Result/Mission.pm b/lib/Lacuna/DB/Result/Mission.pm index 74b69850..0ea9231f 100644 --- a/lib/Lacuna/DB/Result/Mission.pm +++ b/lib/Lacuna/DB/Result/Mission.pm @@ -343,6 +343,7 @@ sub format_items { foreach my $glyph (@{$items->{glyphs}}) { push @{$scratch}, $glyph.' glyph'; } + if (defined($scratch)) { push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); # ships @@ -355,7 +356,9 @@ sub format_items { sprintf($pattern, $ship->type_formatted, commify($stats->{speed}), commify($stats->{stealth}), commify($stats->{hold_size}), commify($stats->{combat})); } - push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); + if (defined($scratch)) { + push @{$item_arr}, @{consolidate_items($scratch)}; + } # fleet movement if ($is_objective && exists $items->{fleet_movement}) { @@ -378,7 +381,9 @@ sub format_items { } push @{$scratch}, 'Send '.$ship->type_formatted.' to '.$target->name.' ('.$target->x.','.$target->y.').'; } - push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); + if (defined($scratch)) { + push @{$item_arr}, @{consolidate_items($scratch)}; + } } # plans @@ -391,7 +396,9 @@ sub format_items { my $pattern = $is_objective ? '%s (>= %s) plan' : '%s (%s) plan'; push @{$scratch}, sprintf($pattern, $stats->{classname}->name, $level); } - push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); + if (defined($scratch)) { + push @{$item_arr}, @{consolidate_items($scratch)}; + } return $items; } -- 2.54.0 From 9b9e6b1fb6cfe9323200549907067c401a9f8be4 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 16:23:47 -0600 Subject: [PATCH 09/15] missing } --- lib/Lacuna/DB/Result/Mission.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/Lacuna/DB/Result/Mission.pm b/lib/Lacuna/DB/Result/Mission.pm index 0ea9231f..569f49e5 100644 --- a/lib/Lacuna/DB/Result/Mission.pm +++ b/lib/Lacuna/DB/Result/Mission.pm @@ -344,7 +344,8 @@ sub format_items { push @{$scratch}, $glyph.' glyph'; } if (defined($scratch)) { - push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); + push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); + } # ships undef $scratch; -- 2.54.0 From 24755154eab113f7eacf1b82a5c4bc9d90e1fac3 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 16:32:45 -0600 Subject: [PATCH 10/15] Whoops. --- lib/Lacuna/DB/Result/Map/Body/Planet.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Lacuna/DB/Result/Map/Body/Planet.pm b/lib/Lacuna/DB/Result/Map/Body/Planet.pm index f06da7c7..b72155dc 100644 --- a/lib/Lacuna/DB/Result/Map/Body/Planet.pm +++ b/lib/Lacuna/DB/Result/Map/Body/Planet.pm @@ -1091,7 +1091,7 @@ sub recalc_stats { if ( $stats{happiness_hour} < 0 and $stats{happiness_hour} > $neg_hr) { $stats{happiness_hour} = $neg_hr; } - elsif ( ( $stats{happiness_hour} - $neg_hr) < $plot_tax)) { + elsif ( ( $stats{happiness_hour} - $neg_hr) < $plot_tax) { $stats{happiness_hour} = $neg_hr; } else { -- 2.54.0 From fcbe8348686c9a91d6d0c8f03c081925086bf751 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 16:36:49 -0600 Subject: [PATCH 11/15] Fixed clobbering of temp var. --- lib/Lacuna/DB/Result/Mission.pm | 34 ++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/Lacuna/DB/Result/Mission.pm b/lib/Lacuna/DB/Result/Mission.pm index 569f49e5..55df592e 100644 --- a/lib/Lacuna/DB/Result/Mission.pm +++ b/lib/Lacuna/DB/Result/Mission.pm @@ -325,7 +325,7 @@ sub format_rewards { sub format_items { my ($self, $items, $is_objective) = @_; my $item_arr; - my $scratch; + my $item_tmp; # essentia push @{$item_arr}, sprintf('%s essentia.', commify($items->{essentia})) if ($items->{essentia}); @@ -339,31 +339,31 @@ sub format_items { } # glyphs - undef $scratch; + undef $item_tmp; foreach my $glyph (@{$items->{glyphs}}) { - push @{$scratch}, $glyph.' glyph'; + push @{$item_tmp}, $glyph.' glyph'; } - if (defined($scratch)) { - push @{$item_arr}, @{consolidate_items($scratch)} if (defined($scratch)); + if (defined($item_tmp)) { + push @{$item_arr}, @{consolidate_items($item_tmp)} if (defined($item_tmp)); } # ships - undef $scratch; + undef $item_tmp; my $ships = Lacuna->db->resultset('Lacuna::DB::Result::Ships'); foreach my $stats (@{ $items->{ships}}) { my $ship = $ships->new({type=>$stats->{type}}); my $pattern = $is_objective ? '%s (speed >= %s, stealth >= %s, hold size >= %s, combat >= %s)' : '%s (speed: %s, stealth: %s, hold size: %s, combat: %s)' ; - push @{$scratch}, + push @{$item_tmp}, sprintf($pattern, $ship->type_formatted, commify($stats->{speed}), commify($stats->{stealth}), commify($stats->{hold_size}), commify($stats->{combat})); } - if (defined($scratch)) { - push @{$item_arr}, @{consolidate_items($scratch)}; + if (defined($item_tmp)) { + push @{$item_arr}, @{consolidate_items($item_tmp)}; } # fleet movement if ($is_objective && exists $items->{fleet_movement}) { - undef $scratch; + undef $item_tmp; my $bodies = Lacuna->db->resultset("Lacuna::DB::Result::Map::Body"); my $stars = Lacuna->db->resultset("Lacuna::DB::Result::Map::Star"); my $scratch = $self->scratch || {fleet_movement=>[]}; @@ -380,25 +380,25 @@ sub format_items { warn "fleet movement target not found"; next; } - push @{$scratch}, 'Send '.$ship->type_formatted.' to '.$target->name.' ('.$target->x.','.$target->y.').'; + push @{$item_tmp}, 'Send '.$ship->type_formatted.' to '.$target->name.' ('.$target->x.','.$target->y.').'; } - if (defined($scratch)) { - push @{$item_arr}, @{consolidate_items($scratch)}; + if (defined($item_tmp)) { + push @{$item_arr}, @{consolidate_items($item_tmp)}; } } # plans - undef $scratch; + undef $item_tmp; foreach my $stats (@{ $items->{plans}}) { my $level = $stats->{level}; if ($stats->{extra_build_level}) { $level .= '+'.$stats->{extra_build_level}; } my $pattern = $is_objective ? '%s (>= %s) plan' : '%s (%s) plan'; - push @{$scratch}, sprintf($pattern, $stats->{classname}->name, $level); + push @{$item_tmp}, sprintf($pattern, $stats->{classname}->name, $level); } - if (defined($scratch)) { - push @{$item_arr}, @{consolidate_items($scratch)}; + if (defined($item_tmp)) { + push @{$item_arr}, @{consolidate_items($item_tmp)}; } return $items; -- 2.54.0 From 230d9cffe3f3aedc19b4b3a99cef220503f23fe3 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 16:47:30 -0600 Subject: [PATCH 12/15] Once more, with feeling. --- lib/Lacuna/DB/Result/Mission.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Lacuna/DB/Result/Mission.pm b/lib/Lacuna/DB/Result/Mission.pm index 55df592e..29262b1e 100644 --- a/lib/Lacuna/DB/Result/Mission.pm +++ b/lib/Lacuna/DB/Result/Mission.pm @@ -344,7 +344,7 @@ sub format_items { push @{$item_tmp}, $glyph.' glyph'; } if (defined($item_tmp)) { - push @{$item_arr}, @{consolidate_items($item_tmp)} if (defined($item_tmp)); + push @{$item_arr}, @{consolidate_items($item_tmp)}; } # ships @@ -401,7 +401,7 @@ sub format_items { push @{$item_arr}, @{consolidate_items($item_tmp)}; } - return $items; + return $item_arr; } sub sqlt_deploy_hook { -- 2.54.0 From c7c3c0284479fa17f766f2624e8afb18156e7e30 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 22:31:04 -0600 Subject: [PATCH 13/15] Adding a tool. --- bin/puppet/add_spaceports.js | 120 +++++++++++++++++++++++++++++++++++ bin/puppet/colony_setup.js | 79 +++++++++++++++++++++++ bin/puppet/setup_colony.pl | 119 ++++++++++++++++++++++++++++++++++ 3 files changed, 318 insertions(+) create mode 100644 bin/puppet/add_spaceports.js create mode 100644 bin/puppet/colony_setup.js create mode 100755 bin/puppet/setup_colony.pl diff --git a/bin/puppet/add_spaceports.js b/bin/puppet/add_spaceports.js new file mode 100644 index 00000000..95eb62c3 --- /dev/null +++ b/bin/puppet/add_spaceports.js @@ -0,0 +1,120 @@ +[ + { "class" : "Lacuna::DB::Result::Building::Permanent::AlgaePond", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::GeoThermalVent", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::GreatBallOfJunk", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::NaturalSpring", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::Volcano", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, +] diff --git a/bin/puppet/colony_setup.js b/bin/puppet/colony_setup.js new file mode 100644 index 00000000..a58c2324 --- /dev/null +++ b/bin/puppet/colony_setup.js @@ -0,0 +1,79 @@ +[ + { "class" : "Lacuna::DB::Result::Building::Archaeology", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Capitol", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::CloakingLab", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Development", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::DistributionCenter", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::DistributionCenter", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Espionage", "level" : "15" }, + { "class" : "Lacuna::DB::Result::Building::Intelligence", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::MunitionsLab", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Observatory", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Oversight", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::AlgaePond", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::AmalgusMeadow", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::BeeldebanNest", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::DentonBrambles", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::GeoThermalVent", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::GratchsGauntlet", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::GreatBallOfJunk", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::InterDimensionalRift", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::NaturalSpring", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::Volcano", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::PilotTraining", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::PoliticsTraining", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Propulsion", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Security", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Shipyard", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Shipyard", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Shipyard", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Trade", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Exchanger", "level" : "25" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Exchanger", "level" : "25" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Sequestration", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Sequestration", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Sequestration", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Sequestration", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Sequestration", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Water::AtmosphericEvaporator", "level" : "25" }, + { "class" : "Lacuna::DB::Result::Building::Water::AtmosphericEvaporator", "level" : "25" }, + { "class" : "Lacuna::DB::Result::Building::Water::Storage", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Water::Storage", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Ore::Storage", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Ore::Storage", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Energy::Reserve", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Energy::Reserve", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Food::Reserve", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Food::Reserve", "level" : "30" } +] diff --git a/bin/puppet/setup_colony.pl b/bin/puppet/setup_colony.pl new file mode 100755 index 00000000..812038e2 --- /dev/null +++ b/bin/puppet/setup_colony.pl @@ -0,0 +1,119 @@ +use 5.010; +use strict; +use lib '/data/Lacuna-Server/lib'; +use Lacuna::DB; +use Lacuna; +use Lacuna::Util qw(randint format_date); +use Getopt::Long; +use JSON; +$|=1; +our $quiet; + my $body_id; + my $config; + my $empire_id; + my $sanitize; + + GetOptions( + 'quiet' => \$quiet, + 'body=s' => \$body_id, + 'config=s' => \$config, + 'empire_id=s' => \$empire_id, + 'sanitize' => \$sanitize, + ); + + + die "Usage: perl $0 --empire_id X --body X\n" unless ( defined $body_id ); + + out('Started'); + my $start = time; + + out('Loading DB'); + our $db = Lacuna->db; + + my $empires = $db->resultset('Lacuna::DB::Result::Empire'); + my $empire = $empires->find($empire_id); + print "Setting up for empire: $empire->name : $empire_id\n"; + + my $body = $db->resultset('Lacuna::DB::Result::Map::Body')->find($body_id); + print "Found body!\n"; + unless ($body) { + die "Cannot find body id $body_id\n"; + } + print "Really!\n"; + if ($sanitize) { + $body->sanitize; + } + print "Checking empire\n"; + unless (defined($body->empire)) { + $body->found_colony($empire); + } + print "Founded Colony\n"; + print $body->empire->name,"\n"; + my $beid = $body->empire->id; + if ($beid != $empire_id) { + my $name = $body->name; + die "$name belongs to $beid\n"; + } + + my $builds = get_builds($config); + + say "Adding to ".$body->name; + for my $build (@$builds) { + my ($x, $y) = $body->find_free_space; +# next if $y > -1; + my $bld = Lacuna->db->resultset('Lacuna::DB::Result::Building')->new({ + body_id => $body->id, + x => $x, + y => $y, + class => $build->{class}, + level => $build->{level} - 1, + }); + say sprintf("%2d:%2d L:%2d %s", $x, $y, $bld->level, $bld->name); + $body->build_building($bld); + $bld->finish_upgrade; + } + + my $finish = time; + out('Finished'); + out((($finish - $start)/60)." minutes have elapsed"); +exit; + + +############### +## SUBROUTINES +############### + +sub out { + my $message = shift; + unless ($quiet) { + say format_date(DateTime->now), " ", $message; + } +} + +sub get_builds { + my ( $data_file ) = @_; + + my $bld_data = get_json($data_file); + unless ($bld_data) { + die "Could not read $data_file\n"; + } + return $bld_data; +} + +sub get_json { + my ($file) = @_; + + if (-e $file) { + my $json = JSON->new->utf8(1); + my $fh; my $lines; + open($fh, "$file") || die "Could not open $file\n"; + $lines = join("", <$fh>); + my $data = $json->decode($lines); + close($fh); + return $data; + } + else { + warn "$file not found!\n"; + } + return 0; +} -- 2.54.0 From 5482c8b0cb52b3b80e07acb9a3ef54309b01ec34 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 23:04:24 -0600 Subject: [PATCH 14/15] tweak --- bin/puppet/add_spaceports.js | 111 +--------------- bin/puppet/building.lst | 236 +++++++++++++++++++++++++++++++++++ 2 files changed, 237 insertions(+), 110 deletions(-) create mode 100644 bin/puppet/building.lst diff --git a/bin/puppet/add_spaceports.js b/bin/puppet/add_spaceports.js index 95eb62c3..7c797496 100644 --- a/bin/puppet/add_spaceports.js +++ b/bin/puppet/add_spaceports.js @@ -1,120 +1,11 @@ [ - { "class" : "Lacuna::DB::Result::Building::Permanent::AlgaePond", "level" : "30" }, - { "class" : "Lacuna::DB::Result::Building::Permanent::GeoThermalVent", "level" : "30" }, - { "class" : "Lacuna::DB::Result::Building::Permanent::GreatBallOfJunk", "level" : "30" }, - { "class" : "Lacuna::DB::Result::Building::Permanent::NaturalSpring", "level" : "30" }, - { "class" : "Lacuna::DB::Result::Building::Permanent::Volcano", "level" : "30" }, { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" }, - { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "10" } ] diff --git a/bin/puppet/building.lst b/bin/puppet/building.lst new file mode 100644 index 00000000..e1099699 --- /dev/null +++ b/bin/puppet/building.lst @@ -0,0 +1,236 @@ +[ + { "class" : "Lacuna::DB::Result::Building::Archaeology", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Capitol", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::CloakingLab", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Development", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::DistributionCenter", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::DistributionCenter", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Espionage", "level" : "15" }, + { "class" : "Lacuna::DB::Result::Building::Intelligence", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::MunitionsLab", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Observatory", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Oversight", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::AlgaePond", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::AmalgusMeadow", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::BeeldebanNest", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::DentonBrambles", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::GeoThermalVent", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::GratchsGauntlet", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::GreatBallOfJunk", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::InterDimensionalRift", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::NaturalSpring", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Permanent::Volcano", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::PilotTraining", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::PoliticsTraining", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Propulsion", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SAW", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Security", "level" : "10" }, + { "class" : "Lacuna::DB::Result::Building::Shipyard", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Shipyard", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Shipyard", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::SpacePort", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Stockpile", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Trade", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Exchanger", "level" : "25" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Exchanger", "level" : "25" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Sequestration", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Sequestration", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Sequestration", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Sequestration", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Waste::Sequestration", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Water::AtmosphericEvaporator", "level" : "25" }, + { "class" : "Lacuna::DB::Result::Building::Water::AtmosphericEvaporator", "level" : "25" }, + { "class" : "Lacuna::DB::Result::Building::Water::Storage", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Water::Storage", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Ore::Storage", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Ore::Storage", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Energy::Reserve", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Energy::Reserve", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Food::Reserve", "level" : "30" }, + { "class" : "Lacuna::DB::Result::Building::Food::Reserve", "level" : "30" } +] + +# Lacuna::DB::Result::Building::Archaeology +# Lacuna::DB::Result::Building::Capitol +# Lacuna::DB::Result::Building::CloakingLab +# Lacuna::DB::Result::Building::DeployedBleeder +# Lacuna::DB::Result::Building::Development +# Lacuna::DB::Result::Building::DistributionCenter +# Lacuna::DB::Result::Building::Embassy +# Lacuna::DB::Result::Building::Energy::Fission +# Lacuna::DB::Result::Building::Energy::Fusion +# Lacuna::DB::Result::Building::Energy::Geo +# Lacuna::DB::Result::Building::Energy::Hydrocarbon +# Lacuna::DB::Result::Building::Energy::Reserve +# Lacuna::DB::Result::Building::Energy::Singularity +# Lacuna::DB::Result::Building::Energy::Waste +# Lacuna::DB::Result::Building::EntertainmentDistrict +# Lacuna::DB::Result::Building::Espionage +# Lacuna::DB::Result::Building::Food +# Lacuna::DB::Result::Building::Food::Algae +# Lacuna::DB::Result::Building::Food::Apple +# Lacuna::DB::Result::Building::Food::Bean +# Lacuna::DB::Result::Building::Food::Beeldeban +# Lacuna::DB::Result::Building::Food::Bread +# Lacuna::DB::Result::Building::Food::Burger +# Lacuna::DB::Result::Building::Food::Cheese +# Lacuna::DB::Result::Building::Food::Chip +# Lacuna::DB::Result::Building::Food::Cider +# Lacuna::DB::Result::Building::Food::Corn +# Lacuna::DB::Result::Building::Food::CornMeal +# Lacuna::DB::Result::Building::Food::Dairy +# Lacuna::DB::Result::Building::Food::Lapis +# Lacuna::DB::Result::Building::Food::Malcud +# Lacuna::DB::Result::Building::Food::Pancake +# Lacuna::DB::Result::Building::Food::Pie +# Lacuna::DB::Result::Building::Food::Potato +# Lacuna::DB::Result::Building::Food::Reserve +# Lacuna::DB::Result::Building::Food::Root +# Lacuna::DB::Result::Building::Food::Shake +# Lacuna::DB::Result::Building::Food::Soup +# Lacuna::DB::Result::Building::Food::Syrup +# Lacuna::DB::Result::Building::Food::Wheat +# Lacuna::DB::Result::Building::GasGiantLab +# Lacuna::DB::Result::Building::GeneticsLab +# Lacuna::DB::Result::Building::Intelligence +# Lacuna::DB::Result::Building::IntelTraining +# Lacuna::DB::Result::Building::LCOTa +# Lacuna::DB::Result::Building::LCOTb +# Lacuna::DB::Result::Building::LCOTc +# Lacuna::DB::Result::Building::LCOTd +# Lacuna::DB::Result::Building::LCOTe +# Lacuna::DB::Result::Building::LCOTf +# Lacuna::DB::Result::Building::LCOTg +# Lacuna::DB::Result::Building::LCOTh +# Lacuna::DB::Result::Building::LCOTi +# Lacuna::DB::Result::Building::LuxuryHousing +# Lacuna::DB::Result::Building::MayhemTraining +# Lacuna::DB::Result::Building::MercenariesGuild +# Lacuna::DB::Result::Building::MissionCommand +# Lacuna::DB::Result::Building::Module::ArtMuseum +# Lacuna::DB::Result::Building::Module::CulinaryInstitute +# Lacuna::DB::Result::Building::Module::IBS +# Lacuna::DB::Result::Building::Module::OperaHouse +# Lacuna::DB::Result::Building::Module::Parliament +# Lacuna::DB::Result::Building::Module::PoliceStation +# Lacuna::DB::Result::Building::Module::StationCommand +# Lacuna::DB::Result::Building::Module::Warehouse +# Lacuna::DB::Result::Building::MunitionsLab +# Lacuna::DB::Result::Building::Network19 +# Lacuna::DB::Result::Building::Observatory +# Lacuna::DB::Result::Building::Ore::Mine +# Lacuna::DB::Result::Building::Ore::Ministry +# Lacuna::DB::Result::Building::Ore::Refinery +# Lacuna::DB::Result::Building::Ore::Storage +# Lacuna::DB::Result::Building::Oversight +# Lacuna::DB::Result::Building::Park +# Lacuna::DB::Result::Building::Permanent::AlgaePond +# Lacuna::DB::Result::Building::Permanent::AmalgusMeadow +# Lacuna::DB::Result::Building::Permanent::Beach1 +# Lacuna::DB::Result::Building::Permanent::Beach10 +# Lacuna::DB::Result::Building::Permanent::Beach11 +# Lacuna::DB::Result::Building::Permanent::Beach12 +# Lacuna::DB::Result::Building::Permanent::Beach13 +# Lacuna::DB::Result::Building::Permanent::Beach2 +# Lacuna::DB::Result::Building::Permanent::Beach3 +# Lacuna::DB::Result::Building::Permanent::Beach4 +# Lacuna::DB::Result::Building::Permanent::Beach5 +# Lacuna::DB::Result::Building::Permanent::Beach6 +# Lacuna::DB::Result::Building::Permanent::Beach7 +# Lacuna::DB::Result::Building::Permanent::Beach8 +# Lacuna::DB::Result::Building::Permanent::Beach9 +# Lacuna::DB::Result::Building::Permanent::BeeldebanNest +# Lacuna::DB::Result::Building::Permanent::BlackHoleGenerator +# Lacuna::DB::Result::Building::Permanent::CitadelOfKnope +# Lacuna::DB::Result::Building::Permanent::CrashedShipSite +# Lacuna::DB::Result::Building::Permanent::Crater +# Lacuna::DB::Result::Building::Permanent::DentonBrambles +# Lacuna::DB::Result::Building::Permanent::EssentiaVein +# Lacuna::DB::Result::Building::Permanent::GasGiantPlatform +# Lacuna::DB::Result::Building::Permanent::GeoThermalVent +# Lacuna::DB::Result::Building::Permanent::GratchsGauntlet +# Lacuna::DB::Result::Building::Permanent::GreatBallOfJunk +# Lacuna::DB::Result::Building::Permanent::Grove +# Lacuna::DB::Result::Building::Permanent::HallsOfVrbansk +# Lacuna::DB::Result::Building::Permanent::InterDimensionalRift +# Lacuna::DB::Result::Building::Permanent::JunkHengeSculpture +# Lacuna::DB::Result::Building::Permanent::KalavianRuins +# Lacuna::DB::Result::Building::Permanent::KasternsKeep +# Lacuna::DB::Result::Building::Permanent::Lagoon +# Lacuna::DB::Result::Building::Permanent::Lake +# Lacuna::DB::Result::Building::Permanent::LapisForest +# Lacuna::DB::Result::Building::Permanent::LibraryOfJith +# Lacuna::DB::Result::Building::Permanent::MalcudField +# Lacuna::DB::Result::Building::Permanent::MassadsHenge +# Lacuna::DB::Result::Building::Permanent::MetalJunkArches +# Lacuna::DB::Result::Building::Permanent::NaturalSpring +# Lacuna::DB::Result::Building::Permanent::OracleOfAnid +# Lacuna::DB::Result::Building::Permanent::PantheonOfHagness +# Lacuna::DB::Result::Building::Permanent::PyramidJunkSculpture +# Lacuna::DB::Result::Building::Permanent::Ravine +# Lacuna::DB::Result::Building::Permanent::RockyOutcrop +# Lacuna::DB::Result::Building::Permanent::Sand +# Lacuna::DB::Result::Building::Permanent::SpaceJunkPark +# Lacuna::DB::Result::Building::Permanent::TempleOfTheDrajilites +# Lacuna::DB::Result::Building::Permanent::TerraformingPlatform +# Lacuna::DB::Result::Building::Permanent::TheDillonForge +# Lacuna::DB::Result::Building::Permanent::Volcano +# Lacuna::DB::Result::Building::PilotTraining +# Lacuna::DB::Result::Building::PlanetaryCommand +# Lacuna::DB::Result::Building::PoliticsTraining +# Lacuna::DB::Result::Building::Propulsion +# Lacuna::DB::Result::Building::SAW +# Lacuna::DB::Result::Building::Security +# Lacuna::DB::Result::Building::Shipyard +# Lacuna::DB::Result::Building::SpacePort +# Lacuna::DB::Result::Building::SSLa +# Lacuna::DB::Result::Building::SSLb +# Lacuna::DB::Result::Building::SSLc +# Lacuna::DB::Result::Building::SSLd +# Lacuna::DB::Result::Building::Stockpile +# Lacuna::DB::Result::Building::SubspaceSupplyDepot +# Lacuna::DB::Result::Building::SupplyPod +# Lacuna::DB::Result::Building::TerraformingLab +# Lacuna::DB::Result::Building::TheftTraining +# Lacuna::DB::Result::Building::ThemePark +# Lacuna::DB::Result::Building::Trade +# Lacuna::DB::Result::Building::Transporter +# Lacuna::DB::Result::Building::University +# Lacuna::DB::Result::Building::Waste::Digester +# Lacuna::DB::Result::Building::Waste::Exchanger +# Lacuna::DB::Result::Building::Waste::Recycling +# Lacuna::DB::Result::Building::Waste::Sequestration +# Lacuna::DB::Result::Building::Waste::Treatment +# Lacuna::DB::Result::Building::Water::AtmosphericEvaporator +# Lacuna::DB::Result::Building::Water::Production +# Lacuna::DB::Result::Building::Water::Purification +# Lacuna::DB::Result::Building::Water::Reclamation +# Lacuna::DB::Result::Building::Water::Storage -- 2.54.0 From 5d373ed881c9862eee8974d989ca96737bb9ceb2 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Tue, 15 May 2012 23:06:59 -0600 Subject: [PATCH 15/15] Updated changes.txt --- var/www/public/changes.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/var/www/public/changes.txt b/var/www/public/changes.txt index f1575ba3..d807a055 100644 --- a/var/www/public/changes.txt +++ b/var/www/public/changes.txt @@ -1,4 +1,5 @@ 3.0851: + - Mod: Multiple plans buildable in Archaeology Ministry via API. - Mod: view_plans from Planetary and Station Commands consolidated. UI updated to reflect. - Mod: You don't have to build all Halls of Vrbansk to sacrifice (only one) - Add: API only, supply chain to any planet or SS. Note. No UI support yet.