Permalink
Browse files

added cloaking lab, luxury housing, pilot training facility, munition…

…s lab and mission command
  • Loading branch information...
1 parent 2042b33 commit 3cfac623d65448ca11259b97c7da74f1b49c3d53 JT Smith committed Sep 8, 2010
View
@@ -5,6 +5,8 @@ link pod file in docs/Buildings.pod
add to class types in Lacuna::DB::Result::Building
add to bin/lacuna.psgi
add to Lacuna::DB::Result::Medals
+upload a medal image
+upload the building images in all 4 sizes
create wiki entry
add to var/www/public/building_descriptions.json
update the tech tree image
View
@@ -124,6 +124,11 @@ $urlmap->map(Lacuna::RPC::Building::Beach10->new->to_app_with_url);
$urlmap->map(Lacuna::RPC::Building::Beach11->new->to_app_with_url);
$urlmap->map(Lacuna::RPC::Building::Beach12->new->to_app_with_url);
$urlmap->map(Lacuna::RPC::Building::Beach13->new->to_app_with_url);
+$urlmap->map(Lacuna::RPC::Building::PilotTraining->new->to_app_with_url);
+$urlmap->map(Lacuna::RPC::Building::MissionCommand->new->to_app_with_url);
+$urlmap->map(Lacuna::RPC::Building::CloakingLab->new->to_app_with_url);
+$urlmap->map(Lacuna::RPC::Building::MunitionsLab->new->to_app_with_url);
+$urlmap->map(Lacuna::RPC::Building::LuxuryHousing->new->to_app_with_url);
# admin
my $admin = builder {
View
@@ -298,6 +298,8 @@ Below is a list of the different types of structures that can be built on planet
=item L<Cider>
+=item L<CloakingLab>
+
=item L<Corn>
=item L<CornMeal>
@@ -350,6 +352,8 @@ Below is a list of the different types of structures that can be built on planet
=item L<LibraryOfJith>
+=item L<LuxuryHousing>
+
=item L<Malcud>
=item L<MassadsHenge>
@@ -358,6 +362,10 @@ Below is a list of the different types of structures that can be built on planet
=item L<MiningMinistry>
+=item L<MissionCommand>
+
+=item L<MunitionsLab>
+
=item L<NaturalSpring>
=item L<Network19>
@@ -378,6 +386,8 @@ Below is a list of the different types of structures that can be built on planet
=item L<Pie>
+=item L<PilotTraining>
+
=item L<PlanetaryCommand>
=item L<Potato>
View
@@ -0,0 +1,7 @@
+=head1 Cloaking Lab Methods
+
+Cloaking Lab is accessible via the URL C</cloakinglab>.
+
+The list of methods below represents changes and additions to the methods that all L<Buildings> share.
+
+=cut
View
@@ -0,0 +1,7 @@
+=head1 Luxury Housing Methods
+
+Luxury Housing is accessible via the URL C</luxuryhousing>.
+
+The list of methods below represents changes and additions to the methods that all L<Buildings> share.
+
+=cut
View
@@ -0,0 +1,7 @@
+=head1 Mission Command Methods
+
+Mission Command is accessible via the URL C</missioncommand>.
+
+The list of methods below represents changes and additions to the methods that all L<Buildings> share.
+
+=cut
View
@@ -0,0 +1,7 @@
+=head1 Munitions Lab Methods
+
+Munitions Lab is accessible via the URL C</munitionslab>.
+
+The list of methods below represents changes and additions to the methods that all L<Buildings> share.
+
+=cut
View
@@ -0,0 +1,7 @@
+=head1 Pilot Training Facility Methods
+
+Pilot Training Facility is accessible via the URL C</pilottraining>.
+
+The list of methods below represents changes and additions to the methods that all L<Buildings> share.
+
+=cut
View
@@ -15,6 +15,11 @@ use constant FINDABLE_PLANS => (qw(
Lacuna::DB::Result::Building::Permanent::GeoThermalVent
));
use constant BUILDABLE_CLASSES => (qw(
+ Lacuna::RPC::Building::MissionCommand
+ Lacuna::RPC::Building::CloakingLab
+ Lacuna::RPC::Building::MunitionsLab
+ Lacuna::RPC::Building::LuxuryHousing
+ Lacuna::RPC::Building::PilotTraining
Lacuna::RPC::Building::Capitol
Lacuna::RPC::Building::Stockpile
Lacuna::RPC::Building::Algae
@@ -36,6 +36,11 @@ sub sqlt_deploy_hook {
__PACKAGE__->belongs_to('body', 'Lacuna::DB::Result::Map::Body', 'body_id');
__PACKAGE__->typecast_map(class => {
+ 'Lacuna::DB::Result::Building::CloakingLab' => 'Lacuna::DB::Result::Building::CloakingLab',
+ 'Lacuna::DB::Result::Building::MissionCommand' => 'Lacuna::DB::Result::Building::MissionCommand',
+ 'Lacuna::DB::Result::Building::MunitionsLab' => 'Lacuna::DB::Result::Building::MunitionsLab',
+ 'Lacuna::DB::Result::Building::LuxuryHousing' => 'Lacuna::DB::Result::Building::LuxuryHousing',
+ 'Lacuna::DB::Result::Building::PilotTraining' => 'Lacuna::DB::Result::Building::PilotTraining',
'Lacuna::DB::Result::Building::Development' => 'Lacuna::DB::Result::Building::Development',
'Lacuna::DB::Result::Building::Embassy' => 'Lacuna::DB::Result::Building::Embassy',
'Lacuna::DB::Result::Building::EntertainmentDistrict' => 'Lacuna::DB::Result::Building::EntertainmentDistrict',
@@ -0,0 +1,46 @@
+package Lacuna::DB::Result::Building::CloakingLab;
+
+use Moose;
+no warnings qw(uninitialized);
+extends 'Lacuna::DB::Result::Building';
+
+around 'build_tags' => sub {
+ my ($orig, $class) = @_;
+ return ($orig->($class), qw(Infrastructure Ships));
+};
+
+use constant controller_class => 'Lacuna::RPC::Building::CloakingLab';
+
+use constant university_prereq => 17;
+
+use constant max_instances_per_planet => 1;
+
+use constant image => 'cloakinglab';
+
+use constant name => 'Cloaking Lab';
+
+use constant food_to_build => 220;
+
+use constant energy_to_build => 240;
+
+use constant ore_to_build => 240;
+
+use constant water_to_build => 220;
+
+use constant waste_to_build => 100;
+
+use constant time_to_build => 310;
+
+use constant food_consumption => 14;
+
+use constant energy_consumption => 50;
+
+use constant ore_consumption => 20;
+
+use constant water_consumption => 20;
+
+use constant waste_production => 15;
+
+
+no Moose;
+__PACKAGE__->meta->make_immutable(inline_constructor => 0);
@@ -0,0 +1,47 @@
+package Lacuna::DB::Result::Building::LuxuryHousing;
+
+use Moose;
+no warnings qw(uninitialized);
+extends 'Lacuna::DB::Result::Building';
+
+around 'build_tags' => sub {
+ my ($orig, $class) = @_;
+ return ($orig->($class), qw(Infrastructure Happiness));
+};
+
+use constant controller_class => 'Lacuna::RPC::Building::LuxuryHousing';
+
+use constant university_prereq => 11;
+
+use constant image => 'luxuryhousing';
+
+use constant name => 'Luxury Housing';
+
+use constant food_to_build => 640;
+
+use constant energy_to_build => 640;
+
+use constant ore_to_build => 760;
+
+use constant water_to_build => 760;
+
+use constant waste_to_build => 250;
+
+use constant time_to_build => 250;
+
+use constant food_consumption => 75;
+
+use constant energy_consumption => 75;
+
+use constant ore_consumption => 20;
+
+use constant water_consumption => 85;
+
+use constant waste_production => 60;
+
+use constant happiness_production => 230;
+
+
+
+no Moose;
+__PACKAGE__->meta->make_immutable(inline_constructor => 0);
@@ -0,0 +1,46 @@
+package Lacuna::DB::Result::Building::MissionCommand;
+
+use Moose;
+no warnings qw(uninitialized);
+extends 'Lacuna::DB::Result::Building';
+
+around 'build_tags' => sub {
+ my ($orig, $class) = @_;
+ return ($orig->($class), qw(Infrastructure));
+};
+
+use constant controller_class => 'Lacuna::RPC::Building::MissionCommand';
+
+use constant university_prereq => 7;
+
+use constant max_instances_per_planet => 1;
+
+use constant image => 'missioncommand';
+
+use constant name => 'Mission Command';
+
+use constant food_to_build => 85;
+
+use constant energy_to_build => 90;
+
+use constant ore_to_build => 110;
+
+use constant water_to_build => 90;
+
+use constant waste_to_build => 40;
+
+use constant time_to_build => 120;
+
+use constant food_consumption => 7;
+
+use constant energy_consumption => 10;
+
+use constant ore_consumption => 3;
+
+use constant water_consumption => 10;
+
+use constant waste_production => 2;
+
+
+no Moose;
+__PACKAGE__->meta->make_immutable(inline_constructor => 0);
@@ -0,0 +1,46 @@
+package Lacuna::DB::Result::Building::MunitionsLab;
+
+use Moose;
+no warnings qw(uninitialized);
+extends 'Lacuna::DB::Result::Building';
+
+around 'build_tags' => sub {
+ my ($orig, $class) = @_;
+ return ($orig->($class), qw(Infrastructure Ships));
+};
+
+use constant controller_class => 'Lacuna::RPC::Building::MunitionsLab';
+
+use constant university_prereq => 16;
+
+use constant max_instances_per_planet => 1;
+
+use constant image => 'munitionslab';
+
+use constant name => 'MunitionsLab';
+
+use constant food_to_build => 220;
+
+use constant energy_to_build => 250;
+
+use constant ore_to_build => 250;
+
+use constant water_to_build => 220;
+
+use constant waste_to_build => 100;
+
+use constant time_to_build => 300;
+
+use constant food_consumption => 14;
+
+use constant energy_consumption => 20;
+
+use constant ore_consumption => 50;
+
+use constant water_consumption => 20;
+
+use constant waste_production => 15;
+
+
+no Moose;
+__PACKAGE__->meta->make_immutable(inline_constructor => 0);
@@ -0,0 +1,46 @@
+package Lacuna::DB::Result::Building::PilotTraining;
+
+use Moose;
+no warnings qw(uninitialized);
+extends 'Lacuna::DB::Result::Building';
+
+around 'build_tags' => sub {
+ my ($orig, $class) = @_;
+ return ($orig->($class), qw(Infrastructure Ships));
+};
+
+use constant controller_class => 'Lacuna::RPC::Building::PilotTraining';
+
+use constant university_prereq => 14;
+
+use constant max_instances_per_planet => 1;
+
+use constant image => 'pilottraining';
+
+use constant name => 'Pilot Training Facility';
+
+use constant food_to_build => 220;
+
+use constant energy_to_build => 230;
+
+use constant ore_to_build => 220;
+
+use constant water_to_build => 230;
+
+use constant waste_to_build => 100;
+
+use constant time_to_build => 290;
+
+use constant food_consumption => 25;
+
+use constant energy_consumption => 25;
+
+use constant ore_consumption => 20;
+
+use constant water_consumption => 25;
+
+use constant waste_production => 15;
+
+
+no Moose;
+__PACKAGE__->meta->make_immutable(inline_constructor => 0);
@@ -254,6 +254,11 @@ use constant MEDALS => {
Beach11 => 'Built Beach (section 11)',
Beach12 => 'Built Beach (section 12)',
Beach13 => 'Built Beach (section 13)',
+ MunitionsLab => 'Built Munitions Lab',
+ PilotTraining => 'Built Pilot Training Facility',
+ LuxuryHousing => 'Built Luxury Housing',
+ MissionCommand => 'Built Mission Command',
+ CloakingLab => 'Built Cloaking Lab',
};
sub name {
@@ -27,7 +27,7 @@ __PACKAGE__->add_columns(
foreign_body_id => { data_type => 'int', size => 11, is_nullable => 1 },
foreign_star_id => { data_type => 'int', size => 11, is_nullable => 1 },
);
-__PACKAGE__->typecast_map(class => {
+__PACKAGE__->typecast_map(type => {
'probe' => 'Lacuna::DB::Result::Ships::Probe',
'colony_ship' => 'Lacuna::DB::Result::Ships::ColonyShip',
'spy_pod' => 'Lacuna::DB::Result::Ships::SpyPod',
@@ -4,7 +4,7 @@ use Moose;
no warnings qw(uninitialized);
extends 'Lacuna::DB::Result::Ships';
-use constant prereq => { class=> 'Lacuna::DB::Result::Building::DemolitionLab', level => 5 };
+use constant prereq => { class=> 'Lacuna::DB::Result::Building::MunitionsLab', level => 5 };
use constant base_food_cost => 18000;
use constant base_water_cost => 46800;
use constant base_energy_cost => 291600;
@@ -5,7 +5,7 @@ no warnings qw(uninitialized);
extends 'Lacuna::DB::Result::Ships';
-use constant prereq => { class=> 'Lacuna::DB::Result::Building::DemolitionLab', level => 1 };
+use constant prereq => { class=> 'Lacuna::DB::Result::Building::MunitionsLab', level => 1 };
use constant base_food_cost => 6000;
use constant base_water_cost => 15600;
use constant base_energy_cost => 97200;
Oops, something went wrong.

0 comments on commit 3cfac62

Please sign in to comment.