| 592 | } |
| 593 | |
| 594 | void Trap::claimForSeat(Seat* seat, Tile* tile, double danceRate) |
| 595 | { |
| 596 | auto it = mTileData.find(tile); |
| 597 | if(it == mTileData.end()) |
| 598 | { |
| 599 | OD_LOG_ERR("trap=" + getName() + ", tile=" + Tile::displayAsString(tile)); |
| 600 | return; |
| 601 | } |
| 602 | |
| 603 | TrapTileData* trapTileData = static_cast<TrapTileData*>(it->second); |
| 604 | if(danceRate < trapTileData->mClaimedValue) |
| 605 | { |
| 606 | trapTileData->mClaimedValue -= danceRate; |
| 607 | return; |
| 608 | } |
| 609 | |
| 610 | trapTileData->mHP = 0.0; |
| 611 | tile->claimTile(seat); |
| 612 | } |
| 613 | |
| 614 | bool Trap::sortForMapSave(Trap* t1, Trap* t2) |
| 615 | { |
no test coverage detected