View Single Post
  #94  
Old 06-09-2012, 02:36 PM
Caryatis
Dragon
 
Join Date: May 2009
Location: Milky Way
Posts: 541
Default

I suppose you never checked the spdat.h file(you know where all this is defined):

Code:
#define SE_AddInstrumentMod				260 // *not implemented
and from bonuses.cpp:

Code:
case SE_AllInstrumentMod:
	{
	if(effect_value > newbon->singingMod)
		newbon->singingMod = effect_value;
	if(effect_value > newbon->brassMod)
		newbon->brassMod = effect_value;
	if(effect_value > newbon->percussionMod)
		newbon->percussionMod = effect_value;
	if(effect_value > newbon->windMod)
		newbon->windMod = effect_value;
	if(effect_value > newbon->stringedMod)
		newbon->stringedMod = effect_value;
	break;
	}
ie you don't need to use any other field but the effect_base_valueXX.

You say live uses spell effects to boost spells, yet you dont try to copy any live spells?

For example, if you had checked out Amplification you would have noticed it uses an entirely seperate spell effect(118 ) to boost the singing skill.

Last but not least, your testing method is quite lazy. All you did was open mystats and then get disappointed. Lets look at the mystats code since that takes like 5 seconds:

Code:
std::string bard_info = "";
	if(GetClass() == BARD) {
		bard_info = indP + "Singing: " + itoa(GetSingMod()) + "<br>" +
					indP + "Brass: " + itoa(GetBrassMod()) + "<br>" +
					indP + "String: " + itoa(GetStringMod()) + "<br>" +
					indP + "Percussion: " + itoa(GetPercMod()) + "<br>" +
					indP + "Wind: " + itoa(GetWindMod()) + "<br>";
	}
The important bits are GetXXXMod, lets go deeper:

Code:
inline virtual sint16	GetStringMod()		const { return itembonuses.stringedMod; }
So to recap, you create a spellbonus to songs, you then check that with a function that only returns the itembonuses and thus you assume the effects are broken and post twice about it.

Searching... not just for the forums!
Reply With Quote