diff --git a/lib/Lacuna/DB/Result/Spies.pm b/lib/Lacuna/DB/Result/Spies.pm index 19ab59d5..0ffa7a01 100644 --- a/lib/Lacuna/DB/Result/Spies.pm +++ b/lib/Lacuna/DB/Result/Spies.pm @@ -545,66 +545,74 @@ sub run_mission { } sub run_security_sweep { - my $self = shift; - - # calculate success, failure, or bounce - my $mission_skill = 'intel_xp'; - my $power = $self->defense + $self->$mission_skill; - my $toughness = 0; - my $attacker = $self->get_attacker; + my $self = shift; + + # calculate success, failure, or bounce + my $mission_skill = 'intel_xp'; + my $power = $self->defense + $self->$mission_skill; + my $toughness = 0; + my $attacker = $self->get_attacker; + if (defined $attacker) { + $toughness = $attacker->offense + $attacker->$mission_skill; + } + else { + $attacker = $self->get_idle_attacker; if (defined $attacker) { - $toughness = $attacker->offense + $attacker->$mission_skill; +# Would prefer to have it easier the longer the spy has been inactive, but... + $toughness = $attacker->offense + $attacker->$mission_skill - randint(500,2000); } - my $breakthru = ($power - $toughness + $self->home_field_advantage) + $self->luck; + } + my $breakthru = ($power - $toughness + $self->home_field_advantage) + $self->luck; - # handle outcomes and xp - my $out; - if ($breakthru < 0) { - my $message_id; - if (defined $attacker) { - $attacker->$mission_skill( $attacker->$mission_skill + 10 ); - $attacker->update_level; - $attacker->defense_mission_successes( $attacker->defense_mission_successes + 1 ); - $message_id = $attacker->kill_attacking_spy($self)->id; - } - else { - $self->no_target->id; - } - $self->$mission_skill( $self->$mission_skill + 6 ); - $self->update_level; - $out = { result => 'Failure', - message_id => $message_id, - reason => random_element(['It has just gone pear shaped.', - 'I\'ll do better next time, if there is a next time.', - 'The fit has just hit the shan.', - 'I want my mommy!']) }; + # handle outcomes and xp + my $out; + if ($breakthru < 0) { + my $message_id; + if (defined $attacker) { + $attacker->$mission_skill( $attacker->$mission_skill + 10 ); + $attacker->update_level; + $attacker->defense_mission_successes( $attacker->defense_mission_successes + 1 ); + $message_id = $attacker->kill_attacking_spy($self)->id; } else { - my $message_id; - if (defined $attacker) { - $message_id = $self->detain_a_spy($attacker)->id; - $attacker->$mission_skill( $attacker->$mission_skill + 6); - $attacker->update_level; - } - else { - $message_id = $self->no_target->id; - } - $self->offense_mission_successes( $self->offense_mission_successes + 1 ); - $self->$mission_skill( $self->$mission_skill + 10 ); - $self->update_level; - $out = { result => 'Success', - message_id => $message_id, - reason => random_element(['Mom would have been proud.', - 'Done.', - 'That is why you pay me the big bucks.']) }; - } - $self->defense_mission_count( $self->defense_mission_count + 1); - $self->update; + $self->no_target->id; + } + $self->$mission_skill( $self->$mission_skill + 6 ); + $self->update_level; + $out = { result => 'Failure', + message_id => $message_id, + reason => random_element(['It has just gone pear shaped.', + 'I\'ll do better next time, if there is a next time.', + 'The fit has just hit the shan.', + 'I want my mommy!']) }; + } + else { + my $message_id; if (defined $attacker) { - $attacker->offense_mission_count( $attacker->offense_mission_count + 1); - $attacker->update; + $message_id = $self->detain_a_spy($attacker)->id; + $attacker->$mission_skill( $attacker->$mission_skill + 6); + $attacker->update_level; } - return $out; + else { + $message_id = $self->spy_report(@_); +# $message_id = $self->no_target->id; + } + $self->offense_mission_successes( $self->offense_mission_successes + 1 ); + $self->$mission_skill( $self->$mission_skill + 10 ); + $self->update_level; + $out = { result => 'Success', + message_id => $message_id, + reason => random_element(['Mom would have been proud.', + 'Done.', + 'That is why you pay me the big bucks.']) }; + } + $self->defense_mission_count( $self->defense_mission_count + 1); + $self->update; + if (defined $attacker) { + $attacker->offense_mission_count( $attacker->offense_mission_count + 1); + $attacker->update; + } + return $out; } sub get_defender { @@ -659,6 +667,34 @@ sub get_attacker { return $attacker; } +sub get_idle_attacker { + my $self = shift; + + my $alliance_id = $self->empire->alliance_id; + my @member_ids; + if ($alliance_id) { + @member_ids = $self->empire->alliance->members->get_column('id')->all; + } + else { + $member_ids[0] = $self->empire->id; + } + + my @attackers = Lacuna + ->db + ->resultset('Lacuna::DB::Result::Spies') + ->search( + { on_body_id => $self->on_body_id, + task => 'Idle', empire_id => { 'not in' => \@member_ids }, + started_assignment => { '<' => DateTime->now->subtract(days => 7) } }, + ) + ->all; + + my $attacker = random_element(\@attackers); + + $attacker->on_body($self->on_body) if defined $attacker; + return $attacker; +} + sub get_random_prisoner { my $self = shift; my @prisoners = Lacuna diff --git a/var/www/public/changes.txt b/var/www/public/changes.txt index 01938774..3000359f 100644 --- a/var/www/public/changes.txt +++ b/var/www/public/changes.txt @@ -1,3 +1,6 @@ +3.0818 + - Add: Security Sweep improved. + 3.0817 - Add: Black Hole Generator Code added. - Mod: Lowered chances of glyphs discovered being announced on N19. -- 2.51.2 From cc39f792a7f698389f17d99839e402e61cfd2e47 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Thu, 10 Nov 2011 15:49:02 -0700 Subject: [PATCH 2/8] Supply Pods now deduct resources when sent. --- lib/Lacuna/DB/Result/Ships/SupplyPod.pm | 1 + lib/Lacuna/DB/Result/Ships/SupplyPod2.pm | 1 + lib/Lacuna/DB/Result/Ships/SupplyPod3.pm | 1 + lib/Lacuna/DB/Result/Ships/SupplyPod4.pm | 1 + .../Role/Ship/Arrive/DeploySupplyPod.pm | 63 ---------------- lib/Lacuna/Role/Ship/Send/LoadSupplyPod.pm | 74 +++++++++++++++++++ 6 files changed, 78 insertions(+), 63 deletions(-) create mode 100644 lib/Lacuna/Role/Ship/Send/LoadSupplyPod.pm diff --git a/lib/Lacuna/DB/Result/Ships/SupplyPod.pm b/lib/Lacuna/DB/Result/Ships/SupplyPod.pm index 0d9c5753..37c9d515 100644 --- a/lib/Lacuna/DB/Result/Ships/SupplyPod.pm +++ b/lib/Lacuna/DB/Result/Ships/SupplyPod.pm @@ -21,6 +21,7 @@ use constant supply_pod_level => 5; with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; +with "Lacuna::Role::Ship::Send::LoadSupplyPod"; with "Lacuna::Role::Ship::Arrive::DeploySupplyPod"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/SupplyPod2.pm b/lib/Lacuna/DB/Result/Ships/SupplyPod2.pm index 2103769c..b34865ad 100644 --- a/lib/Lacuna/DB/Result/Ships/SupplyPod2.pm +++ b/lib/Lacuna/DB/Result/Ships/SupplyPod2.pm @@ -22,6 +22,7 @@ use constant type_formatted => 'Supply Pod II'; with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; +with "Lacuna::Role::Ship::Send::LoadSupplyPod"; with "Lacuna::Role::Ship::Arrive::DeploySupplyPod"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/SupplyPod3.pm b/lib/Lacuna/DB/Result/Ships/SupplyPod3.pm index 1fdb5d7e..5ee4f8c2 100644 --- a/lib/Lacuna/DB/Result/Ships/SupplyPod3.pm +++ b/lib/Lacuna/DB/Result/Ships/SupplyPod3.pm @@ -22,6 +22,7 @@ use constant type_formatted => 'Supply Pod III'; with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; +with "Lacuna::Role::Ship::Send::LoadSupplyPod"; with "Lacuna::Role::Ship::Arrive::DeploySupplyPod"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/SupplyPod4.pm b/lib/Lacuna/DB/Result/Ships/SupplyPod4.pm index 2f0309e3..2fdcee5a 100644 --- a/lib/Lacuna/DB/Result/Ships/SupplyPod4.pm +++ b/lib/Lacuna/DB/Result/Ships/SupplyPod4.pm @@ -22,6 +22,7 @@ use constant type_formatted => 'Supply Pod IV'; with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; +with "Lacuna::Role::Ship::Send::LoadSupplyPod"; with "Lacuna::Role::Ship::Arrive::DeploySupplyPod"; no Moose; diff --git a/lib/Lacuna/Role/Ship/Arrive/DeploySupplyPod.pm b/lib/Lacuna/Role/Ship/Arrive/DeploySupplyPod.pm index ad48a306..36b16677 100644 --- a/lib/Lacuna/Role/Ship/Arrive/DeploySupplyPod.pm +++ b/lib/Lacuna/Role/Ship/Arrive/DeploySupplyPod.pm @@ -42,67 +42,4 @@ after handle_arrival_procedures => sub { } }; - -after send => sub { - my $self = shift; - my $part = $self->hold_size; - my $food = $part; - my $ore = $part; - my $body = $self->body; - my $payload; - foreach my $type (shuffle FOOD_TYPES) { - my $stored = $body->type_stored($type); - if ($stored >= $food) { - $body->spend_type($type, $food); - $payload->{resources}{$type} = $food; - last; - } - else { - $body->spend_type($type, $stored); - $payload->{resources}{$type} = $stored if $stored; - $food -= $stored; - } - } - foreach my $type (shuffle ORE_TYPES) { - my $stored = $body->type_stored($type); - if ($stored >= $ore) { - $body->spend_type($type, $ore); - $payload->{resources}{$type} = $ore; - last; - } - else { - $body->spend_type($type, $stored); - $payload->{resources}{$type} = $stored if $stored; - $ore -= $stored; - } - } - my $energy = $body->type_stored('energy'); - if ($energy >= $part) { - $body->spend_type('energy', $part); - $payload->{resources}{energy} = $part; - } - else { - $body->spend_type('energy', $energy); - $payload->{resources}{energy} = $energy if $energy; - } - my $water = $body->type_stored('water'); - if ($water >= $part) { - $body->spend_type('water', $part); - $payload->{resources}{water} = $part; - } - else { - $body->spend_type('water', $water); - $payload->{resources}{water} = $water if $water; - } - $self->payload($payload); - $self->update; - Lacuna->cache->set('supply_pod_sent',$self->body_id,1,60*60*24); -}; - -after can_send_to_target => sub { - my ($self, $target) = @_; - confess [1010, 'Cannot send more than one per day per planet.'] if (Lacuna->cache->get('supply_pod_sent',$self->body_id)); -}; - - 1; diff --git a/lib/Lacuna/Role/Ship/Send/LoadSupplyPod.pm b/lib/Lacuna/Role/Ship/Send/LoadSupplyPod.pm new file mode 100644 index 00000000..0e0b516b --- /dev/null +++ b/lib/Lacuna/Role/Ship/Send/LoadSupplyPod.pm @@ -0,0 +1,74 @@ +package Lacuna::Role::Ship::Send::LoadSupplyPod; + +use strict; +use Moose::Role; +use List::Util qw(shuffle); +use Lacuna::Util qw(randint); +use Lacuna::Constants qw(FOOD_TYPES ORE_TYPES); + +requires 'supply_pod_level'; + +after send => sub { + my $self = shift; + my $part = $self->hold_size; + my $food = $part; + my $ore = $part; + my $body = $self->body; + my $payload; + foreach my $type (shuffle FOOD_TYPES) { + my $stored = $body->type_stored($type); + if ($stored >= $food) { + $body->spend_type($type, $food); + $payload->{resources}{$type} = $food; + last; + } + else { + $body->spend_type($type, $stored); + $payload->{resources}{$type} = $stored if $stored; + $food -= $stored; + } + } + foreach my $type (shuffle ORE_TYPES) { + my $stored = $body->type_stored($type); + if ($stored >= $ore) { + $body->spend_type($type, $ore); + $payload->{resources}{$type} = $ore; + last; + } + else { + $body->spend_type($type, $stored); + $payload->{resources}{$type} = $stored if $stored; + $ore -= $stored; + } + } + my $energy = $body->type_stored('energy'); + if ($energy >= $part) { + $body->spend_type('energy', $part); + $payload->{resources}{energy} = $part; + } + else { + $body->spend_type('energy', $energy); + $payload->{resources}{energy} = $energy if $energy; + } + my $water = $body->type_stored('water'); + if ($water >= $part) { + $body->spend_type('water', $part); + $payload->{resources}{water} = $part; + } + else { + $body->spend_type('water', $water); + $payload->{resources}{water} = $water if $water; + } + $self->payload($payload); + $self->update; + $body->update; + Lacuna->cache->set('supply_pod_sent',$self->body_id,1,60*60*24); +}; + +after can_send_to_target => sub { + my ($self, $target) = @_; + confess [1010, 'Cannot send more than one per day per planet.'] + if (Lacuna->cache->get('supply_pod_sent',$self->body_id)); +}; + +1; -- 2.51.2 From f04b02e4d63139298e5058ecf7346a380dff4f4b Mon Sep 17 00:00:00 2001 From: lemming552 Date: Thu, 10 Nov 2011 15:50:57 -0700 Subject: [PATCH 3/8] Updated change text. --- var/www/public/changes.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/www/public/changes.txt b/var/www/public/changes.txt index 3000359f..fa2becca 100644 --- a/var/www/public/changes.txt +++ b/var/www/public/changes.txt @@ -1,5 +1,6 @@ 3.0818 - - Add: Security Sweep improved. + - Mod: Security Sweep improved. + - Fix: Supply Pods now deduct resources on send. 3.0817 - Add: Black Hole Generator Code added. -- 2.51.2 From 405d97a1c19eb99448e46b2251a4a6b9a8d43688 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Thu, 10 Nov 2011 20:22:22 -0700 Subject: [PATCH 4/8] Adjusted consumption on space station modules. --- lib/Lacuna/DB/Result/Building/Module.pm | 8 ++++---- lib/Lacuna/DB/Result/Building/Module/IBS.pm | 5 ++++- lib/Lacuna/DB/Result/Building/Module/Warehouse.pm | 4 ++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/Lacuna/DB/Result/Building/Module.pm b/lib/Lacuna/DB/Result/Building/Module.pm index 014ea993..17039458 100644 --- a/lib/Lacuna/DB/Result/Building/Module.pm +++ b/lib/Lacuna/DB/Result/Building/Module.pm @@ -15,10 +15,10 @@ sub image_level { return $self->image; } -use constant energy_consumption => 200; -use constant water_consumption => 100; -use constant food_consumption => 100; -use constant ore_consumption => 100; +use constant energy_consumption => 50; +use constant water_consumption => 50; +use constant food_consumption => 50; +use constant ore_consumption => 50; use constant energy_to_build => 500; use constant food_to_build => 100; use constant ore_to_build => 500; diff --git a/lib/Lacuna/DB/Result/Building/Module/IBS.pm b/lib/Lacuna/DB/Result/Building/Module/IBS.pm index 7cc71ae5..ce0a3e97 100644 --- a/lib/Lacuna/DB/Result/Building/Module/IBS.pm +++ b/lib/Lacuna/DB/Result/Building/Module/IBS.pm @@ -9,7 +9,10 @@ use constant controller_class => 'Lacuna::RPC::Building::IBS'; use constant image => 'ibs'; use constant name => 'Interstellar Broadcast System'; use constant max_instances_per_planet => 1; -use constant energy_consumption => 600; +use constant food_consumption => 100; +use constant ore_consumption => 100; +use constant water_consumption => 100; +use constant energy_consumption => 100; before demolish => sub { my $self = shift; diff --git a/lib/Lacuna/DB/Result/Building/Module/Warehouse.pm b/lib/Lacuna/DB/Result/Building/Module/Warehouse.pm index e1dd28c7..d8a69fcd 100644 --- a/lib/Lacuna/DB/Result/Building/Module/Warehouse.pm +++ b/lib/Lacuna/DB/Result/Building/Module/Warehouse.pm @@ -12,6 +12,10 @@ use constant water_storage => 2500; use constant energy_storage => 2500; use constant food_storage => 2500; use constant ore_storage => 2500; +use constant energy_consumption => 25; +use constant water_consumption => 25; +use constant food_consumption => 25; +use constant ore_consumption => 25; no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); -- 2.51.2 From 09b06f203024b2083aacd1f62f16504d6a830be7 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Fri, 11 Nov 2011 08:28:53 -0700 Subject: [PATCH 5/8] Changed recipe for AI discussion. --- lib/Lacuna/DB/Result/Building/Archaeology.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Lacuna/DB/Result/Building/Archaeology.pm b/lib/Lacuna/DB/Result/Building/Archaeology.pm index 9db8fe37..216c9320 100644 --- a/lib/Lacuna/DB/Result/Building/Archaeology.pm +++ b/lib/Lacuna/DB/Result/Building/Archaeology.pm @@ -326,7 +326,7 @@ my %recipies = ( uraninite => { sulfur => { trona => { - plan => 'Lacuna::DB::Result::Building::Permanent::TheDillonForge', + plan => 'Lacuna::DB::Result::Building::Permanent::KasternsKeep', }, }, }, -- 2.51.2 From 70c995cc9ba303e9e372fdc49ec31d1c071fd0f3 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Fri, 11 Nov 2011 08:39:55 -0700 Subject: [PATCH 6/8] Excavators do not trigger defenses. --- lib/Lacuna/DB/Result/Ships/Excavator.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Lacuna/DB/Result/Ships/Excavator.pm b/lib/Lacuna/DB/Result/Ships/Excavator.pm index ea2bf8e2..788b078d 100644 --- a/lib/Lacuna/DB/Result/Ships/Excavator.pm +++ b/lib/Lacuna/DB/Result/Ships/Excavator.pm @@ -19,7 +19,7 @@ use constant build_tags => ['Exploration']; with "Lacuna::Role::Ship::Send::Body"; with "Lacuna::Role::Ship::Send::MaybeHostile"; -with "Lacuna::Role::Ship::Arrive::TriggerDefense"; +# with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::Excavate"; no Moose; -- 2.51.2 From ad8d7eb25f791589910f53b749b92121965f33b2 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Fri, 11 Nov 2011 08:47:52 -0700 Subject: [PATCH 7/8] Prebalancing some SAW costs. --- lib/Lacuna/DB/Result/Building/SAW.pm | 6 ++++-- var/www/public/changes.txt | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Lacuna/DB/Result/Building/SAW.pm b/lib/Lacuna/DB/Result/Building/SAW.pm index e7dab00a..130e3e0e 100644 --- a/lib/Lacuna/DB/Result/Building/SAW.pm +++ b/lib/Lacuna/DB/Result/Building/SAW.pm @@ -33,6 +33,8 @@ around spend_efficiency => sub { return $self; }; +use constant max_instances_per_planet => 10; + use constant controller_class => 'Lacuna::RPC::Building::SAW'; use constant university_prereq => 8; @@ -55,13 +57,13 @@ use constant time_to_build => 60 * 2; use constant food_consumption => 2; -use constant energy_consumption => 80; +use constant energy_consumption => 50; use constant ore_consumption => 5; use constant water_consumption => 6; -use constant waste_production => 15; +use constant waste_production => 20; no Moose; diff --git a/var/www/public/changes.txt b/var/www/public/changes.txt index fa2becca..84e1d1b9 100644 --- a/var/www/public/changes.txt +++ b/var/www/public/changes.txt @@ -1,6 +1,8 @@ 3.0818 - Mod: Security Sweep improved. - Fix: Supply Pods now deduct resources on send. + - Mod: Excavators no longer trigger defenses. + - Mod: SAWs improved. 3.0817 - Add: Black Hole Generator Code added. -- 2.51.2 From a545f80374a2c6ab320c3940b535721eb027adb8 Mon Sep 17 00:00:00 2001 From: lemming552 Date: Sun, 13 Nov 2011 07:36:40 -0700 Subject: [PATCH 8/8] Station adjustments, excavators not hostile, saw reverted for now. --- lib/Lacuna/DB/Result/Building/Module.pm | 8 ++++---- .../DB/Result/Building/Module/ArtMuseum.pm | 1 + .../Result/Building/Module/CulinaryInstitute.pm | 1 + lib/Lacuna/DB/Result/Building/Module/IBS.pm | 5 +---- .../DB/Result/Building/Module/OperaHouse.pm | 1 + .../DB/Result/Building/Module/Parliament.pm | 4 ++++ .../DB/Result/Building/Module/PoliceStation.pm | 4 ++++ .../DB/Result/Building/Module/StationCommand.pm | 4 ++++ .../DB/Result/Building/Module/Warehouse.pm | 16 ++++++++-------- lib/Lacuna/DB/Result/Building/SAW.pm | 6 ++---- lib/Lacuna/DB/Result/Ships/Excavator.pm | 2 -- 11 files changed, 30 insertions(+), 22 deletions(-) diff --git a/lib/Lacuna/DB/Result/Building/Module.pm b/lib/Lacuna/DB/Result/Building/Module.pm index 17039458..f2340c99 100644 --- a/lib/Lacuna/DB/Result/Building/Module.pm +++ b/lib/Lacuna/DB/Result/Building/Module.pm @@ -15,10 +15,10 @@ sub image_level { return $self->image; } -use constant energy_consumption => 50; -use constant water_consumption => 50; -use constant food_consumption => 50; -use constant ore_consumption => 50; +use constant energy_consumption => 80; +use constant water_consumption => 80; +use constant food_consumption => 80; +use constant ore_consumption => 80; use constant energy_to_build => 500; use constant food_to_build => 100; use constant ore_to_build => 500; diff --git a/lib/Lacuna/DB/Result/Building/Module/ArtMuseum.pm b/lib/Lacuna/DB/Result/Building/Module/ArtMuseum.pm index 9f24f461..476a5be8 100644 --- a/lib/Lacuna/DB/Result/Building/Module/ArtMuseum.pm +++ b/lib/Lacuna/DB/Result/Building/Module/ArtMuseum.pm @@ -10,6 +10,7 @@ use constant controller_class => 'Lacuna::RPC::Building::ArtMuseum'; use constant image => 'artmuseum'; use constant name => 'Art Museum'; use constant max_instances_per_planet => 1; +use constant ore_consumption => 160; no Moose; diff --git a/lib/Lacuna/DB/Result/Building/Module/CulinaryInstitute.pm b/lib/Lacuna/DB/Result/Building/Module/CulinaryInstitute.pm index b37bb142..075d853b 100644 --- a/lib/Lacuna/DB/Result/Building/Module/CulinaryInstitute.pm +++ b/lib/Lacuna/DB/Result/Building/Module/CulinaryInstitute.pm @@ -10,6 +10,7 @@ use constant controller_class => 'Lacuna::RPC::Building::CulinaryInstitute'; use constant image => 'culinaryinstitute'; use constant name => 'Culinary Institute'; use constant max_instances_per_planet => 1; +use constant food_consumption => 160; no Moose; diff --git a/lib/Lacuna/DB/Result/Building/Module/IBS.pm b/lib/Lacuna/DB/Result/Building/Module/IBS.pm index ce0a3e97..a404880d 100644 --- a/lib/Lacuna/DB/Result/Building/Module/IBS.pm +++ b/lib/Lacuna/DB/Result/Building/Module/IBS.pm @@ -9,10 +9,7 @@ use constant controller_class => 'Lacuna::RPC::Building::IBS'; use constant image => 'ibs'; use constant name => 'Interstellar Broadcast System'; use constant max_instances_per_planet => 1; -use constant food_consumption => 100; -use constant ore_consumption => 100; -use constant water_consumption => 100; -use constant energy_consumption => 100; +use constant energy_consumption => 160; before demolish => sub { my $self = shift; diff --git a/lib/Lacuna/DB/Result/Building/Module/OperaHouse.pm b/lib/Lacuna/DB/Result/Building/Module/OperaHouse.pm index 57ac7c55..9025ba2f 100644 --- a/lib/Lacuna/DB/Result/Building/Module/OperaHouse.pm +++ b/lib/Lacuna/DB/Result/Building/Module/OperaHouse.pm @@ -10,6 +10,7 @@ use constant controller_class => 'Lacuna::RPC::Building::OperaHouse'; use constant image => 'operahouse'; use constant name => 'Opera House'; use constant max_instances_per_planet => 1; +use constant water_consumption => 160; no Moose; diff --git a/lib/Lacuna/DB/Result/Building/Module/Parliament.pm b/lib/Lacuna/DB/Result/Building/Module/Parliament.pm index 01341036..c9f78755 100644 --- a/lib/Lacuna/DB/Result/Building/Module/Parliament.pm +++ b/lib/Lacuna/DB/Result/Building/Module/Parliament.pm @@ -9,6 +9,10 @@ use constant controller_class => 'Lacuna::RPC::Building::Parliament'; use constant image => 'parliament'; use constant name => 'Parliament'; use constant max_instances_per_planet => 1; +use constant food_consumption => 110; +use constant ore_consumption => 110; +use constant water_consumption => 90; +use constant energy_consumption => 90; sub propositions { my ($self) = @_; diff --git a/lib/Lacuna/DB/Result/Building/Module/PoliceStation.pm b/lib/Lacuna/DB/Result/Building/Module/PoliceStation.pm index bb77eec0..64c1c108 100644 --- a/lib/Lacuna/DB/Result/Building/Module/PoliceStation.pm +++ b/lib/Lacuna/DB/Result/Building/Module/PoliceStation.pm @@ -9,6 +9,10 @@ use constant controller_class => 'Lacuna::RPC::Building::PoliceStation'; use constant image => 'policestation'; use constant name => 'Police Station'; use constant max_instances_per_planet => 1; +use constant food_consumption => 120; +use constant ore_consumption => 120; +use constant water_consumption => 120; +use constant energy_consumption => 120; sub foreign_spies { my $self = shift; diff --git a/lib/Lacuna/DB/Result/Building/Module/StationCommand.pm b/lib/Lacuna/DB/Result/Building/Module/StationCommand.pm index 0f53e8ba..a4fa7bbf 100644 --- a/lib/Lacuna/DB/Result/Building/Module/StationCommand.pm +++ b/lib/Lacuna/DB/Result/Building/Module/StationCommand.pm @@ -9,6 +9,10 @@ use constant controller_class => 'Lacuna::RPC::Building::StationCommand'; use constant image => 'stationcommand'; use constant name => 'Station Command Center'; use constant max_instances_per_planet => 1; +use constant food_consumption => 90; +use constant ore_consumption => 90; +use constant water_consumption => 110; +use constant energy_consumption => 110; no Moose; diff --git a/lib/Lacuna/DB/Result/Building/Module/Warehouse.pm b/lib/Lacuna/DB/Result/Building/Module/Warehouse.pm index d8a69fcd..ed630e14 100644 --- a/lib/Lacuna/DB/Result/Building/Module/Warehouse.pm +++ b/lib/Lacuna/DB/Result/Building/Module/Warehouse.pm @@ -8,14 +8,14 @@ extends 'Lacuna::DB::Result::Building::Module'; use constant controller_class => 'Lacuna::RPC::Building::Warehouse'; use constant image => 'warehouse'; use constant name => 'Warehouse'; -use constant water_storage => 2500; -use constant energy_storage => 2500; -use constant food_storage => 2500; -use constant ore_storage => 2500; -use constant energy_consumption => 25; -use constant water_consumption => 25; -use constant food_consumption => 25; -use constant ore_consumption => 25; +use constant food_storage => 4000; +use constant water_storage => 4000; +use constant ore_storage => 4000; +use constant energy_storage => 4000; +use constant energy_consumption => 80; +use constant water_consumption => 80; +use constant food_consumption => 80; +use constant ore_consumption => 80; no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Building/SAW.pm b/lib/Lacuna/DB/Result/Building/SAW.pm index 130e3e0e..e7dab00a 100644 --- a/lib/Lacuna/DB/Result/Building/SAW.pm +++ b/lib/Lacuna/DB/Result/Building/SAW.pm @@ -33,8 +33,6 @@ around spend_efficiency => sub { return $self; }; -use constant max_instances_per_planet => 10; - use constant controller_class => 'Lacuna::RPC::Building::SAW'; use constant university_prereq => 8; @@ -57,13 +55,13 @@ use constant time_to_build => 60 * 2; use constant food_consumption => 2; -use constant energy_consumption => 50; +use constant energy_consumption => 80; use constant ore_consumption => 5; use constant water_consumption => 6; -use constant waste_production => 20; +use constant waste_production => 15; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/Excavator.pm b/lib/Lacuna/DB/Result/Ships/Excavator.pm index 788b078d..4da987a8 100644 --- a/lib/Lacuna/DB/Result/Ships/Excavator.pm +++ b/lib/Lacuna/DB/Result/Ships/Excavator.pm @@ -18,8 +18,6 @@ use constant base_hold_size => 0; use constant build_tags => ['Exploration']; with "Lacuna::Role::Ship::Send::Body"; -with "Lacuna::Role::Ship::Send::MaybeHostile"; -# with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::Excavate"; no Moose;