瀏覽代碼

Fix for attacks of casting creatures.
Version set to release build 0.86c.

DjWarmonger 14 年之前
父節點
當前提交
448a3a6604
共有 3 個文件被更改,包括 28 次插入3 次删除
  1. 19 0
      ChangeLog
  2. 8 2
      client/CBattleInterface.cpp
  3. 1 1
      global.h

+ 19 - 0
ChangeLog

@@ -1,3 +1,22 @@
+0.86 -> 0.87
+
+GENERAL:
+* Pathfinder can find way using ships and subterranean gates
+BATTLES
+* All attacked hexes will be highlighted
+* New combat abilities supported:
+- Spell Resistance aura
+- Random spellcaster (Genies)
+- Mana channeling
+- Daemon summoning
+- Spellcaster (Archangel Ogre Mage, Elementals, Faerie Dragon)
+- Fear
+- Fearless
+- No wall penalty
+- Enchanter
+- Bind
+- Dispell helpful spells
+
 0.85 -> 0.86 (Sep 01 2011)
 GENERAL:
 * Reinstated music support

+ 8 - 2
client/CBattleInterface.cpp

@@ -2866,6 +2866,7 @@ void CBattleInterface::hexLclicked(int whichOne)
 		else //we don't aim for spell target area
 		{
 			bool walkableTile = false;
+			bool spellCast = false;
 			if (dest)
 			{
 				bool ourStack = actSt->owner == dest->owner;
@@ -2881,6 +2882,7 @@ void CBattleInterface::hexLclicked(int whichOne)
 							if ((spell->positiveness > -1 && ourStack) || (spell->positiveness < 1 && !ourStack))
 							{
 								giveCommand(BattleAction::MONSTER_SPELL, whichOne, actSt->ID, creatureSpellToCast);
+								spellCast = true;
 							}
 						}
 					}
@@ -2892,11 +2894,15 @@ void CBattleInterface::hexLclicked(int whichOne)
 							if (spellID > -1) //can cast any spell on target stack
 							{
 								giveCommand(BattleAction::MONSTER_SPELL, whichOne, actSt->ID, spellID); //use randomized spell
+								spellCast = true;
 							}
 						}
 					}
-					creatureSpellToCast = -1;
-					return; //no further action after cast
+					if (spellCast)
+					{
+						creatureSpellToCast = -1;
+						return; //no further action after cast
+					}
 				}
 
 				if (dest->alive())

+ 1 - 1
global.h

@@ -38,7 +38,7 @@ typedef si32 TBonusSubtype;
 #define THC
 #endif
 
-#define NAME_VER ("VCMI 0.86b")
+#define NAME_VER ("VCMI 0.86c")
 extern std::string NAME; //full name
 extern std::string NAME_AFFIX; //client / server
 #define CONSOLE_LOGGING_LEVEL 5