Assembla home | Assembla project page
 

Changeset 919

Show
Ignore:
Timestamp:
11/11/08 03:47:45 (8 months ago)
Author:
kyle
Message:

[Updated] Crafting: Reworked slots
[Updated] Crafting: Customization should mostly work
[Updated] Bazaar: Turned them all on (Thanks Saromus!)
[Updated] Things I can't remember, but should be awesome in some form

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/main.lua

    r915 r919  
    6565RunDraftSchematicFile("objects/draftschematics/armorsmith/main.lua") 
    6666 
     67-- Smuggler 
     68RunDraftSchematicFile("objects/draftschematics/smuggler/main.lua") 
     69 
     70-- Medic 
     71RunDraftSchematicFile("objects/draftschematics/medic/main.lua") 
     72 
     73 
     74 
     75 
     76 
     77 
    6778 
    6879--RunDraftSchematicFile("objects/draftschematics/weaponsmith/dlt20Rifle.lua") 
     
    8192RunDraftSchematicFile("objects/draftschematics/artisan/gasPocketSurveyDevice.lua") 
    8293RunDraftSchematicFile("objects/draftschematics/artisan/floraSurveyTool.lua") 
    83 RunDraftSchematicFile("objects/draftschematics/artisan/swoop.lua") 
    84 RunDraftSchematicFile("objects/draftschematics/artisan/speederbike.lua") 
    85 RunDraftSchematicFile("objects/draftschematics/artisan/x34Landspeeder.lua") 
    8694RunDraftSchematicFile("objects/draftschematics/weaponsmith/blasterPowerHandler.lua") 
    8795RunDraftSchematicFile("objects/draftschematics/weaponsmith/blasterRifleBarrel.lua") 
    8896 
    89 -- MEDIC 
    90  
    91 -- Novice Medic 
    92 RunDraftSchematicFile("objects/draftschematics/medic/novice/biologicalEffectController.lua") 
    93 RunDraftSchematicFile("objects/draftschematics/medic/novice/smallStimpackA.lua") 
    94 RunDraftSchematicFile("objects/draftschematics/medic/novice/liquidSuspension.lua") 
    95 RunDraftSchematicFile("objects/draftschematics/medic/novice/foodChemicalCraftingTool.lua") 
    96  
    97 -- Organic Chemistry 1 
    98 RunDraftSchematicFile("objects/draftschematics/medic/organicchemistry1/actionWoundMedpackA.lua") 
    99 RunDraftSchematicFile("objects/draftschematics/medic/organicchemistry1/healthWoundMedpackA.lua") 
    100   
    101 -- Organic Chemistry 2 
    102 RunDraftSchematicFile("objects/draftschematics/medic/organicchemistry2/solidDeliveryShell.lua") 
    103 RunDraftSchematicFile("objects/draftschematics/medic/organicchemistry2/smallStimpackB.lua") 
    104 RunDraftSchematicFile("objects/draftschematics/medic/organicchemistry2/chemicalReleaseDurationMechanism.lua")  
    105  
    106 -- Organic Chemistry 3 
    107 --RunDraftSchematicFile("objects/draftschematics/medic/organicchemistry4/advLiquidSuspension.lua") 
    108   
    109 -- Organic Chemistry 4 
    110 --RunDraftSchematicFile("objects/draftschematics/medic/organicchemistry4/advLiquidSuspension.lua") 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematic.lua

    r860 r919  
    6060  ingredientTemplateNames = "", 
    6161  ingredientTitleNames = "", 
    62   ingredientOptionals = "", 
     62  ingredientSlotType = "", 
    6363  resourceTypes = "", 
    6464  resourceQuantities = "", 
     
    7474 
    7575  tanoAttributes = "", 
     76  customizationOptions = "", 
     77   customizationDefaults = "", 
    7678 
    7779  attributesToSet = "", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/layers1/energyProtectionArmorLayer.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "armor_layer_frame, defensive_layer_microlattice, shockwave_repulsion_compound, blast_harmonics_absorbtion_medium", 
    62    ingredientOptionals = "0, 0, 0, 0", 
     62   ingredientSlotType = "0, 0, 0, 0", 
    6363   --resourceTypes = "metal, petrochem_inert_polymer, gas_inert_known, ore", 
    6464resourceTypes = "metal, metal, metal, metal", 
     
    7474   experimentalSubGroupTitles = "energyeffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7575 
    76    tanoAttributes = "objecttype=262144:objectcrc=2938969271:objecttemp=armor_layer_energy:templatetype=craft_armor_ingredients_n:", 
     76   tanoAttributes = "objecttype=262145:objectcrc=2938969271:objecttemp=armor_layer_energy:templatetype=craft_armor_ingredients_n:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7779 
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  energyeffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/layers1/kineticProtectionArmorLayer.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "armor_layer_shock_casing, ablative_damage_absorbtion_medium, shockwave_repulsion_compound", 
    62    ingredientOptionals = "0, 0, 0", 
     62   ingredientSlotType = "0, 0, 0", 
    6363   --resourceTypes = "metal, petrochem_inert_polymer, gemstone_armophous", 
    6464   resourceTypes = "metal, metal, metal", 
     
    7474   experimentalSubGroupTitles = "kineticeffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7575    
    76    tanoAttributes = "objecttype=262144:objectcrc=2095312993:objecttemp=armor_layer_kinetic:templatetype=craft_armor_ingredients_n:", 
     76   tanoAttributes = "objecttype=262145:objectcrc=2095312993:objecttemp=armor_layer_kinetic:templatetype=craft_armor_ingredients_n:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7779 
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  kineticeffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/layers2/blastProtectionArmorLayer.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "armor_layer_frame, defensive_layer_microlattice, shockwave_repulsion_compound, blast_harmonics_absorbtion_medium", 
    62    ingredientOptionals = "0, 0, 0, 0", 
     62   ingredientSlotType = "0, 0, 0, 0", 
    6363   resourceTypes = "metal_ferrous, petrochem_inert_polymer, gemstone_armophous, ore_intrusive", 
    6464   resourceQuantities = "25, 10, 8, 3", 
     
    7474   experimentalSubGroupTitles = "blasteffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7575 
    76    tanoAttributes = "objecttype=262144:objectcrc=3979633097:objecttemp=armor_layer_blast:templatetype=craft_armor_ingredients_n:", 
     76   tanoAttributes = "objecttype=262145:objectcrc=3979633097:objecttemp=armor_layer_blast:templatetype=craft_armor_ingredients_n:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7779 
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  blasteffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/layers2/heatProtectionArmorLayer.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "armor_layer_frame, secondary_insulator_microsheath, primary_insulator_micro_layer", 
    62    ingredientOptionals = "0, 0, 0", 
     62   ingredientSlotType = "0, 0, 0", 
    6363   resourceTypes = "metal_nonferrous, petrochem_inert_polymer, ore_intrusive", 
    6464   resourceQuantities = "25, 12, 10", 
     
    7474   experimentalSubGroupTitles = "heateffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7575 
    76    tanoAttributes = "objecttype=262144:objectcrc=3125319440:objecttemp=armor_layer_heat:templatetype=craft_armor_ingredients_n:", 
     76   tanoAttributes = "objecttype=262145:objectcrc=3125319440:objecttemp=armor_layer_heat:templatetype=craft_armor_ingredients_n:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7779 
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  heateffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/layers3/coldProtectionArmorLayer.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "armor_layer_frame, defensive_layer_microlattice, insulation_medium", 
    62    ingredientOptionals = "0, 0, 0", 
     62   ingredientSlotType = "0, 0, 0", 
    6363   resourceTypes = "aluminum, petrochem_inert_polymer, ore_carbonate", 
    6464   resourceQuantities = "25, 10, 12", 
     
    7474   experimentalSubGroupTitles = "coldeffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7575 
    76    tanoAttributes = "objecttype=262144:objectcrc=1118558688:objecttemp=armor_layer_cold:templatetype=craft_armor_ingredients_n:", 
     76   tanoAttributes = "objecttype=262145:objectcrc=1118558688:objecttemp=armor_layer_cold:templatetype=craft_armor_ingredients_n:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7779 
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  coldeffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/layers3/electricalProtectionArmorLayer.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "armor_layer_frame, primary_insulator_micro_layer, secondary_insulator_microsheath", 
    62    ingredientOptionals = "0, 0, 0", 
     62   ingredientSlotType = "0, 0, 0", 
    6363   resourceTypes = "copper, petrochem_inert_polymer, ore_siliclastic", 
    6464   resourceQuantities = "25, 10, 12", 
     
    7474   experimentalSubGroupTitles = "electricaleffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7575 
    76    tanoAttributes = "objecttype=262144:objectcrc=2194125131:objecttemp=armor_layer_electrical:templatetype=craft_armor_ingredients_n:", 
     76   tanoAttributes = "objecttype=262145:objectcrc=2194125131:objecttemp=armor_layer_electrical:templatetype=craft_armor_ingredients_n:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7779 
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  electricaleffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/layers4/acidProtectionArmorLayer.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "armor_layer_frame, defensive_layer_microlattice, chemical_neutralization_medium", 
    62    ingredientOptionals = "0, 0, 0", 
     62   ingredientSlotType = "0, 0, 0", 
    6363   resourceTypes = "metal_nonferrous, gemstone_crystalline, gas_reactive_skevon", 
    6464   resourceQuantities = "20, 10, 14", 
     
    7474   experimentalSubGroupTitles = "acideffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7575 
    76    tanoAttributes = "objecttype=262144:objectcrc=3368394489:objecttemp=armor_layer_acid:templatetype=craft_armor_ingredients_n:", 
     76   tanoAttributes = "objecttype=262145:objectcrc=3368394489:objecttemp=armor_layer_acid:templatetype=craft_armor_ingredients_n:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7779 
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  acideffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/main.lua

    r860 r919  
    4747-- Personal Armor 3 
    4848RunDraftSchematicFile("objects/draftschematics/armorsmith/personalarmor3/ubeseArmorJacket.lua") 
     49RunDraftSchematicFile("objects/draftschematics/armorsmith/personalarmor3/advancedPaddedArmorSegment.lua") 
    4950 
    5051-- Personal Armor 4 
    5152RunDraftSchematicFile("objects/draftschematics/armorsmith/personalarmor4/advancedUbeseArmorSegment.lua") 
    5253RunDraftSchematicFile("objects/draftschematics/armorsmith/personalarmor4/compositeArmorSegment.lua") 
     54RunDraftSchematicFile("objects/draftschematics/armorsmith/personalarmor4/paddedArmorChestPlate.lua") 
     55RunDraftSchematicFile("objects/draftschematics/armorsmith/personalarmor4/kashyyykianHuntingArmorSegment.lua") 
    5356 
    5457-- Layers 1   
     
    7275RunDraftSchematicFile("objects/draftschematics/armorsmith/master/compositeArmorChestPlate.lua") 
    7376RunDraftSchematicFile("objects/draftschematics/armorsmith/master/compositeArmorBoots.lua") 
     77RunDraftSchematicFile("objects/draftschematics/armorsmith/master/kashyyykianHuntingArmorChestPlate.lua") 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/master/advancedCompositeArmorSegment.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "segment_layer_assembly_plate, armor_layer_weld_tabs, segment_mounting_tabs, defensive_layer, defensive_layer_2, defensive_layer_3, segment_enhancement", 
    62    ingredientOptionals = "0, 0, 0, 1, 1, 1, 1, 1", 
     62   ingredientSlotType = "0, 0, 0, 1, 1, 1, 1, 1", 
    6363   --resourceTypes = "iron_colat, steel_kiirium, copper_polysteel, object/tangible/component/armor/shared_armor_layer, object/tangible/component/armor/shared_armor_layer, object/tangible/component/armor/shared_armor_layer, object/tangible/component/armor/shared_base_armor_segment_enhancement.iff", 
    6464   resourceTypes = "metal, metal, metal, object/tangible/component/armor/shared_armor_layer.iff, object/tangible/component/armor/shared_armor_layer.iff, object/tangible/component/armor/shared_armor_layer.iff, object/tangible/component/armor/shared_base_armor_segment_enhancement.iff", 
     
    7474   experimentalSubGroupTitles = "electricaleffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7575 
    76    tanoAttributes = "objecttype=262144:objectcrc=2764212654:objecttemp=armor_segment_composite_advanced:templatetype=craft_clothing_ingredients_n:", 
     76   tanoAttributes = "objecttype=262145:objectcrc=2764212654:objecttemp=armor_segment_composite_advanced:templatetype=craft_clothing_ingredients_n:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7779 
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  electricaleffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/master/compositeArmorBoots.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_clothing_ingredients_n, craft_chemical_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n", 
    6161   ingredientTitleNames = "auxiliary_coverage, body, liner, hardware_and_attachments, binding_and_reinforcement, padding, armor, load_bearing_harness, reinforcement", 
    62    ingredientOptionals = "0, 0, 0, 0, 0, 0, 0, 1, 1", 
     62   ingredientSlotType = "0, 0, 0, 0, 0, 0, 0, 1, 1", 
    6363   resourceTypes = "ore_intrusive, fuel_petrochem_solid_known, fiberplast_naboo, aluminum, copper_beyrllius, hide_wooly, object/tangible/component/armor/shared_armor_segment_composite.iff, object/tangible/component/clothing/shared_synthetic_cloth.iff, object/tangible/component/clothing/shared_reinforced_fiber_panels.iff", 
    6464   --resourceQuantities = "50, 50, 25, 30, 20, 20, 2, 1, 1", 
     
    6767   contribution = "100, 100, 100, 100, 100, 100, 100, 100, 100", 
    6868 
    69    numberExperimentalProperties = "1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2", 
    70    experimentalProperties = "XX, XX, XX, OQ, SR, OQ, UT, OQ, MA, OQ, MA, OQ, MA, XX, XX, OQ, SR", 
    71    experimentalWeights = "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1", 
     69   numberExperimentalProperties = "1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2", 
     70   experimentalProperties = "XX, XX, XX, XX, OQ, SR, OQ, UT, OQ, MA, OQ, MA, OQ, MA, XX, XX, OQ, SR", 
     71   experimentalWeights = "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1", 
    7272   experimentalGroupTitles = "exp_resistance, exp_durability, exp_quality", 
    7373   experimentalSubGroupCount = "1, 4, 1", 
     
    7575 
    7676   tanoAttributes = "objecttype=263:objectcrc=3683772891:objecttemp=armor_composite_boots:templatetype=wearables_name:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "",  
    7779     
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  electricaleffectiveness, specialeffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/master/compositeArmorChestPlate.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_clothing_ingredients_n, craft_chemical_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n", 
    6161   ingredientTitleNames = "auxiliary_coverage, body, liner, hardware_and_attachments, binding_and_reinforcement, padding, armor, load_bearing_harness, reinforcement", 
    62    ingredientOptionals = "0, 0, 0, 0, 0, 0, 0, 1, 1", 
     62   ingredientSlotType = "0, 0, 0, 0, 0, 0, 3, 3, 3", 
    6363   --resourceTypes = "ore_intrusive, fuel_petrochem_solid_known, fiberplast_naboo, aluminum, copper_beyrllius, hide_wooly, object/tangible/component/armor/shared_armor_segment_composite.iff, object/tangible/component/clothing/shared_synthetic_cloth.iff, object/tangible/component/clothing/shared_reinforced_fiber_panels.iff", 
    6464   resourceTypes = "metal, metal, metal, metal, metal, metal, object/tangible/component/armor/shared_armor_segment_composite.iff, object/tangible/component/clothing/shared_synthetic_cloth.iff, object/tangible/component/clothing/shared_reinforced_fiber_panels.iff", 
     
    6767   contribution = "100, 100, 100, 100, 100, 100, 100, 100, 100", 
    6868 
    69    numberExperimentalProperties = "1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2", 
    70    experimentalProperties = "XX, XX, XX, OQ, SR, OQ, UT, OQ, MA, OQ, MA, OQ, MA, XX, XX, OQ, SR", 
    71    experimentalWeights = "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1", 
     69   numberExperimentalProperties = "1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2", 
     70   experimentalProperties = "XX, XX, XX, XX, OQ, SR, OQ, UT, OQ, MA, OQ, MA, OQ, MA, XX, XX, OQ, SR", 
     71   experimentalWeights = "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1", 
    7272   experimentalGroupTitles = "exp_resistance, exp_durability, exp_quality", 
    7373   experimentalSubGroupCount = "1, 4, 1", 
     
    7575 
    7676   tanoAttributes = "objecttype=257:objectcrc=2068279078:objecttemp=armor_composite_chest_plate:templatetype=wearables_name:", 
     77   customizationOptions = "index_color_1", 
     78   customizationDefaults = "0", 
    7779 
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  electricaleffectiveness, specialeffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/master/stunProtectionArmorLayer.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "armor_layer_frame, defensive_layer_microlattice, shockwave_repulsion_compound", 
    62    ingredientOptionals = "0, 0, 0", 
     62   ingredientSlotType = "0, 0, 0", 
    6363   resourceTypes = "metal_ferrous, crystalline_vertex, ore_siliclastic_crism", 
    6464   resourceQuantities = "25, 10, 12", 
     
    7474   experimentalSubGroupTitles = "stuneffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7575   
    76    tanoAttributes = "objecttype=262144:objectcrc=203108001:objecttemp=armor_layer_stun:templatetype=craft_armor_ingredients_n:", 
     76   tanoAttributes = "objecttype=262145:objectcrc=203108001:objecttemp=armor_layer_stun:templatetype=craft_armor_ingredients_n:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7779 
    7880   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  stuneffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/personalarmor3/ubeseArmorJacket.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_clothing_ingredients_n, craft_chemical_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n, craft_clothing_ingredients_n", 
    6161   ingredientTitleNames = "auxiliary_coverage, body, liner, hardware_and_attachments, binding_and_reinforcement, padding, armor, load_bearing_harness, reinforcement", 
    62    ingredientOptionals = "0, 0, 0, 0, 0, 0, 0, 1, 1", 
     62   ingredientSlotType = "0, 0, 0, 0, 0, 0, 0, 1, 1", 
    6363   --resourceTypes = "iron, steel, hide_leathery, steel_neutronium, petrochem_inert_polymer, hide_wooly, object/tangible/component/armor/shared_armor_segment_ubese.iff, object/tangible/component/clothing/shared_fiberplast_panel.iff, object/tangible/component/clothing/shared_reinforc", 
    6464   resourceTypes = "metal, metal, metal, metal, metal, metal, object/tangible/component/armor/shared_armor_segment_ubese.iff, object/tangible/component/clothing/shared_fiberplast_panel.iff, object/tangible/component/clothing/shared_reinforced_fiber_panels.iff", 
     
    6969 
    7070 
    71   numberExperimentalProperties = "1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2", 
    72    experimentalProperties = "XX, XX, XX, OQ, SR, OQ, UT, OQ, MA, OQ, MA, OQ, MA, XX, XX, OQ, SR", 
    73    experimentalWeights = "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1", 
     71  numberExperimentalProperties = "1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2", 
     72   experimentalProperties = "XX, XX, XX, XX, OQ, SR, OQ, UT, OQ, MA, OQ, MA, OQ, MA, XX, XX, OQ, SR", 
     73   experimentalWeights = "1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1", 
    7474   experimentalGroupTitles = "exp_resistance, exp_durability, exp_quality", 
    7575   experimentalSubGroupCount = "1, 4, 1", 
     
    7777 
    7878   tanoAttributes = "objecttype=257:objectcrc=3696152390:objecttemp=armor_ubese_jacket:templatetype=wearables_name:", 
     79   customizationOptions = "index_color_1", 
     80   customizationDefaults = "0", 
    7981 
    8082   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  kineticeffectiveness, specialeffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/personalarmor4/advancedUbeseArmorSegment.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "segment_layer_assembly_plate, armor_layer_weld_tabs, segment_mounting_tabs, defensive_layer, segment_enhancement", 
    62    ingredientOptionals = "0, 0, 0, 1, 1", 
     62   ingredientSlotType = "0, 0, 0, 1, 1", 
    6363   --resourceTypes = "iron_axidite, steel_neutronium, fiberplast, object/tangible/component/armor/shared_armor_layer.iff, object/tangible/component/armor/shared_base_armor_segment_enhancement.iff", 
    6464   resourceTypes = "metal, metal, metal, object/tangible/component/armor/shared_armor_layer.iff, object/tangible/component/armor/shared_base_armor_segment_enhancement.iff", 
     
    7575   experimentalSubGroupTitles = "kineticeffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7676 
    77    tanoAttributes = "objecttype=262144:objectcrc=1032868484:objecttemp=armor_segment_ubese_advanced:templatetype=craft_clothing_ingredients_n:", 
    78  
     77   tanoAttributes = "objecttype=262145:objectcrc=1032868484:objecttemp=armor_segment_ubese_advanced:templatetype=craft_clothing_ingredients_n:", 
     78   customizationOptions = "", 
     79   customizationDefaults = "", 
     80    
    7981   attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  kineticeffectiveness", 
    8082   attributeExperimentalProperties = "exp_quality, exp_durability, exp_durability, exp_durability, exp_durability, exp_resistance", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/armorsmith/personalarmor4/compositeArmorSegment.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n, craft_armor_ingredients_n", 
    6161   ingredientTitleNames = "armor_layer_frame, armor_layer_inner_structure, defensive_layer, segment_enhancement", 
    62    ingredientOptionals = "0, 0, 1, 1", 
     62   ingredientSlotType = "0, 0, 1, 1", 
    6363   resourceTypes = "metal, steel, object/tangible/component/armor/shared_armor_layer.iff, object/tangible/component/armor/shared_base_armor_segment_enhancement.iff", 
    6464   resourceQuantities = "13, 5, 1, 1", 
     
    7474   experimentalSubGroupTitles = "electricaleffectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance, base_effectiveness", 
    7575 
    76    tanoAttributes = "objecttype=262144:objectcrc=3596548182:objecttemp=armor_segment_composite:templatetype=craft_clothing_ingredients_n:", 
     76   tanoAttributes = "objecttype=262145:objectcrc=3596548182:objecttemp=armor_segment_composite:templatetype=craft_clothing_ingredients_n:", 
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7779 
    7880  attributesToSet = "base_effectiveness, armorIntegrity, armor_action_encumbrance, armor_health_encumbrance, armor_mind_encumbrance,  electricaleffectiveness", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/bofaTreat.lua

    r860 r919  
    6262  ingredientTemplateNames = "craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n", 
    6363  ingredientTitleNames = "frame_assembly, receiver_assembly, grip_assembly, powerhandler, blaster_rifle_barrel", 
    64   ingredientOptionals = "0, 0, 0, 0, 0", 
     64  ingredientSlotType = "0, 0, 0, 0, 0", 
    6565  resourceTypes = "metal, metal_ferrous, metal, object/tangible/component/weapon/shared_blaster_power_handler.iff, object/tangible/component/weapon/shared_blaster_rifle_barrel.iff", 
    6666  resourceQuantities = "35, 17, 9, 1, 1", 
     
    7676 
    7777  tanoAttributes = "objecttype=8202:objectcrc=2010692823:objecttemp=dessert_bofa_treat:templatetype=obj_n:", 
     78  customizationOptions = "", 
     79   customizationDefaults = "", 
    7880 
    7981  attributesToSet = "hitPoints, useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/chemicalSurveyDevice.lua

    r860 r919  
    6161  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6262  ingredientTitleNames = "assembly_enclosure, controller, scanner_assembly, storage_unit", 
    63   ingredientOptionals = "0, 0, 0, 0", 
     63  ingredientSlotType = "0, 0, 0, 0", 
    6464  resourceTypes = "metal, metal, metal, mineral", 
    6565  resourceQuantities = "8, 3, 8, 8", 
     
    7575   
    7676  tanoAttributes = "objecttype=32770:objectcrc=2242363434:objecttemp=survey_tool_chemical:templatetype=obj_n:", 
    77     
     77  customizationOptions = "", 
     78   customizationDefaults = "",  
    7879 
    7980  attributesToSet = "quality", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/clothingCraftingTool.lua

    r860 r919  
    6464  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6565  ingredientTitleNames = "assembly_enclosure, thermal_shielding, electronic_control_unit", 
    66   ingredientOptionals = "0, 0, 0", 
     66  ingredientSlotType = "0, 0, 0", 
    6767  resourceTypes = "metal, mineral, chemical", 
    6868  resourceQuantities = "16, 8, 10", 
     
    8282 
    8383  tanoAttributes = "objecttype=32769:objectcrc=753735496:objecttemp=clothing_tool_name:templatetype=crafting:", 
     84  customizationOptions = "", 
     85   customizationDefaults = "", 
    8486 
    8587  attributesToSet = "useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/floraSurveyTool.lua

    r860 r919  
    6161  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6262  ingredientTitleNames = "assembly_enclosure, controller, scanner_assembly, storage_unit", 
    63   ingredientOptionals = "0, 0, 0, 0", 
     63  ingredientSlotType = "0, 0, 0, 0", 
    6464  resourceTypes = "metal, metal, metal, mineral", 
    6565  resourceQuantities = "8, 8, 3, 8", 
     
    7979   
    8080  tanoAttributes = "objecttype=32770:objectcrc=1329114448:objecttemp=survey_tool_flora:templatetype=obj_n:", 
     81  customizationOptions = "", 
     82   customizationDefaults = "", 
    8183    
    8284  attributesToSet = "useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/foodCraftingTool.lua

    r860 r919  
    6464  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6565  ingredientTitleNames = "assembly_enclosure, thermal_shielding, electronic_control_unit", 
    66   ingredientOptionals = "0, 0, 0", 
     66  ingredientSlotType = "0, 0, 0", 
    6767  resourceTypes = "metal, mineral, chemical", 
    6868  resourceQuantities = "16, 8, 10", 
     
    8282 
    8383  tanoAttributes = "objecttype=32769:objectcrc=2849609519:objecttemp=food_tool_name:templatetype=crafting:", 
     84  customizationOptions = "", 
     85   customizationDefaults = "", 
    8486 
    8587  attributesToSet = "useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/gasPocketSurveyDevice.lua

    r860 r919  
    6161  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6262  ingredientTitleNames = "assembly_enclosure, controller, scanner_assembly, storage_unit", 
    63   ingredientOptionals = "0, 0, 0, 0", 
     63  ingredientSlotType = "0, 0, 0, 0", 
    6464  resourceTypes = "metal, metal, metal, mineral", 
    6565  resourceQuantities = "8, 8, 3, 8", 
     
    7979   
    8080  tanoAttributes = "objecttype=32770:objectcrc=1059021891:objecttemp=survey_tool_gas:templatetype=obj_n:", 
     81  customizationOptions = "", 
     82   customizationDefaults = "",  
    8183    
    8284  attributesToSet = "quality", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/genericCraftingTool.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_item_ingredients_n, craft_droid_ingredients_n, craft_item_ingredients_n", 
    6161   ingredientTitleNames = "assembly_enclosure, thermal_shielding, electronic_control_unit", 
    62    ingredientOptionals = "0, 0, 0", 
     62   ingredientSlotType = "0, 0, 0", 
    6363   resourceTypes = "metal, mineral, chemical", 
    6464   resourceQuantities = "12, 4, 4", 
     
    7474 
    7575   tanoAttributes = "objecttype=32769:objectcrc=1055200365:objecttemp=generic_tool_name:templatetype=crafting:", 
    76  
     76   customizationOptions = "", 
     77   customizationDefaults = "", 
    7778 
    7879   attributesToSet = "useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/mineralSurveyDevice.lua

    r860 r919  
    6161  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6262  ingredientTitleNames = "assembly_enclosure, controller, scanner_assembly, storage_unit", 
    63   ingredientOptionals = "0, 0, 0, 0", 
     63  ingredientSlotType = "0, 0, 0, 0", 
    6464  resourceTypes = "metal, metal, metal, mineral", 
    6565  resourceQuantities = "8, 3, 8, 8", 
     
    7575   
    7676  tanoAttributes = "objecttype=32770:objectcrc=2862265132:objecttemp=survey_tool_mineral:templatetype=obj_n:", 
     77  customizationOptions = "", 
     78   customizationDefaults = "",  
    7779    
    7880  attributesToSet = "useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/solarEnergySurveyTool.lua

    r860 r919  
    6161  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6262  ingredientTitleNames = "assembly_enclosure, controller, scanner_assembly", 
    63   ingredientOptionals = "0, 0, 0", 
     63  ingredientSlotType = "0, 0, 0", 
    6464  resourceTypes = "metal, metal, metal", 
    6565  resourceQuantities = "8, 5, 3", 
     
    7575   
    7676  tanoAttributes = "objecttype=32770:objectcrc=2341848205:objecttemp=survey_tool_solar:templatetype=obj_n:", 
     77  customizationOptions = "", 
     78   customizationDefaults = "", 
    7779    
    7880  attributesToSet = "useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/structureCraftingTool.lua

    r860 r919  
    6464  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6565  ingredientTitleNames = "assembly_enclosure, thermal_shielding, electronic_control_unit", 
    66   ingredientOptionals = "0, 0, 0", 
     66  ingredientSlotType = "0, 0, 0", 
    6767  resourceTypes = "metal, mineral, chemical", 
    6868  resourceQuantities = "16, 8, 10", 
     
    8282 
    8383  tanoAttributes = "objecttype=32769:objectcrc=4275700789:objecttemp=structure_tool_name:templatetype=crafting:", 
     84  customizationOptions = "", 
     85   customizationDefaults = "", 
    8486   
    8587  attributesToSet = "useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/waterSurveyDevice.lua

    r860 r919  
    6161  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6262  ingredientTitleNames = "assembly_enclosure, controller, scanner_assembly, storage_unit", 
    63   ingredientOptionals = "0, 0, 0, 0", 
     63  ingredientSlotType = "0, 0, 0, 0", 
    6464  resourceTypes = "metal, metal, metal, mineral", 
    6565  resourceQuantities = "8, 8, 3, 8", 
     
    7575   
    7676  tanoAttributes = "objecttype=32770:objectcrc=2175673400:objecttemp=survey_tool_water:templatetype=obj_n:", 
     77  customizationOptions = "", 
     78   customizationDefaults = "",  
    7779    
    7880  attributesToSet = "useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/weaponCraftingTool.lua

    r860 r919  
    6262  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6363  ingredientTitleNames = "assembly_enclosure, thermal_shielding, electronic_control_unit", 
    64   ingredientOptionals = "0, 0, 0", 
     64  ingredientSlotType = "0, 0, 0", 
    6565  resourceTypes = "metal, mineral, chemical", 
    6666  resourceQuantities = "16, 8, 10", 
     
    7676 
    7777  tanoAttributes = "objecttype=32769:objectcrc=1693896753:objecttemp=weapon_tool_name:templatetype=crafting:", 
     78  customizationOptions = "", 
     79   customizationDefaults = "", 
    7880 
    7981  attributesToSet = "useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/artisan/windCurrentSurveyingTool.lua

    r860 r919  
    6161  ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_item_ingredients_n", 
    6262  ingredientTitleNames = "assembly_enclosure, controller, scanner_assembly", 
    63   ingredientOptionals = "0, 0, 0", 
     63  ingredientSlotType = "0, 0, 0", 
    6464  resourceTypes = "metal, metal, metal", 
    6565  resourceQuantities = "5, 3, 8", 
     
    7676   
    7777  tanoAttributes = "objecttype=32770:objectcrc=566467536:objecttemp=survey_tool_wind:templatetype=obj_n:", 
     78  customizationOptions = "", 
     79   customizationDefaults = "",  
    7880    
    7981  attributesToSet = "quality", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/medic/novice/biologicalEffectController.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_chemical_ingredients_n, craft_chemical_ingredients_n", 
    6161   ingredientTitleNames = "inorganic_element, organic_element", 
    62    ingredientOptionals = "0, 0", 
     62   ingredientSlotType = "0, 0", 
    6363   resourceTypes = "inorganic, organic", 
    6464   resourceQuantities = "6, 6", 
     
    7575 
    7676   tanoAttributes = "objecttype=262144:objectcrc=3704098001:objecttemp=bio_effect_controller:templatetype=craft_chemical_ingredients_n:", 
    77  
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7879 
    7980   attributesToSet = "charges, power", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/medic/novice/foodChemicalCraftingTool.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_item_ingredients_n, craft_item_ingredients_n, craft_droid_ingredients_n", 
    6161   ingredientTitleNames = "electronic_control_unit, assembly_enclosure, thermal_shielding", 
    62    ingredientOptionals = "0, 0, 0", 
     62   ingredientSlotType = "0, 0, 0", 
    6363   resourceTypes = "chemical, metal, mineral", 
    6464   resourceQuantities = "10, 16, 8", 
     
    7575 
    7676   tanoAttributes = "objecttype=32769:objectcrc=2849609519:objecttemp=food_tool_name:templatetype=crafting:", 
    77  
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7879 
    7980   attributesToSet = "useModifier", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/medic/novice/liquidSuspension.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_chemical_ingredients_n, craft_chemical_ingredients_n", 
    6161   ingredientTitleNames = "purified_organic_suspension, suspension_base", 
    62    ingredientOptionals = "0, 0", 
     62   ingredientSlotType = "0, 0", 
    6363   resourceTypes = "organic, water", 
    6464   resourceQuantities = "6, 6", 
     
    7575 
    7676   tanoAttributes = "objecttype=262144:objectcrc=3358009919:objecttemp=liquid_suspension:templatetype=craft_chemical_ingredients_n:", 
    77  
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7879 
    7980   attributesToSet = "power", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/medic/novice/smallStimpackA.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_chemical_ingredients_n, craft_chemical_ingredients_n", 
    6161   ingredientTitleNames = "organic_element, inorganic_element", 
    62    ingredientOptionals = "0, 0", 
     62   ingredientSlotType = "0, 0", 
    6363   resourceTypes = "organic, inorganic", 
    6464   resourceQuantities = "8, 8", 
     
    7474 
    7575   tanoAttributes = "objecttype=8205:objectcrc=2421139465:objecttemp=stimpack_sm_s1_a:templatetype=medicine_name:", 
    76  
     76   customizationOptions = "", 
     77   customizationDefaults = "", 
    7778 
    7879   attributesToSet = "power, charges, medicineUseRequired", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/medic/organicchemistry1/actionWoundMedpackA.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_chemical_ingredients_n, craft_chemical_ingredients_n", 
    6161   ingredientTitleNames = "inorganic_element, organic_element", 
    62    ingredientOptionals = "0, 0", 
     62   ingredientSlotType = "0, 0", 
    6363   resourceTypes = "inorganic, organic", 
    6464   resourceQuantities = "8, 8", 
     
    7474 
    7575   tanoAttributes = "objecttype=8205:objectcrc=3915445448:objecttemp=medpack_wound_action_a:templatetype=medicine_name:", 
    76  
     76   customizationOptions = "", 
     77   customizationDefaults = "", 
    7778 
    7879   attributesToSet = "charges, power, medicineUseRequired, poolAffected", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/medic/organicchemistry1/healthWoundMedpackA.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_chemical_ingredients_n, craft_chemical_ingredients_n", 
    6161   ingredientTitleNames = "inorganic_element, organic_element", 
    62    ingredientOptionals = "0, 0", 
     62   ingredientSlotType = "0, 0", 
    6363   resourceTypes = "inorganic, organic", 
    6464   resourceQuantities = "8, 8", 
     
    7575 
    7676   tanoAttributes = "objecttype=8205:objectcrc=1826587380:objecttemp=medpack_wound_health_a:templatetype=medicine_name:", 
    77  
     77   customizationOptions = "", 
     78   customizationDefaults = "", 
    7879 
    7980   attributesToSet = "charges, power, medicineUseRequired, poolAffected", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/medic/organicchemistry2/chemicalReleaseDurationMechanism.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_chemical_ingredients_n, craft_chemical_ingredients_n", 
    6161   ingredientTitleNames = "chemical_element, organic_element", 
    62    ingredientOptionals = "0, 0", 
     62   ingredientSlotType = "0, 0", 
    6363   resourceTypes = "chemical, organic", 
    6464   resourceQuantities = "8, 8", 
     
    7474 
    7575   tanoAttributes = "objecttype=262144:objectcrc=1870489005:objecttemp=release_mech_duration:templatetype=craft_chemical_ingredients_n:", 
    76  
     76   customizationOptions = "", 
     77   customizationDefaults = "", 
    7778 
    7879   attributesToSet = "charges", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/medic/organicchemistry2/smallStimpackB.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_chemical_ingredients_n, craft_chemical_ingredients_n, craft_chemical_ingredients_n, craft_chemical_ingredients_n, craft_chemical_ingredients_n", 
    6161   ingredientTitleNames = "inorganic_element, organic_element, drug_strength_compound, drug_duration_compound, delivery_medium", 
    62    ingredientOptionals = "0, 0, 1, 1, 1", 
     62   ingredientSlotType = "0, 0, 1, 1, 1", 
    6363   resourceTypes = "inorganic, organic, object/tangible/component/chemistry/shared_biologic_effect_controller.iff, object/tangible/component/chemistry/shared_release_mechanism_duration.iff, object/tangible/component/chemistry/shared_liquid_delivery_suspension.iff", 
    6464   resourceQuantities = "12, 12, 1, 1, 1", 
     
    7474 
    7575   tanoAttributes = "objecttype=8205:objectcrc=1264058526:objecttemp=stimpack_sm_s1_b:templatetype=medicine_name:", 
    76  
     76   customizationOptions = "", 
     77   customizationDefaults = "", 
    7778 
    7879   attributesToSet = "charges, power, medicineUseRequired", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/medic/organicchemistry2/solidDeliveryShell.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_chemical_ingredients_n, craft_chemical_ingredients_n", 
    6161   ingredientTitleNames = "shell_material_seed_matrix, purified_organic_element", 
    62    ingredientOptionals = "0, 0", 
     62   ingredientSlotType = "0, 0", 
    6363   resourceTypes = "metal, organic", 
    6464   resourceQuantities = "8, 8", 
     
    7474 
    7575   tanoAttributes = "objecttype=262144:objectcrc=2203679790:objecttemp=solid_delivery_shell:templatetype=craft_chemical_ingredients_n:", 
    76  
     76   customizationOptions = "", 
     77   customizationDefaults = "", 
    7778 
    7879   attributesToSet = "power", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/medic/organicchemistry4/advLiquidSuspension.lua

    r860 r919  
    6060   ingredientTemplateNames = "craft_chemical_ingredients_n, craft_chemical_ingredients_n", 
    6161   ingredientTitleNames = "purified_organic_suspension, suspension_base", 
    62    ingredientOptionals = "0, 0", 
     62   ingredientSlotType = "0, 0", 
    6363   resourceTypes = "fruit_berries_dantooine, water_vapor_talus", 
    6464   resourceQuantities = "6, 6", 
     
    7474 
    7575   tanoAttributes = "objecttype=262144:objectcrc=1862978449:objecttemp=liquid_suspension_advanced:templatetype=craft_chemical_ingredients_n:", 
    76  
     76   customizationOptions = "", 
     77   customizationDefaults = "", 
    7778 
    7879   attributesToSet = "power", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/weaponsmith/blasterPowerHandler.lua

    r860 r919  
    6262  ingredientTemplateNames = "craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n", 
    6363  ingredientTitleNames = "module_assembly, xciter_circuitry, circuitry_substrate, gas_containment_unit, reactant_source, blaster_power_handler_enhancement", 
    64   ingredientOptionals = "0, 0, 0, 0, 0, 1", 
     64  ingredientSlotType = "0, 0, 0, 0, 0, 1", 
    6565  resourceTypes = "petrochem_inert, copper, ore, metal, gas_reactive, object/tangible/component/weapon/shared_base_blaster_power_handler_enhancement.iff",   
    6666  resourceQuantities = "12, 3, 3, 5, 10, 1", 
     
    7575  experimentalSubGroupTitles = "speed, maxDamage, minDamage, hitpoints", 
    7676 
    77  
    7877  tanoAttributes = "objecttype=262144:objectcrc=3399297408:objecttemp=blaster_power_handler:templatetype=craft_weapon_ingredients_n:", 
     78  customizationOptions = "", 
     79   customizationDefaults = "", 
    7980   
    8081  attributesToSet = "speed, maxDamage, minDamage, hitpoints", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/weaponsmith/blasterRifleBarrel.lua

    r860 r919  
    6262  ingredientTemplateNames = "craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n", 
    6363  ingredientTitleNames = "module_assembly, xciter_circuitry, circuitry_substrate, gas_containment_unit, reactant_source", 
    64   ingredientOptionals = "0, 0, 0, 0, 0", 
     64  ingredientSlotType = "0, 0, 0, 0, 0", 
    6565  --resourceTypes = "petrochem_inert, copper, ore, metal, gas_reactive", 
    6666resourceTypes = "metal, metal, metal, metal, metal", 
     
    8080 
    8181  tanoAttributes = "objecttype=262144:objectcrc=260681278:objecttemp=blaster_rifle_barrel:templatetype=obj_n:", 
     82  customizationOptions = "", 
     83   customizationDefaults = "", 
    8284 
    8385  attributesToSet = "speed, maxDamage, minDamage, hitpoints", 
  • core3/trunk/MMOCoreORB/bin/scripts/crafting/objects/draftschematics/weaponsmith/dlt20Rifle.lua

    r860 r919  
    6262  ingredientTemplateNames = "craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n, craft_weapon_ingredients_n", 
    6363  ingredientTitleNames = "frame_assembly, receiver_assembly, grip_assembly, powerhandler, barrel", 
    64   ingredientOptionals = "0, 0, 0, 0, 0", 
     64  ingredientSlotType = "0, 0, 0, 0, 0", 
    6565  --resourceTypes = "metal, metal_ferrous, metal, object/tangible/component/weapon/shared_blaster_power_handler.iff, object/tangible/component/weapon/shared_blaster_rifle_barrel.iff", 
    6666 resourceTypes = "metal, metal, metal, metal, metal", 
     
    7878 
    7979  tanoAttributes = "objecttype=131084:objectcrc=2200111432:objecttemp=rifle_blaster_dlt20a:", 
     80  customizationOptions = "", 
     81   customizationDefaults = "", 
    8082   
    8183  attributesToSet = "speed, maxDamage, minDamage, wound, hitPoints, useModifier", 
  • core3/trunk/MMOCoreORB/src/server/chat/GameCommandHandler.cpp

    r912 r919  
    265265        gmCommands->addCommand("spawn", CSREVENTS, 
    266266                        "Spawn a creature.", 
    267                         "Usage: @spawn <creaturetype> <cellid> <x> <y> <bitmask> <baby>", 
     267                        "Usage: @spawn <creaturetype> <moves (0,1)> <cellid> <x> <y> <bitmask> <baby>", 
    268268                        &spawn); 
    269269        gmCommands->addCommand("addNoBuildArea", DEVELOPER, 
     
    20322032        uint32 objcrc; 
    20332033        float x, y; 
     2034        bool stationary = false; 
    20342035 
    20352036        // spawnCreature(uint32 objcrc, uint64 cellid, float x, float y, int bitmask, bool baby, bool doLock) 
     
    20522053        y = player->getPositionY(); 
    20532054 
     2055        if (tokenizer.hasMoreTokens()) { 
     2056                stationary = (bool) tokenizer.getIntToken(); 
     2057        } 
     2058 
    20542059        if (tokenizer.hasMoreTokens()) 
    20552060                height = tokenizer.getFloatToken(); 
     
    20622067                y = tokenizer.getFloatToken(); 
    20632068        } 
     2069 
     2070 
    20642071 
    20652072        if (height > 100) 
     
    20912098                        creature->setRespawnTimer(0); 
    20922099                        creature->setHeight(height); 
     2100 
     2101                        if(stationary) 
     2102                                creature->setRandomMovement(false); 
     2103 
    20932104                        CreatureImplementation * creoImpl = (CreatureImplementation *) creature->_getImplementation(); 
    20942105 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/bazaar/BazaarPlanetManagerImplementation.cpp

    r591 r919  
    118118 
    119119                bazaar = new RegionBazaar(); 
    120                 bazaar->deploy("RegionBazaar:" + region); 
     120                stringstream ss; 
     121                ss << "RegionBazaar:" << region << " " << vendorPlanet; 
     122                bazaar->deploy(ss.str()); 
    121123                bazaar->setRegion(region); 
    122124                bazaar->setManager(_this); 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/bazaar/BazaarTerminals.h

    r591 r919  
    5858 
    5959                // Tatooine Anchorhead 
    60                 string location = "anchorhead"; 
    61                 bazaarLocations->put(3945353, new BazaarTerminalDetails(8, location, 60, -5350)); 
    62                 bazaarLocations->put(3945352, new BazaarTerminalDetails(8, location, 64, -5350)); 
    63  
    64                 // Tattoine Bestine 
    65                 location = "bestine"; 
    66                 bazaarLocations->put(5515502, new BazaarTerminalDetails(8, location, -1252, -3659)); 
    67                 bazaarLocations->put(4235514, new BazaarTerminalDetails(8, location, -1290, -3578)); 
    68                 bazaarLocations->put(3945361, new BazaarTerminalDetails(8, location, -1452, -3580)); 
    69                 bazaarLocations->put(3945360, new BazaarTerminalDetails(8, location, -1452, -3577)); 
    70                 bazaarLocations->put(3945359, new BazaarTerminalDetails(8, location, -1447, -3551)); 
    71                 bazaarLocations->put(3945356, new BazaarTerminalDetails(8, location, -1447, -3548)); 
    72                 bazaarLocations->put(5515501, new BazaarTerminalDetails(8, location, -1294, -3669)); 
    73                 bazaarLocations->put(4235511, new BazaarTerminalDetails(8, location, -1293, -3601)); 
    74                 bazaarLocations->put(683510, new BazaarTerminalDetails(8, location, -1103, -3532)); 
    75                 bazaarLocations->put(683509, new BazaarTerminalDetails(8, location, -1105, -3535)); 
    76                 bazaarLocations->put(683508, new BazaarTerminalDetails(8, location, -1107, -3537)); 
    77                 bazaarLocations->put(683457, new BazaarTerminalDetails(8, location, -1392, -3716)); 
    78                 bazaarLocations->put(683458, new BazaarTerminalDetails(8, location, -1393, -3707)); 
    79                 bazaarLocations->put(683459, new BazaarTerminalDetails(8, location, -1398, -3707)); 
    80                 bazaarLocations->put(683456, new BazaarTerminalDetails(8, location, -1396, -3717)); 
    81                 bazaarLocations->put(1250246, new BazaarTerminalDetails(8, location, -1105, -3692)); 
    82                 bazaarLocations->put(1250243, new BazaarTerminalDetails(8, location, -1124, -3676)); 
    83  
    84                 // Corellia Coronet 
    85                 location = "coronet"; 
    86                 bazaarLocations->put(7755375, new BazaarTerminalDetails(0, location, -312, -4644)); 
    87                 bazaarLocations->put(7755372, new BazaarTerminalDetails(0, location, -340, -4644)); 
    88                 bazaarLocations->put(5625468, new BazaarTerminalDetails(0, location, -77, -4599)); 
    89                 bazaarLocations->put(5625467, new BazaarTerminalDetails(0, location, -55, -4621)); 
    90                 bazaarLocations->put(5625469, new BazaarTerminalDetails(0, location, -55, -4577)); 
    91                 bazaarLocations->put(5625470, new BazaarTerminalDetails(0, location, -34, -4599)); 
    92  
    93                 // Dathomir Science outpost 
    94                 location = "science_outpost"; 
    95                 bazaarLocations->put(2835653, new BazaarTerminalDetails(2, location, -70, -1598)); 
    96                 bazaarLocations->put(2835652, new BazaarTerminalDetails(2, location, -81, -1589)); 
    97  
    98                 // Dathomir Trade outpost 
    99                 location = "trade_outpost"; 
    100                 bazaarLocations->put(1392905, new BazaarTerminalDetails(2, location, 573, 3092)); 
     60                                string location = "anchorhead"; 
     61                                bazaarLocations->put(3945353, new BazaarTerminalDetails(8, location, 60, -5350)); 
     62                                bazaarLocations->put(3945352, new BazaarTerminalDetails(8, location, 64, -5350)); 
     63 
     64                                // Tatooine Bestine 
     65                                location = "bestine"; 
     66                                bazaarLocations->put(5515502, new BazaarTerminalDetails(8, location, -1252, -3659)); 
     67                                bazaarLocations->put(4235514, new BazaarTerminalDetails(8, location, -1290, -3578)); 
     68                                bazaarLocations->put(3945361, new BazaarTerminalDetails(8, location, -1452, -3580)); 
     69                                bazaarLocations->put(3945360, new BazaarTerminalDetails(8, location, -1452, -3577)); 
     70                                bazaarLocations->put(3945359, new BazaarTerminalDetails(8, location, -1447, -3551)); 
     71                                bazaarLocations->put(3945356, new BazaarTerminalDetails(8, location, -1447, -3548)); 
     72                                bazaarLocations->put(5515501, new BazaarTerminalDetails(8, location, -1294, -3669)); 
     73                                bazaarLocations->put(4235511, new BazaarTerminalDetails(8, location, -1293, -3601)); 
     74                                bazaarLocations->put(683510, new BazaarTerminalDetails(8, location, -1103, -3532)); 
     75                                bazaarLocations->put(683509, new BazaarTerminalDetails(8, location, -1105, -3535)); 
     76                                bazaarLocations->put(683508, new BazaarTerminalDetails(8, location, -1107, -3537)); 
     77                                bazaarLocations->put(683457, new BazaarTerminalDetails(8, location, -1392, -3716)); 
     78                                bazaarLocations->put(683458, new BazaarTerminalDetails(8, location, -1393, -3707)); 
     79                                bazaarLocations->put(683459, new BazaarTerminalDetails(8, location, -1398, -3707)); 
     80                                bazaarLocations->put(683456, new BazaarTerminalDetails(8, location, -1396, -3717)); 
     81                                bazaarLocations->put(1250246, new BazaarTerminalDetails(8, location, -1105, -3692)); 
     82                                bazaarLocations->put(1250243, new BazaarTerminalDetails(8, location, -1124, -3676)); 
     83 
     84                                // Tatooine Mos Eisley 
     85                                location = "mos_eisley"; 
     86                                bazaarLocations->put(3945362, new BazaarTerminalDetails(8, location, 3693, -4816)); 
     87                                bazaarLocations->put(3945363, new BazaarTerminalDetails(8, location, 3693, -4813)); 
     88                                bazaarLocations->put(3945364, new BazaarTerminalDetails(8, location, 3693, -4786)); 
     89                                bazaarLocations->put(3945365, new BazaarTerminalDetails(8, location, 3693, -4783)); 
     90                                bazaarLocations->put(4685571, new BazaarTerminalDetails(8, location, 3485, -4961)); 
     91                                bazaarLocations->put(4685572, new BazaarTerminalDetails(8, location, 3512, -4927)); 
     92                                bazaarLocations->put(4685573, new BazaarTerminalDetails(8, location, 3516, -4958)); 
     93                                bazaarLocations->put(4685574, new BazaarTerminalDetails(8, location, 3481, -4930)); 
     94 
     95                                // Tatooine Mos Entha 
     96                                location = "mos_entha"; 
     97                                bazaarLocations->put(3945376, new BazaarTerminalDetails(8, location, 1590, 3026)); 
     98                                bazaarLocations->put(3945377, new BazaarTerminalDetails(8, location, 1590, 3023)); 
     99                                bazaarLocations->put(4005560, new BazaarTerminalDetails(8, location, 1205, 2993)); 
     100                                bazaarLocations->put(4005561, new BazaarTerminalDetails(8, location, 1209, 2990)); 
     101                                bazaarLocations->put(4005562, new BazaarTerminalDetails(8, location, 1181, 3010)); 
     102                                bazaarLocations->put(4005563, new BazaarTerminalDetails(8, location, 1184, 3008)); 
     103 
     104                                // Tatooine Mos Espa 
     105                                location = "mos_espa"; 
     106                                bazaarLocations->put(3945383, new BazaarTerminalDetails(8, location, -2774, 2025)); 
     107                                bazaarLocations->put(3945384, new BazaarTerminalDetails(8, location, -2773, 2027)); 
     108                                bazaarLocations->put(3945385, new BazaarTerminalDetails(8, location, -2758, 2050)); 
     109                                bazaarLocations->put(3945386, new BazaarTerminalDetails(8, location, -2757, 2053)); 
     110                                bazaarLocations->put(4685589, new BazaarTerminalDetails(8, location, -2987, 2315)); 
     111                                bazaarLocations->put(4685590, new BazaarTerminalDetails(8, location, -2971, 2342)); 
     112                                bazaarLocations->put(4685591, new BazaarTerminalDetails(8, location, -2998, 2358)); 
     113                                bazaarLocations->put(4685592, new BazaarTerminalDetails(8, location, -3014, 2331)); 
     114                                bazaarLocations->put(4685593, new BazaarTerminalDetails(8, location, -2813, 2200)); 
     115                                bazaarLocations->put(7495394, new BazaarTerminalDetails(8, location, -3115, 2158)); 
     116                                bazaarLocations->put(7495607, new BazaarTerminalDetails(8, location, -2908, 1927)); 
     117 
     118 
     119                                // Tatooine Mos Taike 
     120                                location = "mos_taike"; 
     121                                bazaarLocations->put(3945387, new BazaarTerminalDetails(8, location, 3790, 2337)); 
     122                                bazaarLocations->put(3945388, new BazaarTerminalDetails(8, location, 3790, 2340)); 
     123 
     124                                // Tatooine Wayfar 
     125                                location = "wayfar"; 
     126                                bazaarLocations->put(3945394, new BazaarTerminalDetails(8, location, -5177, -6485)); 
     127                                bazaarLocations->put(3945395, new BazaarTerminalDetails(8, location, -5174, -6485)); 
     128 
     129 
     130                                // Corellia Coronet 
     131                                location = "coronet"; 
     132                                bazaarLocations->put(1439951, new BazaarTerminalDetails(0, location, -363, -4533)); 
     133                                bazaarLocations->put(7755375, new BazaarTerminalDetails(0, location, -312, -4644)); 
     134                                bazaarLocations->put(7755372, new BazaarTerminalDetails(0, location, -340, -4644)); 
     135                                bazaarLocations->put(5625468, new BazaarTerminalDetails(0, location, -77, -4599)); 
     136                                bazaarLocations->put(5625467, new BazaarTerminalDetails(0, location, -55, -4621)); 
     137                                bazaarLocations->put(5625469, new BazaarTerminalDetails(0, location, -55, -4577)); 
     138                                bazaarLocations->put(5625470, new BazaarTerminalDetails(0, location, -34, -4599)); 
     139 
     140                                // Corellia Bella Vistal 
     141                                location = "bela_vistal"; 
     142                                bazaarLocations->put(3695501, new BazaarTerminalDetails(0, location, 6645, -5943)); 
     143                                bazaarLocations->put(3695502, new BazaarTerminalDetails(0, location, 6648, -5943)); 
     144 
     145                                // Corellia Doaba Guerfel 
     146                                location = "doaba_guerfel"; 
     147                                bazaarLocations->put(4395373, new BazaarTerminalDetails(0, location, 3413, 5670)); 
     148                                bazaarLocations->put(4395374, new BazaarTerminalDetails(0, location, 3409, 5672)); 
     149                                bazaarLocations->put(5316176, new BazaarTerminalDetails(0, location, 3225, 5371)); 
     150                                bazaarLocations->put(5316177, new BazaarTerminalDetails(0, location, 3194, 5402)); 
     151                                bazaarLocations->put(5316178, new BazaarTerminalDetails(0, location, 3225, 5402)); 
     152                                bazaarLocations->put(5316179, new BazaarTerminalDetails(0, location, 3194, 5371)); 
     153                                bazaarLocations->put(5585534, new BazaarTerminalDetails(0, location, 3088, 5013)); 
     154 
     155                                // Corellia Tyrena 
     156                                location = "tyrena"; 
     157                                bazaarLocations->put(5625462, new BazaarTerminalDetails(0, location, -5122, -2368)); 
     158                                bazaarLocations->put(5625463, new BazaarTerminalDetails(0, location, -5091, -2368)); 
     159                                bazaarLocations->put(5625464, new BazaarTerminalDetails(0, location, -5090, -2399)); 
     160                                bazaarLocations->put(5625465, new BazaarTerminalDetails(0, location, -5121, -2399)); 
     161 
     162                                // Corellia Vreni Island 
     163                                location = "vreni_island"; 
     164                                bazaarLocations->put(4705376, new BazaarTerminalDetails(0, location, -5541, -6211)); 
     165                                bazaarLocations->put(4705377, new BazaarTerminalDetails(0, location, -5541, -6208)); 
     166                                bazaarLocations->put(6035457, new BazaarTerminalDetails(0, location, -5567, -6052)); 
     167 
     168                                // Corellia Kor Vella 
     169                                location = "kor_vella"; 
     170                                bazaarLocations->put(6035509, new BazaarTerminalDetails(0, location, -3116, 2968)); 
     171                                bazaarLocations->put(6035510, new BazaarTerminalDetails(0, location, -3120, 2968)); 
     172                                bazaarLocations->put(6035511, new BazaarTerminalDetails(0, location, -3146, 2969)); 
     173                                bazaarLocations->put(6035512, new BazaarTerminalDetails(0, location, -3150, 2969)); 
     174                                bazaarLocations->put(6035513, new BazaarTerminalDetails(0, location, -3150, 2784)); 
     175                                bazaarLocations->put(6035514, new BazaarTerminalDetails(0, location, -3150, 2780)); 
     176                                bazaarLocations->put(6035515, new BazaarTerminalDetails(0, location, -3790, 3178)); 
     177                                bazaarLocations->put(6035516, new BazaarTerminalDetails(0, location, -3776, 3192)); 
     178 
     179 
     180                                // Dathomir Science outpost 
     181                                location = "science_outpost"; 
     182                                bazaarLocations->put(2835653, new BazaarTerminalDetails(2, location, -70, -1598)); 
     183                                bazaarLocations->put(2835652, new BazaarTerminalDetails(2, location, -81, -1589)); 
     184 
     185                                // Dathomir Trade outpost 
     186                                location = "trade_outpost"; 
     187                                bazaarLocations->put(1392905, new BazaarTerminalDetails(2, location, 573, 3092)); 
     188 
     189                                // Dathomir Imperial Prison 
     190                                location = "a_restricted_area"; 
     191                                bazaarLocations->put(4865404, new BazaarTerminalDetails(2, location, -6313, 874)); 
     192                                bazaarLocations->put(4865405, new BazaarTerminalDetails(2, location, -6326, 874)); 
     193 
     194                                // Dantooine Imperial Outpost 
     195                                location = "an_imperial_outpost"; 
     196                                bazaarLocations->put(1365895, new BazaarTerminalDetails(1, location, -4252, -2412)); 
     197 
     198                                // Dantooine Mining Outpost 
     199                                location = "an_outpost"; 
     200                                bazaarLocations->put(1366001, new BazaarTerminalDetails(1, location, -618, 2490)); 
     201                                // Dantooine Agro Outpost 
     202                                //location = "an_outpost"; 
     203                                bazaarLocations->put(8605394, new BazaarTerminalDetails(1, location, 1615, -6366)); 
     204                                bazaarLocations->put(8605395, new BazaarTerminalDetails(1, location, 1560, -6366)); 
     205 
     206                                // Naboo Theed 
     207                                location = "theed"; 
     208                                bazaarLocations->put(2776044, new BazaarTerminalDetails(5, location, -5010, 4256)); 
     209                                bazaarLocations->put(2776045, new BazaarTerminalDetails(5, location, -5018, 4246)); 
     210                                bazaarLocations->put(2776043, new BazaarTerminalDetails(5, location, -5705, 4193)); 
     211                                bazaarLocations->put(2776042, new BazaarTerminalDetails(5, location, -5727, 4171)); 
     212                                bazaarLocations->put(2776041, new BazaarTerminalDetails(5, location, -5705, 4149)); 
     213                                bazaarLocations->put(2776040, new BazaarTerminalDetails(5, location, -5683, 4171)); 
     214                                bazaarLocations->put(2776039, new BazaarTerminalDetails(5, location, -5147, 4174)); 
     215                                bazaarLocations->put(2776038, new BazaarTerminalDetails(5, location, -5145, 4143)); 
     216                                bazaarLocations->put(2776037, new BazaarTerminalDetails(5, location, -5114, 4145)); 
     217                                bazaarLocations->put(2776036, new BazaarTerminalDetails(5, location, -5116, 4176)); 
     218                                bazaarLocations->put(3955353, new BazaarTerminalDetails(5, location, -5014, 4251)); 
     219                                bazaarLocations->put(3955363, new BazaarTerminalDetails(5, location, -5350, 4141)); 
     220                                bazaarLocations->put(3955364, new BazaarTerminalDetails(5, location, -5350, 4147)); 
     221                                bazaarLocations->put(4105355, new BazaarTerminalDetails(5, location, -5118, 4334)); 
     222                                bazaarLocations->put(4105356, new BazaarTerminalDetails(5, location, -5076, 4298)); 
     223 
     224                                // Naboo Moenia 
     225                                location = "moenia"; 
     226                                bazaarLocations->put(3955372, new BazaarTerminalDetails(5, location, 4878, -4850)); 
     227 
     228                                // Naboo Keren 
     229                                location = "keren"; 
     230                                bazaarLocations->put(3955374, new BazaarTerminalDetails(5, location, 1277, 2770)); 
     231                                bazaarLocations->put(3955375, new BazaarTerminalDetails(5, location, 1277, 2773)); 
     232                                bazaarLocations->put(3955376, new BazaarTerminalDetails(5, location, 1278, 2758)); 
     233                                bazaarLocations->put(3955377, new BazaarTerminalDetails(5, location, 1278, 2761)); 
     234                                bazaarLocations->put(4776047, new BazaarTerminalDetails(5, location, 1808, 2614)); 
     235                                bazaarLocations->put(4776048, new BazaarTerminalDetails(5, location, 1765, 2614)); 
     236                                bazaarLocations->put(4776049, new BazaarTerminalDetails(5, location, 1786, 2635)); 
     237                                bazaarLocations->put(4776050, new BazaarTerminalDetails(5, location, 1787, 2592)); 
     238 
     239                                // Naboo Kaadara 
     240                                location = "kaadara"; 
     241                                bazaarLocations->put(4105632, new BazaarTerminalDetails(5, location, 5368, 6645)); 
     242                                bazaarLocations->put(4105633, new BazaarTerminalDetails(5, location, 5368, 6648)); 
     243                                bazaarLocations->put(4105634, new BazaarTerminalDetails(5, location, 5369, 6656)); 
     244                                bazaarLocations->put(4105635, new BazaarTerminalDetails(5, location, 5370, 6679)); 
     245                                bazaarLocations->put(4776016, new BazaarTerminalDetails(5, location, 5060, 6723)); 
     246                                bazaarLocations->put(4776017, new BazaarTerminalDetails(5, location, 5063, 6727)); 
     247                                bazaarLocations->put(4776018, new BazaarTerminalDetails(5, location, 5094, 6696)); 
     248                                bazaarLocations->put(4776019, new BazaarTerminalDetails(5, location, 5091, 6692)); 
     249 
     250                                // Naboo Moenia 
     251                                location = "moenia"; 
     252                                bazaarLocations->put(4776020, new BazaarTerminalDetails(5, location, 4787, -4852)); 
     253                                bazaarLocations->put(4776021, new BazaarTerminalDetails(5, location, 4817, -4849)); 
     254                                bazaarLocations->put(4776022, new BazaarTerminalDetails(5, location, 4821, -4880)); 
     255                                bazaarLocations->put(4776023, new BazaarTerminalDetails(5, location, 4790, -4883)); 
     256                                bazaarLocations->put(4855366, new BazaarTerminalDetails(5, location, 4658, -4617)); 
     257                                bazaarLocations->put(4855367, new BazaarTerminalDetails(5, location, 4655, -4622)); 
     258                                bazaarLocations->put(4855368, new BazaarTerminalDetails(5, location, 4675, -4593)); 
     259                                bazaarLocations->put(4855369, new BazaarTerminalDetails(5, location, 4673, -4597)); 
     260 
     261                                // Naboo Deeja Peak 
     262                                location = "deeja_peak"; 
     263                                bazaarLocations->put(4776039, new BazaarTerminalDetails(5, location, 5339, -1560)); 
     264                                bazaarLocations->put(4776042, new BazaarTerminalDetails(5, location, 4936, -1501)); 
     265                                bazaarLocations->put(4776043, new BazaarTerminalDetails(5, location, 4937, -1444)); 
     266                                bazaarLocations->put(4776044, new BazaarTerminalDetails(5, location, 4730, -1342)); 
     267 
     268                                // Naboo Lake Retreat 
     269                                location = "lake_retreat"; 
     270                                bazaarLocations->put(4655386, new BazaarTerminalDetails(5, location, -5488, -5)); 
     271 
     272                                // Rori Rebel Outpost 
     273                                location = "a_rebel_outpost"; 
     274                                bazaarLocations->put(4505545, new BazaarTerminalDetails(6, location, 3663, -6421)); 
     275 
     276                                // Rori Restuss 
     277                                location = "restuss"; 
     278                                bazaarLocations->put(4695458, new BazaarTerminalDetails(6, location, 5304, 5831)); 
     279                                bazaarLocations->put(4695459, new BazaarTerminalDetails(6, location, 5301, 5828)); 
     280                                bazaarLocations->put(4695462, new BazaarTerminalDetails(6, location, 5306, 5823)); 
     281                                bazaarLocations->put(4695463, new BazaarTerminalDetails(6, location, 5309, 5826)); 
     282                                bazaarLocations->put(4695483, new BazaarTerminalDetails(6, location, 5180, 5562)); 
     283                                bazaarLocations->put(4695484, new BazaarTerminalDetails(6, location, 5181, 5605)); 
     284                                bazaarLocations->put(6445440, new BazaarTerminalDetails(6, location, 5241, 5789)); 
     285                                bazaarLocations->put(6445441, new BazaarTerminalDetails(6, location, 5241, 5786)); 
     286 
     287                                // Rori Narmle 
     288                                location = "narmle"; 
     289                                bazaarLocations->put(4695696, new BazaarTerminalDetails(6, location, -5431, -2113)); 
     290                                bazaarLocations->put(4695697, new BazaarTerminalDetails(6, location, -5437, -2119)); 
     291                                bazaarLocations->put(4695698, new BazaarTerminalDetails(6, location, -5434, -2117)); 
     292                                bazaarLocations->put(4695699, new BazaarTerminalDetails(6, location, -5428, -2110)); 
     293                                bazaarLocations->put(4725481, new BazaarTerminalDetails(6, location, -5088, -2474)); 
     294                                bazaarLocations->put(4725482, new BazaarTerminalDetails(6, location, -5132, -2474)); 
     295                                bazaarLocations->put(5265435, new BazaarTerminalDetails(6, location, -5281, -2170)); 
     296 
     297                                // Talus Nashal 
     298                                location = "nashal"; 
     299                                bazaarLocations->put(4385489, new BazaarTerminalDetails(7, location, 4520, 5430)); 
     300                                bazaarLocations->put(4385490, new BazaarTerminalDetails(7, location, 4516, 5431)); 
     301                                bazaarLocations->put(4385491, new BazaarTerminalDetails(7, location, 4491, 5439)); 
     302                                bazaarLocations->put(4385492, new BazaarTerminalDetails(7, location, 4487, 5441)); 
     303                                bazaarLocations->put(4636084, new BazaarTerminalDetails(7, location, 4332, 5444)); 
     304                                bazaarLocations->put(4795397, new BazaarTerminalDetails(7, location, 4525, 5066)); 
     305                                bazaarLocations->put(4795398, new BazaarTerminalDetails(7, location, 4105, 5289)); 
     306                                bazaarLocations->put(4795402, new BazaarTerminalDetails(7, location, 4349, 5150)); 
     307                                bazaarLocations->put(4795403, new BazaarTerminalDetails(7, location, 4347, 5179)); 
     308 
     309                                // Talus Dearic 
     310                                location = "dearic"; 
     311                                bazaarLocations->put(4775555, new BazaarTerminalDetails(7, location, 170, -2948)); 
     312                                bazaarLocations->put(4775556, new BazaarTerminalDetails(7, location, 170, -2943)); 
     313                                bazaarLocations->put(4775557, new BazaarTerminalDetails(7, location, 170, -2918)); 
     314                                bazaarLocations->put(4775558, new BazaarTerminalDetails(7, location, 170, -2913)); 
     315                                bazaarLocations->put(4795392, new BazaarTerminalDetails(7, location, 553, -3003)); 
     316                                bazaarLocations->put(4795393, new BazaarTerminalDetails(7, location, 526, -2976)); 
     317                                bazaarLocations->put(6255435, new BazaarTerminalDetails(7, location, 715, -3048)); 
     318 
     319                                // Talus Imperial Outpost 
     320                                location = "an_imperial_outpost"; 
     321                                bazaarLocations->put(5315984, new BazaarTerminalDetails(7, location, -2170, 2344)); 
     322 
     323                                // Endor 
     324                                location = "an_outpost"; 
     325                                bazaarLocations->put(3606001, new BazaarTerminalDetails(3, location, 3231, -3501)); 
     326                                bazaarLocations->put(3606003, new BazaarTerminalDetails(3, location, 3243, -3501)); 
     327 
     328                                // Lok Nyms Stronghold 
     329                                location = "nyms_stronghold"; 
     330                                bazaarLocations->put(4705366, new BazaarTerminalDetails(4, location, 459, 5506)); 
     331                                bazaarLocations->put(4705367, new BazaarTerminalDetails(4, location, 461, 5506)); 
     332                                bazaarLocations->put(5705412, new BazaarTerminalDetails(4, location, 443, 5050)); 
     333                                bazaarLocations->put(5705413, new BazaarTerminalDetails(4, location, 421, 5028)); 
     334                                bazaarLocations->put(5705414, new BazaarTerminalDetails(4, location, 399, 5050)); 
     335                                bazaarLocations->put(5705415, new BazaarTerminalDetails(4, location, 421, 5072)); 
     336 
     337                                // Yavin IV Labor Outpost 
     338                                location = "an_outpost"; 
     339                                bazaarLocations->put(3035821, new BazaarTerminalDetails(9, location, -6917, -5741)); 
     340                                bazaarLocations->put(3035822, new BazaarTerminalDetails(9, location, -6917, -5736)); 
     341 
     342                                // Yavin IV Mining Outpost 
     343                                location = "an_outpost"; 
     344                                bazaarLocations->put(7925512, new BazaarTerminalDetails(9, location, -311, 4854)); 
     345                                bazaarLocations->put(7925513, new BazaarTerminalDetails(9, location, -315, 4854)); 
     346 
    101347 
    102348        } 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/crafting/CraftingManager.cpp

    r860 r919  
    125125} 
    126126 
    127 void CraftingManager::craftingCustomization(Player* player, string& name, int condition) { 
     127void CraftingManager::craftingCustomization(Player* player, string& name, int condition, string& customizationstring) { 
    128128        if (_impl == NULL) { 
    129129                if (!deployed) 
     
    134134                method.addAsciiParameter(name); 
    135135                method.addSignedIntParameter(condition); 
    136  
    137                 method.executeWithVoidReturn(); 
    138         } else 
    139                 ((CraftingManagerImplementation*) _impl)->craftingCustomization(player, name, condition); 
     136                method.addAsciiParameter(customizationstring); 
     137 
     138                method.executeWithVoidReturn(); 
     139        } else 
     140                ((CraftingManagerImplementation*) _impl)->craftingCustomization(player, name, condition, customizationstring); 
    140141} 
    141142 
     
    297298                break; 
    298299        case 12: 
    299                 craftingCustomization((Player*) inv->getObjectParameter(), inv->getAsciiParameter(_param1_craftingCustomization__Player_string_int_), inv->getSignedIntParameter()); 
     300                craftingCustomization((Player*) inv->getObjectParameter(), inv->getAsciiParameter(_param1_craftingCustomization__Player_string_int_string_), inv->getSignedIntParameter(), inv->getAsciiParameter(_param3_craftingCustomization__Player_string_int_string_)); 
    300301                break; 
    301302        case 13: 
     
    357358} 
    358359 
    359 void CraftingManagerAdapter::craftingCustomization(Player* player, string& name, int condition) { 
    360         return ((CraftingManagerImplementation*) impl)->craftingCustomization(player, name, condition); 
     360void CraftingManagerAdapter::craftingCustomization(Player* player, string& name, int condition, string& customizationstring) { 
     361        return ((CraftingManagerImplementation*) impl)->craftingCustomization(player, name, condition, customizationstring); 
    361362} 
    362363 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/crafting/CraftingManager.h

    r860 r919  
    4242        void nextCraftingStage(Player* player, string& test); 
    4343 
    44         void craftingCustomization(Player* player, string& name, int condition); 
     44        void craftingCustomization(Player* player, string& name, int condition, string& customizationstring); 
    4545 
    4646        void handleExperimenting(Player* player, int counter, int numRowsAttempted, string& expstring); 
     
    9090        void nextCraftingStage(Player* player, string& test); 
    9191 
    92         void craftingCustomization(Player* player, string& name, int condition); 
     92        void craftingCustomization(Player* player, string& name, int condition, string& customizationstring); 
    9393 
    9494        void handleExperimenting(Player* player, int counter, int numRowsAttempted, string& expstring); 
     
    112112protected: 
    113113        string _param1_nextCraftingStage__Player_string_; 
    114         string _param1_craftingCustomization__Player_string_int_; 
     114        string _param1_craftingCustomization__Player_string_int_string_; 
     115        string _param3_craftingCustomization__Player_string_int_string_; 
    115116        string _param3_handleExperimenting__Player_int_int_string_; 
    116117        string _param1_createPrototype__Player_string_; 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/crafting/CraftingManager.idl

    r860 r919  
    7171         
    7272        void nextCraftingStage(Player player, string test); 
    73         void craftingCustomization(Player player, string name, int condition); 
     73        void craftingCustomization(Player player, string name, int condition, string customizationstring); 
    7474        void handleExperimenting(Player player, int counter, int numRowsAttempted, string expstring); 
    7575        void createPrototype(Player player, string count); 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/crafting/CraftingManagerImplementation.cpp

    r860 r919  
    126126        // Send the Baselines to the player 
    127127        draftSchematic->sendTo(player); 
    128  
    129         // Setup crafting slots 
    130         craftingTool->initializeCraftingSlots( 
    131                         draftSchematic->getIngredientListSize()); 
    132  
    133128} 
    134129 
     
    177172        craftingTool->setInsertCount(1); 
    178173 
    179         // Clear the tools slots in case anything lingers in the vectors 
    180         craftingTool->resetSlots(); 
    181  
    182174} 
    183175 
     
    247239 
    248240                // Get what, if anything, is in the designated slot 
    249                 TangibleObject* ingredientInSlot = craftingTool->getIngredientInSlot( 
    250                                slot); 
     241                TangibleObject* ingredientInSlot = craftingTool->getIngredientInSlot(slot); 
     242                int ingredientInSlotQuantity = craftingTool->getIngredientInSlotQuantity(slot); 
    251243 
    252244                // Send slot messages base on content, if needed 
    253245                if (ingredientInSlot != NULL) { 
    254246 
    255                         if (slotIsFull(player, craftingTool, tano, ingredientInSlot, slot, 
     247                        if (slotIsFull(player, craftingTool, tano, ingredientInSlot, ingredientInSlotQuantity, slot, 
    256248                                        quantity, counter)) { 
    257249 
     
    261253 
    262254                // Set resource values appropriately 
    263                 newTano = transferIngredientToSlot(player, tano, craftingTool, quantity); 
     255                newTano = transferIngredientToSlot(player, tano, craftingTool, (quantity - ingredientInSlotQuantity)); 
    264256 
    265257                if (newTano == NULL) { 
    266  
    267258                        sendSlotMessage(player, counter, SLOTBADCRATE); 
    268259                        return; 
    269260                } 
     261 
     262                // Add the resource to the "slots" in the crafting tool for tracking 
     263                if(!craftingTool->addIngredientToSlot(slot, newTano)) { 
     264                        sendSlotMessage(player, counter, SLOTINVALIDINGREDIENT); 
     265                        return; 
     266                } 
     267 
    270268                // DMSCO6 *************************************************** 
    271269                // Prepares the slot for insert 
     
    289287                        dMsco7->fullUpdate(draftSchematic, 
    290288                                        draftSchematic->getIngredientListSize(), slot, 
    291                                         newTano->getObjectID(), quantity); 
     289                                        newTano->getObjectID(), quantity + ingredientInSlotQuantity); 
    292290                } else { 
    293291 
     
    295293                        dMsco7->partialUpdate(slot, draftSchematic->getIngredientListSize() 
    296294                                        + craftingTool->getInsertCount(), newTano->getObjectID(), 
    297                                         quantity); 
     295                                        quantity + ingredientInSlotQuantity); 
    298296                } 
    299297                dMsco7->close(); 
     
    307305                craftingTool->increaseInsertCount(); 
    308306 
    309                 // Add the resource to the "slots" in the crafting tool for tracking 
    310                 craftingTool->addIngredientToSlot(slot, newTano); 
    311  
    312307        } catch (...) { 
    313308                info( 
    314                                 "Unreported exception caught in CraftingManagerImplementation::addResourceToCraft"); 
     309                                "Unreported exception caught in CraftingManagerImplementation::addIngredientToSlot"); 
    315310        } 
    316311} 
    317312bool CraftingManagerImplementation::slotIsFull(Player* player, 
    318                 CraftingTool* craftingTool, TangibleObject* tano, 
    319                 TangibleObject* ingredientInSlot, int slot, int quantity, int counter) { 
     313                CraftingTool* craftingTool, TangibleObject* tano, TangibleObject* ingredientInSlot, 
     314                int ingredientInSlotQuantity, int slot, int quantity, int counter) { 
    320315 
    321316        if (tano->isResource()) { 
     
    343338                                sendSlotMessage(player, counter, SLOTINVALIDINGREDIENT); 
    344339                                return true; 
    345  
    346                         } else { 
    347  
    348                                 // If resource is the same add resource to incoming stack 
    349                                 rcno->setContents(rcno->getContents() 
    350                                                 + rcnoinSlot->getContents()); 
    351340 
    352341                        } 
     
    380369TangibleObject* CraftingManagerImplementation::transferIngredientToSlot( 
    381370                Player* player, TangibleObject* tano, CraftingTool* craftingTool, 
    382                 int& quantity) { 
     371                int quantity) { 
    383372 
    384373        if (tano->isResource()) { 
     
    402391 
    403392TangibleObject* CraftingManagerImplementation::transferResourceToSlot( 
    404                 Player* player, ResourceContainer* rcno, CraftingTool* craftingTool, 
    405                 int& quantity) { 
    406  
    407         string name = rcno->getResourceName(); 
    408  
    409         if (rcno->getContents() < quantity) { 
     393                Player* player, ResourceContainer* incomingResource, CraftingTool* craftingTool, 
     394                int quantity) { 
     395 
     396        string name = incomingResource->getResourceName(); 
     397 
     398        if (incomingResource->getContents() < quantity) { 
    410399 
    411400                // If there are less resources in the stack 
    412401                // then required, only use what is left 
    413                 quantity = rcno->getContents(); 
    414  
    415         } 
    416  
    417         if (rcno->getContents() - quantity < 1) { 
     402                quantity = incomingResource->getContents(); 
     403 
     404        } 
     405 
     406        if (incomingResource->getContents() - quantity < 1) { 
    418407 
    419408                // If Stack is empty, remove it from inventory 
    420                 player->removeInventoryItem(rcno->getObjectID()); 
     409                player->removeInventoryItem(incomingResource->getObjectID()); 
    421410 
    422411                // Destroy Container 
    423                 rcno->sendDestroyTo(player); 
    424                 rcno->finalize(); 
     412                incomingResource->sendDestroyTo(player); 
     413                incomingResource->finalize(); 
    425414 
    426415        } else { 
     
    428417                try { 
    429418                        // Remove proper amount of resource from chosen Container 
    430                         int newContents = rcno->getContents() - quantity; 
    431                         rcno->setContents(newContents); 
     419                        int newContents = incomingResource->getContents() - quantity; 
     420                        incomingResource->setContents(newContents); 
    432421 
    433422                        // Update the ResourceContainer 
    434                         rcno->sendDeltas(player); 
     423                        incomingResource->sendDeltas(player); 
    435424 
    436425                        // Flag ResourceContainer for saving changes 
    437                         rcno->setUpdated(true); 
     426                        incomingResource->setUpdated(true); 
    438427 
    439428                } catch (...) { 
     
    477466TangibleObject* CraftingManagerImplementation::transferComponentToSlot( 
    478467                Player* player, Component* component, CraftingTool* craftingTool, 
    479                 int& quantity) { 
     468                int quantity) { 
    480469 
    481470        int objectCount = component->getObjectCount(); 
     
    558547                sendSlotMessage(player, counter, SLOTNOTOOL); 
    559548                return; 
    560  
    561549        } 
    562550 
     
    564552 
    565553        if (draftSchematic == NULL) { 
    566  
    567554                sendSlotMessage(player, counter, SLOTNOSCHEMATIC); 
    568555                return; 
     
    570557 
    571558        try { 
    572  
    573559                string name; 
    574560 
     
    586572                        ResourceContainer* rcno = (ResourceContainer*) tano; 
    587573                        player->addInventoryResource(rcno); 
    588  
    589                 } else if (tano->isComponent()){ 
     574                } else { 
    590575 
    591576                        Component* component = (Component*) tano; 
     577 
     578                        if (component == NULL) { 
     579                                sendSlotMessage(player, counter, SLOTNOCOMPONENTTRANSFER); 
     580                                return; 
     581                        } 
    592582                        putComponentBackInInventory(player, component); 
    593  
    594                 } 
     583                } 
     584 
     585                // Clears CraftingTool's resource slot 
     586                craftingTool->clearIngredientInSlot(slot); 
    595587 
    596588                // DMCSO7 ****************************************************** 
     
    611603                // Object Controller ******************************************** 
    612604                // Updates the screen with the resource removal 
    613                 ObjectControllerMessage 
    614                                 * objMsg = 
     605                ObjectControllerMessage* objMsg = 
    615606                                                new ObjectControllerMessage(player->getObjectID(), 0x0B, 0x010C); 
    616607                objMsg->insertInt(0x108); 
     
    623614                tano = NULL; 
    624615 
    625                 // Updates CraftingTool's resource slot 
    626                 craftingTool->addIngredientToSlot(slot, tano); 
    627  
    628616                // Increases Insert Counter 
    629617                craftingTool->increaseInsertCount(); 
     
    671659 
    672660        newComponent->setPersistent(true); 
    673  
    674661 
    675662        component->setContainer(NULL); 
     
    748735        string expskill = draftSchematic->getExperimentingSkill(); 
    749736        int exppoints = int(player->getSkillMod(expskill) / 10); 
     737 
     738        // Get the level of customization 
     739        string custskill = draftSchematic->getCustomizationSkill(); 
     740        int custpoints = int(player->getSkillMod(custskill)); 
    750741 
    751742        // The Experimenting counter always starts at numbers of exp titles + 1 
     
    791782        // End DMSCO3 ************************************************************* 
    792783 
    793  
    794784        // Start DMSCO7 *********************************************************** 
    795785        // Sends the experimental properties and experimental percentages 
     
    798788                                        new ManufactureSchematicObjectDeltaMessage7(draftSchematic->getObjectID()); 
    799789        dMsco7->updateForAssembly(draftSchematic); 
     790        if(custpoints > 0) { 
     791                dMsco7->updateCustomizationOptions(draftSchematic, custpoints); 
     792        } 
    800793        dMsco7->close(); 
    801794 
     
    14551448} 
    14561449void CraftingManagerImplementation::craftingCustomization(Player* player, 
    1457                 string name, int condition) { 
     1450                string name, int condition, string customizationstring) { 
    14581451 
    14591452        CraftingTool* craftingTool = player->getCurrentCraftingTool(); 
     
    14681461                return; 
    14691462 
     1463        StringTokenizer tokenizer(customizationstring); 
     1464        int customizationnumber, customizationvalue; 
     1465        string customization; 
     1466 
    14701467        MySqlDatabase::escapeString(name); 
     1468 
     1469        tano->setName(name); 
     1470 
     1471        VectorMap<string, int> customizationMap; 
     1472 
     1473        while(tokenizer.hasMoreTokens()) { 
     1474 
     1475                customizationnumber = tokenizer.getIntToken(); 
     1476                customization = draftSchematic->getCustomizationOption(customizationnumber); 
     1477 
     1478                customizationvalue = tokenizer.getIntToken(); 
     1479 
     1480                customizationMap.put(customization, customizationvalue); 
     1481        } 
     1482 
     1483        for (int i = 0; i < customizationMap.size(); ++i) { 
     1484                tano->setCustomizationVariable(customizationMap.elementAt(i)->getKey(), customizationMap.get(i)); 
     1485        } 
     1486 
     1487        tano->setUpdated(true); 
    14711488 
    14721489        TangibleObjectDeltaMessage3* dtano3 = new TangibleObjectDeltaMessage3(tano); 
    14731490        dtano3->updateName(name); 
    1474  
    1475         tano->setName(name); 
    1476  
     1491        dtano3->updateCustomizationString(); 
    14771492        dtano3->close(); 
    14781493 
     
    22722287                                instance->parseStringsFromString(unparIngredientTitleNames); 
    22732288 
    2274                 // example: 1 for optional, 0 for mandatory 
     2289                // example: 2 for identical, 1 for optional, 0 for mandatory 
    22752290                string unparOptionalFlags = schematic.getStringField( 
    2276                                 "ingredientOptionals"); 
     2291                                "ingredientSlotType"); 
    22772292                Vector<uint32> parsedOptionalFlags = 
    22782293                                instance->parseUnsignedInt32sFromString(unparOptionalFlags); 
     
    23072322                        draftSchematic->addIngredient(parsedIngredientTemplateNames.get(i), 
    23082323                                        parsedIngredientTitleNames.get(i), 
    2309                                         (bool) parsedOptionalFlags.get(i), parsedResourceTypes.get( 
     2324                                        parsedOptionalFlags.get(i), parsedResourceTypes.get( 
    23102325                                                        i), parsedResourceQuantities.get(i), 
    23112326                                        parsedCombineTypes.get(i), parsedContribution.get(i)); 
     
    23752390                draftSchematic->setTanoAttributes(tanoAttributes); 
    23762391 
     2392                // Set Customization options 
     2393                string unparCustomizationOptions = schematic.getStringField( 
     2394                                "customizationOptions"); 
     2395                Vector<string> parsedCustomizationOptions = 
     2396                                instance->parseStringsFromString(unparCustomizationOptions); 
     2397 
     2398                // Set Default Customization values 
     2399                string unparCustomizationValues = schematic.getStringField( 
     2400                                "customizationDefaults"); 
     2401                Vector<uint32> parsedCustomizationValues = 
     2402                                instance->parseUnsignedInt32sFromString(unparCustomizationValues); 
     2403 
     2404                for(int i = 0; i < parsedCustomizationOptions.size(); ++i) { 
     2405                        draftSchematic->addCustomizationOption(parsedCustomizationOptions.get(i), 
     2406                                        parsedCustomizationValues.get(i)); 
     2407                } 
     2408 
    23772409                // Set ItemAttribute properties for values in crafting assembly/experimentation 
    23782410                string unparAttributesToSet = schematic.getStringField( 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/crafting/CraftingManagerImplementation.h

    r860 r919  
    154154        // Crafting Methods 
    155155        void nextCraftingStage(Player* player, string test); 
    156         void craftingCustomization(Player* player, string name, int condition); 
     156        void craftingCustomization(Player* player, string name, int condition, string customizationstring); 
    157157        void handleExperimenting(Player* player, int counter, int numRowsAttempted, string expstring); 
    158158        void createPrototype(Player* player, string count); 
     
    183183        ResourceContainer * makeNewResourceStack(Player* player, string name, int quantity); 
    184184        bool slotIsFull(Player* player, CraftingTool* craftingTool, TangibleObject* tano, TangibleObject* ingredientInSlot, 
    185                         int slot, int quantity, int counter); 
     185                        int ingredientInSlotQuantity, int slot, int quantity, int counter); 
    186186        TangibleObject* transferIngredientToSlot(Player* player, TangibleObject* tano, 
    187                         CraftingTool* craftingTool, int& quantity); 
     187                        CraftingTool* craftingTool, int quantity); 
    188188        TangibleObject* transferResourceToSlot(Player* player, ResourceContainer* rcno, 
    189                         CraftingTool* craftingTool, int& quantity); 
     189                        CraftingTool* craftingTool, int quantity); 
    190190        TangibleObject* transferComponentToSlot( 
    191191                        Player* player, Component* component, CraftingTool* craftingTool, 
    192                         int& quantity); 
     192                        int quantity); 
    193193 
    194194        // Turn on Experimentation window 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/crafting/events/CreateObjectEvent.h

    r860 r919  
    5555 
    5656public: 
    57         CreateObjectEvent(Player * pl, CraftingTool* tool, bool create) : 
     57        CreateObjectEvent(Player* pl, CraftingTool* tool, bool create) : 
    5858                Event() { 
    5959                ct = tool; 
     
    7171                        ct->wlock(); 
    7272 
    73                         ItemManager * itemManager = player->getZone()->getZoneServer()->getItemManager(); 
     73                        ItemManager* itemManager = player->getZone()->getZoneServer()->getItemManager(); 
    7474 
    7575                        if(tano != NULL && doCreate) { 
     
    8383                                        player->addInventoryItem(tano); 
    8484 
    85                                         itemManager->savePlayerItem(player, tano); 
     85                                        //itemManager->createPlayerItem(player, tano); 
     86 
     87                                        tano->setPersistent(false); 
    8688 
    8789                                        ct->setStatusReady(); 
     
    9294                                        player->sendMessage(sysMessage); 
    9395 
    94                                         Container * hopper = ct->getHopper(player); 
     96                                        Container* hopper = ct->getHopper(player); 
    9597 
    9698                                        for(int i = 0; i < hopper->objectsSize(); i++){ 
     
    106108                                tano->sendTo(player); 
    107109 
    108                                 tano->sendDeltas(player); 
    109  
    110                                 tano->setPersistent(false); 
    111  
    112110                        } else { 
    113111 
    114112                                ct->setStatusReady(); 
    115  
    116113                        } 
    117114 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/item/ItemManagerImplementation.cpp

    r915 r919  
    216216        } else if (objecttype & TangibleObjectImplementation::CLOTHING) { 
    217217                item = new Wearable(objectid, objectcrc, objectname, objecttemp, equipped); 
    218                 item->setObjectSubType(objecttype); 
    219218                if (makeStats) 
    220219                        item->setConditionDamage(System::random(item->getMaxCondition() * 3 / 4)); 
     
    549548        item->parseItemAttributes(); 
    550549 
     550        item->setObjectSubType(objecttype); 
     551 
    551552        item->setPlayerUseMask(itemMask); 
    552553 
     
    571572        unicode objectname(objectn); 
    572573 
    573         TangibleObject * item = NULL; 
     574        TangibleObject* item = NULL; 
    574575 
    575576        item = createPlayerObjectTemplate(objecttype, objectid, objectcrc, 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/planet/PlanetManagerImplementation.cpp

    r912 r919  
    661661                                CraftingStation* station = new CraftingStation(oid, crc, unicode(name), "public_crafting_station"); 
    662662 
    663                                 station->setEffectiveness(22); 
     663                                station->setEffectiveness(50); 
    664664 
    665665                                station->initializePosition(x, z, y); 
  • core3/trunk/MMOCoreORB/src/server/zone/managers/structure/StructureManagerImplementation.cpp

    r912 r919  
    8080        init(); 
    8181 
    82         cout << "Loading Structures for zone: " << zone->getZoneID() << endl
     82        info("Loading Structures for zone: " + zone->getZoneID())
    8383        loadStaticBuildings(); 
    8484        loadPlayerStructures(); // loads both buildings + installations 
     85 
    8586} 
    8687 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/draftschematic/DraftSchematic.cpp

    r860 r919  
    159159} 
    160160 
    161 void DraftSchematic::addIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, bool optional, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, unsigned int contribution) { 
     161void DraftSchematic::addIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, const int optional, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, unsigned int contribution) { 
    162162        if (_impl == NULL) { 
    163163                if (!deployed) 
     
    167167                method.addAsciiParameter(ingredientTemplateName); 
    168168                method.addAsciiParameter(ingredientTitleName); 
    169                 method.addBooleanParameter(optional); 
     169                method.addSignedIntParameter(optional); 
    170170                method.addAsciiParameter(resourceType); 
    171171                method.addUnsignedIntParameter(resourceQuantity); 
     
    344344} 
    345345 
     346void DraftSchematic::setCustomizationSkill(const string& cust) { 
     347        if (_impl == NULL) { 
     348                if (!deployed) 
     349                        throw ObjectNotDeployedException(this); 
     350 
     351                DistributedMethod method(this, 29); 
     352                method.addAsciiParameter(cust); 
     353 
     354                method.executeWithVoidReturn(); 
     355        } else 
     356                ((DraftSchematicImplementation*) _impl)->setCustomizationSkill(cust); 
     357} 
     358 
     359void DraftSchematic::addCustomizationOption(const string& cust, const int value) { 
     360        if (_impl == NULL) { 
     361                if (!deployed) 
     362                        throw ObjectNotDeployedException(this); 
     363 
     364                DistributedMethod method(this, 30); 
     365                method.addAsciiParameter(cust); 
     366                method.addSignedIntParameter(value); 
     367 
     368                method.executeWithVoidReturn(); 
     369        } else 
     370                ((DraftSchematicImplementation*) _impl)->addCustomizationOption(cust, value); 
     371} 
     372 
    346373void DraftSchematic::setAssemblySkill(const string& ass) { 
    347374        if (_impl == NULL) { 
     
    349376                        throw ObjectNotDeployedException(this); 
    350377 
    351                 DistributedMethod method(this, 29); 
     378                DistributedMethod method(this, 31); 
    352379                method.addAsciiParameter(ass); 
    353380 
     
    362389                        throw ObjectNotDeployedException(this); 
    363390 
    364                 DistributedMethod method(this, 30); 
     391                DistributedMethod method(this, 32); 
    365392 
    366393                method.executeWithVoidReturn(); 
     
    374401                        throw ObjectNotDeployedException(this); 
    375402 
    376                 DistributedMethod method(this, 31); 
     403                DistributedMethod method(this, 33); 
    377404                method.addObjectParameter(crafter); 
    378405 
     
    387414                        throw ObjectNotDeployedException(this); 
    388415 
    389                 DistributedMethod method(this, 32); 
     416                DistributedMethod method(this, 34); 
    390417 
    391418                return method.executeWithSignedIntReturn(); 
     
    399426                        throw ObjectNotDeployedException(this); 
    400427 
    401                 DistributedMethod method(this, 33); 
     428                DistributedMethod method(this, 35); 
    402429                method.addSignedIntParameter(i); 
    403430 
     
    412439                        throw ObjectNotDeployedException(this); 
    413440 
    414                 DistributedMethod method(this, 34); 
     441                DistributedMethod method(this, 36); 
    415442                method.addAsciiParameter(name); 
    416443 
     
    425452                        throw ObjectNotDeployedException(this); 
    426453 
    427                 DistributedMethod method(this, 35); 
     454                DistributedMethod method(this, 37); 
    428455                method.addAsciiParameter(attribute); 
    429456                method.addFloatParameter(minVal); 
     
    442469                        throw ObjectNotDeployedException(this); 
    443470 
    444                 DistributedMethod method(this, 36); 
     471                DistributedMethod method(this, 38); 
    445472 
    446473                return method.executeWithSignedIntReturn(); 
     
    454481                        throw ObjectNotDeployedException(this); 
    455482 
    456                 DistributedMethod method(this, 37); 
     483                DistributedMethod method(this, 39); 
    457484                method.addSignedIntParameter(index); 
    458485 
     
    467494                        throw ObjectNotDeployedException(this); 
    468495 
    469                 DistributedMethod method(this, 38); 
     496                DistributedMethod method(this, 40); 
    470497 
    471498                return method.executeWithUnsignedIntReturn(); 
     
    479506                        throw ObjectNotDeployedException(this); 
    480507 
    481                 DistributedMethod method(this, 39); 
     508                DistributedMethod method(this, 41); 
    482509 
    483510                return method.executeWithUnsignedIntReturn(); 
     
    491518                        throw ObjectNotDeployedException(this); 
    492519 
    493                 DistributedMethod method(this, 40); 
     520                DistributedMethod method(this, 42); 
    494521 
    495522                method.executeWithAsciiReturn(_return_getName); 
     
    504531                        throw ObjectNotDeployedException(this); 
    505532 
    506                 DistributedMethod method(this, 41); 
     533                DistributedMethod method(this, 43); 
    507534 
    508535                method.executeWithAsciiReturn(_return_getStringName); 
     
    517544                        throw ObjectNotDeployedException(this); 
    518545 
    519                 DistributedMethod method(this, 42); 
     546                DistributedMethod method(this, 44); 
    520547 
    521548                method.executeWithAsciiReturn(_return_getGroupName); 
     
    530557                        throw ObjectNotDeployedException(this); 
    531558 
    532                 DistributedMethod method(this, 43); 
     559                DistributedMethod method(this, 45); 
    533560 
    534561                return method.executeWithUnsignedIntReturn(); 
     
    542569                        throw ObjectNotDeployedException(this); 
    543570 
    544                 DistributedMethod method(this, 44); 
     571                DistributedMethod method(this, 46); 
    545572 
    546573                return method.executeWithUnsignedIntReturn(); 
     
    554581                        throw ObjectNotDeployedException(this); 
    555582 
    556                 DistributedMethod method(this, 45); 
     583                DistributedMethod method(this, 47); 
    557584 
    558585                return method.executeWithUnsignedIntReturn(); 
     
    566593                        throw ObjectNotDeployedException(this); 
    567594 
    568                 DistributedMethod method(this, 46); 
     595                DistributedMethod method(this, 48); 
    569596 
    570597                method.executeWithAsciiReturn(_return_getTanoAttributes); 
     
    579606                        throw ObjectNotDeployedException(this); 
    580607 
    581                 DistributedMethod method(this, 47); 
     608                DistributedMethod method(this, 49); 
    582609 
    583610                return method.executeWithSignedIntReturn(); 
     
    591618                        throw ObjectNotDeployedException(this); 
    592619 
    593                 DistributedMethod method(this, 48); 
     620                DistributedMethod method(this, 50); 
    594621 
    595622                return (SceneObject*) method.executeWithObjectReturn(); 
     
    603630                        throw ObjectNotDeployedException(this); 
    604631 
    605                 DistributedMethod method(this, 49); 
     632                DistributedMethod method(this, 51); 
    606633 
    607634                method.executeWithAsciiReturn(_return_getXpType); 
     
    616643                        throw ObjectNotDeployedException(this); 
    617644 
    618                 DistributedMethod method(this, 50); 
     645                DistributedMethod method(this, 52); 
    619646 
    620647                return method.executeWithSignedIntReturn(); 
     
    628655                        throw ObjectNotDeployedException(this); 
    629656 
    630                 DistributedMethod method(this, 51); 
     657                DistributedMethod method(this, 53); 
    631658 
    632659                method.executeWithAsciiReturn(_return_getExperimentingSkill); 
     
    636663} 
    637664 
     665string& DraftSchematic::getCustomizationSkill() { 
     666        if (_impl == NULL) { 
     667                if (!deployed) 
     668                        throw ObjectNotDeployedException(this); 
     669 
     670                DistributedMethod method(this, 54); 
     671 
     672                method.executeWithAsciiReturn(_return_getCustomizationSkill); 
     673                return _return_getCustomizationSkill; 
     674        } else 
     675                return ((DraftSchematicImplementation*) _impl)->getCustomizationSkill(); 
     676} 
     677 
     678string& DraftSchematic::getCustomizationOption(const int i) { 
     679        if (_impl == NULL) { 
     680                if (!deployed) 
     681                        throw ObjectNotDeployedException(this); 
     682 
     683                DistributedMethod method(this, 55); 
     684                method.addSignedIntParameter(i); 
     685 
     686                method.executeWithAsciiReturn(_return_getCustomizationOption); 
     687                return _return_getCustomizationOption; 
     688        } else 
     689                return ((DraftSchematicImplementation*) _impl)->getCustomizationOption(i); 
     690} 
     691 
     692int DraftSchematic::getCustomizationDefaultValue(const int i) { 
     693        if (_impl == NULL) { 
     694                if (!deployed) 
     695                        throw ObjectNotDeployedException(this); 
     696 
     697                DistributedMethod method(this, 56); 
     698                method.addSignedIntParameter(i); 
     699 
     700                return method.executeWithSignedIntReturn(); 
     701        } else 
     702                return ((DraftSchematicImplementation*) _impl)->getCustomizationDefaultValue(i); 
     703} 
     704 
     705int DraftSchematic::getCustomizationOptionCount() { 
     706        if (_impl == NULL) { 
     707                if (!deployed) 
     708                        throw ObjectNotDeployedException(this); 
     709 
     710                DistributedMethod method(this, 57); 
     711 
     712                return method.executeWithSignedIntReturn(); 
     713        } else 
     714                return ((DraftSchematicImplementation*) _impl)->getCustomizationOptionCount(); 
     715} 
     716 
    638717string& DraftSchematic::getAssemblySkill() { 
    639718        if (_impl == NULL) { 
     
    641720                        throw ObjectNotDeployedException(this); 
    642721 
    643                 DistributedMethod method(this, 52); 
     722                DistributedMethod method(this, 58); 
    644723 
    645724                method.executeWithAsciiReturn(_return_getAssemblySkill); 
     
    654733                        throw ObjectNotDeployedException(this); 
    655734 
    656                 DistributedMethod method(this, 53); 
     735                DistributedMethod method(this, 59); 
    657736 
    658737                return method.executeWithSignedIntReturn(); 
     
    666745                        throw ObjectNotDeployedException(this); 
    667746 
    668                 DistributedMethod method(this, 54); 
     747                DistributedMethod method(this, 60); 
    669748 
    670749                return method.executeWithSignedIntReturn(); 
     
    678757                        throw ObjectNotDeployedException(this); 
    679758 
    680                 DistributedMethod method(this, 55); 
     759                DistributedMethod method(this, 61); 
    681760 
    682761                return method.executeWithFloatReturn(); 
     
    690769                        throw ObjectNotDeployedException(this); 
    691770 
    692                 DistributedMethod method(this, 56); 
     771                DistributedMethod method(this, 62); 
    693772 
    694773                return (Player*) method.executeWithObjectReturn(); 
     
    702781                        throw ObjectNotDeployedException(this); 
    703782 
    704                 DistributedMethod method(this, 57); 
     783                DistributedMethod method(this, 63); 
    705784 
    706785                return (DraftSchematicValues*) method.executeWithObjectReturn(); 
     
    714793                        throw ObjectNotDeployedException(this); 
    715794 
    716                 DistributedMethod method(this, 58); 
     795                DistributedMethod method(this, 64); 
    717796 
    718797                return method.executeWithBooleanReturn(); 
     
    726805                        throw ObjectNotDeployedException(this); 
    727806 
    728                 DistributedMethod method(this, 59); 
     807                DistributedMethod method(this, 65); 
    729808 
    730809                method.executeWithVoidReturn(); 
     
    772851                break; 
    773852        case 15: 
    774                 addIngredient(inv->getAsciiParameter(_param0_addIngredient__string_string_bool_string_int_int_int_), inv->getAsciiParameter(_param1_addIngredient__string_string_bool_string_int_int_int_), inv->getBooleanParameter(), inv->getAsciiParameter(_param3_addIngredient__string_string_bool_string_int_int_int_), inv->getUnsignedIntParameter(), inv->getUnsignedIntParameter(), inv->getUnsignedIntParameter()); 
     853                addIngredient(inv->getAsciiParameter(_param0_addIngredient__string_string_int_string_int_int_int_), inv->getAsciiParameter(_param1_addIngredient__string_string_int_string_int_int_int_), inv->getSignedIntParameter(), inv->getAsciiParameter(_param3_addIngredient__string_string_int_string_int_int_int_), inv->getUnsignedIntParameter(), inv->getUnsignedIntParameter(), inv->getUnsignedIntParameter()); 
    775854                break; 
    776855        case 16: 
     
    814893                break; 
    815894        case 29: 
     895                setCustomizationSkill(inv->getAsciiParameter(_param0_setCustomizationSkill__string_)); 
     896                break; 
     897        case 30: 
     898                addCustomizationOption(inv->getAsciiParameter(_param0_addCustomizationOption__string_int_), inv->getSignedIntParameter()); 
     899                break; 
     900        case 31: 
    816901                setAssemblySkill(inv->getAsciiParameter(_param0_setAssemblySkill__string_)); 
    817902                break; 
    818         case 30
     903        case 32
    819904                setFinished(); 
    820905                break; 
    821         case 31
     906        case 33
    822907                setCrafter((Player*) inv->getObjectParameter()); 
    823908                break; 
    824         case 32
     909        case 34
    825910                resp->insertSignedInt(getAttributesToSetListSize()); 
    826911                break; 
    827         case 33
     912        case 35
    828913                resp->insertLong(getAttributeToSet(inv->getSignedIntParameter())->_getObjectID()); 
    829914                break; 
    830         case 34
     915        case 36
    831916                resp->insertLong(getAttributeToSet(inv->getAsciiParameter(_param0_getAttributeToSet__string_))->_getObjectID()); 
    832917                break; 
    833         case 35
     918        case 37
    834919                addAttributeToSet(inv->getAsciiParameter(_param0_addAttributeToSet__string_float_float_string_int_), inv->getFloatParameter(), inv->getFloatParameter(), inv->getAsciiParameter(_param3_addAttributeToSet__string_float_float_string_int_), inv->getSignedIntParameter()); 
    835920                break; 
    836         case 36
     921        case 38
    837922                resp->insertSignedInt(getExpPropGroupListSize()); 
    838923                break; 
    839         case 37
     924        case 39
    840925                resp->insertLong(getExpPropGroup(inv->getSignedIntParameter())->_getObjectID()); 
    841926                break; 
    842         case 38
     927        case 40
    843928                resp->insertInt(getSchematicID()); 
    844929                break; 
    845         case 39
     930        case 41
    846931                resp->insertInt(getSchematicCRC()); 
    847932                break; 
    848         case 40
     933        case 42
    849934                resp->insertAscii(getName()); 
    850935                break; 
    851         case 41
     936        case 43
    852937                resp->insertAscii(getStringName()); 
    853938                break; 
    854         case 42
     939        case 44
    855940                resp->insertAscii(getGroupName()); 
    856941                break; 
    857         case 43
     942        case 45
    858943                resp->insertInt(getComplexity()); 
    859944                break; 
    860         case 44
     945        case 46
    861946                resp->insertInt(getSchematicSize()); 
    862947                break; 
    863         case 45
     948        case 47
    864949                resp->insertInt(getObjectID()); 
    865950                break; 
    866         case 46
     951        case 48
    867952                resp->insertAscii(getTanoAttributes()); 
    868953                break; 
    869         case 47
     954        case 49
    870955                resp->insertSignedInt(getCraftingToolTab()); 
    871956                break; 
    872         case 48
     957        case 50
    873958                resp->insertLong(getContainer()->_getObjectID()); 
    874959                break; 
    875         case 49
     960        case 51
    876961                resp->insertAscii(getXpType()); 
    877962                break; 
    878         case 50
     963        case 52
    879964                resp->insertSignedInt(getXp()); 
    880965                break; 
    881         case 51
     966        case 53
    882967                resp->insertAscii(getExperimentingSkill()); 
    883968                break; 
    884         case 52: 
     969        case 54: 
     970                resp->insertAscii(getCustomizationSkill()); 
     971                break; 
     972        case 55: 
     973                resp->insertAscii(getCustomizationOption(inv->getSignedIntParameter())); 
     974                break; 
     975        case 56: 
     976                resp->insertSignedInt(getCustomizationDefaultValue(inv->getSignedIntParameter())); 
     977                break; 
     978        case 57: 
     979                resp->insertSignedInt(getCustomizationOptionCount()); 
     980                break; 
     981        case 58: 
    885982                resp->insertAscii(getAssemblySkill()); 
    886983                break; 
    887         case 53
     984        case 59
    888985                resp->insertSignedInt(getExpPoints()); 
    889986                break; 
    890         case 54
     987        case 60
    891988                resp->insertSignedInt(getExpCounter()); 
    892989                break; 
    893         case 55
     990        case 61
    894991                resp->insertFloat(getExpFailure()); 
    895992                break; 
    896         case 56
     993        case 62
    897994                resp->insertLong(getCrafter()->_getObjectID()); 
    898995                break; 
    899         case 57
     996        case 63
    900997                resp->insertLong(getCraftingValues()->_getObjectID()); 
    901998                break; 
    902         case 58
     999        case 64
    9031000                resp->insertBoolean(isFinished()); 
    9041001                break; 
    905         case 59
     1002        case 65
    9061003                toString(); 
    9071004                break; 
     
    9491046} 
    9501047 
    951 void DraftSchematicAdapter::addIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, bool optional, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, unsigned int contribution) { 
     1048void DraftSchematicAdapter::addIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, const int optional, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, unsigned int contribution) { 
    9521049        return ((DraftSchematicImplementation*) impl)->addIngredient(ingredientTemplateName, ingredientTitleName, optional, resourceType, resourceQuantity, combineType, contribution); 
    9531050} 
     
    10051102} 
    10061103 
     1104void DraftSchematicAdapter::setCustomizationSkill(const string& cust) { 
     1105        return ((DraftSchematicImplementation*) impl)->setCustomizationSkill(cust); 
     1106} 
     1107 
     1108void DraftSchematicAdapter::addCustomizationOption(const string& cust, const int value) { 
     1109        return ((DraftSchematicImplementation*) impl)->addCustomizationOption(cust, value); 
     1110} 
     1111 
    10071112void DraftSchematicAdapter::setAssemblySkill(const string& ass) { 
    10081113        return ((DraftSchematicImplementation*) impl)->setAssemblySkill(ass); 
     
    10951200string& DraftSchematicAdapter::getExperimentingSkill() { 
    10961201        return ((DraftSchematicImplementation*) impl)->getExperimentingSkill(); 
     1202} 
     1203 
     1204string& DraftSchematicAdapter::getCustomizationSkill() { 
     1205        return ((DraftSchematicImplementation*) impl)->getCustomizationSkill(); 
     1206} 
     1207 
     1208string& DraftSchematicAdapter::getCustomizationOption(const int i) { 
     1209        return ((DraftSchematicImplementation*) impl)->getCustomizationOption(i); 
     1210} 
     1211 
     1212int DraftSchematicAdapter::getCustomizationDefaultValue(const int i) { 
     1213        return ((DraftSchematicImplementation*) impl)->getCustomizationDefaultValue(i); 
     1214} 
     1215 
     1216int DraftSchematicAdapter::getCustomizationOptionCount() { 
     1217        return ((DraftSchematicImplementation*) impl)->getCustomizationOptionCount(); 
    10971218} 
    10981219 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/draftschematic/DraftSchematic.h

    r860 r919  
    5050        void helperSendIngredientsToPlayer(ObjectControllerMessage* objMsg); 
    5151 
    52         void addIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, bool optional, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, unsigned int contribution); 
     52        void addIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, const int optional, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, unsigned int contribution); 
    5353 
    5454        DraftSchematicIngredient* getIngredient(int index); 
     
    7878        void setExperimentingSkill(const string& exp); 
    7979 
     80        void setCustomizationSkill(const string& cust); 
     81 
     82        void addCustomizationOption(const string& cust, const int value); 
     83 
    8084        void setAssemblySkill(const string& ass); 
    8185 
     
    123127 
    124128        string& getExperimentingSkill(); 
     129 
     130        string& getCustomizationSkill(); 
     131 
     132        string& getCustomizationOption(const int i); 
     133 
     134        int getCustomizationDefaultValue(const int i); 
     135 
     136        int getCustomizationOptionCount(); 
    125137 
    126138        string& getAssemblySkill(); 
     
    146158 
    147159        string _return_getAssemblySkill; 
     160        string _return_getCustomizationOption; 
     161        string _return_getCustomizationSkill; 
    148162        string _return_getExperimentingSkill; 
    149163        string _return_getGroupName; 
     
    182196        void helperSendIngredientsToPlayer(ObjectControllerMessage* objMsg); 
    183197 
    184         void addIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, bool optional, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, unsigned int contribution); 
     198        void addIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, const int optional, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, unsigned int contribution); 
    185199 
    186200        DraftSchematicIngredient* getIngredient(int index); 
     
    210224        void setExperimentingSkill(const string& exp); 
    211225 
     226        void setCustomizationSkill(const string& cust); 
     227 
     228        void addCustomizationOption(const string& cust, const int value); 
     229 
    212230        void setAssemblySkill(const string& ass); 
    213231 
     
    255273 
    256274        string& getExperimentingSkill(); 
     275 
     276        string& getCustomizationSkill(); 
     277 
     278        string& getCustomizationOption(const int i); 
     279 
     280        int getCustomizationDefaultValue(const int i); 
     281 
     282        int getCustomizationOptionCount(); 
    257283 
    258284        string& getAssemblySkill(); 
     
    275301        string _param1_addExperimentalProperty__int_string_int_string_; 
    276302        string _param3_addExperimentalProperty__int_string_int_string_; 
    277         string _param0_addIngredient__string_string_bool_string_int_int_int_; 
    278         string _param1_addIngredient__string_string_bool_string_int_int_int_; 
    279         string _param3_addIngredient__string_string_bool_string_int_int_int_; 
     303        string _param0_addIngredient__string_string_int_string_int_int_int_; 
     304        string _param1_addIngredient__string_string_int_string_int_int_int_; 
     305        string _param3_addIngredient__string_string_int_string_int_int_int_; 
    280306        string _param0_setTanoAttributes__string_; 
    281307        string _param0_setXpType__string_; 
    282308        string _param0_setExperimentingSkill__string_; 
     309        string _param0_setCustomizationSkill__string_; 
     310        string _param0_addCustomizationOption__string_int_; 
    283311        string _param0_setAssemblySkill__string_; 
    284312        string _param0_getAttributeToSet__string_; 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/draftschematic/DraftSchematic.idl

    r860 r919  
    8686 
    8787        void addIngredient(const string ingredientTemplateName, const string ingredientTitleName, 
    88                 boolean optional, const string resourceType, unsigned int resourceQuantity,  
     88                const int optional, const string resourceType, unsigned int resourceQuantity,  
    8989                unsigned int combineType, unsigned int contribution); 
    9090 
     
    115115 
    116116        void setExperimentingSkill(const string exp); 
     117 
     118        void setCustomizationSkill(const string cust); 
     119 
     120        void addCustomizationOption(const string cust, const int value); 
    117121 
    118122        void setAssemblySkill(const string ass); 
     
    165169        string getExperimentingSkill(); 
    166170 
     171        string getCustomizationSkill(); 
     172 
     173        string getCustomizationOption(const int i); 
     174         
     175        int getCustomizationDefaultValue(const int i); 
     176         
     177        int getCustomizationOptionCount(); 
     178 
    167179        string getAssemblySkill(); 
    168180 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/draftschematic/DraftSchematicImplementation.cpp

    r860 r919  
    137137        experimentingSkill = draftSchematic->getExperimentingSkill(); 
    138138        assemblySkill = draftSchematic->getAssemblySkill(); 
     139        customizationSkill = draftSchematic->getCustomizationSkill(); 
     140 
     141        for(int i = 0; i < draftSchematic->getCustomizationOptionCount(); ++i) { 
     142                customizationOptions.add(draftSchematic->getCustomizationOption(i)); 
     143                customizationDefaults.add(draftSchematic->getCustomizationDefaultValue(i)); 
     144        } 
    139145 
    140146        //toString(); 
     
    224230// Ingredient Methods 
    225231void DraftSchematicImplementation::addIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, 
    226                 bool optional, const string& resourceType, uint32 resourceQuantity, uint32 combineType, uint32 contribution) { 
     232                const int slotoption, const string& resourceType, uint32 resourceQuantity, uint32 combineType, uint32 contribution) { 
    227233 
    228234        float contrib = float(contribution) / 100; 
    229235 
    230236        DraftSchematicIngredient* ingredient = new DraftSchematicIngredient(ingredientTemplateName, 
    231                         ingredientTitleName, optional, resourceType, resourceQuantity, combineType, contrib); 
     237                        ingredientTitleName, slotoption, resourceType, resourceQuantity, combineType, contrib); 
    232238 
    233239        dsIngredients.add(ingredient); 
     
    342348                dsi = dsIngredients.get(i); 
    343349 
    344                 if (!dsi->getOptional()) 
     350                if (!dsi->isOptionalSlot()) 
    345351                        count++; 
    346352        } 
     
    376382                cout << "Template Name: " << ingredient->getTemplateName() << endl; 
    377383                cout << "Quantity: " << ingredient->getResourceQuantity() << endl; 
    378                 cout << "Optional: " << ingredient->getOptional() << endl; 
     384                cout << "Slot Type: " << ingredient->getSlotType() << endl; 
    379385                cout << "**************************" << endl; 
    380386        } 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/draftschematic/DraftSchematicImplementation.h

    r860 r919  
    148148        string experimentingSkill; 
    149149        string assemblySkill; 
     150        string customizationSkill; 
     151 
     152        Vector<string> customizationOptions; 
     153        Vector<int> customizationDefaults; 
    150154 
    151155        bool finished; 
     
    172176        // Ingredient Methods 
    173177        void addIngredient(const string& ingredientTemplateName, 
    174                         const string& ingredientTitleName, bool optional
     178                        const string& ingredientTitleName, const int slotoption
    175179                        const string& resourceType, uint32 resourceQuantity, 
    176180                        uint32 combineType, uint32 contribution); 
     
    237241        } 
    238242 
     243        inline void setCustomizationSkill(const string& cust) { 
     244                customizationSkill = cust; 
     245        } 
     246 
     247        inline void addCustomizationOption(const string cust, const int value) { 
     248                customizationOptions.add(cust); 
     249                customizationDefaults.add(value); 
     250        } 
     251 
    239252        inline void setAssemblySkill(const string& ass) { 
     253                if ((int) ass.find("armor") >= 0) 
     254                        customizationSkill = "armor_customization"; 
     255                if ((int) ass.find("clothing") >= 0) 
     256                        customizationSkill = "clothing_customization"; 
     257                if ((int) ass.find("droid") >= 0) 
     258                        customizationSkill = "droid_customization"; 
     259 
    240260                assemblySkill = ass; 
    241261        } 
     
    308328        inline string& getExperimentingSkill() { 
    309329                return experimentingSkill; 
     330        } 
     331 
     332        inline string& getCustomizationSkill() { 
     333                return customizationSkill; 
     334        } 
     335 
     336        inline string& getCustomizationOption(const int i) { 
     337                return customizationOptions.get(i); 
     338        } 
     339 
     340        inline int getCustomizationDefaultValue(const int i) { 
     341                return customizationDefaults.get(i); 
     342        } 
     343 
     344        inline int getCustomizationOptionCount() { 
     345                return customizationOptions.size(); 
    310346        } 
    311347 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/draftschematic/DraftSchematicIngredient.cpp

    r860 r919  
    1313 */ 
    1414 
    15 DraftSchematicIngredient::DraftSchematicIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, bool optional, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, float contribution) { 
    16         _impl = new DraftSchematicIngredientImplementation(ingredientTemplateName, ingredientTitleName, optional, resourceType, resourceQuantity, combineType, contribution); 
     15DraftSchematicIngredient::DraftSchematicIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, const int slotoption, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, float contribution) { 
     16        _impl = new DraftSchematicIngredientImplementation(ingredientTemplateName, ingredientTitleName, slotoption, resourceType, resourceQuantity, combineType, contribution); 
    1717        _impl->_setStub(this); 
    1818} 
     
    106106} 
    107107 
    108 bool DraftSchematicIngredient::getOptional() { 
     108int DraftSchematicIngredient::getSlotType() { 
    109109        if (_impl == NULL) { 
    110110                if (!deployed) 
     
    113113                DistributedMethod method(this, 12); 
    114114 
     115                return method.executeWithSignedIntReturn(); 
     116        } else 
     117                return ((DraftSchematicIngredientImplementation*) _impl)->getSlotType(); 
     118} 
     119 
     120bool DraftSchematicIngredient::isOptionalSlot() { 
     121        if (_impl == NULL) { 
     122                if (!deployed) 
     123                        throw ObjectNotDeployedException(this); 
     124 
     125                DistributedMethod method(this, 13); 
     126 
    115127                return method.executeWithBooleanReturn(); 
    116128        } else 
    117                 return ((DraftSchematicIngredientImplementation*) _impl)->getOptional(); 
     129                return ((DraftSchematicIngredientImplementation*) _impl)->isOptionalSlot(); 
     130
     131 
     132bool DraftSchematicIngredient::isIdenticalSlot() { 
     133        if (_impl == NULL) { 
     134                if (!deployed) 
     135                        throw ObjectNotDeployedException(this); 
     136 
     137                DistributedMethod method(this, 14); 
     138 
     139                return method.executeWithBooleanReturn(); 
     140        } else 
     141                return ((DraftSchematicIngredientImplementation*) _impl)->isIdenticalSlot(); 
     142
     143 
     144bool DraftSchematicIngredient::isResourceSlot() { 
     145        if (_impl == NULL) { 
     146                if (!deployed) 
     147                        throw ObjectNotDeployedException(this); 
     148 
     149                DistributedMethod method(this, 15); 
     150 
     151                return method.executeWithBooleanReturn(); 
     152        } else 
     153                return ((DraftSchematicIngredientImplementation*) _impl)->isResourceSlot(); 
     154
     155 
     156bool DraftSchematicIngredient::isMixedSlot() { 
     157        if (_impl == NULL) { 
     158                if (!deployed) 
     159                        throw ObjectNotDeployedException(this); 
     160 
     161                DistributedMethod method(this, 16); 
     162 
     163                return method.executeWithBooleanReturn(); 
     164        } else 
     165                return ((DraftSchematicIngredientImplementation*) _impl)->isMixedSlot(); 
    118166} 
    119167 
     
    123171                        throw ObjectNotDeployedException(this); 
    124172 
    125                 DistributedMethod method(this, 13); 
     173                DistributedMethod method(this, 17); 
    126174 
    127175                return method.executeWithFloatReturn(); 
     
    160208                break; 
    161209        case 12: 
    162                 resp->insertBoolean(getOptional()); 
     210                resp->insertSignedInt(getSlotType()); 
    163211                break; 
    164212        case 13: 
     213                resp->insertBoolean(isOptionalSlot()); 
     214                break; 
     215        case 14: 
     216                resp->insertBoolean(isIdenticalSlot()); 
     217                break; 
     218        case 15: 
     219                resp->insertBoolean(isResourceSlot()); 
     220                break; 
     221        case 16: 
     222                resp->insertBoolean(isMixedSlot()); 
     223                break; 
     224        case 17: 
    165225                resp->insertFloat(getContribution()); 
    166226                break; 
     
    196256} 
    197257 
    198 bool DraftSchematicIngredientAdapter::getOptional() { 
    199         return ((DraftSchematicIngredientImplementation*) impl)->getOptional(); 
     258int DraftSchematicIngredientAdapter::getSlotType() { 
     259        return ((DraftSchematicIngredientImplementation*) impl)->getSlotType(); 
     260
     261 
     262bool DraftSchematicIngredientAdapter::isOptionalSlot() { 
     263        return ((DraftSchematicIngredientImplementation*) impl)->isOptionalSlot(); 
     264
     265 
     266bool DraftSchematicIngredientAdapter::isIdenticalSlot() { 
     267        return ((DraftSchematicIngredientImplementation*) impl)->isIdenticalSlot(); 
     268
     269 
     270bool DraftSchematicIngredientAdapter::isResourceSlot() { 
     271        return ((DraftSchematicIngredientImplementation*) impl)->isResourceSlot(); 
     272
     273 
     274bool DraftSchematicIngredientAdapter::isMixedSlot() { 
     275        return ((DraftSchematicIngredientImplementation*) impl)->isMixedSlot(); 
    200276} 
    201277 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/draftschematic/DraftSchematicIngredient.h

    r860 r919  
    1212class DraftSchematicIngredient : public DistributedObjectStub { 
    1313public: 
    14         DraftSchematicIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, bool optional, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, float contribution); 
     14        DraftSchematicIngredient(const string& ingredientTemplateName, const string& ingredientTitleName, const int slotoption, const string& resourceType, unsigned int resourceQuantity, unsigned int combineType, float contribution); 
    1515 
    1616        DraftSchematicIngredient(DraftSchematicIngredient* ingredient); 
     
    2828        unsigned int getCombineType(); 
    2929 
    30         bool getOptional(); 
     30        int getSlotType(); 
     31 
     32        bool isOptionalSlot(); 
     33 
     34        bool isIdenticalSlot(); 
     35 
     36        bool isResourceSlot(); 
     37 
     38        bool isMixedSlot(); 
    3139 
    3240        float getContribution(); 
     
    6472        unsigned int getCombineType(); 
    6573 
    66         bool getOptional(); 
     74        int getSlotType(); 
     75 
     76        bool isOptionalSlot(); 
     77 
     78        bool isIdenticalSlot(); 
     79 
     80        bool isResourceSlot(); 
     81 
     82        bool isMixedSlot(); 
    6783 
    6884        float getContribution(); 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/draftschematic/DraftSchematicIngredient.idl

    r860 r919  
    4747interface DraftSchematicIngredient { 
    4848        DraftSchematicIngredient(const string ingredientTemplateName, const string ingredientTitleName, 
    49                         boolean optional, const string resourceType, unsigned int resourceQuantity,  
     49                        const int slotoption, const string resourceType, unsigned int resourceQuantity,  
    5050                        unsigned int combineType, float contribution); 
    5151        DraftSchematicIngredient(DraftSchematicIngredient ingredient); 
     
    6464        unsigned int getCombineType(); 
    6565         
    66         boolean getOptional(); 
     66        int getSlotType(); 
     67 
     68        boolean isOptionalSlot(); 
     69         
     70        boolean isIdenticalSlot(); 
     71         
     72        boolean isResourceSlot(); 
     73         
     74        boolean isMixedSlot(); 
    6775 
    6876        float getContribution(); 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/draftschematic/DraftSchematicIngredientImplementation.cpp

    r860 r919  
    4848 
    4949DraftSchematicIngredientImplementation::DraftSchematicIngredientImplementation(const string& ingredientTemplateName, const string& ingredientTitleName, 
    50                 bool optional, const string& resourceType, uint32 resourceQuantity, uint32 combineType, 
     50                const int slotoption, const string& resourceType, uint32 resourceQuantity, uint32 combineType, 
    5151                float contribution) : DraftSchematicIngredientServant() { 
    5252        DraftSchematicIngredientImplementation::templateName = ingredientTemplateName; 
    5353        DraftSchematicIngredientImplementation::titleName = ingredientTitleName; 
    54         DraftSchematicIngredientImplementation::optional = optional
     54        DraftSchematicIngredientImplementation::slotoption = slotoption
    5555        DraftSchematicIngredientImplementation::resourceType = resourceType; 
    5656        DraftSchematicIngredientImplementation::resourceQuantity = resourceQuantity; 
     
    6262        this->templateName = ingredient->getTemplateName(); 
    6363        this->titleName = ingredient->getTitleName(); 
    64         this->optional = ingredient->getOptional(); 
     64        this->slotoption = ingredient->getSlotType(); 
    6565        this->resourceType = ingredient->getResourceType(); 
    6666        this->resourceQuantity = ingredient->getResourceQuantity(); 
     
    7373        msg->insertAscii(titleName); // ex: dried_fruit 
    7474 
    75         if (optional
     75        if (slotoption == OPTIONALIDENTICALSLOT || slotoption == OPTIONALMIXEDSLOT
    7676                msg->insertByte(1);  // ex: additive is optional so insertByte(1); 
    7777        else 
     
    8686        msg->insertUnicode(uniResourceType); // ex: organic 
    8787 
    88         if (resourceType.compare(0,16, "object/tangible/") == 0) 
     88        if (slotoption == MIXEDSLOT || slotoption == OPTIONALMIXEDSLOT) { 
    8989                msg->insertByte(5);  // Enables Components 
    90         else 
     90                msg->insertInt(resourceQuantity); // ex: 3 
     91        } else if (slotoption == IDENTICALSLOT || slotoption == OPTIONALIDENTICALSLOT) { 
     92                msg->insertByte(2); 
     93                msg->insertInt(resourceQuantity); // ex: 3 
     94                msg->insertShort(0); 
     95        } else if (slotoption == RESOURCESLOT) { 
    9196                msg->insertByte(4); 
     97                msg->insertInt(resourceQuantity); // ex: 3 
     98        } 
    9299 
    93         msg->insertInt(resourceQuantity); // ex: 3 
     100 
    94101} 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/draftschematic/DraftSchematicIngredientImplementation.h

    r860 r919  
    6262        uint32 resourceQuantity; 
    6363 
    64         // example: true 
    65         bool optional
     64        // example: 2 = Identical items required, 1 = optional, 0 = standard 
     65        int slotoption
    6666 
    6767        // Math Type 
     
    7171        float contribution; 
    7272 
     73public: 
     74 
     75        static const int RESOURCESLOT = 0; 
     76        static const int IDENTICALSLOT = 1; 
     77        static const int MIXEDSLOT = 2; 
     78        static const int OPTIONALIDENTICALSLOT = 3; 
     79        static const int OPTIONALMIXEDSLOT = 4; 
    7380 
    7481public: 
    7582        DraftSchematicIngredientImplementation(const string& ingredientTemplateName, const string& ingredientTitleName, 
    76                         bool optional, const string& resourceType, uint32 resourceQuantity, uint32 combineType, 
     83                        const int slotoption, const string& resourceType, uint32 resourceQuantity, uint32 combineType, 
    7784                        float contribution); 
    7885 
     
    102109        } 
    103110 
    104         inline bool getOptional() { 
    105                 return optional; 
     111        inline bool isOptionalSlot() { 
     112                return (slotoption == OPTIONALIDENTICALSLOT || slotoption == OPTIONALMIXEDSLOT); 
     113        } 
     114 
     115        inline bool isIdenticalSlot() { 
     116                return (slotoption == IDENTICALSLOT || slotoption == OPTIONALIDENTICALSLOT); 
     117        } 
     118 
     119        inline bool isMixedSlot() { 
     120                return slotoption == MIXEDSLOT; 
     121        } 
     122 
     123        inline bool isResourceSlot() { 
     124                return slotoption == RESOURCESLOT; 
     125        } 
     126 
     127        inline int getSlotType() { 
     128                return slotoption; 
    106129        } 
    107130 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/player/Player.cpp

    r901 r919  
    35103510} 
    35113511 
    3512 void Player::craftingCustomization(string& name, int condition) { 
     3512void Player::craftingCustomization(string& name, int condition, string& customizationstring) { 
    35133513        if (_impl == NULL) { 
    35143514                if (!deployed) 
     
    35183518                method.addAsciiParameter(name); 
    35193519                method.addSignedIntParameter(condition); 
    3520  
    3521                 method.executeWithVoidReturn(); 
    3522         } else 
    3523                 ((PlayerImplementation*) _impl)->craftingCustomization(name, condition); 
     3520                method.addAsciiParameter(customizationstring); 
     3521 
     3522                method.executeWithVoidReturn(); 
     3523        } else 
     3524                ((PlayerImplementation*) _impl)->craftingCustomization(name, condition, customizationstring); 
    35243525} 
    35253526 
     
    52555256                break; 
    52565257        case 275: 
    5257                 craftingCustomization(inv->getAsciiParameter(_param0_craftingCustomization__string_int_), inv->getSignedIntParameter()); 
     5258                craftingCustomization(inv->getAsciiParameter(_param0_craftingCustomization__string_int_string_), inv->getSignedIntParameter(), inv->getAsciiParameter(_param2_craftingCustomization__string_int_string_)); 
    52585259                break; 
    52595260        case 276: 
     
    65566557} 
    65576558 
    6558 void PlayerAdapter::craftingCustomization(string& name, int condition) { 
    6559         return ((PlayerImplementation*) impl)->craftingCustomization(name, condition); 
     6559void PlayerAdapter::craftingCustomization(string& name, int condition, string& customizationstring) { 
     6560        return ((PlayerImplementation*) impl)->craftingCustomization(name, condition, customizationstring); 
    65606561} 
    65616562 
  • core3/trunk/MMOCoreORB/src/server/zone/objects/player/Player.h

    r901 r919  
    606606        void nextCraftingStage(string& test); 
    607607 
    608         void craftingCustomization(string& name, int condition); 
     608        void craftingCustomization(string& name, int condition, string& customizationstring); 
    609609 
    610610        void createPrototype(string& count); 
     
    13221322        void nextCraftingStage(string& test); 
    13231323 
    1324         void craftingCustomization(string& name, int condition); 
     1324        void craftingCustomization(string& name, int condition, string& customizationstring); 
    13251325 
    13261326        void createPrototype(string& count); 
     
    15041504        string _param0_hasCompletedMisoKey__string_; 
    15051505