summaryrefslogtreecommitdiff
path: root/src/mass.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/mass.rs')
-rw-r--r--src/mass.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mass.rs b/src/mass.rs
index a307295..820173f 100644
--- a/src/mass.rs
+++ b/src/mass.rs
@@ -179,8 +179,15 @@ impl Mass {
if let Some(target_name) = &navigation.target_name {
let mut target = masses.remove(target_name).unwrap();
mining.process(self.position.clone(), masses, &mut target, storage);
- tractorbeam.process(self.position.clone(), &mut target);
- masses.insert(target_name.to_string(), target);
+ let acquired = tractorbeam.process(self.position.clone(), &mut target);
+
+ if acquired {
+ if let MassType::Item { item } = target.mass_type {
+ storage.give_item(item);
+ }
+ } else {
+ masses.insert(target_name.to_string(), target);
+ }
}
let target = match &navigation.target_name {