View Single Post
  #5  
Old 09-14-2006, 01:34 AM
Zuesrooster
Fire Beetle
 
Join Date: Mar 2006
Location: NYC
Posts: 20
Default

I am doing this at work so I haven't really had a chance to test it out but I am 90% sure that replacing GetInstrumentMod with:

Code:
	if(GetClass() != BARD)
		return(10);
	
	int16 effectmod = 100;
	
	//this should never use spell modifiers...
	//if a spell grants better modifers, they are copied into the item mods
	//because the spells are supposed to act just like having the intrument.
	
	//item mods are in 10ths of percent increases
	switch(spells[spell_id].skill) {
		case PERCUSSION_INSTRUMENTS:
			if(itembonuses.percussionMod > spellbonuses.percussionMod)
				effectmod += itembonuses.percussionMod;
			else
				effectmod += spellbonuses.percussionMod;
			break;
		case STRINGED_INSTRUMENTS:
			if(itembonuses.stringedMod > spellbonuses.stringedMod)
				effectmod += itembonuses.stringedMod;
			else
				effectmod += spellbonuses.stringedMod;
			break;
		case WIND_INSTRUMENTS:
			if(itembonuses.windMod > spellbonuses.windMod)
				effectmod += itembonuses.windMod;
			else
				effectmod += spellbonuses.windMod;
			break;
		case BRASS_INSTRUMENTS:
			if(itembonuses.brassMod > spellbonuses.brassMod)
				effectmod += itembonuses.brassMod;
			else
				effectmod += spellbonuses.brassMod;
			break;
		case SINGING:
			if(itembonuses.singingMod > spellbonuses.singingMod)
				effectmod += itembonuses.singingMod;
			else
				effectmod += spellbonuses.singingMod;
			break;
		default:
			break;
	}
	
	if(spells[spell_id].skill == SINGING)
		effectmod += 20*GetAA(aaSingingMastery);
	else
		effectmod += 20*GetAA(aaInstrumentMastery);
	
	#if EQDEBUG >= 5
//		LogFile->write(EQEMuLog::Debug, "%s::GetInstrumentMod() spell=%d mod=%d\n", GetName(), spell_id, effectmod);
	#endif
	return(effectmod/10);
this should get instrument modifiers working like live. The issue with the old one is if a weapon had a 21% modifier it actually increased it by 2.1 times instead of .21, this will only increase it 20% since it is an int and for some reason it is expecting 10 instead of a 100 as the mod. But it gets instruments working much closer to live then before. I will play around some more with it this week or next week, if anyone has any ideas they are always welcome.

Last edited by Zuesrooster; 09-14-2006 at 10:28 AM..
Reply With Quote