Thread: Pet Focus
View Single Post
  #3  
Old 07-08-2010, 07:30 PM
Caryatis
Dragon
 
Join Date: May 2009
Location: Milky Way
Posts: 539
Default

since this isnt nearly close to how live works, it doesnt have any chance of being submitted for server code(I imagine) however for custom servers its a very easy change...

original code... pets.cpp... line 251
Code:
if (this->IsClient() && CastToClient()->GetFocusEffect(focusPetPower, spell_id) > 0)
	{
		npc_type->max_hp *= 1.20;
		npc_type->cur_hp = npc_type->max_hp;
		npc_type->AC *= 1.20;
		npc_type->level += 1;
		npc_type->min_dmg = (npc_type->min_dmg * 110 / 100);
		npc_type->max_dmg = (npc_type->max_dmg * 110 / 100);
		npc_type->size *= 1.15;
	}
change to...

Code:
if (this->IsClient() && CastToClient()->GetFocusEffect(focusPetPower, spell_id) == 5)
	{
		npc_type->max_hp *= 1.20;
		npc_type->cur_hp = npc_type->max_hp;
		npc_type->AC *= 1.20;
		npc_type->level += 1;
		npc_type->min_dmg = (npc_type->min_dmg * 110 / 100);
		npc_type->max_dmg = (npc_type->max_dmg * 110 / 100);
		npc_type->size *= 1.15;
	}
for subsequent focuses add a new copy of that and change the attributes as you see fit... for example..

Code:
if (this->IsClient() && CastToClient()->GetFocusEffect(focusPetPower, spell_id) == 10)
	{
		npc_type->max_hp *= 1.30;
		npc_type->cur_hp = npc_type->max_hp;
		npc_type->AC *= 1.30;
		npc_type->level += 2;
		npc_type->min_dmg = (npc_type->min_dmg * 120 / 100);
		npc_type->max_dmg = (npc_type->max_dmg * 120 / 100);
		npc_type->size *= 1.2;
	}
then keep adding those in increments of 5 until you get to the max pet focus, which seems to be like 120 for Enhanced Minion XIV. Could also define some variables and have them increment values automatically based on the pet power base so would only need 1 section of code instead of 20 ish.

Playing with the source is alot easier than it seems, easier than waiting 16 months for somebody to do it for you lol.
Reply With Quote