killcounters, redbox mode, failing unseal test, and random debug strings

This commit is contained in:
andy 2021-12-19 19:44:27 +00:00
parent 3eeee323a9
commit a5a21d0968
2 changed files with 7 additions and 0 deletions

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