From d5edb242f054495bbfdad860617ef41c9c1c23f2 Mon Sep 17 00:00:00 2001 From: Matthew Musgrove Date: Tue, 15 Mar 2011 01:19:38 -0500 Subject: [PATCH 1/3] Only ships that are performing hostile actions will trigger captchas --- lib/Lacuna/DB/Result/Ships.pm | 9 +++++++++ lib/Lacuna/DB/Result/Ships/Bleeder.pm | 3 ++- lib/Lacuna/DB/Result/Ships/ColonyShip.pm | 2 ++ lib/Lacuna/DB/Result/Ships/Detonator.pm | 2 ++ lib/Lacuna/DB/Result/Ships/Excavator.pm | 10 ++++++++++ lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm | 2 ++ lib/Lacuna/DB/Result/Ships/Placebo.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Placebo2.pm | 2 ++ lib/Lacuna/DB/Result/Ships/Placebo3.pm | 2 ++ lib/Lacuna/DB/Result/Ships/Placebo4.pm | 2 ++ lib/Lacuna/DB/Result/Ships/Placebo5.pm | 2 ++ lib/Lacuna/DB/Result/Ships/Placebo6.pm | 2 ++ lib/Lacuna/DB/Result/Ships/Scanner.pm | 10 ++++++++++ lib/Lacuna/DB/Result/Ships/Scow.pm | 9 +++++++++ lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm | 2 ++ lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm | 2 ++ lib/Lacuna/DB/Result/Ships/Snark.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Snark2.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Snark3.pm | 3 ++- lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm | 2 ++ lib/Lacuna/DB/Result/Ships/SpaceStation.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Stake.pm | 2 ++ lib/Lacuna/DB/Result/Ships/Surveyor.pm | 10 ++++++++++ lib/Lacuna/DB/Result/Ships/Sweeper.pm | 3 ++- lib/Lacuna/DB/Result/Ships/TerraformingPlatformShip.pm | 1 - lib/Lacuna/DB/Result/Ships/Thud.pm | 3 ++- lib/Lacuna/RPC/Building/SpacePort.pm | 5 ++++- var/www/public/changes.txt | 3 +++ 28 files changed, 95 insertions(+), 10 deletions(-) diff --git a/lib/Lacuna/DB/Result/Ships.pm b/lib/Lacuna/DB/Result/Ships.pm index ffdc114b..590b436d 100644 --- a/lib/Lacuna/DB/Result/Ships.pm +++ b/lib/Lacuna/DB/Result/Ships.pm @@ -8,6 +8,15 @@ use Lacuna::Util qw(format_date randint); use DateTime; use feature "switch"; +has 'hostile_action' => ( + is => 'rw', + isa => 'Bool', + lazy => 1, + builder => '_build_hostile_action', +); + +sub _build_hostile_action { 0 } + __PACKAGE__->load_components('DynamicSubclass'); __PACKAGE__->table('ships'); __PACKAGE__->add_columns( diff --git a/lib/Lacuna/DB/Result/Ships/Bleeder.pm b/lib/Lacuna/DB/Result/Ships/Bleeder.pm index fbe5ce19..247ead40 100644 --- a/lib/Lacuna/DB/Result/Ships/Bleeder.pm +++ b/lib/Lacuna/DB/Result/Ships/Bleeder.pm @@ -18,12 +18,13 @@ use constant base_combat => 1700; use constant base_hold_size => 0; use constant build_tags => ['War']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DeployBleeder"; - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/ColonyShip.pm b/lib/Lacuna/DB/Result/Ships/ColonyShip.pm index aa1732aa..d77b1c7e 100644 --- a/lib/Lacuna/DB/Result/Ships/ColonyShip.pm +++ b/lib/Lacuna/DB/Result/Ships/ColonyShip.pm @@ -19,6 +19,8 @@ use constant base_hold_size => 0; use constant pilotable => 1; use constant build_tags => ['Colonization']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Uninhabited"; with "Lacuna::Role::Ship::Send::SpendNextColonyCost"; diff --git a/lib/Lacuna/DB/Result/Ships/Detonator.pm b/lib/Lacuna/DB/Result/Ships/Detonator.pm index 0390cdd0..152a90cb 100644 --- a/lib/Lacuna/DB/Result/Ships/Detonator.pm +++ b/lib/Lacuna/DB/Result/Ships/Detonator.pm @@ -18,6 +18,8 @@ use constant base_stealth => 0; use constant base_hold_size => 0; use constant build_tags => ['War']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::AsteroidAndStar"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DestroyProbes"; diff --git a/lib/Lacuna/DB/Result/Ships/Excavator.pm b/lib/Lacuna/DB/Result/Ships/Excavator.pm index 47c00d79..39f9b786 100644 --- a/lib/Lacuna/DB/Result/Ships/Excavator.pm +++ b/lib/Lacuna/DB/Result/Ships/Excavator.pm @@ -21,5 +21,15 @@ with "Lacuna::Role::Ship::Send::Body"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::Excavate"; +sub _build_hostile_action { + my $self = shift; + if ($self->foreign_body->empire && $self->foreign_body->empire_id != $self->body->empire_id) { + return 1; + } + else { + return 0; + } +} + no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm b/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm index ef4424aa..30fa8d81 100644 --- a/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm +++ b/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm @@ -18,6 +18,8 @@ use constant base_stealth => 2700; use constant target_building => 'Lacuna::DB::Result::Building::Observatory'; use constant build_tags => ['War']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo.pm b/lib/Lacuna/DB/Result/Ships/Placebo.pm index 0cb7c15e..e7e28cb1 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo.pm @@ -18,11 +18,12 @@ use constant base_stealth => 2500; use constant base_hold_size => 0; use constant build_tags => [qw(War)]; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; with "Lacuna::Role::Ship::Arrive::Scuttle"; - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/Placebo2.pm b/lib/Lacuna/DB/Result/Ships/Placebo2.pm index b9139544..5b5043a9 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo2.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo2.pm @@ -19,6 +19,8 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo II'; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo3.pm b/lib/Lacuna/DB/Result/Ships/Placebo3.pm index f5277e14..5b2445a6 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo3.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo3.pm @@ -19,6 +19,8 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo III'; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo4.pm b/lib/Lacuna/DB/Result/Ships/Placebo4.pm index b6e32b6b..c94daebf 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo4.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo4.pm @@ -19,6 +19,8 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo IV'; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo5.pm b/lib/Lacuna/DB/Result/Ships/Placebo5.pm index c1aeb174..3fadbca3 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo5.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo5.pm @@ -19,6 +19,8 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo V'; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo6.pm b/lib/Lacuna/DB/Result/Ships/Placebo6.pm index 50e58d31..86038cb1 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo6.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo6.pm @@ -19,6 +19,8 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo VI'; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Scanner.pm b/lib/Lacuna/DB/Result/Ships/Scanner.pm index 1be2dae8..b4f7d05c 100644 --- a/lib/Lacuna/DB/Result/Ships/Scanner.pm +++ b/lib/Lacuna/DB/Result/Ships/Scanner.pm @@ -22,5 +22,15 @@ with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::ScanSurface"; +sub _build_hostile_action { + my $self = shift; + if ($self->foreign_body->empire) { + return 1; + } + else { + return 0; + } +} + no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/Scow.pm b/lib/Lacuna/DB/Result/Ships/Scow.pm index 0a40f5ff..4450a3ac 100644 --- a/lib/Lacuna/DB/Result/Ships/Scow.pm +++ b/lib/Lacuna/DB/Result/Ships/Scow.pm @@ -22,6 +22,15 @@ with "Lacuna::Role::Ship::Send::PlanetAndStar"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DumpWaste"; +sub _build_hostile_action { + my $self = shift; + if ($self->foreign_body->empire && $self->foreign_body->empire_id != $self->body->empire_id) { + return 1; + } + else { + return 0; + } +} no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm b/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm index 066fc54d..8aea50e0 100644 --- a/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm +++ b/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm @@ -18,6 +18,8 @@ use constant base_stealth => 2700; use constant target_building => 'Lacuna::DB::Result::Building::Security'; use constant build_tags => ['War']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm b/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm index 6ef06450..665ce969 100644 --- a/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm +++ b/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm @@ -19,6 +19,8 @@ use constant base_hold_size => 0; use constant pilotable => 1; use constant build_tags => ['Colonization']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Uninhabited"; with "Lacuna::Role::Ship::Send::SpendNextColonyCost"; diff --git a/lib/Lacuna/DB/Result/Ships/Snark.pm b/lib/Lacuna/DB/Result/Ships/Snark.pm index dae24995..d6ca0a17 100644 --- a/lib/Lacuna/DB/Result/Ships/Snark.pm +++ b/lib/Lacuna/DB/Result/Ships/Snark.pm @@ -18,12 +18,13 @@ use constant base_combat => 2000; use constant base_hold_size => 0; use constant build_tags => ['War']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DamageBuilding"; - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/Snark2.pm b/lib/Lacuna/DB/Result/Ships/Snark2.pm index 5597023b..809f26ff 100644 --- a/lib/Lacuna/DB/Result/Ships/Snark2.pm +++ b/lib/Lacuna/DB/Result/Ships/Snark2.pm @@ -20,12 +20,13 @@ use constant build_tags => ['War']; use constant type_formatted => 'Snark II'; use constant splash_radius => 1; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DamageBuilding"; - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/Snark3.pm b/lib/Lacuna/DB/Result/Ships/Snark3.pm index f044817f..862a215e 100644 --- a/lib/Lacuna/DB/Result/Ships/Snark3.pm +++ b/lib/Lacuna/DB/Result/Ships/Snark3.pm @@ -20,12 +20,13 @@ use constant build_tags => ['War']; use constant type_formatted => 'Snark III'; use constant splash_radius => 2; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DamageBuilding"; - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm b/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm index d5c3a0f6..022ab0e8 100644 --- a/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm +++ b/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm @@ -18,6 +18,8 @@ use constant base_stealth => 2700; use constant target_building => 'Lacuna::DB::Result::Building::SpacePort'; use constant build_tags => ['War']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/SpaceStation.pm b/lib/Lacuna/DB/Result/Ships/SpaceStation.pm index f6375f2f..3ed0f732 100644 --- a/lib/Lacuna/DB/Result/Ships/SpaceStation.pm +++ b/lib/Lacuna/DB/Result/Ships/SpaceStation.pm @@ -5,7 +5,6 @@ use utf8; no warnings qw(uninitialized); extends 'Lacuna::DB::Result::Ships'; - use constant prereq => { class=> 'Lacuna::DB::Result::Building::Embassy', level => 20 }; use constant base_food_cost => 8000000; use constant base_water_cost => 8000000; @@ -20,6 +19,8 @@ use constant pilotable => 1; use constant build_tags => [qw(War Intelligence)]; use constant type_formatted => 'Space Station Hull'; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with 'Lacuna::Role::Ship::Send::Uninhabited'; with 'Lacuna::Role::Ship::Send::MemberOfAlliance'; diff --git a/lib/Lacuna/DB/Result/Ships/Stake.pm b/lib/Lacuna/DB/Result/Ships/Stake.pm index 58612cfe..db923a32 100644 --- a/lib/Lacuna/DB/Result/Ships/Stake.pm +++ b/lib/Lacuna/DB/Result/Ships/Stake.pm @@ -19,6 +19,8 @@ use constant base_hold_size => 0; use constant pilotable => 0; use constant build_tags => ['Colonization']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Uninhabited"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; diff --git a/lib/Lacuna/DB/Result/Ships/Surveyor.pm b/lib/Lacuna/DB/Result/Ships/Surveyor.pm index 14579265..a68b4358 100644 --- a/lib/Lacuna/DB/Result/Ships/Surveyor.pm +++ b/lib/Lacuna/DB/Result/Ships/Surveyor.pm @@ -22,5 +22,15 @@ with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::SurveySurface"; +sub _build_hostile_action { + my $self = shift; + if ($self->foreign_body->empire) { + return 1; + } + else { + return 0; + } +} + no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/Sweeper.pm b/lib/Lacuna/DB/Result/Ships/Sweeper.pm index 517660c1..90528b48 100644 --- a/lib/Lacuna/DB/Result/Ships/Sweeper.pm +++ b/lib/Lacuna/DB/Result/Ships/Sweeper.pm @@ -18,10 +18,11 @@ use constant base_stealth => 2800; use constant pilotable => 1; use constant build_tags => ['War']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Body"; with "Lacuna::Role::Ship::Send::NotIsolationist"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/TerraformingPlatformShip.pm b/lib/Lacuna/DB/Result/Ships/TerraformingPlatformShip.pm index 8425f122..ca167664 100644 --- a/lib/Lacuna/DB/Result/Ships/TerraformingPlatformShip.pm +++ b/lib/Lacuna/DB/Result/Ships/TerraformingPlatformShip.pm @@ -18,7 +18,6 @@ use constant base_hold_size => 0; use constant pilotable => 1; use constant build_tags => ['Colonization']; - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Arrive::AddTerraformingPlatform"; diff --git a/lib/Lacuna/DB/Result/Ships/Thud.pm b/lib/Lacuna/DB/Result/Ships/Thud.pm index 737afdca..abe27ce1 100644 --- a/lib/Lacuna/DB/Result/Ships/Thud.pm +++ b/lib/Lacuna/DB/Result/Ships/Thud.pm @@ -18,12 +18,13 @@ use constant base_combat => 2100; use constant base_hold_size => 0; use constant build_tags => ['War']; +sub _build_hostile_action { 1 } + with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DeploySmolderingCrater"; - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/RPC/Building/SpacePort.pm b/lib/Lacuna/RPC/Building/SpacePort.pm index 749c1a3e..882d7ca9 100644 --- a/lib/Lacuna/RPC/Building/SpacePort.pm +++ b/lib/Lacuna/RPC/Building/SpacePort.pm @@ -129,8 +129,11 @@ sub send_ship { my ($self, $session_id, $ship_id, $target_params) = @_; my $empire = $self->get_empire_by_session($session_id); my $target = $self->find_target($target_params); - $empire->current_session->check_captcha; my $ship = Lacuna->db->resultset('Lacuna::DB::Result::Ships')->find($ship_id); + my $hostile = $ship->hostile_action; + if ($hostile) { + $empire->current_session->check_captcha; + } unless (defined $ship) { confess [1002, 'Could not locate that ship.']; } diff --git a/var/www/public/changes.txt b/var/www/public/changes.txt index b4dd53f1..a1b93c6e 100644 --- a/var/www/public/changes.txt +++ b/var/www/public/changes.txt @@ -1,3 +1,6 @@ +3.0002 + - Rule: Only ships that are performing hostile actions will trigger captchas. + 3.0001 - Add: Added Space Station Lab building, which will eventually allow building space station modules. - Add: Added Station Command Center, Parliament, Warehouse, and IBS modules for space stations. -- 2.51.2 From 548b75eb22b70dae6694d647ee31839cfc07f2a5 Mon Sep 17 00:00:00 2001 From: Matthew Musgrove Date: Tue, 15 Mar 2011 21:35:29 -0500 Subject: [PATCH 2/3] Only ships that are performing hostile actions will trigger captchas --- lib/Lacuna/DB/Result/Ships/Bleeder.pm | 3 ++- lib/Lacuna/DB/Result/Ships/ColonyShip.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Detonator.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Excavator.pm | 19 ++++++++++--------- .../DB/Result/Ships/ObservatorySeeker.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Placebo.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Placebo2.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Placebo3.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Placebo4.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Placebo5.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Placebo6.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Scanner.pm | 19 ++++++++++--------- lib/Lacuna/DB/Result/Ships/Scow.pm | 19 ++++++++++--------- .../DB/Result/Ships/SecurityMinistrySeeker.pm | 3 ++- .../DB/Result/Ships/ShortRangeColonyShip.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Snark.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Snark2.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Snark3.pm | 3 ++- lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm | 3 ++- lib/Lacuna/DB/Result/Ships/SpaceStation.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Stake.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Surveyor.pm | 19 ++++++++++--------- lib/Lacuna/DB/Result/Ships/Sweeper.pm | 3 ++- lib/Lacuna/DB/Result/Ships/Thud.pm | 3 ++- lib/Lacuna/RPC/Building/SpacePort.pm | 7 +++---- lib/Lacuna/Role/Ship/Send/IsHostile.pm | 8 ++++++++ lib/Lacuna/Role/Ship/Send/MaybeHostile.pm | 15 +++++++++++++++ t/Scows.t | 8 ++++---- 28 files changed, 110 insertions(+), 64 deletions(-) create mode 100644 lib/Lacuna/Role/Ship/Send/IsHostile.pm create mode 100644 lib/Lacuna/Role/Ship/Send/MaybeHostile.pm diff --git a/lib/Lacuna/DB/Result/Ships/Bleeder.pm b/lib/Lacuna/DB/Result/Ships/Bleeder.pm index 247ead40..56cea418 100644 --- a/lib/Lacuna/DB/Result/Ships/Bleeder.pm +++ b/lib/Lacuna/DB/Result/Ships/Bleeder.pm @@ -18,11 +18,12 @@ use constant base_combat => 1700; use constant base_hold_size => 0; use constant build_tags => ['War']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DeployBleeder"; diff --git a/lib/Lacuna/DB/Result/Ships/ColonyShip.pm b/lib/Lacuna/DB/Result/Ships/ColonyShip.pm index d77b1c7e..5a671675 100644 --- a/lib/Lacuna/DB/Result/Ships/ColonyShip.pm +++ b/lib/Lacuna/DB/Result/Ships/ColonyShip.pm @@ -19,11 +19,12 @@ use constant base_hold_size => 0; use constant pilotable => 1; use constant build_tags => ['Colonization']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Uninhabited"; with "Lacuna::Role::Ship::Send::SpendNextColonyCost"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::Colonize"; diff --git a/lib/Lacuna/DB/Result/Ships/Detonator.pm b/lib/Lacuna/DB/Result/Ships/Detonator.pm index 152a90cb..3e614e30 100644 --- a/lib/Lacuna/DB/Result/Ships/Detonator.pm +++ b/lib/Lacuna/DB/Result/Ships/Detonator.pm @@ -18,9 +18,10 @@ use constant base_stealth => 0; use constant base_hold_size => 0; use constant build_tags => ['War']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::AsteroidAndStar"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DestroyProbes"; with "Lacuna::Role::Ship::Arrive::DestroyMiningPlatforms"; diff --git a/lib/Lacuna/DB/Result/Ships/Excavator.pm b/lib/Lacuna/DB/Result/Ships/Excavator.pm index 39f9b786..5ad8ac96 100644 --- a/lib/Lacuna/DB/Result/Ships/Excavator.pm +++ b/lib/Lacuna/DB/Result/Ships/Excavator.pm @@ -18,18 +18,19 @@ 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"; -sub _build_hostile_action { - my $self = shift; - if ($self->foreign_body->empire && $self->foreign_body->empire_id != $self->body->empire_id) { - return 1; - } - else { - return 0; - } -} +#sub _build_hostile_action { +# my $self = shift; +# if ($self->foreign_body->empire && $self->foreign_body->empire_id != $self->body->empire_id) { +# return 1; +# } +# else { +# return 0; +# } +#} no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm b/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm index 30fa8d81..decec6a1 100644 --- a/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm +++ b/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm @@ -18,11 +18,12 @@ use constant base_stealth => 2700; use constant target_building => 'Lacuna::DB::Result::Building::Observatory'; use constant build_tags => ['War']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DamageBuilding"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo.pm b/lib/Lacuna/DB/Result/Ships/Placebo.pm index e7e28cb1..f4d42250 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo.pm @@ -18,11 +18,12 @@ use constant base_stealth => 2500; use constant base_hold_size => 0; use constant build_tags => [qw(War)]; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::Scuttle"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo2.pm b/lib/Lacuna/DB/Result/Ships/Placebo2.pm index 5b5043a9..a456db20 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo2.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo2.pm @@ -19,11 +19,12 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo II'; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::Scuttle"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo3.pm b/lib/Lacuna/DB/Result/Ships/Placebo3.pm index 5b2445a6..7f33920c 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo3.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo3.pm @@ -19,11 +19,12 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo III'; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::Scuttle"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo4.pm b/lib/Lacuna/DB/Result/Ships/Placebo4.pm index c94daebf..ba53ffbd 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo4.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo4.pm @@ -19,11 +19,12 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo IV'; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::Scuttle"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo5.pm b/lib/Lacuna/DB/Result/Ships/Placebo5.pm index 3fadbca3..f6c431ed 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo5.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo5.pm @@ -19,11 +19,12 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo V'; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::Scuttle"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo6.pm b/lib/Lacuna/DB/Result/Ships/Placebo6.pm index 86038cb1..9d0a8c5c 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo6.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo6.pm @@ -19,11 +19,12 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo VI'; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::Scuttle"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/Scanner.pm b/lib/Lacuna/DB/Result/Ships/Scanner.pm index b4f7d05c..0ba56660 100644 --- a/lib/Lacuna/DB/Result/Ships/Scanner.pm +++ b/lib/Lacuna/DB/Result/Ships/Scanner.pm @@ -19,18 +19,19 @@ use constant base_hold_size => 0; use constant build_tags => [qw(Exploration Intelligence)]; with "Lacuna::Role::Ship::Send::Planet"; +with "Lacuna::Role::Ship::Send::MaybeHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::ScanSurface"; -sub _build_hostile_action { - my $self = shift; - if ($self->foreign_body->empire) { - return 1; - } - else { - return 0; - } -} +#sub _build_hostile_action { +# my $self = shift; +# if ($self->foreign_body->empire) { +# return 1; +# } +# else { +# return 0; +# } +#} no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/Scow.pm b/lib/Lacuna/DB/Result/Ships/Scow.pm index 4450a3ac..f21ea959 100644 --- a/lib/Lacuna/DB/Result/Ships/Scow.pm +++ b/lib/Lacuna/DB/Result/Ships/Scow.pm @@ -19,18 +19,19 @@ use constant base_hold_size => 2100; use constant build_tags => [qw(War Trade)]; with "Lacuna::Role::Ship::Send::PlanetAndStar"; +with "Lacuna::Role::Ship::Send::MaybeHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DumpWaste"; -sub _build_hostile_action { - my $self = shift; - if ($self->foreign_body->empire && $self->foreign_body->empire_id != $self->body->empire_id) { - return 1; - } - else { - return 0; - } -} +#sub _build_hostile_action { +# my $self = shift; +# if ($self->foreign_body->empire && $self->foreign_body->empire_id != $self->body->empire_id) { +# return 1; +# } +# else { +# return 0; +# } +#} no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm b/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm index 8aea50e0..3a6a7484 100644 --- a/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm +++ b/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm @@ -18,11 +18,12 @@ use constant base_stealth => 2700; use constant target_building => 'Lacuna::DB::Result::Building::Security'; use constant build_tags => ['War']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DamageBuilding"; diff --git a/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm b/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm index 665ce969..e2c8abc3 100644 --- a/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm +++ b/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm @@ -19,11 +19,12 @@ use constant base_hold_size => 0; use constant pilotable => 1; use constant build_tags => ['Colonization']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Uninhabited"; with "Lacuna::Role::Ship::Send::SpendNextColonyCost"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::Colonize"; diff --git a/lib/Lacuna/DB/Result/Ships/Snark.pm b/lib/Lacuna/DB/Result/Ships/Snark.pm index d6ca0a17..c0daa55b 100644 --- a/lib/Lacuna/DB/Result/Ships/Snark.pm +++ b/lib/Lacuna/DB/Result/Ships/Snark.pm @@ -18,11 +18,12 @@ use constant base_combat => 2000; use constant base_hold_size => 0; use constant build_tags => ['War']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DamageBuilding"; diff --git a/lib/Lacuna/DB/Result/Ships/Snark2.pm b/lib/Lacuna/DB/Result/Ships/Snark2.pm index 809f26ff..7189e1b7 100644 --- a/lib/Lacuna/DB/Result/Ships/Snark2.pm +++ b/lib/Lacuna/DB/Result/Ships/Snark2.pm @@ -20,11 +20,12 @@ use constant build_tags => ['War']; use constant type_formatted => 'Snark II'; use constant splash_radius => 1; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DamageBuilding"; diff --git a/lib/Lacuna/DB/Result/Ships/Snark3.pm b/lib/Lacuna/DB/Result/Ships/Snark3.pm index 862a215e..51bc6899 100644 --- a/lib/Lacuna/DB/Result/Ships/Snark3.pm +++ b/lib/Lacuna/DB/Result/Ships/Snark3.pm @@ -20,11 +20,12 @@ use constant build_tags => ['War']; use constant type_formatted => 'Snark III'; use constant splash_radius => 2; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DamageBuilding"; diff --git a/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm b/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm index 022ab0e8..3fec2c5e 100644 --- a/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm +++ b/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm @@ -18,11 +18,12 @@ use constant base_stealth => 2700; use constant target_building => 'Lacuna::DB::Result::Building::SpacePort'; use constant build_tags => ['War']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DamageBuilding"; diff --git a/lib/Lacuna/DB/Result/Ships/SpaceStation.pm b/lib/Lacuna/DB/Result/Ships/SpaceStation.pm index 3ed0f732..80641024 100644 --- a/lib/Lacuna/DB/Result/Ships/SpaceStation.pm +++ b/lib/Lacuna/DB/Result/Ships/SpaceStation.pm @@ -19,12 +19,13 @@ use constant pilotable => 1; use constant build_tags => [qw(War Intelligence)]; use constant type_formatted => 'Space Station Hull'; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with 'Lacuna::Role::Ship::Send::Uninhabited'; with 'Lacuna::Role::Ship::Send::MemberOfAlliance'; with "Lacuna::Role::Ship::Send::SpendNextColonyCost"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::ConvertToStation"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/Stake.pm b/lib/Lacuna/DB/Result/Ships/Stake.pm index db923a32..779b6a43 100644 --- a/lib/Lacuna/DB/Result/Ships/Stake.pm +++ b/lib/Lacuna/DB/Result/Ships/Stake.pm @@ -19,10 +19,11 @@ use constant base_hold_size => 0; use constant pilotable => 0; use constant build_tags => ['Colonization']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Uninhabited"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::StakeAClaim"; diff --git a/lib/Lacuna/DB/Result/Ships/Surveyor.pm b/lib/Lacuna/DB/Result/Ships/Surveyor.pm index a68b4358..0940072e 100644 --- a/lib/Lacuna/DB/Result/Ships/Surveyor.pm +++ b/lib/Lacuna/DB/Result/Ships/Surveyor.pm @@ -19,18 +19,19 @@ use constant base_hold_size => 0; use constant build_tags => [qw(Exploration Intelligence)]; with "Lacuna::Role::Ship::Send::Planet"; +with "Lacuna::Role::Ship::Send::MaybeHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::SurveySurface"; -sub _build_hostile_action { - my $self = shift; - if ($self->foreign_body->empire) { - return 1; - } - else { - return 0; - } -} +#sub _build_hostile_action { +# my $self = shift; +# if ($self->foreign_body->empire) { +# return 1; +# } +# else { +# return 0; +# } +#} no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/Sweeper.pm b/lib/Lacuna/DB/Result/Ships/Sweeper.pm index 90528b48..60139e01 100644 --- a/lib/Lacuna/DB/Result/Ships/Sweeper.pm +++ b/lib/Lacuna/DB/Result/Ships/Sweeper.pm @@ -18,10 +18,11 @@ use constant base_stealth => 2800; use constant pilotable => 1; use constant build_tags => ['War']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Body"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; no Moose; diff --git a/lib/Lacuna/DB/Result/Ships/Thud.pm b/lib/Lacuna/DB/Result/Ships/Thud.pm index abe27ce1..ea26a92f 100644 --- a/lib/Lacuna/DB/Result/Ships/Thud.pm +++ b/lib/Lacuna/DB/Result/Ships/Thud.pm @@ -18,11 +18,12 @@ use constant base_combat => 2100; use constant base_hold_size => 0; use constant build_tags => ['War']; -sub _build_hostile_action { 1 } +#sub _build_hostile_action { 1 } with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DeploySmolderingCrater"; diff --git a/lib/Lacuna/RPC/Building/SpacePort.pm b/lib/Lacuna/RPC/Building/SpacePort.pm index 882d7ca9..3c070127 100644 --- a/lib/Lacuna/RPC/Building/SpacePort.pm +++ b/lib/Lacuna/RPC/Building/SpacePort.pm @@ -130,10 +130,6 @@ sub send_ship { my $empire = $self->get_empire_by_session($session_id); my $target = $self->find_target($target_params); my $ship = Lacuna->db->resultset('Lacuna::DB::Result::Ships')->find($ship_id); - my $hostile = $ship->hostile_action; - if ($hostile) { - $empire->current_session->check_captcha; - } unless (defined $ship) { confess [1002, 'Could not locate that ship.']; } @@ -143,6 +139,9 @@ sub send_ship { my $body = $ship->body; $body->empire($empire); $ship->can_send_to_target($target); + if ($ship->hostile_action) { + $empire->current_session->check_captcha; + } $ship->send(target => $target); return { ship => $ship->get_status, diff --git a/lib/Lacuna/Role/Ship/Send/IsHostile.pm b/lib/Lacuna/Role/Ship/Send/IsHostile.pm new file mode 100644 index 00000000..c96aa637 --- /dev/null +++ b/lib/Lacuna/Role/Ship/Send/IsHostile.pm @@ -0,0 +1,8 @@ +package Lacuna::Role::Ship::Send::IsHostile; + +use strict; +use Moose::Role; + +sub _build_hostile_action { 1 } + +1; diff --git a/lib/Lacuna/Role/Ship/Send/MaybeHostile.pm b/lib/Lacuna/Role/Ship/Send/MaybeHostile.pm new file mode 100644 index 00000000..4b01be63 --- /dev/null +++ b/lib/Lacuna/Role/Ship/Send/MaybeHostile.pm @@ -0,0 +1,15 @@ +package Lacuna::Role::Ship::Send::MaybeHostile; + +use strict; +use Moose::Role; + +after can_send_to_target => sub { + my ($self, $target ) = @_; + if ($target->isa('Lacuna::DB::Result::Map::Body')) { + if ($target->empire_id && $target->empire_id != $self->body->empire_id) { + $self->hostile_action(1); + } + } +}; + +1; diff --git a/t/Scows.t b/t/Scows.t index 21b8f0e2..2103f4bd 100644 --- a/t/Scows.t +++ b/t/Scows.t @@ -82,9 +82,6 @@ $enemy->empire->update; Lacuna->cache->set('captcha', $session_id, { guid => 1111, solution => 1111 }, 60 * 30 ); -$result = $tester->post('captcha','solve', [$session_id, 1111, 1111]); -is($result->{result}, 1, 'Solved captcha'); - $result = $tester->post('spaceport', 'send_ship', [$session_id, $scow->id, { star_id => $home->star_id } ] ); ok($result->{result}{ship}{date_arrives}, "scow sent to star id " . $home_star_id); $scow = Lacuna->db->resultset('Lacuna::DB::Result::Ships')->search({id=>$scow->id},{rows=>1})->single; # pull the latest data on this ship @@ -101,6 +98,9 @@ $scow->arrive; is( $scow->task, 'Docked', 'scow is docked' ); cmp_deeply( $scow->payload, {}, 'no payload' ); +$result = $tester->post('captcha','solve', [$session_id, 1111, 1111]); +is($result->{result}, 1, 'Solved captcha'); + $result = $tester->post('spaceport', 'send_ship', [$session_id, $scow2->id, { body_id => $enemy->empire->home_planet->id } ] ); ok($result->{result}{ship}{date_arrives}, "scow sent to planet id " . $enemy->empire->home_planet->id); $scow2 = Lacuna->db->resultset('Lacuna::DB::Result::Ships')->search({id=>$scow2->id},{rows=>1})->single; # pull the latest data on this ship @@ -112,7 +112,7 @@ $scow2->arrive; $scow2 = Lacuna->db->resultset('Lacuna::DB::Result::Ships')->search({id=>$scow2->id},{rows=>1})->single; # pull the latest data on this ship $result = $tester->post('spaceport', 'view', [$session_id, $spaceport->id]); -is( $result->{result}{status}{empire}{most_recent_message}{subject}, "Scow Hit Target\r\n~~~\r\nOur Scow", 'Scow hit target' ); +is( $result->{result}{status}{empire}{most_recent_message}{subject}, "Scow Hit Target\r\n~~~\r\nOur Scow", 'Scow2 hit target' ); is( $scow2, undef, 'scow2 is undef' ); -- 2.51.2 From 51cf775aeef6ea54947544e4dce4c6d8ae37b8af Mon Sep 17 00:00:00 2001 From: Matthew Musgrove Date: Tue, 15 Mar 2011 22:14:51 -0500 Subject: [PATCH 3/3] Add IsHostile to Spy Pods and Spy Shuttles. Code cleanup. --- lib/Lacuna/DB/Result/Ships/Bleeder.pm | 2 -- lib/Lacuna/DB/Result/Ships/ColonyShip.pm | 2 -- lib/Lacuna/DB/Result/Ships/Detonator.pm | 2 -- lib/Lacuna/DB/Result/Ships/Excavator.pm | 10 ---------- lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm | 2 -- lib/Lacuna/DB/Result/Ships/Placebo.pm | 2 -- lib/Lacuna/DB/Result/Ships/Placebo2.pm | 2 -- lib/Lacuna/DB/Result/Ships/Placebo3.pm | 2 -- lib/Lacuna/DB/Result/Ships/Placebo4.pm | 2 -- lib/Lacuna/DB/Result/Ships/Placebo5.pm | 2 -- lib/Lacuna/DB/Result/Ships/Placebo6.pm | 2 -- lib/Lacuna/DB/Result/Ships/Scanner.pm | 10 ---------- lib/Lacuna/DB/Result/Ships/Scow.pm | 10 ---------- lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm | 2 -- lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm | 2 -- lib/Lacuna/DB/Result/Ships/Snark.pm | 2 -- lib/Lacuna/DB/Result/Ships/Snark2.pm | 2 -- lib/Lacuna/DB/Result/Ships/Snark3.pm | 2 -- lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm | 2 -- lib/Lacuna/DB/Result/Ships/SpaceStation.pm | 2 -- lib/Lacuna/DB/Result/Ships/SpyPod.pm | 1 + lib/Lacuna/DB/Result/Ships/SpyShuttle.pm | 1 + lib/Lacuna/DB/Result/Ships/Stake.pm | 2 -- lib/Lacuna/DB/Result/Ships/Surveyor.pm | 10 ---------- lib/Lacuna/DB/Result/Ships/Sweeper.pm | 2 -- lib/Lacuna/DB/Result/Ships/Thud.pm | 2 -- 26 files changed, 2 insertions(+), 80 deletions(-) diff --git a/lib/Lacuna/DB/Result/Ships/Bleeder.pm b/lib/Lacuna/DB/Result/Ships/Bleeder.pm index 56cea418..bdc650a7 100644 --- a/lib/Lacuna/DB/Result/Ships/Bleeder.pm +++ b/lib/Lacuna/DB/Result/Ships/Bleeder.pm @@ -18,8 +18,6 @@ use constant base_combat => 1700; use constant base_hold_size => 0; use constant build_tags => ['War']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/ColonyShip.pm b/lib/Lacuna/DB/Result/Ships/ColonyShip.pm index 5a671675..f57f5315 100644 --- a/lib/Lacuna/DB/Result/Ships/ColonyShip.pm +++ b/lib/Lacuna/DB/Result/Ships/ColonyShip.pm @@ -19,8 +19,6 @@ use constant base_hold_size => 0; use constant pilotable => 1; use constant build_tags => ['Colonization']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Uninhabited"; with "Lacuna::Role::Ship::Send::SpendNextColonyCost"; diff --git a/lib/Lacuna/DB/Result/Ships/Detonator.pm b/lib/Lacuna/DB/Result/Ships/Detonator.pm index 3e614e30..660b5a28 100644 --- a/lib/Lacuna/DB/Result/Ships/Detonator.pm +++ b/lib/Lacuna/DB/Result/Ships/Detonator.pm @@ -18,8 +18,6 @@ use constant base_stealth => 0; use constant base_hold_size => 0; use constant build_tags => ['War']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::AsteroidAndStar"; with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; diff --git a/lib/Lacuna/DB/Result/Ships/Excavator.pm b/lib/Lacuna/DB/Result/Ships/Excavator.pm index 5ad8ac96..ea2bf8e2 100644 --- a/lib/Lacuna/DB/Result/Ships/Excavator.pm +++ b/lib/Lacuna/DB/Result/Ships/Excavator.pm @@ -22,15 +22,5 @@ with "Lacuna::Role::Ship::Send::MaybeHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::Excavate"; -#sub _build_hostile_action { -# my $self = shift; -# if ($self->foreign_body->empire && $self->foreign_body->empire_id != $self->body->empire_id) { -# return 1; -# } -# else { -# return 0; -# } -#} - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm b/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm index decec6a1..905e6cfd 100644 --- a/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm +++ b/lib/Lacuna/DB/Result/Ships/ObservatorySeeker.pm @@ -18,8 +18,6 @@ use constant base_stealth => 2700; use constant target_building => 'Lacuna::DB::Result::Building::Observatory'; use constant build_tags => ['War']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo.pm b/lib/Lacuna/DB/Result/Ships/Placebo.pm index f4d42250..0c4c9e8a 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo.pm @@ -18,8 +18,6 @@ use constant base_stealth => 2500; use constant base_hold_size => 0; use constant build_tags => [qw(War)]; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo2.pm b/lib/Lacuna/DB/Result/Ships/Placebo2.pm index a456db20..bab1e7ca 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo2.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo2.pm @@ -19,8 +19,6 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo II'; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo3.pm b/lib/Lacuna/DB/Result/Ships/Placebo3.pm index 7f33920c..a8043963 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo3.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo3.pm @@ -19,8 +19,6 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo III'; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo4.pm b/lib/Lacuna/DB/Result/Ships/Placebo4.pm index ba53ffbd..2fcfc9b0 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo4.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo4.pm @@ -19,8 +19,6 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo IV'; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo5.pm b/lib/Lacuna/DB/Result/Ships/Placebo5.pm index f6c431ed..16dbfeca 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo5.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo5.pm @@ -19,8 +19,6 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo V'; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Placebo6.pm b/lib/Lacuna/DB/Result/Ships/Placebo6.pm index 9d0a8c5c..fc24522b 100644 --- a/lib/Lacuna/DB/Result/Ships/Placebo6.pm +++ b/lib/Lacuna/DB/Result/Ships/Placebo6.pm @@ -19,8 +19,6 @@ use constant base_hold_size => 0; use constant build_tags => [qw(War)]; use constant type_formatted => 'Placebo VI'; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Scanner.pm b/lib/Lacuna/DB/Result/Ships/Scanner.pm index 0ba56660..7fa3b625 100644 --- a/lib/Lacuna/DB/Result/Ships/Scanner.pm +++ b/lib/Lacuna/DB/Result/Ships/Scanner.pm @@ -23,15 +23,5 @@ with "Lacuna::Role::Ship::Send::MaybeHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::ScanSurface"; -#sub _build_hostile_action { -# my $self = shift; -# if ($self->foreign_body->empire) { -# return 1; -# } -# else { -# return 0; -# } -#} - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/Scow.pm b/lib/Lacuna/DB/Result/Ships/Scow.pm index f21ea959..c49c8c4a 100644 --- a/lib/Lacuna/DB/Result/Ships/Scow.pm +++ b/lib/Lacuna/DB/Result/Ships/Scow.pm @@ -23,15 +23,5 @@ with "Lacuna::Role::Ship::Send::MaybeHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::DumpWaste"; -#sub _build_hostile_action { -# my $self = shift; -# if ($self->foreign_body->empire && $self->foreign_body->empire_id != $self->body->empire_id) { -# return 1; -# } -# else { -# return 0; -# } -#} - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm b/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm index 3a6a7484..b32aa4da 100644 --- a/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm +++ b/lib/Lacuna/DB/Result/Ships/SecurityMinistrySeeker.pm @@ -18,8 +18,6 @@ use constant base_stealth => 2700; use constant target_building => 'Lacuna::DB::Result::Building::Security'; use constant build_tags => ['War']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm b/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm index e2c8abc3..e171f112 100644 --- a/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm +++ b/lib/Lacuna/DB/Result/Ships/ShortRangeColonyShip.pm @@ -19,8 +19,6 @@ use constant base_hold_size => 0; use constant pilotable => 1; use constant build_tags => ['Colonization']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Uninhabited"; with "Lacuna::Role::Ship::Send::SpendNextColonyCost"; diff --git a/lib/Lacuna/DB/Result/Ships/Snark.pm b/lib/Lacuna/DB/Result/Ships/Snark.pm index c0daa55b..b4a0dc8e 100644 --- a/lib/Lacuna/DB/Result/Ships/Snark.pm +++ b/lib/Lacuna/DB/Result/Ships/Snark.pm @@ -18,8 +18,6 @@ use constant base_combat => 2000; use constant base_hold_size => 0; use constant build_tags => ['War']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Snark2.pm b/lib/Lacuna/DB/Result/Ships/Snark2.pm index 7189e1b7..935a2a8d 100644 --- a/lib/Lacuna/DB/Result/Ships/Snark2.pm +++ b/lib/Lacuna/DB/Result/Ships/Snark2.pm @@ -20,8 +20,6 @@ use constant build_tags => ['War']; use constant type_formatted => 'Snark II'; use constant splash_radius => 1; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/Snark3.pm b/lib/Lacuna/DB/Result/Ships/Snark3.pm index 51bc6899..45086c37 100644 --- a/lib/Lacuna/DB/Result/Ships/Snark3.pm +++ b/lib/Lacuna/DB/Result/Ships/Snark3.pm @@ -20,8 +20,6 @@ use constant build_tags => ['War']; use constant type_formatted => 'Snark III'; use constant splash_radius => 2; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm b/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm index 3fec2c5e..44d26899 100644 --- a/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm +++ b/lib/Lacuna/DB/Result/Ships/SpacePortSeeker.pm @@ -18,8 +18,6 @@ use constant base_stealth => 2700; use constant target_building => 'Lacuna::DB::Result::Building::SpacePort'; use constant build_tags => ['War']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; diff --git a/lib/Lacuna/DB/Result/Ships/SpaceStation.pm b/lib/Lacuna/DB/Result/Ships/SpaceStation.pm index 80641024..f0e5103d 100644 --- a/lib/Lacuna/DB/Result/Ships/SpaceStation.pm +++ b/lib/Lacuna/DB/Result/Ships/SpaceStation.pm @@ -19,8 +19,6 @@ use constant pilotable => 1; use constant build_tags => [qw(War Intelligence)]; use constant type_formatted => 'Space Station Hull'; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with 'Lacuna::Role::Ship::Send::Uninhabited'; with 'Lacuna::Role::Ship::Send::MemberOfAlliance'; diff --git a/lib/Lacuna/DB/Result/Ships/SpyPod.pm b/lib/Lacuna/DB/Result/Ships/SpyPod.pm index 59f10950..8f31ad13 100644 --- a/lib/Lacuna/DB/Result/Ships/SpyPod.pm +++ b/lib/Lacuna/DB/Result/Ships/SpyPod.pm @@ -23,6 +23,7 @@ with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; with "Lacuna::Role::Ship::Send::LoadWithSpies"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::CaptureWithSpies"; with "Lacuna::Role::Ship::Arrive::Scuttle"; diff --git a/lib/Lacuna/DB/Result/Ships/SpyShuttle.pm b/lib/Lacuna/DB/Result/Ships/SpyShuttle.pm index 3ce062a5..c4f298b9 100644 --- a/lib/Lacuna/DB/Result/Ships/SpyShuttle.pm +++ b/lib/Lacuna/DB/Result/Ships/SpyShuttle.pm @@ -23,6 +23,7 @@ with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; with "Lacuna::Role::Ship::Send::LoadWithSpies"; +with "Lacuna::Role::Ship::Send::IsHostile"; with "Lacuna::Role::Ship::Arrive::CaptureWithSpies"; with "Lacuna::Role::Ship::Arrive::Orbit"; diff --git a/lib/Lacuna/DB/Result/Ships/Stake.pm b/lib/Lacuna/DB/Result/Ships/Stake.pm index 779b6a43..a1f7cabc 100644 --- a/lib/Lacuna/DB/Result/Ships/Stake.pm +++ b/lib/Lacuna/DB/Result/Ships/Stake.pm @@ -19,8 +19,6 @@ use constant base_hold_size => 0; use constant pilotable => 0; use constant build_tags => ['Colonization']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Uninhabited"; with "Lacuna::Role::Ship::Send::IsHostile"; diff --git a/lib/Lacuna/DB/Result/Ships/Surveyor.pm b/lib/Lacuna/DB/Result/Ships/Surveyor.pm index 0940072e..a6fe50ad 100644 --- a/lib/Lacuna/DB/Result/Ships/Surveyor.pm +++ b/lib/Lacuna/DB/Result/Ships/Surveyor.pm @@ -23,15 +23,5 @@ with "Lacuna::Role::Ship::Send::MaybeHostile"; with "Lacuna::Role::Ship::Arrive::TriggerDefense"; with "Lacuna::Role::Ship::Arrive::SurveySurface"; -#sub _build_hostile_action { -# my $self = shift; -# if ($self->foreign_body->empire) { -# return 1; -# } -# else { -# return 0; -# } -#} - no Moose; __PACKAGE__->meta->make_immutable(inline_constructor => 0); diff --git a/lib/Lacuna/DB/Result/Ships/Sweeper.pm b/lib/Lacuna/DB/Result/Ships/Sweeper.pm index 60139e01..790630c9 100644 --- a/lib/Lacuna/DB/Result/Ships/Sweeper.pm +++ b/lib/Lacuna/DB/Result/Ships/Sweeper.pm @@ -18,8 +18,6 @@ use constant base_stealth => 2800; use constant pilotable => 1; use constant build_tags => ['War']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Body"; with "Lacuna::Role::Ship::Send::NotIsolationist"; with "Lacuna::Role::Ship::Send::IsHostile"; diff --git a/lib/Lacuna/DB/Result/Ships/Thud.pm b/lib/Lacuna/DB/Result/Ships/Thud.pm index ea26a92f..48bb163c 100644 --- a/lib/Lacuna/DB/Result/Ships/Thud.pm +++ b/lib/Lacuna/DB/Result/Ships/Thud.pm @@ -18,8 +18,6 @@ use constant base_combat => 2100; use constant base_hold_size => 0; use constant build_tags => ['War']; -#sub _build_hostile_action { 1 } - with "Lacuna::Role::Ship::Send::Planet"; with "Lacuna::Role::Ship::Send::Inhabited"; with "Lacuna::Role::Ship::Send::NotIsolationist"; -- 2.51.2