mirror of
https://github.com/vcmi/vcmi.git
synced 2025-01-12 02:28:11 +02:00
* various obstacles fixes
* better support for battle backgrounds
This commit is contained in:
parent
8e12a5c0a4
commit
489bd1e4f2
@ -1554,12 +1554,36 @@ int CGameState::battleGetStack(int pos)
|
||||
|
||||
int CGameState::battleGetBattlefieldType(int3 tile)
|
||||
{
|
||||
if(tile!=int3())
|
||||
return map->terrain[tile.x][tile.y][tile.z].tertype;
|
||||
else if(curB)
|
||||
return map->terrain[curB->tile.x][curB->tile.y][curB->tile.z].tertype;
|
||||
else
|
||||
if(tile==int3() && curB)
|
||||
tile = curB->tile;
|
||||
else if(tile==int3() && !curB)
|
||||
return -1;
|
||||
|
||||
switch(map->terrain[tile.x][tile.y][tile.z].tertype)
|
||||
{
|
||||
case dirt:
|
||||
return rand()%3+3;
|
||||
case sand:
|
||||
return 2; //TODO: coast support
|
||||
case grass:
|
||||
return rand()%2+6;
|
||||
case snow:
|
||||
return rand()%2+10;
|
||||
case swamp:
|
||||
return 13;
|
||||
case rough:
|
||||
return 23;
|
||||
case subterranean:
|
||||
return 12;
|
||||
case lava:
|
||||
return 8;
|
||||
case water:
|
||||
return 25;
|
||||
case rock:
|
||||
return 15;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
UpgradeInfo CGameState::getUpgradeInfo(CArmedInstance *obj, int stackPos)
|
||||
|
@ -128,8 +128,8 @@ void Graphics::loadPaletteAndColors()
|
||||
void Graphics::initializeBattleGraphics()
|
||||
{
|
||||
std::ifstream bback("config/battleBack.txt");
|
||||
battleBacks.resize(9);
|
||||
for(int i=0; i<9; ++i) //9 - number of terrains battle can be fought on
|
||||
battleBacks.resize(26);
|
||||
for(int i=1; i<26; ++i) //25 - number of terrains battle can be fought on
|
||||
{
|
||||
int am;
|
||||
bback>>am;
|
||||
|
@ -1,9 +1,25 @@
|
||||
3 CMBKDRDD.BMP CMBKDRMT.BMP CMBKDRTR.BMP
|
||||
1 CMBKBCH.BMP
|
||||
1 CMBKDES.BMP
|
||||
2 CMBKGRMT.BMP CMBKGRTR.BMP
|
||||
2 CMBKSNMT.BMP CMBKSNTR.BMP
|
||||
1 CMBKSWMP.BMP
|
||||
2 CMBKRGH.BMP CMBKRK.BMP
|
||||
1 CMBKSUB.BMP
|
||||
1 CMBKDRTR.BMP
|
||||
1 CMBKDRMT.BMP
|
||||
1 CMBKDRDD.BMP
|
||||
1 CMBKGRMT.BMP
|
||||
1 CMBKGRTR.BMP
|
||||
1 CMBKLAVA.BMP
|
||||
1 CMBKMAG.BMP
|
||||
1 CMBKSNMT.BMP
|
||||
1 CMBKSNTR.BMP
|
||||
1 CMBKSUB.BMP
|
||||
1 CMBKSWMP.BMP
|
||||
1 CMBKFF.BMP
|
||||
1 CMBKRK.BMP
|
||||
1 CMBKMC.BMP
|
||||
1 CMBKLP.BMP
|
||||
1 CMBKHG.BMP
|
||||
1 CMBKCF.BMP
|
||||
1 CMBKEF.BMP
|
||||
1 CMBKFW.BMP
|
||||
1 CMBKCUR.BMP
|
||||
1 CMBKRGH.BMP
|
||||
1 CMBKBOAT.BMP
|
||||
1 CMBKDECK.BMP
|
@ -6,7 +6,7 @@ BATTLE OBSTACLES
|
||||
20. evil fog 21. "favourable winds" text on magic plains background 22. cursed ground 23. rough
|
||||
24. ship to ship 25. ship}
|
||||
{blockmap: X - blocked, N - not blocked, L - description goes to the next line, staring with the left bottom hex }
|
||||
5 OBBDT01.DEF XXX 1111110000000010000000100
|
||||
5 OBBDT01.DEF LNXXX 1111110000000010000000100
|
||||
56 OBBHS02.DEF XXLNX 1100000000000000000000100
|
||||
57 OBBHS03.DEF LXXX 1111100000000010000000100
|
||||
91 OBBHS04.DEF XXLNXX 1100000000000000000000000
|
||||
@ -23,7 +23,7 @@ BATTLE OBSTACLES
|
||||
2 OBDINO2.DEF XXX 1111110000000010000000100
|
||||
1 OBDINO3.DEF XXLXX 1111110000000010000000100
|
||||
6 OBDRK01.DEF XX 1111110000000010000000100
|
||||
7 OBDRK02.DEF XX 1111110000000010000000100
|
||||
7 OBDRK02.DEF LXX 1111110000000010000000100
|
||||
8 OBDRK03.DEF X 1111110000000010000000100
|
||||
9 OBDRK04.DEF XX 1111110000000010000000100
|
||||
10 OBDSH01.DEF XX 1111110000000010000000100
|
||||
@ -49,7 +49,7 @@ BATTLE OBSTACLES
|
||||
94 OBGRK01.DEF XX 0000000000001010000000000
|
||||
23 OBGRK02.DEF XX 0000000000001010000000000
|
||||
20 OBGRS02.DEF NXX 0000000000001010000000000
|
||||
22 OBGRS02.DEF NXXXXLNXXXXX 0000011010001100000000000
|
||||
22 OBGRS01.DEF NXXXXLNXXXXX 0000011010001100000000000
|
||||
35 OBGRSO3.DEF XXXXXXX 1111111010000010000000100
|
||||
21 OBGST01.DEF X 1111111010000010000000100
|
||||
61 OBHGS00.DEF X 0000000000000000000001000
|
||||
|
@ -2000,7 +2000,7 @@ void CGameHandler::setupBattle( BattleInfo * curB, int3 tile, CCreatureSet &army
|
||||
}
|
||||
}
|
||||
|
||||
int terType = gs->battleGetBattlefieldType(tile); //TODO: merge it with battleGetBattlefieldType
|
||||
int terType = gs->battleGetBattlefieldType(tile);
|
||||
|
||||
for(std::map<int, CObstacleInfo>::const_iterator g=VLC->heroh->obstacles.begin(); g!=VLC->heroh->obstacles.end(); ++g)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user