void DroidMaintenanceSessionImplementation::sendMaintenanceTransferBox(){ // add result if (selectedStructure == NULL) { cancelSession(); return; } ManagedReference<CreatureObject*> creature = this->player.get(); ManagedReference<DroidMaintenanceModuleDataComponent*> module = this->maintModule.get(); // create transfer box ManagedReference<SuiTransferBox*> sui = new SuiTransferBox(creature,SuiWindowType::DROID_ADD_STRUCTURE_AMOUNT); sui->setCallback(new DroidMaintenanceSessionAddCreditsSuiCallback(creature->getZoneServer())); sui->setPromptTitle("@pet/droid_modules:droid_maint_amount_title"); //Select Amount bool offplanet = false; if (selectedStructure->getZone()->getZoneName() != creature->getZone()->getZoneName()) offplanet = true; StringBuffer promptText = "@pet/droid_modules:droid_maint_amount_prompt \n@player_structure:current_maint_pool "+ String::valueOf(selectedStructure->getSurplusMaintenance())+"cr"; selectedFees = 0; if (offplanet) { PlanetManager* planetManager = creature->getZone()->getPlanetManager(); if (planetManager == NULL) { return; } int fee = planetManager->getTravelFare(selectedStructure->getZone()->getZoneName(),creature->getZone()->getZoneName()); selectedFees = fee; promptText << "\n@pet/droid_modules:droid_maint_diff_planet_prefix " << fee << " @pet/droid_modules:droid_maint_diff_planet_suffix \n"; } sui->setPromptText(promptText.toString()); // check for off planet, it has a fee sui->addFrom("@player_structure:total_funds",String::valueOf(availableCredits),String::valueOf(availableCredits), "1"); sui->addTo("@player_structure:to_pay", "0", "0", "1"); creature->getPlayerObject()->addSuiBox(sui); creature->sendMessage(sui->generateMessage()); }