| 544 | } |
| 545 | |
| 546 | void RoomDormitory::notifyCarryingStateChanged(Creature* carrier, GameEntity* carriedEntity) |
| 547 | { |
| 548 | if(carriedEntity->getObjectType() != GameEntityType::creature) |
| 549 | { |
| 550 | OD_LOG_ERR("room=" + getName() + ", entity=" + carriedEntity->getName()); |
| 551 | return; |
| 552 | } |
| 553 | |
| 554 | Creature* creature = static_cast<Creature*>(carriedEntity); |
| 555 | Tile* posTile = creature->getPositionTile(); |
| 556 | if(posTile == nullptr) |
| 557 | { |
| 558 | OD_LOG_ERR("creature=" + creature->getName() + ", position=" + Helper::toString(creature->getPosition())); |
| 559 | return; |
| 560 | } |
| 561 | |
| 562 | if(posTile != creature->getHomeTile()) |
| 563 | return; |
| 564 | |
| 565 | creature->resetKoTurns(); |
| 566 | creature->sleep(); |
| 567 | } |
| 568 | |
| 569 | void RoomDormitory::creatureDropped(Creature& creature) |
| 570 | { |
nothing calls this directly
no test coverage detected