bool CPetControl::isSuccUBusActive() const { if (!_activeNPC) return false; CString name = getName(); return name.containsIgnoreCase("Succubus") || name.containsIgnoreCase("Sub"); }
bool CPetControl::isDoorOrBellbotPresent() const { CGameManager *gameManager = getGameManager(); if (!gameManager) return false; CViewItem *view = gameManager->getView(); if (!view) return false; for (CTreeItem *treeItem = view->getFirstChild(); treeItem; treeItem = treeItem->scan(view)) { CString name = treeItem->getName(); if (dynamic_cast<CGameObject *>(treeItem) && (name.containsIgnoreCase("Doorbot") || name.containsIgnoreCase("BellBot"))) return true; } return false; }
void CPetConversations::displayNPCName(CGameObject *npc) { const Strings &strings = g_vm->_strings; if (npc) { displayMessage(CString()); CString msg = strings[TALKING_TO]; CString name = npc->getName(); int id = 1; if (name.containsIgnoreCase("Doorbot")) { msg += strings[DOORBOT_NAME]; } else if (name.containsIgnoreCase("Deskbot")) { id = 2; msg += strings[DESKBOT_NAME]; } else if (name.containsIgnoreCase("LiftBot")) { id = 3; msg += strings[LIFTBOT_NAME]; } else if (name.containsIgnoreCase("Parrot")) { id = 4; msg += strings[PARROT_NAME]; } else if (name.containsIgnoreCase("BarBot")) { id = 5; msg += strings[BARBOT_NAME]; } else if (name.containsIgnoreCase("ChatterBot")) { id = 6; msg += strings[CHATTERBOT_NAME]; } else if (name.containsIgnoreCase("BellBot")) { id = 7; msg += strings[BELLBOT_NAME]; } else if (name.containsIgnoreCase("Maitre")) { id = 8; msg += strings[MAITRED_NAME]; } else if (name.containsIgnoreCase("Succubus") || name.containsIgnoreCase("Sub")) { id = 9; msg += strings[SUCCUBUS_NAME]; } else { msg += strings[UNKNOWN_NAME]; } _log.setNPC(1, id); displayMessage(msg); } }