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:
@ -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);
|
||||
|
Reference in New Issue
Block a user