فهرست منبع

Version set to 0.82.
Updated changelog.
Fixed crashes on losing.

Michał W. Urbańczyk 15 سال پیش
والد
کامیت
4140711b6d
5فایلهای تغییر یافته به همراه18 افزوده شده و 3 حذف شده
  1. 9 1
      ChangeLog
  2. 1 0
      client/CMT.cpp
  3. 4 0
      client/NetPacksClient.cpp
  4. 1 1
      global.h
  5. 3 1
      server/CGameHandler.cpp

+ 9 - 1
ChangeLog

@@ -1,7 +1,14 @@
 0.81 -> 0.82 (Aug 01 2010)
+GENERAL:
+* Some of the starting bonuses in campaigns are supported
+* It's possible to select difficulty level of mission in campaign
+* new cheat codes:
+- vcmisilmaril - player wins
+- vcmimelkor - player loses
+
 ADVENTURE MAP:
 * Neutral armies growth implemented (%10 weekly)
-* Power rating of neutral stack
+* Power rating of neutral stacks
 * Favourable Winds reduce sailing cost
 
 HERO:
@@ -27,6 +34,7 @@ TOWNS:
 OBJECTS:
 * Stables will now upgrade Cavaliers to Champions.
 New object supported:
+- Abandoned Mine
 - Altar of Sacrifice
 - Black Market
 - Cover of Darkness

+ 1 - 0
client/CMT.cpp

@@ -635,6 +635,7 @@ void startGame(StartInfo * options)
 
 
 	client = new CClient;
+	CPlayerInterface::howManyPeople = 0;
 	switch(options->mode) //new game
 	{
 	case 0:

+ 4 - 0
client/NetPacksClient.cpp

@@ -159,6 +159,10 @@ void PlayerEndsGame::applyCl( CClient *cl )
 {
 	for(std::map<ui8, CGameInterface*>::iterator i=cl->playerint.begin();i!=cl->playerint.end();i++)
 		i->second->gameOver(player,	victory);
+
+
+	if(!CPlayerInterface::howManyPeople)
+		cl->terminate = true;
 }
 
 void RemoveBonus::applyCl( CClient *cl )

+ 1 - 1
global.h

@@ -24,7 +24,7 @@ typedef si64 expType;
 #define THC
 #endif
 
-#define NAME_VER ("VCMI 0.81e")
+#define NAME_VER ("VCMI 0.82")
 extern std::string NAME; //full name
 extern std::string NAME_AFFIX; //client / server
 #define CONSOLE_LOGGING_LEVEL 5

+ 3 - 1
server/CGameHandler.cpp

@@ -1937,7 +1937,9 @@ void CGameHandler::setOwner(int objid, ui8 owner)
 	}
 	
 	const CGObjectInstance * obj = getObj(objid);
-	if ((obj->ID == 17 || obj->ID == 20 ) && gs->getPlayer(owner)->dwellings.size()==1 )//first dwelling captured
+	const PlayerState * p = gs->getPlayer(owner);
+
+	if((obj->ID == 17 || obj->ID == 20 ) && p && p->dwellings.size()==1)//first dwelling captured
 		BOOST_FOREACH(const CGTownInstance *t, gs->getPlayer(owner)->towns)
 			if (t->subID == 5 && vstd::contains(t->builtBuildings, 22))
 				setPortalDwelling(t);//set initial creatures for all portals of summoning