|  | @@ -246,9 +246,6 @@ public:
 | 
	
		
			
				|  |  |  	//internal, for use only by Mechanics classes
 | 
	
		
			
				|  |  |  	ESpellCastProblem::ESpellCastProblem isImmuneBy(const IBonusBearer *obj) const;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	//checks for creature immunity / anything that prevent casting *at given target* - doesn't take into account general problems such as not having spellbook or mana points etc.
 | 
	
		
			
				|  |  | -	ESpellCastProblem::ESpellCastProblem isImmuneByStack(const CGHeroInstance * caster, const CStack * obj) const;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  	//internal, for use only by Mechanics classes. applying secondary skills
 | 
	
		
			
				|  |  |  	ui32 calculateBonus(ui32 baseDamage, const CGHeroInstance * caster, const CStack * affectedCreature) const;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -301,6 +298,14 @@ public:
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	friend class CSpellHandler;
 | 
	
		
			
				|  |  |  	friend class Graphics;
 | 
	
		
			
				|  |  | +public:
 | 
	
		
			
				|  |  | +	///internal interface (for callbacks)
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	///Checks general but spell-specific problems for all casting modes. Use only during battle.
 | 
	
		
			
				|  |  | +	ESpellCastProblem::ESpellCastProblem canBeCasted(const CBattleInfoCallback * cb) const;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	///checks for creature immunity / anything that prevent casting *at given target* - doesn't take into account general problems such as not having spellbook or mana points etc.
 | 
	
		
			
				|  |  | +	ESpellCastProblem::ESpellCastProblem isImmuneByStack(const CGHeroInstance * caster, const CStack * obj) const;
 | 
	
		
			
				|  |  |  public:
 | 
	
		
			
				|  |  |  	///Server logic. Has write access to GameState via packets.
 | 
	
		
			
				|  |  |  	///May be executed on client side by (future) non-cheat-proof scripts.
 |