Browse Source

Relaxed cast requirements for Quicksand

AlexVinS 9 years ago
parent
commit
dad0569bc7
2 changed files with 4 additions and 4 deletions
  1. 3 3
      lib/spells/BattleSpellMechanics.cpp
  2. 1 1
      lib/spells/BattleSpellMechanics.h

+ 3 - 3
lib/spells/BattleSpellMechanics.cpp

@@ -492,9 +492,10 @@ void PatchObstacleMechanics::applyBattleEffects(const SpellCastEnvironment * env
 		placeObstacle(env, parameters, availableTiles.at(i));
 }
 
-ESpellCastProblem::ESpellCastProblem PatchObstacleMechanics::canBeCast(const CBattleInfoCallback * cb, const ECastingMode::ECastingMode mode, const ISpellCaster * caster) const
+///LandMineMechanics
+ESpellCastProblem::ESpellCastProblem LandMineMechanics::canBeCast(const CBattleInfoCallback * cb, const ECastingMode::ECastingMode mode, const ISpellCaster * caster) const
 {
-	//Quicksand|LandMine are useless if enemy has native stack, check for LandMine damage immunity is done in general way by CSpell
+	//LandMine are useless if enemy has native stack and can see mines, check for LandMine damage immunity is done in general way by CSpell
 	const ui8 otherSide = !cb->playerToSide(caster->getOwner());
 
 	if(cb->battleHasNativeStack(otherSide))
@@ -503,7 +504,6 @@ ESpellCastProblem::ESpellCastProblem PatchObstacleMechanics::canBeCast(const CBa
 	return DefaultSpellMechanics::canBeCast(cb, mode, caster);
 }
 
-///LandMineMechanics
 bool LandMineMechanics::requiresCreatureTarget() const
 {
 	return true;

+ 1 - 1
lib/spells/BattleSpellMechanics.h

@@ -113,7 +113,6 @@ class PatchObstacleMechanics : public ObstacleMechanics
 {
 public:
 	PatchObstacleMechanics(CSpell * s): ObstacleMechanics(s){};
-	ESpellCastProblem::ESpellCastProblem canBeCast(const CBattleInfoCallback * cb, const ECastingMode::ECastingMode mode, const ISpellCaster * caster) const override;
 protected:
 	void applyBattleEffects(const SpellCastEnvironment * env, const BattleSpellCastParameters & parameters, SpellCastContext & ctx) const override;
 };
@@ -122,6 +121,7 @@ class DLL_LINKAGE LandMineMechanics : public PatchObstacleMechanics
 {
 public:
 	LandMineMechanics(CSpell * s): PatchObstacleMechanics(s){};
+	ESpellCastProblem::ESpellCastProblem canBeCast(const CBattleInfoCallback * cb, const ECastingMode::ECastingMode mode, const ISpellCaster * caster) const override;
 	bool requiresCreatureTarget() const	override;
 protected:
 	void setupObstacle(SpellCreatedObstacle * obstacle) const override;