void TicketCollector::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { mRadialMenu = RadialMenuPtr(new RadialMenu()); mRadialMenu->addItem(1,0,radId_itemUse,radAction_ObjCallback); mRadialMenu->addItem(2,0,radId_examine,radAction_Default); }
void CraftingTool::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { mRadialMenu = RadialMenuPtr(new RadialMenu()); mRadialMenu->addItem(1,0,radId_craftStart,radAction_Default); mRadialMenu->addItem(2,0,radId_examine,radAction_Default); mRadialMenu->addItem(3,0,radId_itemDestroy,radAction_Default); }
void ItemTerminal::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { mRadialMenu = RadialMenuPtr(new RadialMenu()); // any object with callbacks needs to handle those (received with menuselect messages) ! mRadialMenu->addItem(1,0,radId_itemUse,radAction_ObjCallback); mRadialMenu->addItem(2,0,radId_examine,radAction_Default); }
AttackableStaticNpc::AttackableStaticNpc() : NPCObject(), mDeathEffectId(144) { mNpcFamily = NpcFamily_AttackableObject; // Use default radial. mRadialMenu = RadialMenuPtr(new RadialMenu()); // mRadialMenu->addItem(1,0,radId_combatAttack,radAction_Default); // mRadialMenu->addItem(2,0,radId_examine,radAction_Default); }
void Firework::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { mRadialMenu = RadialMenuPtr(new RadialMenu()); mRadialMenu->addItem(1,0,radId_itemUse,radAction_ObjCallback,""); mRadialMenu->addItem(2,0,radId_examine,radAction_ObjCallback,""); mRadialMenu->addItem(3,0,radId_itemDestroy,radAction_ObjCallback,""); this->delay=0; }
void SurveyTool::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { if (creatureObject->isDead() || creatureObject->isIncapacitated()) { mRadialMenu = RadialMenuPtr(new RadialMenu()); mRadialMenu->addItem(1,0,radId_examine,radAction_ObjCallback); } else { mRadialMenu = RadialMenuPtr(new RadialMenu()); mRadialMenu->addItem(1,0,radId_itemUse,radAction_ObjCallback); mRadialMenu->addItem(2,0,radId_examine,radAction_ObjCallback); mRadialMenu->addItem(3,0,radId_itemDestroy,radAction_Default); mRadialMenu->addItem(4,0,radId_serverItemOptions,radAction_ObjCallback,"@sui:tool_options"); mRadialMenu->addItem(5,4,radId_serverSurveyToolRange,radAction_ObjCallback,"@sui:survey_range"); } }
QuestGiver::QuestGiver() : NPCObject() { mNpcFamily = NpcFamily_QuestGiver; mRadialMenu = RadialMenuPtr(new RadialMenu()); mRadialMenu->addItem(1,0,radId_converseStart,radAction_Default); mRadialMenu->addItem(2,0,radId_examine,radAction_Default); }
//============================================================================= void LairObject::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { mRadialMenu.reset(); mRadialMenu = RadialMenuPtr(new RadialMenu()); // The peace option will be filled in by the client when we have started the combat. if (this->checkPvPState(CreaturePvPStatus_Attackable)) { mRadialMenu->addItem(1,0,radId_combatAttack,radAction_Default); mRadialMenu->addItem(2,0,radId_examine,radAction_Default); } else { mRadialMenu->addItem(1,0,radId_examine,radAction_Default); } }
FireworkShow::FireworkShow() : Item() { mRadialMenu = RadialMenuPtr(new RadialMenu()); mRadialMenu->addItem(1,0,radId_itemUse,radAction_ObjCallback,""); mRadialMenu->addItem(2,0,radId_examine,radAction_ObjCallback,""); mRadialMenu->addItem(3,0,radId_itemDestroy,radAction_ObjCallback,""); mRadialMenu->addItem(4,0,radId_fireworkshowData,radAction_ObjCallback,"@firework:mnu_show_data"); mRadialMenu->addItem(5,4,radId_fireworkshowRemove,radAction_ObjCallback,"@firework:mnu_remove_event"); mRadialMenu->addItem(6,4,radId_fireworkshowModify,radAction_ObjCallback,"@firework:mnu_modify_event"); mRadialMenu->addItem(7,4,radId_fireworkshowReorder,radAction_ObjCallback,"@firework:mnu_reorder_show"); mRadialMenu->addItem(8,4,radId_fireworkshowAdd,radAction_ObjCallback,"@firework:mnu_add_event"); registerEventFunction(this,&FireworkShow::onLaunch); this->fireworkShowListModify=0; //objList = new ObjectList(); }
void CampTerminal::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { RadialMenu* radial = new RadialMenu(); radial->addItem(1,0,radId_examine,radAction_Default); radial->addItem(2,0,radId_serverTerminalManagementStatus,radAction_ObjCallback,"Status"); Camp* camp = (Camp*) gWorldManager->getObjectById(this->mCampId); if(creatureObject->getId() == camp->getOwner()) { radial->addItem(3,0,radId_serverTerminalManagementDestroy,radAction_ObjCallback,"Disband"); } mRadialMenu = RadialMenuPtr(radial); }
void InsuranceTerminal::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { mRadialMenu = RadialMenuPtr(new RadialMenu()); if (gWorldConfig->isTutorial()) { // Simplified options for the tutorial. mRadialMenu->addItem(1,0,radId_itemUse,radAction_ObjCallback, "@sui:mnu_insure_all"); mRadialMenu->addItem(2,0,radId_examine,radAction_Default); } else { // any object with callbacks needs to handle those (received with menuselect messages) ! mRadialMenu->addItem(1,0,radId_itemUse,radAction_ObjCallback); mRadialMenu->addItem(2,0,radId_examine,radAction_Default); mRadialMenu->addItem(3,0,radId_Unknown,radAction_ObjCallback, "@sui:mnu_insure_all"); } }
void AttackableStaticNpc::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { // For test. // PlayerObject* playerObject = dynamic_cast<PlayerObject*>(creatureObject); // gMessageLib->sendUpdatePvpStatus(this, playerObject); mRadialMenu.reset(); mRadialMenu = RadialMenuPtr(new RadialMenu()); if (this->checkPvPState(CreaturePvPStatus_Attackable)) { // mRadialMenu = RadialMenuPtr(new RadialMenu()); mRadialMenu->addItem(1,0,radId_combatAttack,radAction_Default); mRadialMenu->addItem(2,0,radId_examine,radAction_Default); } else { mRadialMenu->addItem(1,0,radId_examine,radAction_Default); } }
void ElevatorTerminal::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { RadialMenu* radial = new RadialMenu(); if(mTanType == TanType_ElevatorUpTerminal) { radial->addItem(1,0,radId_examine,radAction_Default); radial->addItem(2,0,radId_elevatorUp,radAction_ObjCallback,"@elevator_text:up"); } else if(mTanType == TanType_ElevatorDownTerminal) { radial->addItem(1,0,radId_examine,radAction_Default); radial->addItem(2,0,radId_elevatorDown,radAction_ObjCallback,"@elevator_text:down"); } else { radial->addItem(1,0,radId_examine,radAction_Default); radial->addItem(2,0,radId_elevatorUp,radAction_ObjCallback,"@elevator_text:up"); radial->addItem(3,0,radId_elevatorDown,radAction_ObjCallback,"@elevator_text:down"); } mRadialMenu = RadialMenuPtr(radial); }
void Instrument::prepareCustomRadialMenu(CreatureObject* player, uint8 itemCount) { // NOTE: player is also of type CreatureObject* !!! PlayerObject* playerObject = dynamic_cast<PlayerObject*>(player); mRadialMenu.reset(); mRadialMenu = RadialMenuPtr(new RadialMenu()); // RadialMenu* radial = new RadialMenu(); //string mInstrumentString = instrument->getName(); uint32 instrumentNr = this->getItemType(); if ((instrumentNr == ItemType_Nalargon) || (instrumentNr == ItemType_omni_box) || (instrumentNr == ItemType_nalargon_max_reebo)) { uint32 radId = 1; // We have to know if this is the real one or the copy. if (playerObject->getPlacedInstrumentId() == this->getId()) { // We are handling the copy if ((playerObject->getId() == this->getOwner()) && this->getPlaced()) { if ((playerObject->GetCreature()->getPerformingState() == PlayerPerformance_Music)) { mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_itemUse,radAction_ObjCallback, "@radial_performance:stop_playing"); } else { mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_itemUse,radAction_ObjCallback, "@radial_performance:play_instrument"); } } else { // radial->addItem(radId++,0,radId_examine,radAction_Default); // radial->addItem(radId++,0,radId_itemPickup,radAction_Default); return; } mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_examine,radAction_Default); mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_itemPickup,radAction_Default); } else { // We may be handling the original instrument. auto equip_service = gWorldManager->getKernel()->GetServiceManager()->GetService<swganh::equipment::EquipmentService>("EquipmentService"); auto inventory = dynamic_cast<Inventory*>(equip_service->GetEquippedObject(playerObject->GetCreature(), "inventory")); if (inventory) { if (inventory->getId() == this->getParentId()) { // We have our real instrument in the inventory. // We can't drop if outside in the world. if (player->getParentId() == 0) { // Outside mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_examine,radAction_Default); mRadialMenu->addItem(static_cast<uint8>(radId),0,radId_itemDestroy, radAction_Default); } else { mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_examine,radAction_Default); mRadialMenu->addItem(static_cast<uint8>(radId),0,radId_itemDrop,radAction_Default); mRadialMenu->addItem(static_cast<uint8>(radId),0,radId_itemDestroy, radAction_Default); } if (playerObject->getPlacedInstrumentId() == 0) { // We do not have any other placed intrument out. mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_itemUse,radAction_ObjCallback,"Use"); } } else if (dynamic_cast<CellObject*>(gWorldManager->getObjectById(this->getParentId()))) { // It's either a original instrument, or someone else instrument, copy or original. // Time for some dirty... the original instrument does not have an owner. // Let's take advantage of that shortcoming. // Is this my instrument? if (this->getOwner() == player->getId()) { // Yes, are we handling the original instrument. // if (cell->getId() == this->getParentId()) { if ((playerObject->GetCreature()->getPerformingState() == PlayerPerformance_Music)) { mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_itemUse,radAction_ObjCallback, "@radial_performance:stop_playing"); } else { mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_itemUse,radAction_ObjCallback, "@radial_performance:play_instrument"); } mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_examine,radAction_Default); mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_itemPickup,radAction_Default); } } else { // This is not my instrument. // gMessageLib->sendSystemMessage(playerObject,L"","error_message","insufficient_permissions"); mRadialMenu->addItem(static_cast<uint8>(radId++),0,radId_examine,radAction_Default); // radial->addItem(radId++,0,radId_itemPickup,radAction_Default); } } } } } // mRadialMenu = RadialMenuPtr(radial); // RadialMenuPtr radialPtr(radial); // mRadialMenu = radialPtr; }