View Single Post
  #6  
Old 10-04-2008, 01:50 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

That sounds like a good place for me to start

If we can get it moved to a system that iterates through the values, we can always have a default case, just like we do currently in spell_effects.cpp, that doesn't do anything. That way, we can get the AAs in, then focus on the spells effects.

Just thinking out loud, but from what I can see & remember, bonuses for the client are called from Client::CalcBonuses() in zone/bonuses.cpp:
Code:
void Client::CalcBonuses()
{
	_ZP(Client_CalcBonuses);
	memset(&itembonuses, 0, sizeof(StatBonuses));
	CalcItemBonuses(&itembonuses);
	CalcEdibleBonuses(&itembonuses);
	
	RecalcWeight();
	
	CalcSpellBonuses(&spellbonuses);
	
	CalcAC();
	CalcATK();
	CalcHaste();
	
	CalcSTR();
	CalcSTA();
	CalcDEX();
	CalcAGI();
	CalcINT();
	CalcWIS();
	CalcCHA();
	
	CalcMR();
	CalcFR();
	CalcDR();
	CalcPR();
	CalcCR();
	
	CalcMaxHP();
	CalcMaxMana();
	CalcMaxEndurance();
	
	rooted = FindType(SE_Root);
}
so we already have functions for the big stuff. I would think we could then start with a similar function for AAs. I'm sure we could have it piggyback spellbonuses, although it might be better to add aabonuses into the Mob class in zone/mob.h, just in case we want to count it separately (but have to change several places in the source to look at itembonuses + spellbonuses + aabonuses).

I've been working on it, but don't have anything usable yet.

P.S. I moved the discussion since it doesn't really apply to just the Regen AA anymore.
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote