mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	* some work on campaigns
This commit is contained in:
		| @@ -793,7 +793,7 @@ void CGameState::init(StartInfo * si) | ||||
| 							{ | ||||
| 								continue; | ||||
| 							} | ||||
| 							Bonus *bb = new Bonus(Bonus::PERMANENT, Bonus::PRIMARY_SKILL, Bonus::CAMPAIGN_BONUS, val, si->whichMapInCampaign, g); | ||||
| 							Bonus *bb = new Bonus(Bonus::PERMANENT, Bonus::PRIMARY_SKILL, Bonus::CAMPAIGN_BONUS, val, si->campSt->currentMap, g); | ||||
| 							hero->addNewBonus(bb); | ||||
| 						} | ||||
| 					} | ||||
| @@ -847,9 +847,9 @@ void CGameState::init(StartInfo * si) | ||||
| 		{ | ||||
| 			campaign = new CCampaignState(); | ||||
| 			campaign->initNewCampaign(*scenarioOps); | ||||
| 			assert(vstd::contains(campaign->camp->mapPieces, scenarioOps->whichMapInCampaign)); | ||||
| 			assert(vstd::contains(campaign->camp->mapPieces, scenarioOps->campSt->currentMap)); | ||||
|  | ||||
| 			std::vector<ui8> &mapContent = campaign->camp->mapPieces[scenarioOps->whichMapInCampaign]; | ||||
| 			std::vector<ui8> &mapContent = campaign->camp->mapPieces[scenarioOps->campSt->currentMap]; | ||||
| 			map = new Mapa(); | ||||
| 			map->initFromBytes((const ui8*)mapContent.data(), mapContent.size()); | ||||
| 		} | ||||
| @@ -995,7 +995,7 @@ void CGameState::init(StartInfo * si) | ||||
| 	{ | ||||
|  | ||||
| 		CScenarioTravel::STravelBonus bonus = | ||||
| 			campaign->camp->scenarios[scenarioOps->whichMapInCampaign].travelOptions.bonusesToChoose[scenarioOps->choosenCampaignBonus]; | ||||
| 			campaign->camp->scenarios[scenarioOps->campSt->currentMap].travelOptions.bonusesToChoose[scenarioOps->choosenCampaignBonus]; | ||||
|  | ||||
|  | ||||
| 		std::vector<CGHeroInstance *> Xheroes; | ||||
| @@ -1079,7 +1079,7 @@ void CGameState::init(StartInfo * si) | ||||
| 	if (scenarioOps->mode == StartInfo::CAMPAIGN) | ||||
| 	{ | ||||
| 		CScenarioTravel::STravelBonus chosenBonus = | ||||
| 			campaign->camp->scenarios[scenarioOps->whichMapInCampaign].travelOptions.bonusesToChoose[scenarioOps->choosenCampaignBonus]; | ||||
| 			campaign->camp->scenarios[scenarioOps->campSt->currentMap].travelOptions.bonusesToChoose[scenarioOps->choosenCampaignBonus]; | ||||
| 		if(chosenBonus.type == 7) //resource | ||||
| 		{ | ||||
| 			std::vector<const PlayerSettings *> people = HLP::getHumanPlayerInfo(scenarioOps); //players we will give resource bonus | ||||
| @@ -1164,7 +1164,7 @@ void CGameState::init(StartInfo * si) | ||||
| 	{ | ||||
|  | ||||
| 		CScenarioTravel::STravelBonus chosenBonus = | ||||
| 			campaign->camp->scenarios[scenarioOps->whichMapInCampaign].travelOptions.bonusesToChoose[scenarioOps->choosenCampaignBonus]; | ||||
| 			campaign->camp->scenarios[scenarioOps->campSt->currentMap].travelOptions.bonusesToChoose[scenarioOps->choosenCampaignBonus]; | ||||
| 		if (chosenBonus.isBonusForHero() && chosenBonus.info1 != 0xFFFE) //exclude generated heroes | ||||
| 		{ | ||||
| 			//find human player | ||||
| @@ -1194,7 +1194,7 @@ void CGameState::init(StartInfo * si) | ||||
| 				if(maxB < 0) | ||||
| 					tlog2 << "Warning - cannot give bonus to hero cause there are no heroes!\n"; | ||||
| 				else | ||||
| 					HLP::giveCampaignBonusToHero(heroes[maxB], scenarioOps, campaign->camp->scenarios[scenarioOps->whichMapInCampaign].travelOptions, this); | ||||
| 					HLP::giveCampaignBonusToHero(heroes[maxB], scenarioOps, campaign->camp->scenarios[scenarioOps->campSt->currentMap].travelOptions, this); | ||||
| 			} | ||||
| 			else //specific hero | ||||
| 			{ | ||||
| @@ -1202,7 +1202,7 @@ void CGameState::init(StartInfo * si) | ||||
| 				{ | ||||
| 					if (heroes[b]->subID == chosenBonus.info1) | ||||
| 					{ | ||||
| 						HLP::giveCampaignBonusToHero(heroes[b], scenarioOps, campaign->camp->scenarios[scenarioOps->whichMapInCampaign].travelOptions, this); | ||||
| 						HLP::giveCampaignBonusToHero(heroes[b], scenarioOps, campaign->camp->scenarios[scenarioOps->campSt->currentMap].travelOptions, this); | ||||
| 						break; | ||||
| 					} | ||||
| 				} | ||||
| @@ -1378,7 +1378,7 @@ void CGameState::init(StartInfo * si) | ||||
| 	if (scenarioOps->mode == StartInfo::CAMPAIGN) | ||||
| 	{ | ||||
| 		CScenarioTravel::STravelBonus chosenBonus = | ||||
| 			campaign->camp->scenarios[scenarioOps->whichMapInCampaign].travelOptions.bonusesToChoose[scenarioOps->choosenCampaignBonus]; | ||||
| 			campaign->camp->scenarios[scenarioOps->campSt->currentMap].travelOptions.bonusesToChoose[scenarioOps->choosenCampaignBonus]; | ||||
|  | ||||
| 		if (chosenBonus.type == 2) | ||||
| 		{ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user