void TreasuryManager::bankJoin(PlayerObject* player) { auto equip_service = gWorldManager->getKernel()->GetServiceManager()->GetService<swganh::equipment::EquipmentService>("EquipmentService"); //auto inventory = dynamic_cast<Inventory*>(equip_service->GetEquippedObject(player, "inventory")); auto bank = dynamic_cast<Bank*>(equip_service->GetEquippedObject(player->GetCreature(), "bank")); if(!bank) { LOG (error) << "TreasuryManager::bankJoin No bank for " << player->getId(); return; } // check if we're not already binded here if(static_cast<uint32>(bank->getPlanet()) == gWorldManager->getZoneId()) { gMessageLib->SendSystemMessage(::common::OutOfBand("system_msg", "already_member_of_bank"), player); return; } // check if we are not binded to any other bank if(bank->getPlanet() >= 0) { gMessageLib->SendSystemMessage(::common::OutOfBand("system_msg", "member_of_different_bank"), player); return; } bank->setPlanet((int8)gWorldManager->getZoneId()); //This message period added at the end as its missing from client. gMessageLib->SendSystemMessage(::common::OutOfBand("system_msg", "succesfully_joined_bank"), player); }
void ossimPlanetLayer::traverse(osg::NodeVisitor& nv) { switch(nv.getVisitorType()) { case osg::NodeVisitor::EVENT_VISITOR: { if(redrawFlag()) { osgGA::EventVisitor* ev = dynamic_cast<osgGA::EventVisitor*>(&nv); if(ev) { if(ev->getActionAdapter()) { ev->getActionAdapter()->requestRedraw(); setRedrawFlag(false); } } } return; } case osg::NodeVisitor::UPDATE_VISITOR: { if(!thePlanet) { setPlanet(ossimPlanet::findPlanet(this)); } break; } default: { } } ossimPlanetNode::traverse(nv); }
void TreasuryManager::bankQuit(PlayerObject* player) { auto equip_service = gWorldManager->getKernel()->GetServiceManager()->GetService<swganh::equipment::EquipmentService>("EquipmentService"); //auto inventory = dynamic_cast<Inventory*>(equip_service->GetEquippedObject(player, "inventory")); auto bank = dynamic_cast<Bank*>(equip_service->GetEquippedObject(player->GetCreature(), "bank")); if(!bank) { LOG (error) << "TreasuryManager::bankWithdrawAll No Bank Object for " << player->getId(); return; } // check if the player is really bound to this bank if(static_cast<uint32>(bank->getPlanet()) != gWorldManager->getZoneId()) { gMessageLib->SendSystemMessage(L"You are not a member of this bank.", player); return; } // check if the bank item box is empty // update the playerObject bank->setPlanet(-1); //This message has a period added to the end as it was missing from client. gMessageLib->SendSystemMessage(::common::OutOfBand("system_msg", "succesfully_quit_bank"), player); }
Tank::Tank(Planet* planet, std::string tank_path, sf::Font* hp_font) { rotation = 0.0; setHp(INITIALHP); createSprite(tank_path); setPlanet(planet); createHP(hp_font); }