kill_counters #109

Closed
andy wants to merge 80 commits from kill_counters into master
2 changed files with 7 additions and 0 deletions
Showing only changes of commit a5a21d0968 - Show all commits

View File

@ -79,6 +79,7 @@ pub async fn request_item<EG>(id: ClientId,
where
EG: EntityGateway
{
println!("src::ship::packet::handler::request_item() - requesting an item!");
let room_id = client_location.get_room(id).map_err(|err| -> ClientLocationError { err.into() })?;
let room = rooms.get_mut(room_id.0)
.ok_or(ShipError::InvalidRoom(room_id.0 as u32))?
@ -86,7 +87,9 @@ where
.ok_or(ShipError::InvalidRoom(room_id.0 as u32))?;
let monster = room.maps.enemy_by_id(request_item.enemy_id as usize)?;
println!("room id: {:?}, monster: {:?}", room_id, monster);
if monster.dropped_item {
println!("monster {:?} already dropped an item!", monster);
return Err(ShipError::MonsterAlreadyDroppedItem(id, request_item.enemy_id).into())
}
@ -95,6 +98,7 @@ where
let client_and_drop = clients_in_area.into_iter()
.filter_map(|area_client| {
if room.redbox {
println!("red box mode is currently enabled. dropping red box!");
room.drop_table.get_rare_drop(&monster.map_area, &monster.monster).map(|item_drop_type| {
(area_client, item_drop_type)
})

View File

@ -1,4 +1,7 @@
/* TODO:
1. test to check if sjs/lame/limiter drop with Some() kill counter enabled
2. test to make sure other items drop with None kill counter
3. test kill counters get incremented per kill
4. test unsealing item:
- client item id does not change
- unsealed item no longer has kill counter