don't double count picked up meseta
This commit is contained in:
parent
1f775661fa
commit
25d5658042
@ -5,7 +5,7 @@ use crate::common::serverstate::ClientId;
|
||||
use crate::ship::ship::{SendShipPacket, ShipError, Clients, Rooms};
|
||||
use crate::ship::location::{ClientLocation, ClientLocationError};
|
||||
use crate::ship::drops::ItemDrop;
|
||||
use crate::ship::items::{ItemManager, ItemManagerError};
|
||||
use crate::ship::items::{ItemManager, ItemManagerError, FloorItemType};
|
||||
use crate::entity::gateway::EntityGateway;
|
||||
use libpso::utf8_to_utf16_array;
|
||||
use crate::ship::packet::builder;
|
||||
@ -144,7 +144,10 @@ where
|
||||
};
|
||||
|
||||
let remove_item = builder::message::remove_item_from_floor(area_client, &item)?;
|
||||
let create_item = builder::message::create_item(area_client, &item)?;
|
||||
let create_item = match item.item {
|
||||
FloorItemType::Meseta(_) => None,
|
||||
_ => Some(builder::message::create_item(area_client, &item)?),
|
||||
};
|
||||
match item_manager.move_item_from_floor_to_inventory(entity_gateway, &mut client, item) {
|
||||
Ok(_) => {
|
||||
Ok(Box::new(Vec::new().into_iter()
|
||||
@ -158,9 +161,11 @@ where
|
||||
.map(move |c| {
|
||||
(c.client, SendShipPacket::Message(Message::new(GameMessage::RemoveItemFromFloor(remove_item.clone()))))
|
||||
}))
|
||||
.chain(clients_in_area.into_iter().map(move |c| {
|
||||
(c.client, SendShipPacket::Message(Message::new(GameMessage::CreateItem(create_item.clone()))))
|
||||
})))
|
||||
.chain(clients_in_area.into_iter().filter_map(move |c| {
|
||||
//(c.client, SendShipPacket::Message(Message::new(GameMessage::CreateItem(create_item.clone()))))
|
||||
create_item.clone().map(|ci| (c.client, SendShipPacket::Message(Message::new(GameMessage::CreateItem(ci)))))
|
||||
}
|
||||
)))
|
||||
)
|
||||
},
|
||||
Err(err) => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user