mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	* fixed crash when there was no hero available to hire for some player
* pregmae wont crash if user gives wrong resolution number * fixed 1024x600 screen resolution * selection dialog (eg. for treasure chests) can be closed with enter key * orientation of hero can't be change if movement points are exhausted * numerous improvements for Tavern window (hover tips for buttons, button will be inactive if player has 8 heroes or there is a visiting hero in the town garrison) * campfire, borderguard, bordergate, questguard will be accessible from the top * spells not known by hero can't be casted * restored checking mana points before casting spell
This commit is contained in:
		| @@ -1307,8 +1307,8 @@ upgend: | ||||
|  | ||||
| 							//TODO: skill level may be different on special terrain | ||||
|  | ||||
| 							if( // !vstd::contains(h->spells,ba.additionalInfo) //hero doesn't know this spell  | ||||
| 								/*||*/ (h->mana < s->costs[skill]) //not enough mana | ||||
| 							if(  !vstd::contains(h->spells,ba.additionalInfo) //hero doesn't know this spell  | ||||
| 								|| (h->mana < s->costs[skill]) //not enough mana | ||||
| 								|| (ba.additionalInfo < 10) //it's adventure spell (not combat) | ||||
| 								|| 0     )//TODO: hero has already casted a spell in this round | ||||
| 							{ | ||||
| @@ -1631,9 +1631,16 @@ void CGameHandler::newTurn() | ||||
| 		{ | ||||
| 			SetAvailableHeroes sah; | ||||
| 			sah.player = i->first; | ||||
| 			//TODO: - will fail when there are not enough available heroes | ||||
| 			sah.hid1 = gs->hpool.pickHeroFor(true,i->first,&VLC->townh->towns[gs->scenarioOps->getIthPlayersSettings(i->first).castle])->subID; | ||||
| 			sah.hid2 = gs->hpool.pickHeroFor(false,i->first,&VLC->townh->towns[gs->scenarioOps->getIthPlayersSettings(i->first).castle],sah.hid1)->subID; | ||||
| 			CGHeroInstance *h = gs->hpool.pickHeroFor(true,i->first,&VLC->townh->towns[gs->scenarioOps->getIthPlayersSettings(i->first).castle]); | ||||
| 			if(h) | ||||
| 				sah.hid1 = h->subID; | ||||
| 			else | ||||
| 				sah.hid1 = -1; | ||||
| 			h = gs->hpool.pickHeroFor(false,i->first,&VLC->townh->towns[gs->scenarioOps->getIthPlayersSettings(i->first).castle],sah.hid1); | ||||
| 			if(h) | ||||
| 				sah.hid2 = h->subID; | ||||
| 			else | ||||
| 				sah.hid2 = -1; | ||||
| 			sendAndApply(&sah); | ||||
| 		} | ||||
| 		if(i->first>=PLAYER_LIMIT) continue; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user