void ContractCrateImplementation::parseDraftSchematic(const String& schematic) { DraftSchematic* schematicTemplate = SchematicMap::instance()->get(schematic.hashCode()); if (schematicTemplate == NULL) return; xpType = schematicTemplate->getXpType(); itemName = schematicTemplate->getCustomName(); xpAmount = schematicTemplate->getXpAmount(); }
void CraftingSessionImplementation::selectDraftSchematic(int index) { ManagedReference<CreatureObject*> crafter = this->crafter.get(); ManagedReference<PlayerObject*> crafterGhost = this->crafterGhost.get(); ManagedReference<CraftingTool*> craftingTool = this->craftingTool.get(); if (index >= currentSchematicList.size()) { crafter->sendSystemMessage("Invalid Schematic Index"); closeCraftingWindow(1); cancelSession(); return; } DraftSchematic* draftschematic = currentSchematicList.get(index); if (draftschematic == NULL) { crafter->sendSystemMessage("@ui_craft:err_no_draft_schematic"); closeCraftingWindow(1); cancelSession(); return; } clearSession(); Locker slocker(_this.get()); if(crafterGhost != NULL && crafterGhost->getDebug()) { crafter->sendSystemMessage("Selected DraftSchematic: " + draftschematic->getCustomName()); } state = 2; if (craftingTool != NULL) { Locker locker(craftingTool); if (createSessionObjects(draftschematic)) { if (prototype == NULL) { crafter->sendSystemMessage("@ui_craft:err_no_prototype"); closeCraftingWindow(1); cancelSession(); return; } // Dplay9 ******************************************************** // Sets the Crafting state to 2, which is the Resource screen PlayerObjectDeltaMessage9* dplay9 = new PlayerObjectDeltaMessage9( crafter->getPlayerObject()); dplay9->setExperimentationPoints(0xFFFFFFFF); dplay9->setCraftingState(2); dplay9->close(); crafter->sendMessage(dplay9); // End Dplay9 ***************************************************** } else { crafter->sendSystemMessage("This type of object has not yet been implemented"); } } else { crafter->sendSystemMessage("@ui_craft:err_no_crafting_tool"); closeCraftingWindow(1); cancelSession(); } }