From c50c46cf79997760e279b633a13b664ced7fc8f3 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Fri, 10 Sep 2010 09:03:54 -0500 Subject: [PATCH] expose ship speed and empire to trades --- docs/Trade.pod | 6 +++++- docs/Transporter.pod | 4 ++++ lib/Lacuna/Role/Trader.pm | 2 +- lib/Lacuna/Role/TraderRpc.pm | 9 ++++++++- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/docs/Trade.pod b/docs/Trade.pod index cc1e30a0..716e05d4 100644 --- a/docs/Trade.pod +++ b/docs/Trade.pod @@ -258,7 +258,11 @@ Displays a list of trades available at the present time. "ask_description" : "10000 Bauxite", "offer_type" : "prisoner", "offer_quantity" : 1, - "offer_description" : "Spy Named Jack Bauer (Level: 21)" + "offer_description" : "Spy Named Jack Bauer (Level: 21)", + "empire" : { + "id" : "id-goes-here", + "name" : "Earthlings" + } }, ... ], diff --git a/docs/Transporter.pod b/docs/Transporter.pod index 2e99c4d8..22801c11 100644 --- a/docs/Transporter.pod +++ b/docs/Transporter.pod @@ -266,6 +266,10 @@ Displays a list of trades available at the present time. "offer_type" : "prisoner", "offer_quantity" : 1, "offer_description" : "Spy Named Jack Bauer (Level: 21)" + "empire" : { + "id" : "id-goes-here", + "name" : "Earthlings" + } }, ... ], diff --git a/lib/Lacuna/Role/Trader.pm b/lib/Lacuna/Role/Trader.pm index 051f9211..75375262 100644 --- a/lib/Lacuna/Role/Trader.pm +++ b/lib/Lacuna/Role/Trader.pm @@ -96,7 +96,7 @@ sub structure_offer { offer_type => $offer->{type}, offer_sub_type => $ship->type, offer_quantity => 1, - offer_description => $ship->type_formatted.' (Cargo: '.$ship->hold_size.', Speed: '.$ship->speed.')', + offer_description => $ship->type_formatted.' (Cargo: '.$ship->hold_size.', Speed: '.$ship->speed.', Stealth: '.$ship->stealth.')', offer_cargo_space_needed => $space, offer_rank_1 => $ship->hold_size, offer_rank_2 => $ship->speed, diff --git a/lib/Lacuna/Role/TraderRpc.pm b/lib/Lacuna/Role/TraderRpc.pm index 28559226..3b6b8e97 100644 --- a/lib/Lacuna/Role/TraderRpc.pm +++ b/lib/Lacuna/Role/TraderRpc.pm @@ -37,7 +37,10 @@ sub view_available_trades { my $empire = $self->get_empire_by_session($session_id); my $building = $self->get_building($empire, $building_id); $page_number ||=1; - my $all_trades = $building->available_trades->search(undef, { rows => 25, page => $page_number }); + my $all_trades = $building->available_trades->search( + undef, + { rows => 25, page => $page_number, join => 'body' } + ); my @trades; while (my $trade = $all_trades->next) { push @trades, { @@ -49,6 +52,10 @@ sub view_available_trades { offer_description => $trade->offer_description, offer_type => $trade->offer_sub_type, offer_quantity => $trade->offer_quantity, + empire => { + id => $trade->body->empire->id, + name => $trade->body->empire->name, + }, }; } return { -- 2.54.0