CREATE OR REPLACE PACKAGE "HOTFIX_7" as procedure StartItemConversion (rbs_to_use varchar2 default null, conversion_id number default 1); end; / CREATE OR REPLACE PACKAGE BODY "HOTFIX_7" as -- private type defs type objVarType is record ( object_id number := NULL, objvar_name varchar2(500) := NULL, objvar_type number := NULL, objvar_value varchar2(1000) := NULL, objvar_name_id number := 0, old_objvar_name_id number := 0); type objRowType is record ( object_id number, object_template_id number, object_name varchar2(127), name_string_table varchar2(500), name_string_text varchar2(500), objvar_0_name varchar2(50), objvar_0_type number, objvar_0_value varchar2(50), objvar_1_name varchar2(50), objvar_1_type number, objvar_1_value varchar2(50), objvar_2_name varchar2(50), objvar_2_type number, objvar_2_value varchar2(50), objvar_3_name varchar2(50), objvar_3_type number, objvar_3_value varchar2(50), objvar_4_name varchar2(50), objvar_4_type number, objvar_4_value varchar2(50), objvar_5_name varchar2(50), objvar_5_type number, objvar_5_value varchar2(50), objvar_6_name varchar2(50), objvar_6_type number, objvar_6_value varchar2(50), objvar_7_name varchar2(50), objvar_7_type number, objvar_7_value varchar2(50), objvar_8_name varchar2(50), objvar_8_type number, objvar_8_value varchar2(50), objvar_9_name varchar2(50), objvar_9_type number, objvar_9_value varchar2(50), objvar_10_name varchar2(50), objvar_10_type number, objvar_10_value varchar2(50), objvar_11_name varchar2(50), objvar_11_type number, objvar_11_value varchar2(50), objvar_12_name varchar2(50), objvar_12_type number, objvar_12_value varchar2(50), objvar_13_name varchar2(50), objvar_13_type number, objvar_13_value varchar2(50), objvar_14_name varchar2(50), objvar_14_type number, objvar_14_value varchar2(50), objvar_15_name varchar2(50), objvar_15_type number, objvar_15_value varchar2(50), objvar_16_name varchar2(50), objvar_16_type number, objvar_16_value varchar2(50), objvar_17_name varchar2(50), objvar_17_type number, objvar_17_value varchar2(50), objvar_18_name varchar2(50), objvar_18_type number, objvar_18_value varchar2(50), objvar_19_name varchar2(50), objvar_19_type number, objvar_19_value varchar2(50), scriptlist varchar2(2000)); type objVarRowType is record ( object_id number, objvar_name_id number, objvar_name varchar2(500), objvar_type number, objvar_value varchar2(1000)); type weaponRowType is record ( object_id number, min_damage number, max_damage number, attack_speed float, wound_chance float, accuracy number, attack_cost number, min_range float, max_range float, damage_type number, elemental_type number, elemental_value number); type manfSchematicRowType is record ( object_id number, draft_schematic number); type manfAttributeRowType is record ( object_id number, attribute varchar2(500), value float); type rangeType is varray(4) of number; type rangeTableType is table of rangeType; type numTable is table of number; type varcharTable is table of varchar2(500); type numTableVarchar is table of number index by varchar2(500); type varcharTableNum is table of varchar2(500) index by binary_integer; type objectObjVarArray is varray(20) of objVarType; type objVarTable is table of objVarType index by varchar2(500); type dotObjVarTable is table of objVarType index by varchar2(10); type dotArrayVarchar is table of dotObjVarTable index by varchar2(500); type numTableNumber is table of number index by binary_integer; type dotsMatrixType is table of numTableNumber index by varchar2(50); type manfAttributesTable is table of manfAttributeRowType index by varchar2(500); -- private global containers use_rbs varchar2(50); object_id number; free_slots numTable; -- empty OBJECTS ObjVar columns slot_map numTableVarchar; -- map from ObjVar name to OBJECTS slot Obj_ObjVars objectObjVarArray; -- array of ObjVars in OBJECTS OV_ObjVars objVarTable; -- map by name of ObjVars in OBJECT_VARIABLES dot_list dotArrayVarchar; -- map from extracted DoT name and class to ObjVar -- example: dot_list('actionShot1')('type') isObjModified boolean; -- tracks if any of the OBJECTS data has changed updated_objvars varcharTable; -- list of updated ObjVar names in OBJECT_VARIABLES deleted_objvars varcharTable; -- list of deleted ObjVar names in OBJECT_VARIABLES added_objvars varcharTable; -- list of added ObjVar names in OBJECT_VARIABLES isWeaponObj boolean; -- tracks if the object has WEAPON_OBJECTS data isSchematic boolean; -- tracks if the object has MANF_SCHEMATIC_OBJECTS data isFactory boolean; script_list varchar2(2000); object_name varchar2(127); name_table varchar2(500); name_text varchar2(500); template_id number; new_template_id number; new_schematic_id number; err_num number; weapon_attribs weaponRowType; -- record for weapon attributes for current object manf_attributes manfAttributesTable; -- map of attributes in MANF_SCHEMATIC_ATTRIBUTES updated_attribs varcharTable; -- list of updated attributes in MANF_SCHEMATIC_ATTRIBUTES deleted_attribs varcharTable; -- list of deleted attributes in MANF_SCHEMATIC_ATTRIBUTES added_attribs varcharTable; -- list of added attributes in MANF_SCHEMATIC_ATTRIBUTES armor_item_gp numTableVarchar; armor_crate_gp numTableVarchar; -- private lookup tables templateIdSet numTableNumber; -- set of template ids to be converted objvarNameIdMap numTableVarchar; -- map from ObjVar name to OBJECT_VARIABLES_NAMES ID dots_matrix dotsMatrixType; -- map from DoT type and attribute to ObjVar -- example: dots_matrix('fire')(6) schematic_map numTableNumber; -- map of schematic to created template templateNameTable varcharTableNum; -- map of new template ids to string_name_table templateNameText varcharTableNum; -- map of new template ids to string_name_text -- private constants blankObjVar objVarType; -- can't use CONSTANT properly with records :( -- private function declaration procedure DoItemConversionBatch(start_objectid number, end_objectid number, conversion_id number); function InitializeData return boolean; procedure AddObjVar (objvar_name varchar2, objvar_type number, objvar_value varchar2); procedure DeleteObjVar (objVarName in varchar2); procedure ModifyObjVar (oldObjVarName varchar2, objvar_name varchar2, objvar_type number, objvar_value varchar2); procedure ModifyObjVar (oldObjVarName varchar2, objvar_name varchar2, objvar_type number, rangeTable rangeTableType); procedure RenameObjVar (oldObjVarName varchar2, objvar_name varchar2); function GetObjVarValue (objvar_name varchar2) return varchar2; procedure AddScript (newScript varchar2); procedure RemoveScript (oldScript varchar2); procedure SetNewTemplateId (newTemplateId number); procedure SetTemplateText (newTemplateId number); procedure InvalidateSchematic; procedure AddAttrib (attrib_name varchar2, attrib_value float); procedure DeleteAttrib (attrib_name in varchar2); procedure ModifyAttrib (old_attrib_name varchar2, attrib_name varchar2, attrib_value float); procedure DeleteOldArmorObjvars; procedure SetGenProtection(rangeTable rangeTableType); procedure SetArmorCondLevelCat(condition varchar2, lev varchar2, category varchar2); procedure SetArmorLevel(lev varchar); procedure SetArmorCategory(category varchar2); procedure SetGpAndCond(gp_name varchar2, gp_val varchar2, cond_name varchar2, cond_val varchar2); procedure DeleteCraftingComponents; procedure CopySchematicAttributes; procedure HandleFoodSchematic; procedure HandleFoodCrate; procedure ConvertToStimpack(stim_template number,healing_power number, combat_level number); procedure ConvertToEnhancer(enh_template number, enh_name varchar2, enh_power number); procedure ConvertToPetStimpack(stim_template number,healing_power number); procedure ConvertSpice(spice_name varchar2); procedure HandleWeaponDots; procedure SetWeaponBaseStats(attack number, acc number, minrange number, maxrange number, damagetype number); procedure SetMinDamage (min_damage number); procedure SetMaxDamage (max_damage number); procedure SetAttackSpeed (attack_speed number); procedure SetWoundChance (wound_chance number); procedure SetAccuracy (accuracy number); procedure SetAttackCost (attack_cost number); procedure SetMinRange (min_range number); procedure SetMaxRange (max_range number); procedure SetDamageType (dmg_type number); procedure SetElementalType (ele_type number); procedure SetElementalValue (ele_value number); procedure ConvertAttribValue(attribute varchar2, rangeTable rangeTableType); procedure ConvertMinDamage (rangeTable rangeTableType); procedure ConvertMaxDamage (rangeTable rangeTableType); procedure ConvertAttackSpeed (rangeTable rangeTableType); procedure ConvertWoundChance (rangeTable rangeTableType); procedure ConvertRangedPowerup; procedure ConvertMeleePowerup; procedure ConvertMinePowerup; function ConvertValue (oldvalue number, rangeTable rangeTableType) return number; procedure CheckObjVarForDot (objvar objVarType); function DotsMatrix(dot_type varchar2, dot_attrib number) return number; function SchematicMap(schematic_id number) return number; -- public function definitions procedure StartItemConversion (rbs_to_use varchar2, conversion_id number) is maxObjectId number; startObjectId number := 0; starttime date := sysdate; begin use_rbs := rbs_to_use; if use_rbs is not null then execute immediate 'set transaction use rollback segment ' || use_rbs; end if; if (InitializeData) then -- loop through all objects in batches select max(object_id) into maxObjectId from objects; while startObjectId < maxObjectId loop dbms_output.put_line('starting batch: ' || startObjectId || ' time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); DoItemConversionBatch(startObjectId, startObjectId + 19999999999, conversion_id); commit; if use_rbs is not null then execute immediate 'set transaction use rollback segment ' || use_rbs; end if; startObjectId := startObjectId + 20000000000; end loop; end if; dbms_output.put_line('start time = ' || to_char(starttime, 'MM/DD/YY HH24:MI:SS')); dbms_output.put_line('final time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); dbms_output.put_line('total time = ' || to_char(trunc((sysdate - starttime)*24*60)) || ' mins'); exception when others then err_num := SQLCODE; dbms_output.put_line('Error in StartItemConversion - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in StartItemConversion'); end; -- private function definitions procedure DoItemConversionBatch(start_objectid number, end_objectid number, conversion_id number) is -- cursors objRow objRowType; cursor objCursor (start_id number, end_id number) is select o.object_id, o.object_template_id, o.object_name, o.name_string_table, o.name_string_text, o.objvar_0_name, o.objvar_0_type, o.objvar_0_value, o.objvar_1_name, o.objvar_1_type, o.objvar_1_value, o.objvar_2_name, o.objvar_2_type, o.objvar_2_value, o.objvar_3_name, o.objvar_3_type, o.objvar_3_value, o.objvar_4_name, o.objvar_4_type, o.objvar_4_value, o.objvar_5_name, o.objvar_5_type, o.objvar_5_value, o.objvar_6_name, o.objvar_6_type, o.objvar_6_value, o.objvar_7_name, o.objvar_7_type, o.objvar_7_value, o.objvar_8_name, o.objvar_8_type, o.objvar_8_value, o.objvar_9_name, o.objvar_9_type, o.objvar_9_value, o.objvar_10_name, o.objvar_10_type, o.objvar_10_value, o.objvar_11_name, o.objvar_11_type, o.objvar_11_value, o.objvar_12_name, o.objvar_12_type, o.objvar_12_value, o.objvar_13_name, o.objvar_13_type, o.objvar_13_value, o.objvar_14_name, o.objvar_14_type, o.objvar_14_value, o.objvar_15_name, o.objvar_15_type, o.objvar_15_value, o.objvar_16_name, o.objvar_16_type, o.objvar_16_value, o.objvar_17_name, o.objvar_17_type, o.objvar_17_value, o.objvar_18_name, o.objvar_18_type, o.objvar_18_value, o.objvar_19_name, o.objvar_19_type, o.objvar_19_value, script_list from objects o where object_id between start_id and end_id order by object_id; objVarRow objVarRowType; cursor objVarCursor (start_id number, end_id number) is select v.object_id, v.name_id, nvl(n.name, to_char(n.id)), v.type, v.value from object_variables v, object_variable_names n where v.object_id between start_id and end_id and nvl(v.detached,0) = 0 and v.name_id = n.id order by v.object_id; weaponRow weaponRowType; cursor weaponCursor (start_id number, end_id number) is select object_id, min_damage, max_damage, attack_speed, wound_chance, accuracy, attack_cost, min_range, max_range, damage_type, elemental_type, elemental_value from weapon_objects where object_id between start_id and end_id order by object_id; manfSchematicRow manfSchematicRowType; cursor schematicCursor (start_id number, end_id number) is select object_id, draft_schematic from manf_schematic_objects where object_id between start_id and end_id order by object_id; manfAttributeRow manfAttributeRowType; cursor attributeCursor (start_id number, end_id number) is select object_id, attribute_type, value from manf_schematic_attributes where object_id between start_id and end_id order by object_id; -- local variables i number; n number; v varchar2(500); idx number := 0; cnt number := 0; cvt number := 0; bool boolean; tempObjVar objVarType; stmt varchar2(4000); prefix varchar2(100); begin dbms_output.put_line('start time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); open objCursor (start_objectid, end_objectid); fetch objCursor into objRow; dbms_output.put_line('object cursor time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); open objVarCursor (start_objectid, end_objectid); fetch objVarCursor into objVarRow; dbms_output.put_line('objvar cursor time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); open weaponCursor (start_objectid, end_objectid); fetch weaponCursor into weaponRow; dbms_output.put_line('weapon cursor time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); open schematicCursor (start_objectid, end_objectid); fetch schematicCursor into manfSchematicRow; dbms_output.put_line('schematic cursor time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); open attributeCursor (start_objectid, end_objectid); fetch attributeCursor into manfAttributeRow; dbms_output.put_line('attribute cursor time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); while objCursor%found loop begin if templateIdSet.exists(objRow.object_template_id) then -- Clear Data free_slots.delete; free_slots := numTable(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20); slot_map.delete; for i in 1..20 loop Obj_ObjVars(i) := blankObjVar; end loop; OV_ObjVars.delete; dot_list.delete; updated_objvars.trim(updated_objvars.count); deleted_objvars.trim(deleted_objvars.count); added_objvars.trim(added_objvars.count); manf_attributes.delete; updated_attribs.trim(updated_attribs.count); deleted_attribs.trim(deleted_attribs.count); added_attribs.trim(added_attribs.count); isObjModified := FALSE; isWeaponObj := FALSE; isSchematic := FALSE; isFactory := FALSE; prefix := 'crafting_components.'; new_schematic_id := 0; weapon_attribs := null; -- Load the data into variables object_id := objRow.object_id; script_list := objRow.scriptList; object_name := objRow.object_name; name_table := objRow.name_string_table; name_text := objRow.name_string_text; template_id := objRow.object_template_id; new_template_id := template_id; Obj_ObjVars(1).object_id := objRow.object_id; -- might be able to eliminate Obj_ObjVars(1).objvar_name := objRow.objvar_0_name; Obj_ObjVars(1).objvar_type := objRow.objvar_0_type; Obj_ObjVars(1).objvar_value := objRow.objvar_0_value; if ((objRow.objvar_0_name is not null) and (objRow.objvar_0_type != -1))then slot_map(objRow.objvar_0_name) := 1; CheckObjVarForDot(Obj_ObjVars(1)); free_slots.delete(1); end if; Obj_ObjVars(2).object_id := objRow.object_id; Obj_ObjVars(2).objvar_name := objRow.objvar_1_name; Obj_ObjVars(2).objvar_type := objRow.objvar_1_type; Obj_ObjVars(2).objvar_value := objRow.objvar_1_value; if ((objRow.objvar_1_name is not null) and (objRow.objvar_1_type != -1))then slot_map(objRow.objvar_1_name) := 2; CheckObjVarForDot(Obj_ObjVars(2)); free_slots.delete(2); end if; Obj_ObjVars(3).object_id := objRow.object_id; Obj_ObjVars(3).objvar_name := objRow.objvar_2_name; Obj_ObjVars(3).objvar_type := objRow.objvar_2_type; Obj_ObjVars(3).objvar_value := objRow.objvar_2_value; if ((objRow.objvar_2_name is not null) and (objRow.objvar_2_type != -1))then slot_map(objRow.objvar_2_name) := 3; CheckObjVarForDot(Obj_ObjVars(3)); free_slots.delete(3); end if; Obj_ObjVars(4).object_id := objRow.object_id; Obj_ObjVars(4).objvar_name := objRow.objvar_3_name; Obj_ObjVars(4).objvar_type := objRow.objvar_3_type; Obj_ObjVars(4).objvar_value := objRow.objvar_3_value; if ((objRow.objvar_3_name is not null) and (objRow.objvar_3_type != -1))then slot_map(objRow.objvar_3_name) := 4; CheckObjVarForDot(Obj_ObjVars(4)); free_slots.delete(4); end if; Obj_ObjVars(5).object_id := objRow.object_id; Obj_ObjVars(5).objvar_name := objRow.objvar_4_name; Obj_ObjVars(5).objvar_type := objRow.objvar_4_type; Obj_ObjVars(5).objvar_value := objRow.objvar_4_value; if ((objRow.objvar_4_name is not null) and (objRow.objvar_4_type != -1))then slot_map(objRow.objvar_4_name) := 5; CheckObjVarForDot(Obj_ObjVars(5)); free_slots.delete(5); end if; Obj_ObjVars(6).object_id := objRow.object_id; Obj_ObjVars(6).objvar_name := objRow.objvar_5_name; Obj_ObjVars(6).objvar_type := objRow.objvar_5_type; Obj_ObjVars(6).objvar_value := objRow.objvar_5_value; if ((objRow.objvar_5_name is not null) and (objRow.objvar_5_type != -1))then slot_map(objRow.objvar_5_name) := 6; CheckObjVarForDot(Obj_ObjVars(6)); free_slots.delete(6); end if; Obj_ObjVars(7).object_id := objRow.object_id; Obj_ObjVars(7).objvar_name := objRow.objvar_6_name; Obj_ObjVars(7).objvar_type := objRow.objvar_6_type; Obj_ObjVars(7).objvar_value := objRow.objvar_6_value; if ((objRow.objvar_6_name is not null) and (objRow.objvar_6_type != -1))then slot_map(objRow.objvar_6_name) := 7; CheckObjVarForDot(Obj_ObjVars(7)); free_slots.delete(7); end if; Obj_ObjVars(8).object_id := objRow.object_id; Obj_ObjVars(8).objvar_name := objRow.objvar_7_name; Obj_ObjVars(8).objvar_type := objRow.objvar_7_type; Obj_ObjVars(8).objvar_value := objRow.objvar_7_value; if ((objRow.objvar_7_name is not null) and (objRow.objvar_7_type != -1))then slot_map(objRow.objvar_7_name) := 8; CheckObjVarForDot(Obj_ObjVars(8)); free_slots.delete(8); end if; Obj_ObjVars(9).object_id := objRow.object_id; Obj_ObjVars(9).objvar_name := objRow.objvar_8_name; Obj_ObjVars(9).objvar_type := objRow.objvar_8_type; Obj_ObjVars(9).objvar_value := objRow.objvar_8_value; if ((objRow.objvar_8_name is not null) and (objRow.objvar_8_type != -1))then slot_map(objRow.objvar_8_name) := 9; CheckObjVarForDot(Obj_ObjVars(9)); free_slots.delete(9); end if; Obj_ObjVars(10).object_id := objRow.object_id; Obj_ObjVars(10).objvar_name := objRow.objvar_9_name; Obj_ObjVars(10).objvar_type := objRow.objvar_9_type; Obj_ObjVars(10).objvar_value := objRow.objvar_9_value; if ((objRow.objvar_9_name is not null) and (objRow.objvar_9_type != -1))then slot_map(objRow.objvar_9_name) := 10; CheckObjVarForDot(Obj_ObjVars(10)); free_slots.delete(10); end if; Obj_ObjVars(11).object_id := objRow.object_id; Obj_ObjVars(11).objvar_name := objRow.objvar_10_name; Obj_ObjVars(11).objvar_type := objRow.objvar_10_type; Obj_ObjVars(11).objvar_value := objRow.objvar_10_value; if ((objRow.objvar_10_name is not null) and (objRow.objvar_10_type != -1))then slot_map(objRow.objvar_10_name) := 11; CheckObjVarForDot(Obj_ObjVars(11)); free_slots.delete(11); end if; Obj_ObjVars(12).object_id := objRow.object_id; Obj_ObjVars(12).objvar_name := objRow.objvar_11_name; Obj_ObjVars(12).objvar_type := objRow.objvar_11_type; Obj_ObjVars(12).objvar_value := objRow.objvar_11_value; if ((objRow.objvar_11_name is not null) and (objRow.objvar_11_type != -1))then slot_map(objRow.objvar_11_name) := 12; CheckObjVarForDot(Obj_ObjVars(12)); free_slots.delete(12); end if; Obj_ObjVars(13).object_id := objRow.object_id; Obj_ObjVars(13).objvar_name := objRow.objvar_12_name; Obj_ObjVars(13).objvar_type := objRow.objvar_12_type; Obj_ObjVars(13).objvar_value := objRow.objvar_12_value; if ((objRow.objvar_12_name is not null) and (objRow.objvar_12_type != -1))then slot_map(objRow.objvar_12_name) := 13; CheckObjVarForDot(Obj_ObjVars(13)); free_slots.delete(13); end if; Obj_ObjVars(14).object_id := objRow.object_id; Obj_ObjVars(14).objvar_name := objRow.objvar_13_name; Obj_ObjVars(14).objvar_type := objRow.objvar_13_type; Obj_ObjVars(14).objvar_value := objRow.objvar_13_value; if ((objRow.objvar_13_name is not null) and (objRow.objvar_13_type != -1))then slot_map(objRow.objvar_13_name) := 14; CheckObjVarForDot(Obj_ObjVars(14)); free_slots.delete(14); end if; Obj_ObjVars(15).object_id := objRow.object_id; Obj_ObjVars(15).objvar_name := objRow.objvar_14_name; Obj_ObjVars(15).objvar_type := objRow.objvar_14_type; Obj_ObjVars(15).objvar_value := objRow.objvar_14_value; if ((objRow.objvar_14_name is not null) and (objRow.objvar_14_type != -1))then slot_map(objRow.objvar_14_name) := 15; CheckObjVarForDot(Obj_ObjVars(15)); free_slots.delete(15); end if; Obj_ObjVars(16).object_id := objRow.object_id; Obj_ObjVars(16).objvar_name := objRow.objvar_15_name; Obj_ObjVars(16).objvar_type := objRow.objvar_15_type; Obj_ObjVars(16).objvar_value := objRow.objvar_15_value; if ((objRow.objvar_15_name is not null) and (objRow.objvar_15_type != -1))then slot_map(objRow.objvar_15_name) := 16; CheckObjVarForDot(Obj_ObjVars(16)); free_slots.delete(16); end if; Obj_ObjVars(17).object_id := objRow.object_id; Obj_ObjVars(17).objvar_name := objRow.objvar_16_name; Obj_ObjVars(17).objvar_type := objRow.objvar_16_type; Obj_ObjVars(17).objvar_value := objRow.objvar_16_value; if ((objRow.objvar_16_name is not null) and (objRow.objvar_16_type != -1))then slot_map(objRow.objvar_16_name) := 17; CheckObjVarForDot(Obj_ObjVars(17)); free_slots.delete(17); end if; Obj_ObjVars(18).object_id := objRow.object_id; Obj_ObjVars(18).objvar_name := objRow.objvar_17_name; Obj_ObjVars(18).objvar_type := objRow.objvar_17_type; Obj_ObjVars(18).objvar_value := objRow.objvar_17_value; if ((objRow.objvar_17_name is not null) and (objRow.objvar_17_type != -1))then slot_map(objRow.objvar_17_name) := 18; CheckObjVarForDot(Obj_ObjVars(18)); free_slots.delete(18); end if; Obj_ObjVars(19).object_id := objRow.object_id; Obj_ObjVars(19).objvar_name := objRow.objvar_18_name; Obj_ObjVars(19).objvar_type := objRow.objvar_18_type; Obj_ObjVars(19).objvar_value := objRow.objvar_18_value; if ((objRow.objvar_18_name is not null) and (objRow.objvar_18_type != -1))then slot_map(objRow.objvar_18_name) := 19; CheckObjVarForDot(Obj_ObjVars(19)); free_slots.delete(19); end if; Obj_ObjVars(20).object_id := objRow.object_id; Obj_ObjVars(20).objvar_name := objRow.objvar_19_name; Obj_ObjVars(20).objvar_type := objRow.objvar_19_type; Obj_ObjVars(20).objvar_value := objRow.objvar_19_value; if ((objRow.objvar_19_name is not null) and (objRow.objvar_19_type != -1))then slot_map(objRow.objvar_19_name) := 20; CheckObjVarForDot(Obj_ObjVars(20)); free_slots.delete(20); end if; while (objVarCursor%found and objVarRow.object_id <= objRow.object_id) loop if objVarRow.object_id = objRow.object_id then tempObjVar := blankObjVar; tempObjVar.object_id := objVarRow.object_id; tempObjVar.objvar_name := objVarRow.objvar_name; tempObjVar.objvar_type := objVarRow.objvar_type; tempObjVar.objvar_value := objVarRow.objvar_value; tempObjVar.objvar_name_id := objVarRow.objvar_name_id; OV_ObjVars(objVarRow.objvar_name) := tempObjVar; slot_map(objVarRow.objvar_name) := 21; CheckObjVarForDot(tempObjVar); end if; fetch objVarCursor into objVarRow; end loop; while (weaponCursor%found and weaponRow.object_id <= objRow.object_id) loop if weaponRow.object_id = objRow.object_id then weapon_attribs := weaponRow; isWeaponObj := TRUE; end if; fetch weaponCursor into weaponRow; end loop; -- check to see if it is a manufacturing schematic if template_id = -144833342 then while (schematicCursor%found and manfSchematicRow.object_id <= objRow.object_id) loop if manfSchematicRow.object_id = objRow.object_id then template_id := SchematicMap(manfSchematicRow.draft_schematic); if template_id != 0 then isSchematic := TRUE; prefix := 'crafting_attributes.crafting:'; end if; end if; fetch schematicCursor into manfSchematicRow; end loop; while (attributeCursor%found and manfAttributeRow.object_id <= objRow.object_id) loop if manfAttributeRow.object_id = objRow.object_id then manf_attributes(manfAttributeRow.attribute) := manfAttributeRow; end if; fetch attributeCursor into manfAttributeRow; end loop; -- check to see if it a weapon (162889564) or armor (1120303977) factory crate -- or food (-200781577) or chemicals (-1966544754) -- or electronics (-754298423) or clothing (-1207917085) elsif template_id = 162889564 or template_id = 1120303977 or template_id = -200781577 or template_id = -1966544754 or template_id = -754298423 or template_id = -1207917085 then if slot_map.exists('draftSchematic') then if slot_map('draftSchematic') < 21 then template_id := SchematicMap(to_number(Obj_ObjVars(slot_map('draftSchematic')).objvar_value)); else template_id := SchematicMap(to_number(OV_ObjVars('draftSchematic').objvar_value)); end if; isFactory := TRUE; prefix := 'crafting_attributes.crafting:'; DeleteObjVar('ingr.*'); end if; end if; -- Do the conversions -- ****** BEGIN ARMOR CONVERSION RULES ****** --object/tangible/wearables/armor/bone/armor_bone_s01_bicep_l.iff if template_id = 1386184862 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bicep_l_conversion'); end if; end if; --object/tangible/wearables/armor/bone/armor_bone_s01_bicep_r.iff elsif template_id = 575325453 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bicep_r_conversion'); end if; end if; --object/tangible/wearables/armor/bone/armor_bone_s01_bracer_l.iff elsif template_id = 1185807341 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_l_conversion'); end if; end if; --object/tangible/wearables/armor/bone/armor_bone_s01_bracer_r.iff elsif template_id = 913882750 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_r_conversion'); end if; end if; --object/tangible/wearables/armor/bone/armor_bone_s01_chest_plate.iff elsif template_id = 1994709940 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/bone/armor_bone_s01_helmet.iff elsif template_id = 301359835 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/bone/armor_bone_s01_leggings.iff elsif template_id = -913758478 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/bone/gp_armor_bone_bicep_l.iff elsif template_id = 306929321 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bicep_l_conversion'); end if; end if; --object/tangible/wearables/armor/bone/gp_armor_bone_bicep_r.iff elsif template_id = 1654528826 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bicep_r_conversion'); end if; end if; --object/tangible/wearables/armor/bone/gp_armor_bone_bracer_l.iff elsif template_id = -1493844838 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_l_conversion'); end if; end if; --object/tangible/wearables/armor/bone/gp_armor_bone_bracer_r.iff elsif template_id = -702482167 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_r_conversion'); end if; end if; --object/tangible/wearables/armor/bone/gp_armor_bone_chest_plate.iff elsif template_id = 1360182635 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/bone/gp_armor_bone_helmet.iff elsif template_id = -1831667261 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/bone/gp_armor_bone_leggings.iff elsif template_id = 701587845 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/armor_chitin_s01_bicep_l.iff elsif template_id = 1026806068 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bicep_l_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/armor_chitin_s01_bicep_r.iff elsif template_id = 1306956967 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bicep_r_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/armor_chitin_s01_bracer_l.iff elsif template_id = 2115381959 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bracer_l_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/armor_chitin_s01_bracer_r.iff elsif template_id = 247689044 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bracer_r_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/armor_chitin_s01_chest_plate.iff elsif template_id = 725211246 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/armor_chitin_s01_helmet.iff elsif template_id = -59921878 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/armor_chitin_s01_leggings.iff elsif template_id = -248317992 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/energy_armor_chitin_bicep_l.iff elsif template_id = -171534277 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bicep_l_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/energy_armor_chitin_bicep_r.iff elsif template_id = -2062295640 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bicep_r_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/energy_armor_chitin_bracer_l.iff elsif template_id = -253929242 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bracer_l_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/energy_armor_chitin_bracer_r.iff elsif template_id = -2146951819 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bracer_r_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/energy_armor_chitin_chest_plate.iff elsif template_id = 1042717208 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/energy_armor_chitin_helmet.iff elsif template_id = -175663469 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/chitin/energy_armor_chitin_leggings.iff elsif template_id = 2147059193 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/composite/armor_composite_bicep_l.iff elsif template_id = 748768172 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bicep_l_conversion'); end if; end if; --object/tangible/wearables/armor/composite/armor_composite_bicep_r.iff elsif template_id = 1551109695 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bicep_r_conversion'); end if; end if; --object/tangible/wearables/armor/composite/armor_composite_bracer_l.iff elsif template_id = -1537444864 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bracer_l_conversion'); end if; end if; --object/tangible/wearables/armor/composite/armor_composite_bracer_r.iff elsif template_id = -729206381 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bracer_r_conversion'); end if; end if; --object/tangible/wearables/armor/composite/armor_composite_chest_plate.iff elsif template_id = 1231025524 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/composite/armor_composite_helmet.iff elsif template_id = -1779280762 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/composite/armor_composite_leggings.iff elsif template_id = 729327903 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_defender/ith_armor_s01_bicep_l.iff elsif template_id = -255400918 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_l_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bicep_l_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_defender/ith_armor_s01_bicep_r.iff elsif template_id = -2146197063 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_r_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bicep_r_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_defender/ith_armor_s01_bracer_l.iff elsif template_id = -412867955 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_l_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_defender/ith_armor_s01_bracer_r.iff elsif template_id = -1749981410 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_r_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_defender/ith_armor_s01_chest_plate.iff elsif template_id = 1756768751 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_chest_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_defender/ith_armor_s01_helmet.iff elsif template_id = -286929665 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_helmet_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_defender/ith_armor_s01_leggings.iff elsif template_id = 1749090194 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_leggings_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_guardian/ith_armor_s02_bicep_l.iff elsif template_id = 183123522 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_l_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_bicep_l_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_guardian/ith_armor_s02_bicep_r.iff elsif template_id = 2050980817 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_r_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_bicep_r_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_guardian/ith_armor_s02_bracer_l.iff elsif template_id = 1837916498 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_bracer_l_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_guardian/ith_armor_s02_bracer_r.iff elsif template_id = 492381377 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_bracer_r_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_guardian/ith_armor_s02_chest_plate.iff elsif template_id = 108052567 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_chest_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_guardian/ith_armor_s02_helmet.iff elsif template_id = 364712723 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_helmet_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_guardian/ith_armor_s02_leggings.iff elsif template_id = -492258227 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_leggings_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_sentinel/ith_armor_s03_bicep_l.iff elsif template_id = 1926737359 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_l_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bicep_l_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_sentinel/ith_armor_s03_bicep_r.iff elsif template_id = 33744988 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_r_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bicep_r_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_sentinel/ith_armor_s03_bracer_l.iff elsif template_id = -1767695347 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bracer_l_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_sentinel/ith_armor_s03_bracer_r.iff elsif template_id = -428451426 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bracer_r_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_sentinel/ith_armor_s03_chest_plate.iff elsif template_id = -1520174324 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_chest_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_sentinel/ith_armor_s03_helmet.iff elsif template_id = -907953840 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_helmet_ith_conversion'); end if; end if; --object/tangible/wearables/armor/ithorian_sentinel/ith_armor_s03_leggings.iff elsif template_id = 428327186 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_ith_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_leggings_ith_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_black_mtn/armor_kashyyykian_black_mtn_bracer_l.iff elsif template_id = -1877836182 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_l_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_black_mtn/armor_kashyyykian_black_mtn_bracer_r.iff elsif template_id = -523813895 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_r_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_black_mtn/armor_kashyyykian_black_mtn_chest_plate.iff elsif template_id = 66083222 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_chest_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_black_mtn/armor_kashyyykian_black_mtn_leggings.iff elsif template_id = 523674485 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_leggings_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_ceremonial/armor_kashyyykian_ceremonial_bracer_l.iff elsif template_id = 1974187109 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_bracer_l_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_ceremonial/armor_kashyyykian_ceremonial_bracer_r.iff elsif template_id = 92205558 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_bracer_r_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_ceremonial/armor_kashyyykian_ceremonial_chest_plate.iff elsif template_id = 856491201 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_chest_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_ceremonial/armor_kashyyykian_ceremonial_leggings.iff elsif template_id = -91264646 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_leggings_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_hunting/armor_kashyyykian_hunting_bracer_l.iff elsif template_id = 811367898 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bracer_l_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_hunting/armor_kashyyykian_hunting_bracer_r.iff elsif template_id = 1082734665 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_bracer_r_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_hunting/armor_kashyyykian_hunting_chest_plate.iff elsif template_id = 1193819287 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_chest_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_hunting/armor_kashyyykian_hunting_leggings.iff elsif template_id = -1082613563 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer15',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_wookie_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer15',2,'0.454545'); AddScript('item.conversion.armor_leggings_wookie_conversion'); end if; end if; --object/tangible/wearables/armor/padded/armor_padded_s01_bicep_l.iff elsif template_id = 525967921 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bicep_l_conversion'); end if; end if; --object/tangible/wearables/armor/padded/armor_padded_s01_bicep_r.iff elsif template_id = 1871505314 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bicep_r_conversion'); end if; end if; --object/tangible/wearables/armor/padded/armor_padded_s01_bracer_l.iff elsif template_id = -2050710967 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_l_conversion'); end if; end if; --object/tangible/wearables/armor/padded/armor_padded_s01_bracer_r.iff elsif template_id = -183375910 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_r_conversion'); end if; end if; --object/tangible/wearables/armor/padded/armor_padded_s01_chest_plate.iff elsif template_id = 689622929 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/padded/armor_padded_s01_helmet.iff elsif template_id = -78543095 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/padded/armor_padded_s01_leggings.iff elsif template_id = 182484822 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/padded/impact_armor_padded_bicep_l.iff elsif template_id = -954052477 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bicep_l_conversion'); end if; end if; --object/tangible/wearables/armor/padded/impact_armor_padded_bicep_r.iff elsif template_id = -1208543984 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bicep_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bicep_r_conversion'); end if; end if; --object/tangible/wearables/armor/padded/impact_armor_padded_bracer_l.iff elsif template_id = -911886824 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_l_conversion'); end if; end if; --object/tangible/wearables/armor/padded/impact_armor_padded_bracer_r.iff elsif template_id = -1183779957 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_bracer_r_conversion'); end if; end if; --object/tangible/wearables/armor/padded/impact_armor_padded_chest_plate.iff elsif template_id = -343994769 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/padded/impact_armor_padded_helmet.iff elsif template_id = -40666442 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/padded/impact_armor_padded_leggings.iff elsif template_id = 1182886663 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/ris/armor_ris_bicep_l.iff elsif template_id = 774778471 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.risDeconstruct',0,'1'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_ris'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.risDeconstruct',0,'1'); AddScript('item.conversion.armor_ris'); end if; end if; --object/tangible/wearables/armor/ris/armor_ris_bicep_r.iff elsif template_id = 1593535476 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.risDeconstruct',0,'1'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_ris'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.risDeconstruct',0,'1'); AddScript('item.conversion.armor_ris'); end if; end if; --object/tangible/wearables/armor/ris/armor_ris_bracer_l.iff elsif template_id = 582714478 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.risDeconstruct',0,'1'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_ris'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.risDeconstruct',0,'1'); AddScript('item.conversion.armor_ris'); end if; end if; --object/tangible/wearables/armor/ris/armor_ris_bracer_r.iff elsif template_id = 1382990333 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.risDeconstruct',0,'1'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_ris'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.risDeconstruct',0,'1'); AddScript('item.conversion.armor_ris'); end if; end if; --object/tangible/wearables/armor/ris/armor_ris_chest_plate.iff elsif template_id = -1832625049 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.risDeconstruct',0,'1'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_ris'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.risDeconstruct',0,'1'); AddScript('item.conversion.armor_ris'); end if; end if; --object/tangible/wearables/armor/ris/armor_ris_helmet.iff elsif template_id = 1932522632 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.risDeconstruct',0,'1'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_ris'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.risDeconstruct',0,'1'); AddScript('item.conversion.armor_ris'); end if; end if; --object/tangible/wearables/armor/ris/armor_ris_leggings.iff elsif template_id = -1382065807 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.risDeconstruct',0,'1'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_ris'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.risDeconstruct',0,'1'); AddScript('item.conversion.armor_ris'); end if; end if; --object/tangible/wearables/armor/tantel/armor_tantel_skreej_chest_plate.iff elsif template_id = -653428823 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/tantel/armor_tantel_skreej_chest_plate_quest.iff elsif template_id = -1993339022 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/tantel/armor_tantel_skreej_helmet.iff elsif template_id = 1855229351 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/tantel/armor_tantel_skreej_helmet_quest.iff elsif template_id = 275564031 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/zam/armor_zam_wesell_chest_plate.iff elsif template_id = -420003189 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/zam/armor_zam_wesell_chest_plate_quest.iff elsif template_id = 309375847 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/zam/armor_zam_wesell_helmet.iff elsif template_id = 1289593246 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/zam/armor_zam_wesell_helmet_quest.iff elsif template_id = 103036882 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/zam/armor_zam_wesell_pants.iff elsif template_id = 416123005 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/zam/armor_zam_wesell_pants_quest.iff elsif template_id = -469920034 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/ubese/armor_ubese_bracer_l.iff elsif template_id = -779152232 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_l_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_bracer_l_conversion'); end if; end if; --object/tangible/wearables/armor/ubese/armor_ubese_bracer_r.iff elsif template_id = -1587916533 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_bracer_r_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_bracer_r_conversion'); end if; end if; --object/tangible/wearables/armor/ubese/armor_ubese_helmet.iff elsif template_id = 500476724 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/ubese/armor_ubese_helmet_quest.iff elsif template_id = -320086751 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_helmet_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_helmet_conversion'); end if; end if; --object/tangible/wearables/armor/ubese/armor_ubese_jacket.iff elsif template_id = 678412834 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/ubese/armor_ubese_jacket_quest.iff elsif template_id = 1436153762 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_chest_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_chest_conversion'); end if; end if; --object/tangible/wearables/armor/ubese/armor_ubese_pants.iff elsif template_id = -177674793 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/ubese/armor_ubese_pants_quest.iff elsif template_id = -1886457751 then if isFactory = TRUE then if armor_item_gp.exists(to_char(object_id + 1)) then n := armor_item_gp(to_char(object_id + 1)); v := GetObjVarValue ('crafting.source_schematic'); armor_crate_gp(v) := n; AddObjVar('crafting_attributes.crafting:general_protection',2,n); AddObjVar('crafting_components.scaled.layer14',2,'0.454545'); AddObjVar('addArmorRefitScript',4,'item.conversion.armor_leggings_conversion'); end if; else v := GetObjVarValue ('crafting.source_schematic'); if v is not null and armor_crate_gp.exists(v) then n := armor_crate_gp(v); AddObjVar('armor.general_protection',2,n); AddObjVar('armor.layer14',2,'0.454545'); AddScript('item.conversion.armor_leggings_conversion'); end if; end if; --object/tangible/wearables/armor/kashyyykian_black_mtn/armor_kashyyykian_black_mtn_chest_plate.iff elsif template_id = 66083222 then AddObjVar('armor.wookieeDeconstruct',0,1); AddScript('item.conversion.armor_wookiee'); --object/tangible/wearables/armor/kashyyykian_hunting/armor_kashyyykian_hunting_chest_plate.iff elsif template_id = 1193819287 then AddObjVar('armor.wookieeDeconstruct',0,1); AddScript('item.conversion.armor_wookiee'); --object/tangible/wearables/armor/kashyyykian_ceremonial/armor_kashyyykian_ceremonial_chest_plate.iff elsif template_id = 856491201 then AddObjVar('armor.wookieeDeconstruct',0,1); AddScript('item.conversion.armor_wookiee'); -- ****** BEGIN ARMOR COMPONENT CONVERSION RULES ****** --object/tangible/component/armor/armor_layer_nightsister.iff elsif template_id = 2086609620 then AddObjVar('attribute.bonus.0',0,'20'); --object/tangible/component/armor/armor_layer_ris.iff elsif template_id = 110363758 then AddObjVar('attribute.bonus.0',0,'25'); --object/tangible/component/armor/feather_peko_albatross.iff elsif template_id = -1958737672 then AddObjVar('attribute.bonus.0',0,'20'); --object/tangible/component/armor/armor_segment_enhancement_dragonet.iff elsif template_id = 227937004 then AddObjVar('attribute.bonus.0',0,'5'); -- ****** BEGIN WEAPON CONVERSION RULES ****** --component/blaster_power_handler elsif template_id = 702649693 then DeleteObjVar(prefix || 'woundChance'); --component/blaster_power_handler_advanced elsif template_id = 34919568 then DeleteObjVar(prefix || 'woundChance'); --component/chemical_dispersion_mechanism elsif template_id = -1382616459 then DeleteObjVar(prefix || 'attackSpeed'); DeleteObjVar(prefix || 'woundChance'); --component/chemical_dispersion_mechanism_advanced elsif template_id = -900058289 then DeleteObjVar(prefix || 'attackSpeed'); DeleteObjVar(prefix || 'woundChance'); --component/projectile_feed_mechanism elsif template_id = -1474613882 then DeleteObjVar(prefix || 'woundChance'); --component/projectile_feed_mechanism_advanced elsif template_id = 590597969 then DeleteObjVar(prefix || 'woundChance'); --component/scope_weapon elsif template_id = 403078591 then DeleteObjVar(prefix || 'minDamage'); DeleteObjVar(prefix || 'maxDamage'); --component/scope_weapon_advanced elsif template_id = -269033971 then DeleteObjVar(prefix || 'minDamage'); DeleteObjVar(prefix || 'maxDamage'); --component/stock elsif template_id = -651693115 then DeleteObjVar(prefix || 'minDamage'); DeleteObjVar(prefix || 'maxDamage'); --component/stock_advanced elsif template_id = -1571384798 then DeleteObjVar(prefix || 'minDamage'); DeleteObjVar(prefix || 'maxDamage'); --quest_rifle_projectile_tusken elsif template_id = 981088834 then DeleteObjVar('weapon.strCertUsed'); --battleaxe elsif template_id = -637703116 then DeleteObjVar('weapon.strCertUsed'); --battleaxe_quest elsif template_id = -1779174489 then DeleteObjVar('weapon.strCertUsed'); --executioners_hack elsif template_id = 1840338268 then DeleteObjVar('weapon.strCertUsed'); --cleaver elsif template_id = 237038605 then DeleteObjVar('weapon.strCertUsed'); --katana elsif template_id = 653612816 then DeleteObjVar('weapon.strCertUsed'); --katana_quest elsif template_id = 1608037452 then DeleteObjVar('weapon.strCertUsed'); --maul elsif template_id = -613167286 then DeleteObjVar('weapon.strCertUsed'); --2h_sword_scythe elsif template_id = -245341807 then DeleteObjVar('weapon.strCertUsed'); --quest_battleaxe elsif template_id = -1019635633 then DeleteObjVar('weapon.strCertUsed'); --quest_maul elsif template_id = -449112830 then DeleteObjVar('weapon.strCertUsed'); --axe elsif template_id = -526113597 then DeleteObjVar('weapon.strCertUsed'); --axe_vibroaxe elsif template_id = 589649861 then DeleteObjVar('weapon.strCertUsed'); --baton_gaderiffi elsif template_id = -20005656 then DeleteObjVar('weapon.strCertUsed'); --baton_stun elsif template_id = 257663710 then DeleteObjVar('weapon.strCertUsed'); --victor_baton_gaderiffi elsif template_id = -639753330 then DeleteObjVar('weapon.strCertUsed'); --knife_twilek_dagger elsif template_id = -730685311 then DeleteObjVar('weapon.strCertUsed'); --knife_donkuwah elsif template_id = -130243512 then DeleteObjVar('weapon.strCertUsed'); --knife_janta elsif template_id = 1756821101 then DeleteObjVar('weapon.strCertUsed'); --knife_stone elsif template_id = -1501822488 then DeleteObjVar('weapon.strCertUsed'); --knife_survival elsif template_id = -132487792 then DeleteObjVar('weapon.strCertUsed'); --knife_vibroblade elsif template_id = 1982554682 then DeleteObjVar('weapon.strCertUsed'); --knife_vibroblade_quest elsif template_id = -913097330 then DeleteObjVar('weapon.strCertUsed'); --lance_vibro_controller_fp elsif template_id = -402333683 then DeleteObjVar('weapon.strCertUsed'); --lance_vibro_nightsister elsif template_id = -1811261900 then DeleteObjVar('weapon.strCertUsed'); --lance_nightsister elsif template_id = -1178706532 then DeleteObjVar('weapon.strCertUsed'); --staff_janta elsif template_id = -1137089652 then DeleteObjVar('weapon.strCertUsed'); --staff_metal elsif template_id = -473813792 then DeleteObjVar('weapon.strCertUsed'); --staff elsif template_id = -718648728 then DeleteObjVar('weapon.strCertUsed'); --staff_reinforced elsif template_id = 238936831 then DeleteObjVar('weapon.strCertUsed'); --lance_vibro elsif template_id = 1358850609 then DeleteObjVar('weapon.strCertUsed'); --axe_vibro elsif template_id = -1088166271 then DeleteObjVar('weapon.strCertUsed'); --knuckler_vibro elsif template_id = 102348899 then DeleteObjVar('weapon.strCertUsed'); --sword elsif template_id = -673780945 then DeleteObjVar('weapon.strCertUsed'); --sword_curved elsif template_id = 213992376 then DeleteObjVar('weapon.strCertUsed'); --sword_ryyk_blade elsif template_id = -1330392160 then DeleteObjVar('weapon.strCertUsed'); --sword_curved_nyax elsif template_id = 1834662895 then DeleteObjVar('weapon.strCertUsed'); --sword_nyax elsif template_id = -1781845673 then DeleteObjVar('weapon.strCertUsed'); --sword_rantok elsif template_id = 1214765971 then DeleteObjVar('weapon.strCertUsed'); --carbine_blaster_cdef elsif template_id = -1213235742 then DeleteObjVar('weapon.strCertUsed'); --carbine_blaster_cdef_corsec elsif template_id = -1498919413 then DeleteObjVar('weapon.strCertUsed'); --rifle_light_blaster_dh17_carbine elsif template_id = -1109444980 then DeleteObjVar('weapon.strCertUsed'); --rifle_light_blaster_dh17_carbine_black elsif template_id = -379196495 then DeleteObjVar('weapon.strCertUsed'); --rifle_light_blaster_dh17_carbine_snubnose elsif template_id = 648215202 then DeleteObjVar('weapon.strCertUsed'); --rifle_disrupter_dxr6 elsif template_id = -279076105 then DeleteObjVar('weapon.strCertUsed'); --carbine_e11_mk2 elsif template_id = -2138350593 then DeleteObjVar('weapon.strCertUsed'); --rifle_light_blaster_e11_carbine_quest elsif template_id = -1839044042 then DeleteObjVar('weapon.strCertUsed'); --rifle_light_blaster_e11_carbine_victor elsif template_id = -1601393927 then DeleteObjVar('weapon.strCertUsed'); --rifle_light_blaster_ee3 elsif template_id = 418740352 then DeleteObjVar('weapon.strCertUsed'); --carbine_e5 elsif template_id = 1778522271 then DeleteObjVar('weapon.strCertUsed'); --rifle_light_blaster_laser_carbine elsif template_id = 764829944 then DeleteObjVar('weapon.strCertUsed'); --carbine_nym_slugthrower elsif template_id = -627137144 then DeleteObjVar('weapon.strCertUsed'); --heavy_acid_beam elsif template_id = 100102071 then DeleteObjVar('weapon.strCertUsed'); --heavy_lightning_beam elsif template_id = 949442296 then DeleteObjVar('weapon.strCertUsed'); --heavy_particle_beam elsif template_id = 180006972 then DeleteObjVar('weapon.strCertUsed'); --heavy_rocket_launcher elsif template_id = -926822510 then DeleteObjVar('weapon.strCertUsed'); --quest_heavy_acid_beam elsif template_id = -633473500 then DeleteObjVar('weapon.strCertUsed'); --quest_heavy_particle_beam elsif template_id = 451466626 then DeleteObjVar('weapon.strCertUsed'); --pistol_blaster_cdef elsif template_id = -82570045 then DeleteObjVar('weapon.strCertUsed'); --pistol_blaster_cdef_corsec elsif template_id = -860173634 then DeleteObjVar('weapon.strCertUsed'); --pistol_blaster_d18 elsif template_id = 252668529 then DeleteObjVar('weapon.strCertUsed'); --pistol_de_10 elsif template_id = 1866781530 then DeleteObjVar('weapon.strCertUsed'); --pistol_blaster_dh17 elsif template_id = -245080147 then DeleteObjVar('weapon.strCertUsed'); --pistol_blaster_dl44 elsif template_id = 1684501073 then DeleteObjVar('weapon.strCertUsed'); --pistol_blaster_dl44_metal elsif template_id = -1925049902 then DeleteObjVar('weapon.strCertUsed'); --pistol_disrupter_dx2 elsif template_id = -837691545 then DeleteObjVar('weapon.strCertUsed'); --pistol_flechette_fwg5 elsif template_id = -1792584100 then DeleteObjVar('weapon.strCertUsed'); --pistol_flechette_fwg5_quest elsif template_id = -1340116130 then DeleteObjVar('weapon.strCertUsed'); --pistol_geo_sonic_blaster elsif template_id = -1400940656 then DeleteObjVar('weapon.strCertUsed'); --pistol_launcher elsif template_id = 1980615506 then DeleteObjVar('weapon.strCertUsed'); --pistol_blaster_power5 elsif template_id = 1687234741 then DeleteObjVar('weapon.strCertUsed'); --pistol_republic_blaster elsif template_id = -2032619870 then DeleteObjVar('weapon.strCertUsed'); --pistol_republic_blaster_quest elsif template_id = 1070818136 then DeleteObjVar('weapon.strCertUsed'); --pistol_scatter elsif template_id = 322519616 then DeleteObjVar('weapon.strCertUsed'); --pistol_blaster_scout_trooper elsif template_id = 129228399 then DeleteObjVar('weapon.strCertUsed'); --pistol_blaster_scout_trooper_corsec elsif template_id = -1929515589 then DeleteObjVar('weapon.strCertUsed'); --pistol_blaster_short_range_combat elsif template_id = 1691705957 then DeleteObjVar('weapon.strCertUsed'); --pistol_projectile_striker elsif template_id = -1919723538 then DeleteObjVar('weapon.strCertUsed'); --rifle_tanlge_gun7 elsif template_id = -937385248 then DeleteObjVar('weapon.strCertUsed'); --quest_pistol_launcher elsif template_id = 685231719 then DeleteObjVar('weapon.strCertUsed'); --quest_pistol_republic_blaster_quest elsif template_id = -1340981329 then DeleteObjVar('weapon.strCertUsed'); --quest_rifle_flame_thrower elsif template_id = -1238955746 then DeleteObjVar('weapon.strCertUsed'); --quest_rifle_lightning elsif template_id = -656409820 then DeleteObjVar('weapon.strCertUsed'); --rifle_acid_beam elsif template_id = -67541093 then DeleteObjVar('weapon.strCertUsed'); --rifle_beam elsif template_id = 1223042704 then DeleteObjVar('weapon.strCertUsed'); --rifle_berserker elsif template_id = 1646698389 then DeleteObjVar('weapon.strCertUsed'); --bowcaster_assault elsif template_id = -1930572145 then DeleteObjVar('weapon.strCertUsed'); --rifle_blaster_cdef elsif template_id = -1437726662 then DeleteObjVar('weapon.strCertUsed'); --rifle_blaster_dlt20 elsif template_id = -2118141076 then DeleteObjVar('weapon.strCertUsed'); --rifle_blaster_dlt20a elsif template_id = -1354942232 then DeleteObjVar('weapon.strCertUsed'); --rifle_blaster_e11 elsif template_id = 709369610 then DeleteObjVar('weapon.strCertUsed'); --rifle_flame_thrower elsif template_id = -205520309 then DeleteObjVar('weapon.strCertUsed'); --rifle_blaster_ionization_jawa elsif template_id = -603889252 then DeleteObjVar('weapon.strCertUsed'); --rifle_blaster_laser_rifle elsif template_id = -1321212581 then DeleteObjVar('weapon.strCertUsed'); --rifle_lightning elsif template_id = 397924793 then DeleteObjVar('weapon.strCertUsed'); --rifle_sonic_sg82 elsif template_id = -1148251186 then DeleteObjVar('weapon.strCertUsed'); --rifle_spray_stick_stohli elsif template_id = 2069010987 then DeleteObjVar('weapon.strCertUsed'); --rifle_t21 elsif template_id = -1374316705 then DeleteObjVar('weapon.strCertUsed'); --rifle_disruptor_dxr6 elsif template_id = -1428709338 then DeleteObjVar('weapon.strCertUsed'); --rifle_projectile_tusken elsif template_id = -2024883534 then DeleteObjVar('weapon.strCertUsed'); --rifle_victor_projectile_tusken elsif template_id = -896708611 then DeleteObjVar('weapon.strCertUsed'); --bug_bomb elsif template_id = 1325615183 then DeleteObjVar('weapon.strCertUsed'); ConvertAttackSpeed(rangeTableType(rangeType(100,120,100,120),rangeType(120,1000,100,100),rangeType(1000,1200,100,120))); --cryoban elsif template_id = 1007504804 then DeleteObjVar('weapon.strCertUsed'); ConvertAttackSpeed(rangeTableType(rangeType(100,120,100,120),rangeType(120,1000,100,100),rangeType(1000,1200,100,120))); --cryoban_loot_medium elsif template_id = 1775069676 then DeleteObjVar('weapon.strCertUsed'); ConvertAttackSpeed(rangeTableType(rangeType(100,120,100,120),rangeType(120,1000,100,100),rangeType(1000,1200,100,120))); --fragmentation elsif template_id = -1629773375 then DeleteObjVar('weapon.strCertUsed'); ConvertAttackSpeed(rangeTableType(rangeType(100,120,100,120),rangeType(120,1000,100,100),rangeType(1000,1200,100,120))); --fragmentation_light elsif template_id = 1333331720 then DeleteObjVar('weapon.strCertUsed'); ConvertAttackSpeed(rangeTableType(rangeType(100,120,100,120),rangeType(120,1000,100,100),rangeType(1000,1200,100,120))); --glop elsif template_id = 869624722 then DeleteObjVar('weapon.strCertUsed'); ConvertAttackSpeed(rangeTableType(rangeType(100,120,100,120),rangeType(120,1000,100,100),rangeType(1000,1200,100,120))); --imperial_detonator elsif template_id = 247923643 then DeleteObjVar('weapon.strCertUsed'); ConvertAttackSpeed(rangeTableType(rangeType(100,120,100,120),rangeType(120,1000,100,100),rangeType(1000,1200,100,120))); --proton elsif template_id = -631441882 then DeleteObjVar('weapon.strCertUsed'); ConvertAttackSpeed(rangeTableType(rangeType(100,120,100,120),rangeType(120,1000,100,100),rangeType(1000,1200,100,120))); --thermal_detonator elsif template_id = -1328960537 then DeleteObjVar('weapon.strCertUsed'); ConvertAttackSpeed(rangeTableType(rangeType(100,120,100,120),rangeType(120,1000,100,100),rangeType(1000,1200,100,120))); --object\weapon\melee\unarmed\unarmed_default_player.iff elsif template_id = 2131722719 then DeleteObjVar('weapon.strCertUsed'); SetAttackSpeed(2); SetAttackCost(100); SetMinRange(0); SetMaxRange(5); -- x****** BEGIN POWERUP CONVERSION RULES ****** -- ****** BEGIN SABER CONVERSION RULES ****** --object/weapon/melee/sword/crafted_saber/sword_lightsaber_training.iff elsif template_id = 1530854406 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/sword/crafted_saber/sword_lightsaber_one_handed_gen1.iff elsif template_id = -255701924 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/sword/crafted_saber/sword_lightsaber_one_handed_gen2.iff elsif template_id = 735438027 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/sword/crafted_saber/sword_lightsaber_one_handed_gen3.iff elsif template_id = 1658356550 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/sword/crafted_saber/sword_lightsaber_one_handed_gen4.iff elsif template_id = -1724143534 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/sword/crafted_saber/sword_lightsaber_one_handed_gen5.iff elsif template_id = -801714209 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/polearm/crafted_saber/sword_lightsaber_polearm_gen1.iff elsif template_id = -181151130 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/polearm/crafted_saber/sword_lightsaber_polearm_gen2.iff elsif template_id = 774140657 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/polearm/crafted_saber/sword_lightsaber_polearm_gen3.iff elsif template_id = 1730745724 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/polearm/crafted_saber/sword_lightsaber_polearm_gen4.iff elsif template_id = -1664467352 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/2h_sword/crafted_saber/sword_lightsaber_two_handed_gen1.iff elsif template_id = 431995434 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/2h_sword/crafted_saber/sword_lightsaber_two_handed_gen2.iff elsif template_id = -1029172547 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/2h_sword/crafted_saber/sword_lightsaber_two_handed_gen3.iff elsif template_id = -1952090832 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; --object/weapon/melee/2h_sword/crafted_saber/sword_lightsaber_two_handed_gen4.iff elsif template_id = 1883659812 then AddObjVar ('jedi.saber.base_stats.attack_cost', 0, 100); weapon_attribs.attack_cost := 100; -- x****** BEGIN FOOD CONVERSION RULES ****** -- x****** BEGIN MEDICINE CONVERSION RULES ****** -- x****** BEGIN SPICE CONVERSION RULES ****** end if; -- Save the changes if isObjModified = TRUE then begin stmt := 'update objects set ' || 'objvar_0_name = :o0n, objvar_0_type = :o0t, objvar_0_value = :o0v, ' || 'objvar_1_name = :o1n, objvar_1_type = :o1t, objvar_1_value = :o1v, ' || 'objvar_2_name = :o2n, objvar_2_type = :o2t, objvar_2_value = :o2v, ' || 'objvar_3_name = :o3n, objvar_3_type = :o3t, objvar_3_value = :o3v, ' || 'objvar_4_name = :o4n, objvar_4_type = :o4t, objvar_4_value = :o4v, ' || 'objvar_5_name = :o5n, objvar_5_type = :o5t, objvar_5_value = :o5v, ' || 'objvar_6_name = :o6n, objvar_6_type = :o6t, objvar_6_value = :o6v, ' || 'objvar_7_name = :o7n, objvar_7_type = :o7t, objvar_7_value = :o7v, ' || 'objvar_8_name = :o8n, objvar_8_type = :o8t, objvar_8_value = :o8v, ' || 'objvar_9_name = :o9n, objvar_9_type = :o9t, objvar_9_value = :o9v, ' || 'objvar_10_name = :o10n, objvar_10_type = :o10t, objvar_10_value = :o10v, ' || 'objvar_11_name = :o11n, objvar_11_type = :o11t, objvar_11_value = :o11v, ' || 'objvar_12_name = :o12n, objvar_12_type = :o12t, objvar_12_value = :o12v, ' || 'objvar_13_name = :o13n, objvar_13_type = :o13t, objvar_13_value = :o13v, ' || 'objvar_14_name = :o14n, objvar_14_type = :o14t, objvar_14_value = :o14v, ' || 'objvar_15_name = :o15n, objvar_15_type = :o15t, objvar_15_value = :o15v, ' || 'objvar_16_name = :o16n, objvar_16_type = :o16t, objvar_16_value = :o16v, ' || 'objvar_17_name = :o17n, objvar_17_type = :o17t, objvar_17_value = :o17v, ' || 'objvar_18_name = :o18n, objvar_18_type = :o18t, objvar_18_value = :o18v, ' || 'objvar_19_name = :o19n, objvar_19_type = :o19t, objvar_19_value = :o19v, ' || 'script_list = :sl, object_template_id = :otid, ' || 'object_name = :obn, name_string_table = :nstb, name_string_text = :nstx, ' || 'conversion_id = :version ' || 'where object_id = :id'; execute immediate stmt using Obj_ObjVars(1).objvar_name, Obj_ObjVars(1).objvar_type, Obj_ObjVars(1).objvar_value, Obj_ObjVars(2).objvar_name, Obj_ObjVars(2).objvar_type, Obj_ObjVars(2).objvar_value, Obj_ObjVars(3).objvar_name, Obj_ObjVars(3).objvar_type, Obj_ObjVars(3).objvar_value, Obj_ObjVars(4).objvar_name, Obj_ObjVars(4).objvar_type, Obj_ObjVars(4).objvar_value, Obj_ObjVars(5).objvar_name, Obj_ObjVars(5).objvar_type, Obj_ObjVars(5).objvar_value, Obj_ObjVars(6).objvar_name, Obj_ObjVars(6).objvar_type, Obj_ObjVars(6).objvar_value, Obj_ObjVars(7).objvar_name, Obj_ObjVars(7).objvar_type, Obj_ObjVars(7).objvar_value, Obj_ObjVars(8).objvar_name, Obj_ObjVars(8).objvar_type, Obj_ObjVars(8).objvar_value, Obj_ObjVars(9).objvar_name, Obj_ObjVars(9).objvar_type, Obj_ObjVars(9).objvar_value, Obj_ObjVars(10).objvar_name, Obj_ObjVars(10).objvar_type, Obj_ObjVars(10).objvar_value, Obj_ObjVars(11).objvar_name, Obj_ObjVars(11).objvar_type, Obj_ObjVars(11).objvar_value, Obj_ObjVars(12).objvar_name, Obj_ObjVars(12).objvar_type, Obj_ObjVars(12).objvar_value, Obj_ObjVars(13).objvar_name, Obj_ObjVars(13).objvar_type, Obj_ObjVars(13).objvar_value, Obj_ObjVars(14).objvar_name, Obj_ObjVars(14).objvar_type, Obj_ObjVars(14).objvar_value, Obj_ObjVars(15).objvar_name, Obj_ObjVars(15).objvar_type, Obj_ObjVars(15).objvar_value, Obj_ObjVars(16).objvar_name, Obj_ObjVars(16).objvar_type, Obj_ObjVars(16).objvar_value, Obj_ObjVars(17).objvar_name, Obj_ObjVars(17).objvar_type, Obj_ObjVars(17).objvar_value, Obj_ObjVars(18).objvar_name, Obj_ObjVars(18).objvar_type, Obj_ObjVars(18).objvar_value, Obj_ObjVars(19).objvar_name, Obj_ObjVars(19).objvar_type, Obj_ObjVars(19).objvar_value, Obj_ObjVars(20).objvar_name, Obj_ObjVars(20).objvar_type, Obj_ObjVars(20).objvar_value, script_list, new_template_id, object_name, name_table, name_text, conversion_id, object_id; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in object update(' || object_id || ') - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in object update'); end; end if; if isWeaponObj = TRUE then begin stmt := 'update weapon_objects set ' || 'min_damage = :mindam, ' || 'max_damage = :maxdam, ' || 'attack_speed = :spd, ' || 'wound_chance = :wnd, ' || 'accuracy = :accuracy, ' || 'attack_cost = :ac, ' || 'min_range = :mindrng, ' || 'max_range = :maxrng, ' || 'damage_type = :dmgtype, ' || 'elemental_type = :eletype, ' || 'elemental_value = :elevalue ' || 'where object_id = :id'; execute immediate stmt using weapon_attribs.min_damage, weapon_attribs.max_damage, weapon_attribs.attack_speed, weapon_attribs.wound_chance, weapon_attribs.accuracy, weapon_attribs.attack_cost, weapon_attribs.min_range, weapon_attribs.max_range, weapon_attribs.damage_type, weapon_attribs.elemental_type, weapon_attribs.elemental_value, object_id; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in weapon update(' || object_id || ') - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in weapon update'); end; end if; i := deleted_objvars.first; while i is not null loop begin stmt := 'delete from object_variables ' || 'where object_id = :id and name_id = :oldname'; execute immediate stmt using object_id, OV_ObjVars(deleted_objvars(i)).old_objvar_name_id; i := deleted_objvars.next(i); exception when others then err_num := SQLCODE; dbms_output.put_line('Error (' || SQLERRM(err_num) || ') with deleted_objvars(' || object_id || ') - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error with deleted_objvars'); i := deleted_objvars.next(i); end; end loop; i := added_objvars.first; while i is not null loop begin stmt := 'insert into object_variables values ' || '(:id, :name, :type, :value, 0)'; execute immediate stmt using object_id, OV_ObjVars(added_objvars(i)).objvar_name_id, OV_ObjVars(added_objvars(i)).objvar_type, OV_ObjVars(added_objvars(i)).objvar_value; i := added_objvars.next(i); exception when others then err_num := SQLCODE; dbms_output.put_line('Error (' || SQLERRM(err_num) || ') with added_objvars(' || object_id || ') - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error with added_objvars'); i := added_objvars.next(i); end; end loop; i := updated_objvars.first; while i is not null loop begin stmt := 'update object_variables set ' || 'name_id = :name, type = :type, value = :value ' || 'where object_id = :id and name_id = :oldname'; execute immediate stmt using objvarNameIdMap(OV_ObjVars(updated_objvars(i)).objvar_name), OV_ObjVars(updated_objvars(i)).objvar_type, OV_ObjVars(updated_objvars(i)).objvar_value, object_id, OV_ObjVars(updated_objvars(i)).old_objvar_name_id; i := updated_objvars.next(i); exception when others then err_num := SQLCODE; dbms_output.put_line('Error (' || SQLERRM(err_num) || ') with updated_objvars(' || object_id || ') - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error with updated_objvars'); i := updated_objvars.next(i); end; end loop; i := deleted_attribs.first; while i is not null loop begin stmt := 'delete from manf_schematic_attributes ' || 'where object_id = :id and attribute_type = :attribute'; execute immediate stmt using object_id, deleted_attribs(i); i := deleted_attribs.next(i); exception when others then err_num := SQLCODE; dbms_output.put_line('Error (' || SQLERRM(err_num) || ') with deleted_attribs(' || object_id || ') - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error with deleted_attribs'); i := deleted_attribs.next(i); end; end loop; i := added_attribs.first; while i is not null loop begin stmt := 'insert into manf_schematic_attributes values ' || '(:id, :attrib, :value)'; execute immediate stmt using object_id, manf_attributes(added_attribs(i)).attribute, manf_attributes(added_attribs(i)).value; i := added_attribs.next(i); exception when others then err_num := SQLCODE; dbms_output.put_line('Error (' || SQLERRM(err_num) || ') with added_attribs(' || object_id || ') - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error with added_attribs'); i := added_attribs.next(i); end; end loop; i := updated_attribs.first; while i is not null loop begin stmt := 'update manf_schematic_attributes set ' || 'attribute_type = :attribute, value = :value ' || 'where object_id = :id and attribute_type = :oldname'; execute immediate stmt using manf_attributes(updated_attribs(i)).attribute, manf_attributes(updated_attribs(i)).value, object_id, updated_attribs(i); i := updated_attribs.next(i); exception when others then err_num := SQLCODE; dbms_output.put_line('Error (' || SQLERRM(err_num) || ') with updated_attribs(' || object_id || ') - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error with updated_attribs'); i := updated_attribs.next(i); end; end loop; if (isSchematic = TRUE) and (new_schematic_id != 0) then begin stmt := 'update manf_schematic_objects set ' || 'draft_schematic = :new_id ' || 'where object_id = :id'; execute immediate stmt using new_schematic_id, object_id; exception when others then err_num := SQLCODE; dbms_output.put_line('Error (' || SQLERRM(err_num) || ') with update_schematic(' || object_id || ') - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error with update_schematic'); i := updated_attribs.next(i); end; end if; cvt := cvt + 1; end if; idx := idx + 1; -- commit every 100,000 records if idx > 99999 then commit; if use_rbs is not null then execute immediate 'set transaction use rollback segment ' || use_rbs; end if; dbms_output.put_line('100,000 rows = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); cnt := cnt + idx; idx := 0; end if; end; fetch objCursor into objRow; end loop; --commit; close attributeCursor; close schematicCursor; close weaponCursor; close objVarCursor; close objCursor; cnt := cnt + idx; dbms_output.put_line('end time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); dbms_output.put_line('converted = ' || to_char(cvt)); dbms_output.put_line('total count = ' || to_char(cnt)); exception when others then err_num := SQLCODE; dbms_output.put_line('Error (' || SQLERRM(err_num) || ') in DoItemConversionBatch (' || object_id || ') - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in DoItemConversionBatch'); end; function InitializeData return boolean is objvarNameIdRow object_variable_names%rowtype; -- ALL added/updated objvar names MUST be in this list cursor objvarNameIdCursor is select id, name from object_variable_names where name in ( 'addArmorRefitScript', 'armor.armorCategory', 'armor.armorLevel', 'armor.armorencumbrance', 'armor.condition', 'armor.effectiveness', 'armor.encumbrance', 'armor.encumbranceSplit', 'armor.general_protection', 'armor.layer0', 'armor.layer13', 'armor.layer14', 'armor.layer15', 'armor.mandDeconstruct', 'armor.rating', 'armor.recharge_rate', 'armor.risDeconstruct', 'armor.special.1', 'armor.special.1024', 'armor.special.128', 'armor.special.16', 'armor.special.2', 'armor.special.2048', 'armor.special.256', 'armor.special.32', 'armor.special.4', 'armor.special.4096', 'armor.special.512', 'armor.special.64', 'armor.special.8', 'armor.vulnerability', 'armor.wookieeDeconstruct', 'armorCategory', 'armorLevel', 'attribute.bonus.0', 'biolink.faction_points', 'blindChance', 'blindDuration', 'buff_name', 'burnDuration', 'burnIntensity', 'commandName', 'crafting_attributes.crafting:accuracy', 'crafting_attributes.crafting:armor_condition', 'crafting_attributes.crafting:armor_general_protection', 'crafting_attributes.crafting:armor_layer0', 'crafting_attributes.crafting:armor_layer1', 'crafting_attributes.crafting:armor_layer2', 'crafting_attributes.crafting:armor_layer4', 'crafting_attributes.crafting:armor_layer5', 'crafting_attributes.crafting:armor_layer6', 'crafting_attributes.crafting:armor_layer7', 'crafting_attributes.crafting:armor_layer12', 'crafting_attributes.crafting:attackActionCost', 'crafting_attributes.crafting:attackCost', 'crafting_attributes.crafting:attackHealthCost', 'crafting_attributes.crafting:attackMindCost', 'crafting_attributes.crafting:attackSpeed', 'crafting_attributes.crafting:condition', 'crafting_attributes.crafting:damageType', 'crafting_attributes.crafting:effect', 'crafting_attributes.crafting:efficiency', 'crafting_attributes.crafting:elementalType', 'crafting_attributes.crafting:elementalValue', 'crafting_attributes.crafting:flavor', 'crafting_attributes.crafting:general_protection', 'crafting_attributes.crafting:hitPoints', 'crafting_attributes.crafting:maxDamage', 'crafting_attributes.crafting:maxRange', 'crafting_attributes.crafting:maxRangeMod', 'crafting_attributes.crafting:midRange', 'crafting_attributes.crafting:midRangeMod', 'crafting_attributes.crafting:minDamage', 'crafting_attributes.crafting:minRange', 'crafting_attributes.crafting:minRangeMod', 'crafting_attributes.crafting:nutrition', 'crafting_attributes.crafting:power', 'crafting_attributes.crafting:woundChance', 'crafting_attributes.crafting:zeroRangeMod', 'crafting_components.accuracy', 'crafting_components.armor_armorencumbrance', 'crafting_components.armor_condition', 'crafting_components.armor_general_protection', 'crafting_components.armor_layer0', 'crafting_components.armor_layer1', 'crafting_components.armor_layer2', 'crafting_components.armor_layer4', 'crafting_components.armor_layer5', 'crafting_components.armor_layer6', 'crafting_components.armor_layer7', 'crafting_components.armor_layer12', 'crafting_components.attackActionCost', 'crafting_components.attackCost', 'crafting_components.attackHealthCost', 'crafting_components.attackMindCost', 'crafting_components.attackSpeed', 'crafting_components.attribute.bonus.0', 'crafting_components.attribute.bonus.1', 'crafting_components.attribute.bonus.2', 'crafting_components.attribute.bonus.3', 'crafting_components.attribute.bonus.4', 'crafting_components.attribute.bonus.5', 'crafting_components.attribute.bonus.6', 'crafting_components.attribute.bonus.7', 'crafting_components.attribute.bonus.8', 'crafting_components.condition', 'crafting_components.damageType', 'crafting_components.elementalType', 'crafting_components.elementalValue', 'crafting_components.general_protection', 'crafting_components.hitPoints', 'crafting_components.layer13', 'crafting_components.layer14', 'crafting_components.layer15', 'crafting_components.maxDamage', 'crafting_components.maxRange', 'crafting_components.maxRangeMod', 'crafting_components.midRange', 'crafting_components.midRangeMod', 'crafting_components.minDamage', 'crafting_components.minRange', 'crafting_components.minRangeMod', 'crafting_components.recharge_rate', 'crafting_components.scaled.layer14', 'crafting_components.scaled.layer15', 'crafting_components.scaled.risDeconstruct', 'crafting_components.woundChance', 'crafting_components.zeroRangeMod', 'draftSchematic', 'duration', 'effect_class', 'effectiveness', 'filling', 'healing.combat_level_required', 'healing.enhancement', 'healing.power', 'ImAnInvalidSchematic', 'intAOEDamagePercent', 'intWeaponType', 'jedi.crystal.stats.accuracy', 'jedi.crystal.stats.attack_cost', 'jedi.crystal.stats.damage_type', 'jedi.crystal.stats.elemental_type', 'jedi.crystal.stats.elemental_value', 'jedi.crystal.stats.force', 'jedi.crystal.stats.max_dmg', 'jedi.crystal.stats.max_rng', 'jedi.crystal.stats.min_dmg', 'jedi.crystal.stats.min_rng', 'jedi.crystal.stats.speed', 'jedi.crystal.stats.wound', 'jedi.saber.base_stats.accuracy', 'jedi.saber.base_stats.attack_cost', 'jedi.saber.base_stats.damage_type', 'jedi.saber.base_stats.elemental_type', 'jedi.saber.base_stats.elemental_value', 'jedi.saber.base_stats.force', 'jedi.saber.base_stats.max_dmg', 'jedi.saber.base_stats.max_rng', 'jedi.saber.base_stats.min_dmg', 'jedi.saber.base_stats.min_rng', 'jedi.saber.base_stats.speed', 'jedi.saber.base_stats.wound', 'jedi.saber.force', 'healing.power', 'powerup.accuracy', 'powerup.actionCost', 'powerup.damage', 'powerup.effect', 'powerup.efficiency', 'powerup.speed', 'powerup.usesLeft', 'powerup.wound', 'reuseTimer', 'skillmod.bonus.pistol_speed', 'slowDuration', 'slowIntensity', 'spice.name', 'strWeaponType', 'weapon.intNoCertRequired', 'weaponType' ); maxNameId number; schematicRow schematic_templates%rowtype; cursor schematicCursor is select schematic_id, object_template_id from schematic_templates; cursor armorCrateCursor is select o.object_id, decode (objvar_0_name, 'armor.general_protection',to_number(objvar_0_value), decode (objvar_1_name, 'armor.general_protection',to_number(objvar_1_value), decode (objvar_2_name, 'armor.general_protection',to_number(objvar_2_value), decode (objvar_3_name, 'armor.general_protection',to_number(objvar_3_value), decode (objvar_4_name, 'armor.general_protection',to_number(objvar_4_value), decode (objvar_5_name, 'armor.general_protection',to_number(objvar_5_value), decode (objvar_6_name, 'armor.general_protection',to_number(objvar_6_value), decode (objvar_7_name, 'armor.general_protection',to_number(objvar_7_value), decode (objvar_8_name, 'armor.general_protection',to_number(objvar_8_value), decode (objvar_9_name, 'armor.general_protection',to_number(objvar_9_value), decode (objvar_10_name, 'armor.general_protection',to_number(objvar_10_value), decode (objvar_11_name, 'armor.general_protection',to_number(objvar_11_value), decode (objvar_12_name, 'armor.general_protection',to_number(objvar_12_value), decode (objvar_13_name, 'armor.general_protection',to_number(objvar_13_value), decode (objvar_14_name, 'armor.general_protection',to_number(objvar_14_value), decode (objvar_15_name, 'armor.general_protection',to_number(objvar_15_value), decode (objvar_16_name, 'armor.general_protection',to_number(objvar_16_value), decode (objvar_17_name, 'armor.general_protection',to_number(objvar_17_value), decode (objvar_18_name, 'armor.general_protection',to_number(objvar_18_value), decode (objvar_19_name, 'armor.general_protection',to_number(objvar_19_value), v.value ))))) ))))) ))))) ))))) as gp_val from objects o, (select object_id, max(value) as value from object_variables v where v.name_id in (select id from object_variable_names where name = 'armor.general_protection') group by object_id) v where contained_by = o.object_id - 1 and object_template_id in (1386184862,575325453,1185807341,913882750,1994709940,301359835,-913758478,306929321,1654528826,-1493844838,-702482167,1360182635,-1831667261,701587845,1026806068,1306956967,2115381959,247689044,725211246,-59921878,-248317992,-171534277,-2062295640,-253929242,-2146951819,1042717208,-175663469,2147059193,748768172,1551109695,-1537444864,-729206381,1231025524,-1779280762,729327903,-255400918,-2146197063,-412867955,-1749981410,1756768751,-286929665,1749090194,183123522,2050980817,1837916498,492381377,108052567,364712723,-492258227,1926737359,33744988,-1767695347,-428451426,-1520174324,-907953840,428327186,-1877836182,-523813895,66083222,523674485,1974187109,92205558,856491201,-91264646,811367898,1082734665,1193819287,-1082613563,525967921,1871505314,-2050710967,-183375910,689622929,-78543095,182484822,-954052477,-1208543984,-911886824,-1183779957,-343994769,-40666442,1182886663,774778471,1593535476,582714478,1382990333,-1832625049,1932522632,-1382065807,-653428823,-1993339022,1855229351,275564031,-420003189,309375847,1289593246,103036882,416123005,-469920034,-779152232,-1587916533,500476724,-320086751,678412834,1436153762,-177674793,-1886457751) and conversion_id is not null and o.object_id = v.object_id(+); v varchar2(500); stmt varchar2(4000); objid number; gpval number; begin -- initialize free_slots := numTable(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20); Obj_ObjVars := objectObjVarArray(); Obj_Objvars.extend(20); updated_objvars := varcharTable(); deleted_objvars := varcharTable(); added_objvars := varcharTable(); updated_attribs := varcharTable(); deleted_attribs := varcharTable(); added_attribs := varcharTable(); -- Data Table for relative weapon DoT powers dots_matrix('fire')(6) := 12; dots_matrix('fire')(0) := 9; dots_matrix('fire')(3) := 6; dots_matrix('poison')(6) := 11; dots_matrix('poison')(0) := 8; dots_matrix('poison')(3) := 5; dots_matrix('disease')(6) := 10; dots_matrix('disease')(0) := 7; dots_matrix('disease')(3) := 4; dots_matrix('bleeds')(6) := 3; dots_matrix('bleeds')(0) := 2; dots_matrix('bleeds')(3) := 1; objvarNameIdMap('addArmorRefitScript') := 0; objvarNameIdMap('armor.armorCategory') := 0; objvarNameIdMap('armor.armorLevel') := 0; objvarNameIdMap('armor.armorencumbrance') := 0; objvarNameIdMap('armor.condition') := 0; objvarNameIdMap('armor.effectiveness') := 0; objvarNameIdMap('armor.encumbrance') := 0; objvarNameIdMap('armor.encumbranceSplit') := 0; objvarNameIdMap('armor.general_protection') := 0; objvarNameIdMap('armor.layer0') := 0; objvarNameIdMap('armor.layer14') := 0; objvarNameIdMap('armor.layer13') := 0; objvarNameIdMap('armor.layer15') := 0; objvarNameIdMap('armor.mandDeconstruct') := 0; objvarNameIdMap('armor.rating') := 0; objvarNameIdMap('armor.recharge_rate') := 0; objvarNameIdMap('armor.risDeconstruct') := 0; objvarNameIdMap('armor.special.1') := 0; objvarNameIdMap('armor.special.1024') := 0; objvarNameIdMap('armor.special.128') := 0; objvarNameIdMap('armor.special.16') := 0; objvarNameIdMap('armor.special.2') := 0; objvarNameIdMap('armor.special.2048') := 0; objvarNameIdMap('armor.special.256') := 0; objvarNameIdMap('armor.special.32') := 0; objvarNameIdMap('armor.special.4') := 0; objvarNameIdMap('armor.special.4096') := 0; objvarNameIdMap('armor.special.512') := 0; objvarNameIdMap('armor.special.64') := 0; objvarNameIdMap('armor.special.8') := 0; objvarNameIdMap('armor.vulnerability') := 0; objvarNameIdMap('armor.wookieeDeconstruct') := 0; objvarNameIdMap('armorCategory') := 0; objvarNameIdMap('armorLevel') := 0; objvarNameIdMap('attribute.bonus.0') := 0; objvarNameIdMap('biolink.faction_points') := 0; objvarNameIdMap('blindChance') := 0; objvarNameIdMap('blindDuration') := 0; objvarNameIdMap('buff_name') := 0; objvarNameIdMap('burnDuration') := 0; objvarNameIdMap('burnIntensity') := 0; objvarNameIdMap('commandName') := 0; objvarNameIdMap('crafting_attributes.crafting:accuracy') := 0; objvarNameIdMap('crafting_attributes.crafting:armor_general_protection') := 0; objvarNameIdMap('crafting_attributes.crafting:armor_condition') := 0; objvarNameIdMap('crafting_attributes.crafting:armor_layer0') := 0; objvarNameIdMap('crafting_attributes.crafting:armor_layer1') := 0; objvarNameIdMap('crafting_attributes.crafting:armor_layer2') := 0; objvarNameIdMap('crafting_attributes.crafting:armor_layer4') := 0; objvarNameIdMap('crafting_attributes.crafting:armor_layer5') := 0; objvarNameIdMap('crafting_attributes.crafting:armor_layer6') := 0; objvarNameIdMap('crafting_attributes.crafting:armor_layer7') := 0; objvarNameIdMap('crafting_attributes.crafting:armor_layer12') := 0; objvarNameIdMap('crafting_attributes.crafting:attackActionCost') := 0; objvarNameIdMap('crafting_attributes.crafting:attackCost') := 0; objvarNameIdMap('crafting_attributes.crafting:attackHealthCost') := 0; objvarNameIdMap('crafting_attributes.crafting:attackMindCost') := 0; objvarNameIdMap('crafting_attributes.crafting:attackSpeed') := 0; objvarNameIdMap('crafting_attributes.crafting:condition') := 0; objvarNameIdMap('crafting_attributes.crafting:damageType') := 0; objvarNameIdMap('crafting_attributes.crafting:effect') := 0; objvarNameIdMap('crafting_attributes.crafting:efficiency') := 0; objvarNameIdMap('crafting_attributes.crafting:elementalType') := 0; objvarNameIdMap('crafting_attributes.crafting:elementalValue') := 0; objvarNameIdMap('crafting_attributes.crafting:flavor') := 0; objvarNameIdMap('crafting_attributes.crafting:general_protection') := 0; objvarNameIdMap('crafting_attributes.crafting:hitPoints') := 0; objvarNameIdMap('crafting_attributes.crafting:maxDamage') := 0; objvarNameIdMap('crafting_attributes.crafting:maxRange') := 0; objvarNameIdMap('crafting_attributes.crafting:maxRangeMod') := 0; objvarNameIdMap('crafting_attributes.crafting:midRange') := 0; objvarNameIdMap('crafting_attributes.crafting:midRangeMod') := 0; objvarNameIdMap('crafting_attributes.crafting:minDamage') := 0; objvarNameIdMap('crafting_attributes.crafting:minRange') := 0; objvarNameIdMap('crafting_attributes.crafting:minRangeMod') := 0; objvarNameIdMap('crafting_attributes.crafting:nutrition') := 0; objvarNameIdMap('crafting_attributes.crafting:power') := 0; objvarNameIdMap('crafting_attributes.crafting:woundChance') := 0; objvarNameIdMap('crafting_attributes.crafting:zeroRangeMod') := 0; objvarNameIdMap('crafting_components.accuracy') := 0; objvarNameIdMap('crafting_components.armor_armorencumbrance') := 0; objvarNameIdMap('crafting_components.armor_condition') := 0; objvarNameIdMap('crafting_components.armor_general_protection') := 0; objvarNameIdMap('crafting_components.armor_layer0') := 0; objvarNameIdMap('crafting_components.armor_layer1') := 0; objvarNameIdMap('crafting_components.armor_layer2') := 0; objvarNameIdMap('crafting_components.armor_layer4') := 0; objvarNameIdMap('crafting_components.armor_layer5') := 0; objvarNameIdMap('crafting_components.armor_layer6') := 0; objvarNameIdMap('crafting_components.armor_layer7') := 0; objvarNameIdMap('crafting_components.armor_layer12') := 0; objvarNameIdMap('crafting_components.attackActionCost') := 0; objvarNameIdMap('crafting_components.attackCost') := 0; objvarNameIdMap('crafting_components.attackHealthCost') := 0; objvarNameIdMap('crafting_components.attackMindCost') := 0; objvarNameIdMap('crafting_components.attackSpeed') := 0; objvarNameIdMap('crafting_components.attribute.bonus.0') := 0; objvarNameIdMap('crafting_components.attribute.bonus.1') := 0; objvarNameIdMap('crafting_components.attribute.bonus.2') := 0; objvarNameIdMap('crafting_components.attribute.bonus.3') := 0; objvarNameIdMap('crafting_components.attribute.bonus.4') := 0; objvarNameIdMap('crafting_components.attribute.bonus.5') := 0; objvarNameIdMap('crafting_components.attribute.bonus.6') := 0; objvarNameIdMap('crafting_components.attribute.bonus.7') := 0; objvarNameIdMap('crafting_components.attribute.bonus.8') := 0; objvarNameIdMap('crafting_components.condition') := 0; objvarNameIdMap('crafting_components.damageType') := 0; objvarNameIdMap('crafting_components.elementalType') := 0; objvarNameIdMap('crafting_components.elementalValue') := 0; objvarNameIdMap('crafting_components.general_protection') := 0; objvarNameIdMap('crafting_components.hitPoints') := 0; objvarNameIdMap('crafting_components.layer13') := 0; objvarNameIdMap('crafting_components.layer14') := 0; objvarNameIdMap('crafting_components.layer15') := 0; objvarNameIdMap('crafting_components.maxDamage') := 0; objvarNameIdMap('crafting_components.maxRange') := 0; objvarNameIdMap('crafting_components.maxRangeMod') := 0; objvarNameIdMap('crafting_components.midRange') := 0; objvarNameIdMap('crafting_components.midRangeMod') := 0; objvarNameIdMap('crafting_components.minDamage') := 0; objvarNameIdMap('crafting_components.minRange') := 0; objvarNameIdMap('crafting_components.minRangeMod') := 0; objvarNameIdMap('crafting_components.recharge_rate') := 0; objvarNameIdMap('crafting_components.scaled.layer14') := 0; objvarNameIdMap('crafting_components.scaled.layer15') := 0; objvarNameIdMap('crafting_components.scaled.risDeconstruct') := 0; objvarNameIdMap('crafting_components.woundChance') := 0; objvarNameIdMap('crafting_components.zeroRangeMod') := 0; objvarNameIdMap('draftSchematic') := 0; objvarNameIdMap('duration') := 0; objvarNameIdMap('effect_class') := 0; objvarNameIdMap('effectiveness') := 0; objvarNameIdMap('filling') := 0; objvarNameIdMap('ImAnInvalidSchematic') := 0; objvarNameIdMap('intAOEDamagePercent') := 0; objvarNameIdMap('intWeaponType') := 0; objvarNameIdMap('healing.combat_level_required') := 0; objvarNameIdMap('healing.enhancement') := 0; objvarNameIdMap('healing.power') := 0; objvarNameIdMap('jedi.crystal.stats.accuracy') := 0; objvarNameIdMap('jedi.crystal.stats.attack_cost') := 0; objvarNameIdMap('jedi.crystal.stats.damage_type') := 0; objvarNameIdMap('jedi.crystal.stats.elemental_type') := 0; objvarNameIdMap('jedi.crystal.stats.elemental_value') := 0; objvarNameIdMap('jedi.crystal.stats.force') := 0; objvarNameIdMap('jedi.crystal.stats.max_dmg') := 0; objvarNameIdMap('jedi.crystal.stats.max_rng') := 0; objvarNameIdMap('jedi.crystal.stats.min_dmg') := 0; objvarNameIdMap('jedi.crystal.stats.min_rng') := 0; objvarNameIdMap('jedi.crystal.stats.speed') := 0; objvarNameIdMap('jedi.crystal.stats.wound') := 0; objvarNameIdMap('jedi.saber.base_stats.accuracy') := 0; objvarNameIdMap('jedi.saber.base_stats.attack_cost') := 0; objvarNameIdMap('jedi.saber.base_stats.damage_type') := 0; objvarNameIdMap('jedi.saber.base_stats.elemental_type') := 0; objvarNameIdMap('jedi.saber.base_stats.elemental_value') := 0; objvarNameIdMap('jedi.saber.base_stats.force') := 0; objvarNameIdMap('jedi.saber.base_stats.max_dmg') := 0; objvarNameIdMap('jedi.saber.base_stats.max_rng') := 0; objvarNameIdMap('jedi.saber.base_stats.min_dmg') := 0; objvarNameIdMap('jedi.saber.base_stats.min_rng') := 0; objvarNameIdMap('jedi.saber.base_stats.speed') := 0; objvarNameIdMap('jedi.saber.base_stats.wound') := 0; objvarNameIdMap('jedi.saber.force') := 0; objvarNameIdMap('healing.power') := 0; objvarNameIdMap('powerup.accuracy') := 0; objvarNameIdMap('powerup.actionCost') := 0; objvarNameIdMap('powerup.damage') := 0; objvarNameIdMap('powerup.effect') := 0; objvarNameIdMap('powerup.efficiency') := 0; objvarNameIdMap('powerup.speed') := 0; objvarNameIdMap('powerup.usesLeft') := 0; objvarNameIdMap('powerup.wound') := 0; objvarNameIdMap('reuseTimer') := 0; objvarNameIdMap('skillmod.bonus.pistol_speed') := 0; objvarNameIdMap('slowDuration') := 0; objvarNameIdMap('slowIntensity') := 0; objvarNameIdMap('spice.name') := 0; objvarNameIdMap('strWeaponType') := 0; objvarNameIdMap('weapon.intNoCertRequired') := 0; objvarNameIdMap('weaponType') := 0; open objvarNameIdCursor; fetch objvarNameIdCursor into objvarNameIdRow; while objvarNameIdCursor%found loop objvarNameIdMap(objvarNameIdRow.name) := objvarNameIdRow.id; fetch objvarNameIdCursor into objvarNameIdRow; end loop; close objvarNameIdCursor; select max(id) into maxNameId from object_variable_names; v := objvarNameIdMap.first; while v is not null loop if objvarNameIdMap(v) = 0 then maxNameId := maxNameId + 1; stmt := 'insert into object_variable_names values (:id, :name)'; execute immediate stmt using maxNameId, v; objvarNameIdMap(v) := maxNameId; end if; v := objvarNameIdMap.next(v); end loop; commit; if use_rbs is not null then execute immediate 'set transaction use rollback segment ' || use_rbs; end if; open schematicCursor; fetch schematicCursor into schematicRow; while schematicCursor%found loop schematic_map(schematicRow.schematic_id) := schematicRow.object_template_id; fetch schematicCursor into schematicRow; end loop; close schematicCursor; -- ****** BEGIN TEMPLATE ID SET ****** templateIdSet(1386184862) := 1386184862; templateIdSet(575325453) := 575325453; templateIdSet(1185807341) := 1185807341; templateIdSet(913882750) := 913882750; templateIdSet(1994709940) := 1994709940; templateIdSet(301359835) := 301359835; templateIdSet(-913758478) := -913758478; templateIdSet(306929321) := 306929321; templateIdSet(1654528826) := 1654528826; templateIdSet(-1493844838) := -1493844838; templateIdSet(-702482167) := -702482167; templateIdSet(1360182635) := 1360182635; templateIdSet(-1831667261) := -1831667261; templateIdSet(701587845) := 701587845; templateIdSet(1026806068) := 1026806068; templateIdSet(1306956967) := 1306956967; templateIdSet(2115381959) := 2115381959; templateIdSet(247689044) := 247689044; templateIdSet(725211246) := 725211246; templateIdSet(-59921878) := -59921878; templateIdSet(-248317992) := -248317992; templateIdSet(-171534277) := -171534277; templateIdSet(-2062295640) := -2062295640; templateIdSet(-253929242) := -253929242; templateIdSet(-2146951819) := -2146951819; templateIdSet(1042717208) := 1042717208; templateIdSet(-175663469) := -175663469; templateIdSet(2147059193) := 2147059193; templateIdSet(748768172) := 748768172; templateIdSet(1551109695) := 1551109695; templateIdSet(-1537444864) := -1537444864; templateIdSet(-729206381) := -729206381; templateIdSet(1231025524) := 1231025524; templateIdSet(-1779280762) := -1779280762; templateIdSet(729327903) := 729327903; templateIdSet(-255400918) := -255400918; templateIdSet(-2146197063) := -2146197063; templateIdSet(-412867955) := -412867955; templateIdSet(-1749981410) := -1749981410; templateIdSet(1756768751) := 1756768751; templateIdSet(-286929665) := -286929665; templateIdSet(1749090194) := 1749090194; templateIdSet(183123522) := 183123522; templateIdSet(2050980817) := 2050980817; templateIdSet(1837916498) := 1837916498; templateIdSet(492381377) := 492381377; templateIdSet(108052567) := 108052567; templateIdSet(364712723) := 364712723; templateIdSet(-492258227) := -492258227; templateIdSet(1926737359) := 1926737359; templateIdSet(33744988) := 33744988; templateIdSet(-1767695347) := -1767695347; templateIdSet(-428451426) := -428451426; templateIdSet(-1520174324) := -1520174324; templateIdSet(-907953840) := -907953840; templateIdSet(428327186) := 428327186; templateIdSet(-1877836182) := -1877836182; templateIdSet(-523813895) := -523813895; templateIdSet(66083222) := 66083222; templateIdSet(523674485) := 523674485; templateIdSet(1974187109) := 1974187109; templateIdSet(92205558) := 92205558; templateIdSet(856491201) := 856491201; templateIdSet(-91264646) := -91264646; templateIdSet(811367898) := 811367898; templateIdSet(1082734665) := 1082734665; templateIdSet(1193819287) := 1193819287; templateIdSet(-1082613563) := -1082613563; templateIdSet(525967921) := 525967921; templateIdSet(1871505314) := 1871505314; templateIdSet(-2050710967) := -2050710967; templateIdSet(-183375910) := -183375910; templateIdSet(689622929) := 689622929; templateIdSet(-78543095) := -78543095; templateIdSet(182484822) := 182484822; templateIdSet(-954052477) := -954052477; templateIdSet(-1208543984) := -1208543984; templateIdSet(-911886824) := -911886824; templateIdSet(-1183779957) := -1183779957; templateIdSet(-343994769) := -343994769; templateIdSet(-40666442) := -40666442; templateIdSet(1182886663) := 1182886663; templateIdSet(774778471) := 774778471; templateIdSet(1593535476) := 1593535476; templateIdSet(582714478) := 582714478; templateIdSet(1382990333) := 1382990333; templateIdSet(-1832625049) := -1832625049; templateIdSet(1932522632) := 1932522632; templateIdSet(-1382065807) := -1382065807; templateIdSet(-653428823) := -653428823; templateIdSet(-1993339022) := -1993339022; templateIdSet(1855229351) := 1855229351; templateIdSet(275564031) := 275564031; templateIdSet(-420003189) := -420003189; templateIdSet(309375847) := 309375847; templateIdSet(1289593246) := 1289593246; templateIdSet(103036882) := 103036882; templateIdSet(416123005) := 416123005; templateIdSet(-469920034) := -469920034; templateIdSet(-779152232) := -779152232; templateIdSet(-1587916533) := -1587916533; templateIdSet(500476724) := 500476724; templateIdSet(-320086751) := -320086751; templateIdSet(678412834) := 678412834; templateIdSet(1436153762) := 1436153762; templateIdSet(-177674793) := -177674793; templateIdSet(-1886457751) := -1886457751; templateIdSet(2086609620) := 2086609620; templateIdSet(110363758) := 110363758; templateIdSet(-1958737672) := -1958737672; templateIdSet(227937004) := 227937004; templateIdSet(702649693) := 702649693; templateIdSet(34919568) := 34919568; templateIdSet(-1382616459) := -1382616459; templateIdSet(-900058289) := -900058289; templateIdSet(-1474613882) := -1474613882; templateIdSet(590597969) := 590597969; templateIdSet(403078591) := 403078591; templateIdSet(-269033971) := -269033971; templateIdSet(-651693115) := -651693115; templateIdSet(-1571384798) := -1571384798; templateIdSet(981088834) := 981088834; templateIdSet(-637703116) := -637703116; templateIdSet(-1779174489) := -1779174489; templateIdSet(1840338268) := 1840338268; templateIdSet(237038605) := 237038605; templateIdSet(653612816) := 653612816; templateIdSet(1608037452) := 1608037452; templateIdSet(-613167286) := -613167286; templateIdSet(-245341807) := -245341807; templateIdSet(-1019635633) := -1019635633; templateIdSet(-449112830) := -449112830; templateIdSet(-526113597) := -526113597; templateIdSet(589649861) := 589649861; templateIdSet(-20005656) := -20005656; templateIdSet(257663710) := 257663710; templateIdSet(-639753330) := -639753330; templateIdSet(-730685311) := -730685311; templateIdSet(-130243512) := -130243512; templateIdSet(1756821101) := 1756821101; templateIdSet(-1501822488) := -1501822488; templateIdSet(-132487792) := -132487792; templateIdSet(1982554682) := 1982554682; templateIdSet(-913097330) := -913097330; templateIdSet(-402333683) := -402333683; templateIdSet(-1811261900) := -1811261900; templateIdSet(-1178706532) := -1178706532; templateIdSet(-1137089652) := -1137089652; templateIdSet(-473813792) := -473813792; templateIdSet(-718648728) := -718648728; templateIdSet(238936831) := 238936831; templateIdSet(1358850609) := 1358850609; templateIdSet(-1088166271) := -1088166271; templateIdSet(102348899) := 102348899; templateIdSet(-673780945) := -673780945; templateIdSet(213992376) := 213992376; templateIdSet(-1330392160) := -1330392160; templateIdSet(1834662895) := 1834662895; templateIdSet(-1781845673) := -1781845673; templateIdSet(1214765971) := 1214765971; templateIdSet(-1213235742) := -1213235742; templateIdSet(-1498919413) := -1498919413; templateIdSet(-1109444980) := -1109444980; templateIdSet(-379196495) := -379196495; templateIdSet(648215202) := 648215202; templateIdSet(-279076105) := -279076105; templateIdSet(-2138350593) := -2138350593; templateIdSet(-1839044042) := -1839044042; templateIdSet(-1601393927) := -1601393927; templateIdSet(418740352) := 418740352; templateIdSet(1778522271) := 1778522271; templateIdSet(764829944) := 764829944; templateIdSet(-627137144) := -627137144; templateIdSet(100102071) := 100102071; templateIdSet(949442296) := 949442296; templateIdSet(180006972) := 180006972; templateIdSet(-926822510) := -926822510; templateIdSet(-633473500) := -633473500; templateIdSet(451466626) := 451466626; templateIdSet(-82570045) := -82570045; templateIdSet(-860173634) := -860173634; templateIdSet(252668529) := 252668529; templateIdSet(1866781530) := 1866781530; templateIdSet(-245080147) := -245080147; templateIdSet(1684501073) := 1684501073; templateIdSet(-1925049902) := -1925049902; templateIdSet(-837691545) := -837691545; templateIdSet(-1792584100) := -1792584100; templateIdSet(-1340116130) := -1340116130; templateIdSet(-1400940656) := -1400940656; templateIdSet(1980615506) := 1980615506; templateIdSet(1687234741) := 1687234741; templateIdSet(-2032619870) := -2032619870; templateIdSet(1070818136) := 1070818136; templateIdSet(322519616) := 322519616; templateIdSet(129228399) := 129228399; templateIdSet(-1929515589) := -1929515589; templateIdSet(1691705957) := 1691705957; templateIdSet(-1919723538) := -1919723538; templateIdSet(-937385248) := -937385248; templateIdSet(685231719) := 685231719; templateIdSet(-1340981329) := -1340981329; templateIdSet(-1238955746) := -1238955746; templateIdSet(-656409820) := -656409820; templateIdSet(-67541093) := -67541093; templateIdSet(1223042704) := 1223042704; templateIdSet(1646698389) := 1646698389; templateIdSet(-1930572145) := -1930572145; templateIdSet(-1437726662) := -1437726662; templateIdSet(-2118141076) := -2118141076; templateIdSet(-1354942232) := -1354942232; templateIdSet(709369610) := 709369610; templateIdSet(-205520309) := -205520309; templateIdSet(-603889252) := -603889252; templateIdSet(-1321212581) := -1321212581; templateIdSet(397924793) := 397924793; templateIdSet(-1148251186) := -1148251186; templateIdSet(2069010987) := 2069010987; templateIdSet(-1374316705) := -1374316705; templateIdSet(-1428709338) := -1428709338; templateIdSet(-2024883534) := -2024883534; templateIdSet(-896708611) := -896708611; templateIdSet(1325615183) := 1325615183; templateIdSet(1007504804) := 1007504804; templateIdSet(1775069676) := 1775069676; templateIdSet(-1629773375) := -1629773375; templateIdSet(1333331720) := 1333331720; templateIdSet(869624722) := 869624722; templateIdSet(247923643) := 247923643; templateIdSet(-631441882) := -631441882; templateIdSet(-1328960537) := -1328960537; templateIdSet(2131722719) := 2131722719; templateIdSet(1567297626) := 1567297626; templateIdSet(1062687370) := 1062687370; templateIdSet(-1774596602) := -1774596602; templateIdSet(1530854406) := 1530854406; templateIdSet(-255701924) := -255701924; templateIdSet(735438027) := 735438027; templateIdSet(1658356550) := 1658356550; templateIdSet(-1724143534) := -1724143534; templateIdSet(-801714209) := -801714209; templateIdSet(-181151130) := -181151130; templateIdSet(774140657) := 774140657; templateIdSet(1730745724) := 1730745724; templateIdSet(-1664467352) := -1664467352; templateIdSet(431995434) := 431995434; templateIdSet(-1029172547) := -1029172547; templateIdSet(-1952090832) := -1952090832; templateIdSet(1883659812) := 1883659812; templateIdSet(-144833342) := -144833342; -- manufacturing schematic templateIdSet(162889564) := 162889564; -- weapon crate templateIdSet(1120303977) := 1120303977; -- armor crate templateIdSet(-200781577) := -200781577; -- food crate templateIdSet(-1966544754) := -1966544754; -- chemical crate templateIdSet(-754298423) := -754298423; -- electronics crate templateIdSet(-1207917085) := -1207917085; -- clothing crate templateIdSet(1717727484) := 1717727484; -- nyax necklace templateNameText(2099054288) := 'armor_bounty_hunter_crafted_belt'; templateNameText(-852325331) := 'armor_bounty_hunter_crafted_bicep_l'; templateNameText(-1108883010) := 'armor_bounty_hunter_crafted_bicep_r'; templateNameText(315293450) := 'armor_bounty_hunter_crafted_boots'; templateNameText(-151793970) := 'armor_bounty_hunter_crafted_bracer_l'; templateNameText(-2044294307) := 'armor_bounty_hunter_crafted_bracer_r'; templateNameText(1649659380) := 'armor_bounty_hunter_crafted_chest_plate'; templateNameText(140529204) := 'armor_bounty_hunter_crafted_gloves'; templateNameText(-1096765636) := 'armor_bounty_hunter_crafted_helmet'; templateNameText(2044138449) := 'armor_bounty_hunter_crafted_leggings'; templateNameText(-983864428) := 'armor_layer_kinetic'; templateNameTable(-983864428) := 'craft_clothing_ingredients_n'; templateNameText(1594162622) := 'armor_recon_segment'; templateNameTable(1594162622) := 'craft_armor_ingredients_n'; templateNameText(-1438161694) := 'armor_battle_segment'; templateNameTable(-1438161694):= 'craft_armor_ingredients_n'; templateNameText(2042493214) := 'armor_assault_segment'; templateNameTable(2042493214) := 'craft_armor_ingredients_n'; templateNameText(-2117547605) := 'weapon_mine_explosive'; templateNameTable(-2117547605):= 'powerup_n'; templateNameText(548609244) := 'weapon_melee_balancing_weights'; templateNameTable(548609244) := 'powerup_n'; templateNameText(-1004627683) := 'weapon_melee_inertial_fluctuator'; templateNameTable(-1004627683):= 'powerup_n'; templateNameText(352903310) := 'weapon_ranged_barrel'; templateNameTable(352903310) := 'powerup_n'; templateNameText(130303407) := 'weapon_ranged_grip'; templateNameTable(130303407) := 'powerup_n'; templateNameText(1006954225) := 'weapon_ranged_muzzle'; templateNameTable(1006954225) := 'powerup_n'; templateNameText(200431483) := 'weapon_ranged_scope'; templateNameTable(200431483) := 'powerup_n'; templateNameText(1219521873) := 'weapon_ranged_stock'; templateNameTable(1219521873) := 'powerup_n'; templateNameText(-551790316) := 'weapon_melee_surface_serration'; templateNameTable(-551790316) := 'powerup_n'; templateNameText(-1042074732) := 'weapon_melee_tactical_grip'; templateNameTable(-1042074732):= 'powerup_n'; templateNameText(-356900087) := 'instant_stimpack_a'; templateNameTable(-356900087) := 'medicine_name'; templateNameText(833457054) := 'instant_stimpack_b'; templateNameTable(833457054) := 'medicine_name'; templateNameText(2023812115) := 'instant_stimpack_c'; templateNameTable(2023812115) := 'medicine_name'; templateNameText(-2092710137) := 'instant_stimpack_d'; templateNameTable(-2092710137):= 'medicine_name'; templateNameText(-1674079888) := 'stimpack_pet_a'; templateNameTable(-1674079888):= 'medicine_name'; templateNameText(1193294311) := 'stimpack_pet_b'; templateNameTable(1193294311) := 'medicine_name'; templateNameText(237854314) := 'stimpack_pet_c'; templateNameTable(237854314) := 'medicine_name'; templateNameText(-171018882) := 'stimpack_pet_d'; templateNameTable(-171018882) := 'medicine_name'; templateNameText(-1631144444) := 'rifle_bowcaster_heavy'; templateNameText(-746051337) := 'carbine_e11_mark2'; templateNameText(1893534473) := 'enhancer_bactajab'; templateNameTable(1893534473) := 'medicine_name'; templateNameText(189249679) := 'enhancer_bactaspray'; templateNameTable(189249679) := 'medicine_name'; templateNameText(-1945173818) := 'enhancer_bactatoss'; templateNameTable(-1945173818):= 'medicine_name'; templateNameText(-21620221) := 'enhancer_deuteriumtoss'; templateNameTable(-21620221) := 'medicine_name'; templateNameText(1004186547) := 'enhancer_disinfect'; templateNameTable(1004186547) := 'medicine_name'; templateNameText(232945406) := 'enhancer_endorphineinjection'; templateNameTable(232945406) := 'medicine_name'; templateNameText(-2018470158) := 'enhancer_neurotoxin'; templateNameTable(-2018470158):= 'medicine_name'; templateNameText(2094584686) := 'enhancer_nutrientinjection'; templateNameTable(2094584686) := 'medicine_name'; templateNameText(-1847366477) := 'enhancer_stabilizer'; templateNameTable(-1847366477):= 'medicine_name'; templateNameText(-410958245) := 'enhancer_thyroidrupture'; templateNameTable(-410958245) := 'medicine_name'; templateNameText(-454097742) := 'enhancer_traumatize'; templateNameTable(-454097742) := 'medicine_name'; open armorCrateCursor; fetch armorCrateCursor into objid, gpval; while armorCrateCursor%found loop if gpval is not null then armor_item_gp(to_char(objid)) := gpval; end if; fetch armorCrateCursor into objid, gpval; end loop; close armorCrateCursor; return TRUE; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in InitializeData - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in InitializeData'); return FALSE; end; procedure AddObjVar (objvar_name varchar2, objvar_type number, objvar_value varchar2) is n number; tempObjVar objVarType; oldName varchar2(500); begin if slot_map.exists(objvar_name) then ModifyObjVar(objvar_name, objvar_name, objvar_type, objvar_value); else if free_slots.count > 0 and length(objvar_name) <= 50 then n := free_slots(free_slots.first); Obj_ObjVars(n).objvar_name := objvar_name; Obj_ObjVars(n).objvar_type := objvar_type; Obj_ObjVars(n).objvar_value := objvar_value; free_slots.delete(n); isObjModified := TRUE; else if deleted_objvars.count > 0 then oldName := deleted_objvars(deleted_objvars.last); deleted_objvars.trim(1); OV_ObjVars(oldName).objvar_name := objvar_name; OV_ObjVars(oldName).objvar_type := objvar_type; OV_ObjVars(oldName).objvar_value := objvar_value; updated_objvars.extend(1); updated_objvars(updated_objvars.last) := oldName; else tempObjVar.object_id := object_id; tempObjVar.objvar_name := objvar_name; tempObjVar.objvar_type := objvar_type; tempObjVar.objvar_value := objvar_value; tempObjVar.objvar_name_id := objvarNameIdMap(objvar_name); OV_ObjVars(objvar_name) := tempObjVar; added_objvars.extend(1); added_objvars(added_objvars.last) := objvar_name; end if; end if; end if; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in AddObjVar - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in AddObjVar'); end; procedure DeleteObjVar (objVarName in varchar2) is n number; v varchar2(500); begin if slot_map.exists(objVarName) then if slot_map(objVarName) < 21 then n := slot_map(objVarName); if Obj_ObjVars(n).objvar_name = objVarName then Obj_ObjVars(n).objvar_name := NULL; Obj_ObjVars(n).objvar_type := NULL; Obj_ObjVars(n).objvar_value := NULL; free_slots(n) := n; isObjModified := TRUE; end if; else if OV_ObjVars(objVarName).objvar_name = objVarName then OV_ObjVars(objVarName).old_objvar_name_id := OV_ObjVars(objVarName).objvar_name_id; OV_ObjVars(objVarName).objvar_name := NULL; OV_ObjVars(objVarName).objvar_type := NULL; OV_ObjVars(objVarName).objvar_value := NULL; deleted_objvars.extend(1); deleted_objvars(deleted_objvars.last) := objVarName; end if; end if; elsif instr(objVarName,'*') > 0 then n := instr(objVarName,'*') -1; v := slot_map.first; while v is not null loop if substr(v,1,n) = substr(objVarName,1,n) then DeleteObjVar(v); end if; v := slot_map.next(v); end loop; end if; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in DeleteObjVar - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in DeleteObjVar'); end; procedure ModifyObjVar (oldObjVarName varchar2, objvar_name varchar2, objvar_type number, objvar_value varchar2) is n number; begin if slot_map.exists(oldObjVarName) then if slot_map(oldObjVarName) < 21 then n := slot_map(oldObjVarName); Obj_ObjVars(n).objvar_name := objvar_name; Obj_ObjVars(n).objvar_type := objvar_type; Obj_ObjVars(n).objvar_value := objvar_value; isObjModified := TRUE; else OV_ObjVars(oldObjVarName).old_objvar_name_id := OV_ObjVars(oldObjVarName).objvar_name_id; OV_ObjVars(oldObjVarName).objvar_name := objvar_name; OV_ObjVars(oldObjVarName).objvar_type := objvar_type; OV_ObjVars(oldObjVarName).objvar_value := objvar_value; updated_objvars.extend(1); updated_objvars(updated_objvars.last) := oldObjVarName; end if; end if; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in ModifyObjVar - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in ModifyObjVar'); end; procedure ModifyObjVar (oldObjVarName varchar2, objvar_name varchar2, objvar_type number, rangeTable rangeTableType) is n number; begin if slot_map.exists(oldObjVarName) then if slot_map(oldObjVarName) < 21 then n := slot_map(oldObjVarName); Obj_ObjVars(n).objvar_name := objvar_name; Obj_ObjVars(n).objvar_type := objvar_type; Obj_ObjVars(n).objvar_value := ConvertValue (to_number(Obj_ObjVars(n).objvar_value), rangeTable); isObjModified := TRUE; else if OV_ObjVars(oldObjVarName).old_objvar_name_id = 0 then OV_ObjVars(oldObjVarName).old_objvar_name_id := OV_ObjVars(oldObjVarName).objvar_name_id; end if; OV_ObjVars(oldObjVarName).objvar_name := objvar_name; OV_ObjVars(oldObjVarName).objvar_type := objvar_type; OV_ObjVars(oldObjVarName).objvar_value := ConvertValue (to_number(OV_ObjVars(oldObjVarName).objvar_value), rangeTable); updated_objvars.extend(1); updated_objvars(updated_objvars.last) := oldObjVarName; end if; end if; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in ModifyObjVar - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in ModifyObjVar'); end; procedure RenameObjVar (oldObjVarName varchar2, objvar_name varchar2) is n number; begin if slot_map.exists(oldObjVarName) then if slot_map(oldObjVarName) < 21 then n := slot_map(oldObjVarName); Obj_ObjVars(n).objvar_name := objvar_name; isObjModified := TRUE; else OV_ObjVars(oldObjVarName).old_objvar_name_id := OV_ObjVars(oldObjVarName).objvar_name_id; OV_ObjVars(oldObjVarName).objvar_name := objvar_name; updated_objvars.extend(1); updated_objvars(updated_objvars.last) := oldObjVarName; end if; end if; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in ModifyObjVar - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in ModifyObjVar'); end; function GetObjVarValue (objvar_name varchar2) return varchar2 is begin if slot_map.exists(objvar_name) then if slot_map(objvar_name) < 21 then return Obj_ObjVars(slot_map(objvar_name)).objvar_value; else return OV_ObjVars(objvar_name).objvar_value; end if; else return null; end if; end; procedure AddScript (newScript varchar2) is begin if instr(script_list,newScript) = 0 then script_list := trim(script_list) || newScript || ':'; isObjModified := TRUE; end if; end; procedure RemoveScript (oldScript varchar2) is begin script_list := replace(script_list, oldScript || ':'); isObjModified := TRUE; end; procedure SetNewTemplateId (newTemplateId number) is begin new_template_id := newTemplateId; SetTemplateText (newTemplateId); end; procedure SetTemplateText (newTemplateId number) is begin if templateNameText.exists(newTemplateId) then object_name := null; name_text := templateNameText(newTemplateId); if templateNameTable.exists(newTemplateId) then name_table := templateNameTable(newTemplateId); end if; end if; end; procedure InvalidateSchematic is begin AddObjVar('ImAnInvalidSchematic',0,1); isObjModified := TRUE; end; procedure AddAttrib (attrib_name varchar2, attrib_value float) is oldName varchar2(500); tempAttrib manfAttributeRowType; begin if manf_attributes.exists(attrib_name) then ModifyAttrib(attrib_name, attrib_name, attrib_value); else if deleted_attribs.count >0 then oldName := deleted_attribs(deleted_attribs.last); deleted_attribs.trim(1); manf_attributes(oldName).attribute := attrib_name; manf_attributes(oldName).value := attrib_value; updated_attribs.extend(1); updated_attribs(updated_attribs.last) := oldName; else tempAttrib.object_id := object_id; tempAttrib.attribute := attrib_name; tempAttrib.value := attrib_value; manf_attributes(attrib_name) := tempAttrib; added_attribs.extend(1); added_attribs(added_attribs.last) := attrib_name; end if; end if; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in AddAttrib - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in AddAttrib'); end; procedure DeleteAttrib (attrib_name in varchar2) is n number; v varchar2(500); begin if manf_attributes.exists(attrib_name) then if manf_attributes(attrib_name).attribute = attrib_name then manf_attributes(attrib_name).attribute := NULL; manf_attributes(attrib_name).value := NULL; deleted_attribs.extend(1); deleted_attribs(deleted_attribs.last) := attrib_name; end if; elsif instr(attrib_name,'*') > 0 then n := instr(attrib_name,'*') -1; v := manf_attributes.first; while v is not null loop if substr(v,1,n) = substr(attrib_name,1,n) then DeleteAttrib(v); end if; v := manf_attributes.next(v); end loop; end if; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in DeleteAttrib - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in DeleteAttrib'); end; procedure ModifyAttrib (old_attrib_name varchar2, attrib_name varchar2, attrib_value float) is n number; begin if manf_attributes.exists(attrib_name) then manf_attributes(old_attrib_name).attribute := attrib_name; manf_attributes(old_attrib_name).value := attrib_value; updated_attribs.extend(1); updated_attribs(updated_attribs.last) := old_attrib_name; end if; exception when others then err_num := SQLCODE; dbms_output.put_line('Error in ModifyAttribs - time = ' || to_char(sysdate, 'MM/DD/YY HH24:MI:SS')); db_error_logger.dblogerror(err_num, 'Error in ModifyAttribs'); end; procedure DeleteOldArmorObjvars is begin DeleteObjVar('armor.rating'); DeleteObjVar('armor.vulnerability'); DeleteObjVar('armor.encumbrance'); DeleteObjVar('armor.special*'); DeleteObjVar('crafting_components.armor*'); RemoveScript('item.armor.armor'); end; procedure SetGenProtection(rangeTable rangeTableType) is begin if isFactory= TRUE then ModifyObjVar('crafting_attributes.crafting:armor_effectiveness','crafting_attributes.crafting:general_protection',2,rangeTable); else ModifyObjVar('armor.effectiveness','armor.general_protection',2,rangeTable); end if; end; procedure SetArmorCondLevelCat(condition varchar2, lev varchar2, category varchar2) is begin if isFactory= TRUE then AddObjVar('crafting_attributes.crafting:condition',2,condition); AddObjVar('armorLevel',0,lev); AddObjVar('armorCategory',0,category); else AddObjVar('armor.condition',2,condition); AddObjVar('armor.armorLevel',0,lev); AddObjVar('armor.armorCategory',0,category); end if; end; procedure SetArmorLevel(lev varchar) is begin if isFactory= TRUE then AddObjVar('armorLevel',0,lev); else AddObjVar('armor.armorLevel',0,lev); end if; end; procedure SetArmorCategory(category varchar2) is begin if isFactory= TRUE then AddObjVar('armorCategory',0,category); else AddObjVar('armor.armorCategory',0,category); end if; end; procedure SetGpAndCond(gp_name varchar2, gp_val varchar2, cond_name varchar2, cond_val varchar2) is begin AddObjVar(gp_name,2,gp_val); AddObjVar(cond_name,2,cond_val); end; procedure DeleteCraftingComponents is begin DeleteObjVar('crafting_components.*'); DeleteObjVar('item_attrib_keys'); DeleteObjVar('item_attrib_values'); end; procedure CopySchematicAttributes is n number; v varchar2(500); begin if (manf_attributes.count = 0) then v := slot_map.first; while v is not null loop if substr(v,1,29) = 'crafting_attributes.crafting:' then if slot_map(v) < 21 then n := Obj_ObjVars(slot_map(v)).objvar_value; else n := OV_ObjVars(v).objvar_value; end if; AddAttrib(substr(v,21), n); end if; v := slot_map.next(v); end loop; end if; DeleteObjVar('crafting_attributes.crafting:*'); end; procedure HandleFoodSchematic is begin CopySchematicAttributes; ConvertAttribValue('flavor', rangeTableType(rangeType(0,200,0.0,200.0))); ConvertAttribValue('nutrition', rangeTableType(rangeType(0,200,0.0,200.0))); DeleteObjVar('item_attrib_keys'); DeleteObjVar('item_attrib_values'); end; procedure HandleFoodCrate is begin ModifyObjVar('crafting_attributes.crafting:flavor','crafting_attributes.crafting:flavor',2,rangeTableType(rangeType(0,200,0.0,200.0))); ModifyObjVar('crafting_attributes.crafting:nutrition','crafting_attributes.crafting:nutrition',2,rangeTableType(rangeType(0,200,0.0,200.0))); end; procedure ConvertToStimpack(stim_template number,healing_power number, combat_level number) is begin if isSchematic = TRUE then CopySchematicAttributes; new_schematic_id := stim_template; SetTemplateText(SchematicMap(stim_template)); ModifyAttrib('power','power',healing_power); DeleteObjVar('item_attrib_keys'); DeleteObjVar('item_attrib_values'); script_list := 'systems.crafting.chemistry.crafted_items.crafting_medpack_stimpack_chemistry:'; isObjModified := TRUE; elsif isFactory = TRUE then SetTemplateText(SchematicMap(stim_template)); ModifyObjVar('draftSchematic','draftSchematic',0,stim_template); ModifyObjVar('crafting_attributes.crafting:power','crafting_attributes.crafting:power',2,healing_power); script_list := 'systems.crafting.chemistry.crafted_items.crafting_medpack_stimpack_chemistry:'; isObjModified := TRUE; else SetNewTemplateId (SchematicMap(stim_template)); DeleteObjVar('healing.*'); DeleteObjVar('consumable.*'); AddObjVar('healing.power',0,healing_power); AddObjVar('healing.combat_level_required',0,combat_level); RemoveScript('item.comestible.medicine'); AddScript('item.medicine.stimpack'); end if; end; procedure ConvertToPetStimpack(stim_template number,healing_power number) is begin if isSchematic = TRUE then CopySchematicAttributes; new_schematic_id := stim_template; SetTemplateText(SchematicMap(stim_template)); ModifyAttrib('power','power',healing_power); DeleteObjVar('item_attrib_keys'); DeleteObjVar('item_attrib_values'); script_list := 'systems.crafting.bio_engineer.instant_stimpack.crafting_stimpack_pet:'; isObjModified := TRUE; elsif isFactory = TRUE then SetTemplateText(SchematicMap(stim_template)); ModifyObjVar('draftSchematic','draftSchematic',0,stim_template); ModifyObjVar('crafting_attributes.crafting:power','crafting_attributes.crafting:power',2,healing_power); script_list := 'systems.crafting.bio_engineer.instant_stimpack.crafting_stimpack_pet:'; isObjModified := TRUE; else SetNewTemplateId (SchematicMap(stim_template)); DeleteObjVar('healing.*'); DeleteObjVar('consumable.*'); AddObjVar('healing.power',0,healing_power); RemoveScript('item.comestible.pet_med'); AddScript('item.comestible.pet_med'); end if; end; procedure ConvertToEnhancer(enh_template number, enh_name varchar2, enh_power number) is begin if isSchematic = TRUE then CopySchematicAttributes; new_schematic_id := enh_template; SetTemplateText(SchematicMap(enh_template)); ModifyAttrib('power','power',enh_power); DeleteObjVar('item_attrib_keys'); DeleteObjVar('item_attrib_values'); script_list := 'systems.crafting.chemistry.crafting_enhancers:'; isObjModified := TRUE; elsif isFactory = TRUE then SetTemplateText(SchematicMap(enh_template)); ModifyObjVar('draftSchematic','draftSchematic',0,enh_template); ModifyObjVar('crafting_attributes.crafting:power','crafting_attributes.crafting:power',2,enh_power); script_list := 'systems.crafting.chemistry.crafting_enhancers:'; isObjModified := TRUE; else SetNewTemplateId (SchematicMap(enh_template)); DeleteObjVar('healing.*'); DeleteObjVar('consumable.*'); AddObjVar('commandName',4,enh_name); AddObjVar('healing.enhancement',2,enh_power); RemoveScript('item.comestible.medicine'); AddScript('item.medicine.enhancer'); end if; end; procedure ConvertSpice(spice_name varchar2) is begin if isSchematic = TRUE then DeleteObjVar('item_attrib_keys'); DeleteObjVar('item_attrib_values'); elsif isFactory = FALSE then AddObjVar('spice.name',4,spice_name); DeleteObjVar('dur'); DeleteObjVar('health'); DeleteObjVar('str'); DeleteObjVar('con'); DeleteObjVar('action'); DeleteObjVar('quick'); DeleteObjVar('stam'); DeleteObjVar('mind'); DeleteObjVar('focus'); DeleteObjVar('will'); RemoveScript('item.comestible.spice'); AddScript('item.spice'); end if; end; procedure HandleWeaponDots is a varchar2(500); b varchar2(10); dmgDelta number; begin a := dot_list.first; while a is not null loop if (dot_list(a).exists('type') and dot_list(a).exists('attribute') and dot_list(a).exists('strength')) then dmgDelta := ((weapon_attribs.min_damage +weapon_attribs.max_damage) / 2) * ((to_number(nvl(dot_list(a)('strength').objvar_value,0)) / 1000) * (DotsMatrix(dot_list(a)('type').objvar_value, to_number(nvl(dot_list(a)('attribute').objvar_value,-1)) ) / 20)); weapon_attribs.min_damage := weapon_attribs.min_damage + dmgDelta; weapon_attribs.max_damage := weapon_attribs.max_damage + dmgDelta; b := dot_list(a).first; while b is not null loop DeleteObjVar(dot_list(a)(b).objvar_name); b := dot_list(a).next(b); end loop; end if; a := dot_list.next(a); end loop; -- also remove powerups DeleteObjVar('powerup.*'); RemoveScript('powerup.weapon'); end; procedure SetWeaponBaseStats(attack number, acc number, minrange number, maxrange number, damagetype number) is begin SetAttackCost(attack); SetAccuracy(acc); SetMinRange(minrange); SetMaxRange(maxrange); SetDamageType(damagetype); end; procedure SetMinDamage (min_damage number) is begin if isSchematic = TRUE then AddAttrib('crafting:minDamage', min_damage); DeleteObjVar('crafting_attributes.crafting:minDamage'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:minDamage',2,min_damage); elsif isWeaponObj = TRUE then weapon_attribs.min_damage := min_damage; else AddObjVar('crafting_components.minDamage',2,min_damage); end if; end; procedure SetMaxDamage (max_damage number) is begin if isSchematic = TRUE then AddAttrib('crafting:maxDamage', max_damage); DeleteObjVar('crafting_attributes.crafting:maxDamage'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:maxDamage',2,max_damage); elsif isWeaponObj = TRUE then weapon_attribs.max_damage := max_damage; else AddObjVar('crafting_components.maxDamage',2,max_damage); end if; end; procedure SetAttackSpeed (attack_speed number) is begin if isSchematic = TRUE then AddAttrib('crafting:attackSpeed', attack_speed); DeleteObjVar('crafting_attributes.crafting:attackSpeed'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:attackSpeed',2,attack_speed); elsif isWeaponObj = TRUE then weapon_attribs.attack_speed := attack_speed; else AddObjVar('crafting_components.attackSpeed',2,attack_speed); end if; end; procedure SetWoundChance (wound_chance number) is begin if isSchematic = TRUE then AddAttrib('crafting:woundChance', wound_chance); DeleteObjVar('crafting_attributes.crafting:woundChance'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:woundChance',2,wound_chance); elsif isWeaponObj = TRUE then weapon_attribs.wound_chance := wound_chance; else AddObjVar('crafting_components.woundChance',2,wound_chance); end if; end; procedure SetAccuracy (accuracy number) is begin if isSchematic = TRUE then DeleteAttrib('crafting:zeroRangeMod'); DeleteAttrib('crafting:minRangeMod'); DeleteAttrib('crafting:midRangeMod'); DeleteAttrib('crafting:maxRangeMod'); AddAttrib('crafting:accuracy', accuracy); DeleteObjVar('crafting_attributes.crafting:minRangeMod'); DeleteObjVar('crafting_attributes.crafting:zeroRangeMod'); DeleteObjVar('crafting_attributes.crafting:midRangeMod'); DeleteObjVar('crafting_attributes.crafting:maxRangeMod'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:accuracy',2,accuracy); DeleteObjVar('crafting_attributes.crafting:zeroRangeMod'); DeleteObjVar('crafting_attributes.crafting:minRangeMod'); DeleteObjVar('crafting_attributes.crafting:midRangeMod'); DeleteObjVar('crafting_attributes.crafting:maxRangeMod'); elsif isWeaponObj = TRUE then weapon_attribs.accuracy := accuracy; else AddObjVar('crafting_components.accuracy',2,accuracy); end if; end; procedure SetAttackCost (attack_cost number) is begin if isSchematic = TRUE then AddAttrib('crafting:attackCost', attack_cost); DeleteAttrib('crafting:attackHealthCost'); DeleteAttrib('crafting:attackActionCost'); DeleteAttrib('crafting:attackMindCost'); DeleteObjVar('crafting_attributes.crafting:attackHealthCost'); DeleteObjVar('crafting_attributes.crafting:attackActionCost'); DeleteObjVar('crafting_attributes.crafting:attackMindCost'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:attackCost',2,attack_cost); DeleteObjVar('crafting_attributes.crafting:attackHealthCost'); DeleteObjVar('crafting_attributes.crafting:attackActionCost'); DeleteObjVar('crafting_attributes.crafting:attackMindCost'); elsif isWeaponObj = TRUE then weapon_attribs.attack_cost := attack_cost; else AddObjVar('crafting_components.attackCost',2,attack_cost); end if; end; procedure SetMinRange (min_range number) is begin if isSchematic = TRUE then AddAttrib('crafting:minRange', min_range); DeleteObjVar('crafting_attributes.crafting:minRange'); DeleteObjVar('crafting_attributes.crafting:midRange'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:minRange',2,min_range); DeleteObjVar('crafting_attributes.crafting:midRange'); elsif isWeaponObj = TRUE then weapon_attribs.min_range := min_range; else AddObjVar('crafting_components.minRange',2,min_range); end if; end; procedure SetMaxRange (max_range number) is begin if isSchematic = TRUE then AddAttrib('crafting:maxRange', max_range); DeleteObjVar('crafting_attributes.crafting:maxRange'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:maxRange',2,max_range); elsif isWeaponObj = TRUE then weapon_attribs.max_range := max_range; else AddObjVar('crafting_components.maxRange',2,max_range); end if; end; procedure SetDamageType (dmg_type number) is begin if isSchematic = TRUE then AddAttrib('crafting:damageType', dmg_type); DeleteObjVar('crafting_attributes.crafting:damageType'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:damageType',2,dmg_type); elsif isWeaponObj = TRUE then weapon_attribs.damage_type := dmg_type; else AddObjVar('crafting_components.damageType',2,dmg_type); end if; end; procedure SetElementalType (ele_type number) is begin if isSchematic = TRUE then AddAttrib('crafting:elementalType', ele_type); DeleteObjVar('crafting_attributes.crafting:elementalType'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:elementalType',2,ele_type); elsif isWeaponObj = TRUE then weapon_attribs.elemental_type := ele_type; else AddObjVar('crafting_components.elementalType',2,ele_type); end if; end; procedure SetElementalValue (ele_value number) is begin if isSchematic = TRUE then AddAttrib('crafting:elementalValue', ele_value); DeleteObjVar('crafting_attributes.crafting:elementalValue'); elsif isFactory = TRUE then AddObjVar('crafting_attributes.crafting:elementalValue',2,ele_value); elsif isWeaponObj = TRUE then weapon_attribs.elemental_value := ele_value; else AddObjVar('crafting_components.elementalValue',2,ele_value); end if; end; procedure ConvertAttribValue(attribute varchar2, rangeTable rangeTableType) is n number; begin if manf_attributes.exists('crafting:' || attribute) then ModifyAttrib('crafting:' || attribute,'crafting:' || attribute,ConvertValue(manf_attributes('crafting:' || attribute).value, rangeTable)); elsif slot_map.exists('crafting_attributes.crafting:' || attribute) then if slot_map('crafting_attributes.crafting:' || attribute) < 21 then n := Obj_ObjVars(slot_map('crafting_attributes.crafting:' || attribute)).objvar_value; else n := OV_ObjVars('crafting_attributes.crafting:' || attribute).objvar_value; end if; AddAttrib('crafting:' || attribute, ConvertValue(n, rangeTable)); end if; end; procedure ConvertMinDamage (rangeTable rangeTableType) is begin if isSchematic = TRUE then ConvertAttribValue('minDamage', rangeTable); elsif isFactory = TRUE then ModifyObjVar('crafting_attributes.crafting:minDamage','crafting_attributes.crafting:minDamage',2,rangeTable); else weapon_attribs.min_damage := ConvertValue(weapon_attribs.min_damage, rangeTable); end if; end; procedure ConvertMaxDamage (rangeTable rangeTableType) is begin if isSchematic = TRUE then ConvertAttribValue('maxDamage', rangeTable); elsif isFactory = TRUE then ModifyObjVar('crafting_attributes.crafting:maxDamage','crafting_attributes.crafting:maxDamage',2,rangeTable); else weapon_attribs.max_damage := ConvertValue(weapon_attribs.max_damage, rangeTable); end if; end; procedure ConvertAttackSpeed (rangeTable rangeTableType) is begin if isSchematic = TRUE then ConvertAttribValue('attackSpeed', rangeTable); elsif isFactory = TRUE then ModifyObjVar('crafting_attributes.crafting:attackSpeed','crafting_attributes.crafting:attackSpeed',2,rangeTable); else weapon_attribs.attack_speed := ConvertValue(weapon_attribs.attack_speed*10, rangeTable)/10; end if; end; procedure ConvertWoundChance (rangeTable rangeTableType) is begin if isSchematic = TRUE then ConvertAttribValue('woundChance', rangeTable); elsif isFactory = TRUE then ModifyObjVar('crafting_attributes.crafting:woundChance','crafting_attributes.crafting:woundChance',2,rangeTable); else weapon_attribs.wound_chance := ConvertValue(weapon_attribs.wound_chance, rangeTable); end if; end; procedure ConvertRangedPowerup is schematic_id varchar2(50); oldval number; bonus number; penalty number; bonusObjVar varchar2(50); penaltyObjVar varchar2(50); begin if slot_map.exists('powerup.max_dam') then schematic_id := 996671491; -- ranged_barrel oldval := to_number(GetObjVarValue('powerup.max_dam')); if oldval > 0.33 then oldval := 0.33; end if; bonus := oldval * 0.9; penalty := bonus * 0.67; bonusObjVar := 'powerup.damage'; penaltyObjVar := 'powerup.speed'; elsif slot_map.exists('powerup.min_dam') then schematic_id := 996671491; -- ranged_barrel oldval := to_number(GetObjVarValue('powerup.min_dam')); if oldval > 0.33 then oldval := 0.33; end if; bonus := oldval * 0.9; penalty := bonus * 0.67; bonusObjVar := 'powerup.damage'; penaltyObjVar := 'powerup.speed'; elsif slot_map.exists('powerup.speed') then schematic_id := -671068023; -- ranged_grip oldval := to_number(GetObjVarValue('powerup.speed')); if oldval > 0.33 then oldval := 0.33; end if; bonus := oldval * -0.9; penalty := trunc(-134 * bonus); bonusObjVar := 'powerup.speed'; penaltyObjVar := 'powerup.accuracy'; elsif slot_map.exists('powerup.wound_chance') then schematic_id := -1092259441; --ranged_muzzle oldval := to_number(GetObjVarValue('powerup.wound')); if oldval > 0.33 then oldval := 0.33; end if; bonus := oldval * 0.9; penalty := bonus * 0.67; bonusObjVar := 'powerup.wound'; penaltyObjVar := 'powerup.actionCost'; elsif slot_map.exists('powerup.zero_mod') or slot_map.exists('powerup.mid_mod') or slot_map.exists('powerup.max_mod') then schematic_id := 917984840; -- ranged_scope oldval := 0.20; bonus := 18; penalty := 0.09; bonusObjVar := 'powerup.accuracy'; penaltyObjVar := 'powerup.speed'; else schematic_id := 2108030646; -- ranged_stock oldval := to_number(nvl(GetObjVarValue('powerup.health_cost'),'0')); if oldval = 0 then oldval := to_number(nvl(GetObjVarValue('powerup.action_cost'),'0')); if oldval = 0 then oldval := to_number(nvl(GetObjVarValue('powerup.mind_cost'),'0')); end if; end if; if oldval = 0 then oldval := 0.10; elsif oldval > 0.33 then oldval := 0.33; end if; bonus := oldval * -0.9; penalty := trunc(-67 * bonus); bonusObjVar := 'powerup.actionCost'; penaltyObjVar := 'powerup.accuracy'; end if; if isSchematic = TRUE then CopySchematicAttributes; new_schematic_id := schematic_id; SetTemplateText(SchematicMap(schematic_id)); DeleteObjVar('powerup.*'); DeleteObjVar('item_attrib_keys'); DeleteObjVar('item_attrib_values'); AddAttrib('crafting:effect', oldval * 300); AddAttrib('crafting:efficiency', 33); script_list := 'systems.crafting.item.specific_item.crafting_powerup_item:'; isObjModified := TRUE; elsif isFactory = TRUE then SetTemplateText(SchematicMap(schematic_id)); DeleteObjVar('powerup.*'); ModifyObjVar('draftSchematic','draftSchematic',0,schematic_id); AddObjVar('crafting_attributes.crafting:effect',2,oldval * 300); AddObjVar('crafting_attributes.crafting:efficiency',2,33); script_list := 'systems.crafting.item.specific_item.crafting_powerup_item:'; isObjModified := TRUE; else SetNewTemplateId(SchematicMap(schematic_id)); DeleteObjVar('powerup.*'); AddObjVar('powerup.effect', 2, oldval * 300); AddObjVar('powerup.efficiency', 2, 33); AddObjVar('powerup.usesLeft', 0, 100); AddObjVar(bonusObjVar, 2, bonus); AddObjVar(penaltyObjVar, 2, penalty); end if; end; procedure ConvertMeleePowerup is schematic_id varchar2(50); oldval number; bonus number; penalty number; bonusObjVar varchar2(50); penaltyObjVar varchar2(50); begin if slot_map.exists('powerup.max_dam') then schematic_id := 1380627363; -- inertial_fluctuator oldval := to_number(GetObjVarValue('powerup.max_dam')); if oldval > 0.33 then oldval := 0.33; end if; bonus := oldval * 0.9; penalty := bonus * 0.67; bonusObjVar := 'powerup.damage'; penaltyObjVar := 'powerup.speed'; elsif slot_map.exists('powerup.min_dam') then schematic_id := 1380627363; -- inertial_fluctuator oldval := to_number(GetObjVarValue('powerup.min_dam')); if oldval > 0.33 then oldval := 0.33; end if; bonus := oldval * 0.9; penalty := bonus * 0.67; bonusObjVar := 'powerup.damage'; penaltyObjVar := 'powerup.speed'; elsif slot_map.exists('powerup.speed') then schematic_id := 695657910; -- tactical_grip_modifier oldval := to_number(GetObjVarValue('powerup.speed')); if oldval > 0.33 then oldval := 0.33; end if; bonus := oldval * -0.9; penalty := trunc(-134 * bonus); bonusObjVar := 'powerup.speed'; penaltyObjVar := 'powerup.accuracy'; elsif slot_map.exists('powerup.wound_chance') then schematic_id := -862055522; --surface_serration_kit oldval := to_number(GetObjVarValue('powerup.wound')); if oldval > 0.33 then oldval := 0.33; end if; bonus := oldval * 0.9; penalty := bonus * 0.67; bonusObjVar := 'powerup.wound'; penaltyObjVar := 'powerup.actionCost'; elsif slot_map.exists('powerup.zero_mod') or slot_map.exists('powerup.mid_mod') or slot_map.exists('powerup.max_mod') then schematic_id := 1867435580; -- balancing_weights oldval := 0.20; bonus := 18; penalty := 0.09; bonusObjVar := 'powerup.accuracy'; penaltyObjVar := 'powerup.speed'; else schematic_id := -1838768682; -- hilt_reinforcement_kit oldval := to_number(nvl(GetObjVarValue('powerup.health_cost'),'0')); if oldval = 0 then oldval := to_number(nvl(GetObjVarValue('powerup.action_cost'),'0')); if oldval = 0 then oldval := to_number(nvl(GetObjVarValue('powerup.mind_cost'),'0')); end if; end if; if oldval = 0 then oldval := 0.10; elsif oldval > 0.33 then oldval := 0.33; end if; bonus := oldval * -0.9; penalty := trunc(-67 * bonus); bonusObjVar := 'powerup.actionCost'; penaltyObjVar := 'powerup.accuracy'; end if; if isSchematic = TRUE then CopySchematicAttributes; new_schematic_id := schematic_id; SetTemplateText(SchematicMap(schematic_id)); DeleteObjVar('powerup.*'); DeleteObjVar('item_attrib_keys'); DeleteObjVar('item_attrib_values'); AddAttrib('crafting:effect', oldval * 300); AddAttrib('crafting:efficiency', 33); script_list := 'systems.crafting.item.specific_item.crafting_powerup_item:'; isObjModified := TRUE; elsif isFactory = TRUE then SetTemplateText(SchematicMap(schematic_id)); ModifyObjVar('draftSchematic','draftSchematic',0,schematic_id); AddObjVar('crafting_attributes.crafting:effect',2,oldval * 300); AddObjVar('crafting_attributes.crafting:efficiency',2,33); script_list := 'systems.crafting.item.specific_item.crafting_powerup_item:'; isObjModified := TRUE; else SetNewTemplateId(SchematicMap(schematic_id)); DeleteObjVar('powerup.*'); AddObjVar('powerup.effect', 2, oldval * 300); AddObjVar('powerup.efficiency', 2, 33); AddObjVar('powerup.usesLeft', 0, 100); AddObjVar(bonusObjVar, 2, bonus); AddObjVar(penaltyObjVar, 2, penalty); end if; end; procedure ConvertMinePowerup is oldval number; begin if slot_map.exists('powerup.max_dam') then oldval := to_number(GetObjVarValue('powerup.max_dam')); elsif slot_map.exists('powerup.min_dam') then oldval := to_number(GetObjVarValue('powerup.min_dam')); else oldval := 0.10; end if; if oldval > 0.33 then oldval := 0.33; end if; if isSchematic = TRUE then CopySchematicAttributes; new_schematic_id := -1704666295; SetTemplateText(-2117547605); DeleteObjVar('powerup.*'); DeleteObjVar('item_attrib_keys'); DeleteObjVar('item_attrib_values'); AddAttrib('crafting:effect', oldval * 300); AddAttrib('crafting:efficiency', 33); script_list := 'systems.crafting.item.specific_item.crafting_powerup_item:'; isObjModified := TRUE; elsif isFactory = TRUE then SetTemplateText(-2117547605); ModifyObjVar('draftSchematic','draftSchematic',0,-1704666295); AddObjVar('crafting_attributes.crafting:effect',2,oldval * 300); AddObjVar('crafting_attributes.crafting:efficiency',2,33); script_list := 'systems.crafting.item.specific_item.crafting_powerup_item:'; isObjModified := TRUE; else SetNewTemplateId(-2117547605); DeleteObjVar('powerup.*'); AddObjVar('powerup.effect', 2, oldval * 300); AddObjVar('powerup.efficiency', 2, 33); AddObjVar('powerup.usesLeft', 0, 100); AddObjVar('powerup.damage', 2, oldval * 0.9); end if; end; function ConvertValue (oldvalue number, rangeTable rangeTableType) return number is retval number; i number; begin retval := rangeTable(rangeTable.first)(3); -- default to min value if oldvalue >= rangeTable(rangeTable.last)(2) then retval := rangeTable(rangeTable.last)(4); else i := rangeTable.first; while i is not null loop if oldvalue >= rangeTable(i)(1) and oldvalue < rangeTable(i)(2) then retval := (( (oldvalue - rangeTable(i)(1)) * ((rangeTable(i)(4)-rangeTable(i)(3))/(rangeTable(i)(2)-rangeTable(i)(1))) ) + rangeTable(i)(3) ); exit; end if; i := rangeTable.next(i); end loop; end if; return retval; end; procedure CheckObjVarForDot (objvar objVarType) is dotName varchar2(500); begin if substr(objvar.objvar_name,1,4) = 'dot.' and (instr(objvar.objvar_name,'.',-1) > 4) then dotName := substr(objvar.objvar_name,5,instr(objvar.objvar_name,'.',-1)-5); dot_list(dotName)(substr(objvar.objvar_name,instr(objvar.objvar_name,'.',1,2)+1,10)) := objvar; end if; end; function DotsMatrix(dot_type varchar2, dot_attrib number) return number is retval number := 0; begin if dots_matrix.exists(dot_type) and dots_matrix(dot_type).exists(dot_attrib) then retval := dots_matrix(dot_type)(dot_attrib); end if; return retval; end; function SchematicMap(schematic_id number) return number is retval number := 0; begin if schematic_map.exists(schematic_id) then retval := schematic_map(schematic_id); end if; return retval; end; end; /