summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/game-server/state.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/game-server/state.cpp b/src/game-server/state.cpp
index 2972bd0..3cfb0e7 100644
--- a/src/game-server/state.cpp
+++ b/src/game-server/state.cpp
@@ -360,6 +360,23 @@ void State::remove(Thing *ptr)
}
}
}
+ else if (ptr->getType() == OBJECT_ITEM)
+ {
+ Item *obj = static_cast< Item * >(ptr);
+ Point pos = obj->getPosition();
+ MessageOut msg(GPMSG_ITEMS);
+ msg.writeShort(0);
+ msg.writeShort(pos.x);
+ msg.writeShort(pos.y);
+
+ for (PlayerIterator p(map->getAroundObjectIterator(obj, AROUND_AREA)); p; ++p)
+ {
+ if (pos.inRangeOf((*p)->getPosition(), AROUND_AREA))
+ {
+ gameHandler->sendTo(*p, msg);
+ }
+ }
+ }
map->remove(ptr);
}