View Single Post
  #2  
Old 09-15-2007, 05:38 AM
sfisque
Hill Giant
 
Join Date: Oct 2006
Posts: 248
Default

this should fix it:

in bool Client::Process() // client_process.cpp

change

Code:
		if (GetClass() == WARRIOR || GetClass() == BERSERKER) {
			if(!dead && !berserk && this->GetHPRatio() < 30) {
	//			char temp[100];
	//			snprintf(temp, 100, "%s goes into a berserker frenzy!", this->GetName());
	//			entity_list.MessageClose(this, 0, 200, 10, temp);
				entity_list.MessageClose_StringID(this, false, 200, 0, BERSERK_START, GetName());
				this->berserk = true;
			}
			if (berserk && this->GetHPRatio() > 30) {
	//			char temp[100];
	//			snprintf(temp, 100, "%s is no longer berserk.", this->GetName());
	//			entity_list.MessageClose(this, 0, 200, 10, temp);
				entity_list.MessageClose_StringID(this, false, 200, 0, BERSERK_END, GetName());
				this->berserk = false;
			}
		}

to this:

Code:
		if (GetClass() == WARRIOR || GetClass() == BERSERKER) {
			if(!dead && !berserk && this->GetHPRatio() < 30) {
	//			char temp[100];
	//			snprintf(temp, 100, "%s goes into a berserker frenzy!", this->GetName());
	//			entity_list.MessageClose(this, 0, 200, 10, temp);
				entity_list.MessageClose_StringID(this, false, 200, 0, BERSERK_START, GetName());
				this->berserk = true;
				this->CalcSTR();
			}
			if (berserk && this->GetHPRatio() > 30) {
	//			char temp[100];
	//			snprintf(temp, 100, "%s is no longer berserk.", this->GetName());
	//			entity_list.MessageClose(this, 0, 200, 10, temp);
				entity_list.MessageClose_StringID(this, false, 200, 0, BERSERK_END, GetName());
				this->berserk = false;
				this->CalcSTR();
			}
		}
and in

sint16 Client::CalcSTR() // client_mods.cpp

change:

Code:
	sint16 val = m_pp.STR + itembonuses.STR + spellbonuses.STR;
	
	sint16 mod = 2 * (GetAA(aaInnateStrength) + GetAA(aaAdvancedInnateStrength));
	
	if(val>255 && GetLevel() <= 60)
		val = 255;
	STR = val + mod;
to

Code:
	sint16 val = m_pp.STR + itembonuses.STR + spellbonuses.STR;
	
	sint16 mod = 2 * (GetAA(aaInnateStrength) + GetAA(aaAdvancedInnateStrength));
	
	// check for berserking warrior or berserker
	// normally you cant be berserk if not a warrior or berserker but we check
	// for sanity sake
	if( berserk && ( GetClass() == WARRIOR || GetClass() == BERSERKER) )
	{
		mod += 10;
	}
	
	if(val>255 && GetLevel() <= 60)
		val = 255;
	STR = val + mod;
i apologize for not offering diffs, but many of my files are not upto date with CVS and have custom modifications. this is the cleanest way to display what i changed without confusing versions and stuff.

== sfisque
Reply With Quote