killcounters, redbox mode, failing unseal test, and random debug strings
This commit is contained in:
parent
3eeee323a9
commit
a5a21d0968
@ -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)
|
||||
})
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user