worlddatabase.cpp changes
add min_class_skill_req to the below line
Code: Select all
if( !database_new.Select(&result, "SELECT s.`id`, `name`, `description`, `type`, `class_skill`, `mastery_skill`, `min_class_skill_req`, `tier`, `hp_req`, `power_req`, `cast_time`, `recast`, `radius`, `max_aoe_targets`, `req_concentration`, `range`, `duration1`, `duration2`, `unknown9`,`resistibility`, `hp_upkeep`, `power_upkeep`, `duration_until_cancel`, `target_type`, `recovery`, `power_req_percent`, `hp_req_percent`, `icon`, `icon_heroic_op`, `icon_backdrop`, `success_message`, `fade_message`, `cast_type`, `lua_script`, `call_frequency`, `interruptable`, `spell_visual`, `effect_message`, `min_range`, `can_effect_raid`, `affect_only_group_members`, `hit_bonus`, `display_spell_tier`, `friendly_spell`, `group_spell`, `spell_book_type`, s.is_active, savagery_req, savagery_req_percent, savagery_upkeep, dissonance_req, dissonance_req_percent, dissonance_upkeep, linked_timer_id, det_type, incurable, control_effect_type, cast_while_moving, casting_flags, persist_through_death, not_maintained, savage_bar, savage_bar_slot, soe_spell_crc "
"FROM spells s, spell_tiers st "
"WHERE s.id = st.spell_id AND s.is_active = 1 "
"ORDER BY s.`id`, `tier`") )
add the third line below
Code: Select all
/* Skill Requirements */
data->class_skill = result.GetInt32Str("class_skill");
data->mastery_skill = result.GetInt32Str("mastery_skill");
data->min_class_skill_req = result.GetInt16Str("min_class_skill_req");
add last line below
Code: Select all
/* Spell Parameters */
data->call_frequency = result.GetInt32Str("call_frequency");
data->cast_time = result.GetInt16Str("cast_time");
data->duration1 = result.GetInt32Str("duration1");
data->duration2 = result.GetInt32Str("duration2");
data->hit_bonus = result.GetFloatStr("hit_bonus");
data->unknown9 = result.GetInt8Str("unknown9");
data base change in items
as the sell_status_amount field
db item.JPG
changes to items.h
Code: Select all
add the sell_status line below
int8 stack_count;
int32 sell_price;
int32 sell_status;
int32 max_sell_value;
bool save_needed;
int8 weapon_type;
string adornment;
changes to items.cpp
add sell_status line below
Code: Select all
Item::Item(){
item_script = "";
sell_price = 0;
sell_status = 0;
max_sell_value = 0;
save_needed = true;
change below line from a 1 to show_name
Code: Select all
if(show_name)
packet->setSubstructSubstructDataByName("header", "info_header", "show_name", show_name);
if(packet_type == 0)
add unknown21 line, not sure yet why this worked but it did, and change FFFFFFFF to 00000000 in both places
Code: Select all
packet->setSubstructDataByName("header_info", "unknown21", 0x00000000);
packet->setSubstructDataByName("header_info", "condition", generic_info.condition);
packet->setSubstructDataByName("header_info", "weight", generic_info.weight);
if(generic_info.skill_req1 == 0)
packet->setSubstructDataByName("header_info", "skill_req1", 0x00000000);
else
packet->setSubstructDataByName("header_info", "skill_req1", generic_info.skill_req1);
if(generic_info.skill_req2 == 0)
packet->setSubstructDataByName("header_info", "skill_req2", 0x00000000);
else
change footer _unknown2 to 0 in both places
Code: Select all
packet->setSubstructDataByName("footer", "recommended_level", details.recommended_level);
if(generic_info.adventure_default_level > 0){
packet->setSubstructDataByName("footer", "required_level", generic_info.adventure_default_level);
packet->setSubstructDataByName("footer", "footer_unknown2", 0);// remove defualt
}
else{
packet->setSubstructDataByName("footer", "required_level", generic_info.tradeskill_default_level);
packet->setSubstructDataByName("footer", "footer_unknown2", 0);//remove default
}