diff --git a/lib/Lacuna/DB/Result/Building/Module.pm b/lib/Lacuna/DB/Result/Building/Module.pm index 5268d5e7..af1ed601 100644 --- a/lib/Lacuna/DB/Result/Building/Module.pm +++ b/lib/Lacuna/DB/Result/Building/Module.pm @@ -33,7 +33,6 @@ sub sortable_name { around spend_efficiency => sub { my ($orig, $self, $amount) = @_; - $amount = int($amount/5) + 1; if ($self->efficiency <= $amount) { if ($self->level <= 1 && eval{$self->can_demolish}) { $self->demolish; @@ -41,7 +40,7 @@ around spend_efficiency => sub { elsif ($self->level > 1 && eval{$self->can_downgrade}) { if (!Lacuna->cache->get('downgrade',$self->id)) { $self->downgrade; - Lacuna->cache->set('downgrade',$self->id, 1, 15 * 60); + Lacuna->cache->set('downgrade',$self->id, 1, 5 * 60); } else { $amount = $self->efficiency - 1; diff --git a/lib/Lacuna/Role/Ship/Arrive/DamageBuilding.pm b/lib/Lacuna/Role/Ship/Arrive/DamageBuilding.pm index 1add1a9b..a9acd6b7 100644 --- a/lib/Lacuna/Role/Ship/Arrive/DamageBuilding.pm +++ b/lib/Lacuna/Role/Ship/Arrive/DamageBuilding.pm @@ -118,6 +118,11 @@ after handle_arrival_procedures => sub { } } my $body_attacked = $self->foreign_body; + my $station = 0; + if ($body_attacked->isa('Lacuna::DB::Result::Map::Body::Planet::Station')) { + $station = 1; + } + my $warhead_zero = $station ? 20 : 4; #Number of warheads to zero out a building. my @all_builds = sort { $b->efficiency <=> $a->efficiency || @@ -146,7 +151,7 @@ after handle_arrival_procedures => sub { push @{$report}, (['Name', '% Done']); my %treport; - if ( $snarks{snarks}->{count}/4 > scalar @all_builds) { + if ( $snarks{snarks}->{count}/$warhead_zero > scalar @all_builds) { for my $building (@all_builds) { $building->spend_efficiency(100); $building->update; @@ -179,6 +184,7 @@ after handle_arrival_procedures => sub { else { BOOM: for my $cnt (1..$snarks{$sn_type}->{count}) { my $amount = randint(10,70); + $amount = $amount/5 if $station; my ($building) = shuffle grep { ($_->efficiency > 0) diff --git a/var/upgrades/3.0909.sql b/var/upgrades/3.0909.sql index 77f4d676..4a36fce4 100644 --- a/var/upgrades/3.0909.sql +++ b/var/upgrades/3.0909.sql @@ -2,10 +2,10 @@ alter table ships add column number_of_docks int default 1; alter table ships modify hold_size bigint; alter table battle_log add column attacking_number int default 1; alter table battle_log add column defending_number int default 1; -alter table empire add column in_statis int default 0; -alter table empire add column timeout int default 0; -alter table empire add column outlaw int default 0; -alter table empire add column outlaw_date int default '2010-10-03 18:17:26'; +alter table empire add column in_statis tinyint default 0; +alter table empire add column timeout tinyint default 0; +alter table empire add column outlaw tinyint default 0; +alter table empire add column outlaw_date date default '2010-10-03 18:17:26'; CREATE TABLE empire_admin_notes ( id integer(11) NOT NULL auto_increment,