1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-07-17 01:32:21 +02:00

* Fixed #532 -> Catapult shoots now after keep/upper/lower tower

* Fixed turret projectile bug
This commit is contained in:
beegee1
2011-05-18 17:51:10 +00:00
parent 53ce30f083
commit 431064cbf9
2 changed files with 13 additions and 15 deletions

View File

@ -1425,26 +1425,25 @@ BattleInfo * BattleInfo::setupBattle( int3 tile, int terrain, int terType, const
}
//war machines added
switch(curB->siege) //adding towers
if (curB->siege == 2 || curB->siege == 3)
{
// keep tower
CStack * stack = curB->generateNewStack(CStackBasicDescriptor(149, 1), stacks.size(), false, 255, -2);
stacks.push_back(stack);
case 3: //castle
{//lower tower / upper tower
if (curB->siege == 3)
{
// lower tower + upper tower
CStack * stack = curB->generateNewStack(CStackBasicDescriptor(149, 1), stacks.size(), false, 255, -4);
stacks.push_back(stack);
stack = curB->generateNewStack(CStackBasicDescriptor(149, 1), stacks.size(), false, 255, -3);
stacks.push_back(stack);
}
case 2: //citadel
{//main tower
CStack * stack = curB->generateNewStack(CStackBasicDescriptor(149, 1), stacks.size(), false, 255, -2);
stacks.push_back(stack);
}
}
std::stable_sort(stacks.begin(),stacks.end(),cmpst);
//seting up siege
//setting up siege
if(town && town->hasFort())
{
for(int b=0; b<ARRAY_COUNT(curB->si.wallState); ++b)
@ -2391,8 +2390,7 @@ bool CMP_stack::operator()( const CStack* a, const CStack* b )
switch(phase)
{
case 0: //catapult moves after turrets
return a->getCreature()->idNumber < b->getCreature()->idNumber; //catapult is 145 and turrets are 149
//TODO? turrets order
return a->getCreature()->idNumber > b->getCreature()->idNumber; //catapult is 145 and turrets are 149
case 1: //fastest first, upper slot first
{
int as = a->Speed(turn), bs = b->Speed(turn);