Changeset 971 for 2010


Ignore:
Timestamp:
2010-06-18 12:02:25 (9 years ago)
Author:
ramipasa
Message:

Lisätty pelilogiikkaa (taistelut nyt toimivat, ainakin suurimmaksi osaksi), korjattu bugeja (ja tuotu taistelun mukana mahdollisesti uusia) sekä lisätty pakettiin ALTKCore (Avaruuslaatikko 5 Core) ja BaseRules? (Avaruuslaatikko 5 Rules) -kirjastot.

Location:
2010/24/ramipasa/ALTKTileEngine
Files:
5 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/ramipasa/ALTKTileEngine/ALTKTileEngine.csproj

    r941 r971  
    5959    <Reference Include="ALTKCore, Version=1.0.0.1, Culture=neutral, processorArchitecture=MSIL"> 
    6060      <SpecificVersion>False</SpecificVersion> 
    61       <HintPath>..\..\ALTKTechs\ALTKTechs\bin\Release\ALTKCore.dll</HintPath> 
     61      <HintPath>lib\ALTKCore.dll</HintPath> 
    6262    </Reference> 
    6363    <Reference Include="BaseRules, Version=1.0.0.2, Culture=neutral, processorArchitecture=MSIL"> 
    6464      <SpecificVersion>False</SpecificVersion> 
    65       <HintPath>..\..\BaseRules.dll</HintPath> 
     65      <HintPath>lib\BaseRules.dll</HintPath> 
    6666    </Reference> 
    6767    <Reference Include="Jypeli2, Version=2.1.8.0, Culture=neutral, processorArchitecture=x86"> 
  • 2010/24/ramipasa/ALTKTileEngine/Peli.cs

    r963 r971  
    2828        int[,] UnitMap; // yksikkökartta 
    2929 
     30        int[,] AIPaths; // skriptitekoälylle 
     31        int[] AIPathLenghts = new int[4]; 
     32 
    3033        string Textpath; 
    3134        string OwnershipColorPath; 
     
    6063        TextDisplay ClicktoResearch; 
    6164 
     65        bool CombatEnabled = false; 
     66 
    6267        int kartanLeveys; 
    6368        int kartanKorkeus; 
     
    186191        void InitMap() 
    187192        { 
     193            // laitetaanpa nämä AIPathsit tänne ihan vain selkeyden vuoksi 
     194            AIPaths = new int[4, 50]; 
     195 
     196            // reitti 1 
     197            AIPathLenghts[0] = 30; 
     198 
     199            AIPaths[0, 0] = 0; 
     200            AIPaths[0, 1] = 8; 
     201            AIPaths[0, 2] = 8; 
     202            AIPaths[0, 3] = 8; 
     203            AIPaths[0, 4] = 6; 
     204            AIPaths[0, 5] = 6; 
     205            AIPaths[0, 6] = 6; 
     206            AIPaths[0, 7] = 6; 
     207            AIPaths[0, 8] = 6; 
     208            AIPaths[0, 9] = 6; 
     209            AIPaths[0, 10] = 8; 
     210            AIPaths[0, 11] = 8; 
     211            AIPaths[0, 12] = 6; 
     212            AIPaths[0, 13] = 6; 
     213            AIPaths[0, 14] = 6; 
     214            AIPaths[0, 15] = 6; 
     215            AIPaths[0, 16] = 6; 
     216            AIPaths[0, 17] = 6; 
     217            AIPaths[0, 18] = 6; 
     218            AIPaths[0, 19] = 6; 
     219            AIPaths[0, 20] = 6; 
     220            AIPaths[0, 21] = 6; 
     221            AIPaths[0, 22] = 6; 
     222            AIPaths[0, 23] = 6; 
     223            AIPaths[0, 24] = 6; 
     224            AIPaths[0, 25] = 6; 
     225            AIPaths[0, 26] = 6; 
     226            AIPaths[0, 27] = 6; 
     227            AIPaths[0, 28] = 6; 
     228            AIPaths[0, 29] = 6; 
     229            AIPaths[0, 30] = 6; 
     230 
     231            // reitti 2 
     232 
     233            AIPathLenghts[1] = 29; 
     234 
     235            AIPaths[1, 0] = 0; 
     236            AIPaths[1, 1] = 6; 
     237            AIPaths[1, 2] = 6; 
     238            AIPaths[1, 3] = 6; 
     239            AIPaths[1, 4] = 6; 
     240            AIPaths[1, 5] = 6; 
     241            AIPaths[1, 6] = 6; 
     242            AIPaths[1, 7] = 6; 
     243            AIPaths[1, 8] = 6; 
     244            AIPaths[1, 9] = 6; 
     245            AIPaths[1, 10] = 6; 
     246            AIPaths[1, 11] = 6; 
     247            AIPaths[1, 12] = 6; 
     248            AIPaths[1, 13] = 8; 
     249            AIPaths[1, 14] = 6; 
     250            AIPaths[1, 15] = 6; 
     251            AIPaths[1, 16] = 6; 
     252            AIPaths[1, 17] = 6; 
     253            AIPaths[1, 18] = 6; 
     254            AIPaths[1, 19] = 8; 
     255            AIPaths[1, 20] = 6; 
     256            AIPaths[1, 21] = 6; 
     257            AIPaths[1, 22] = 6; 
     258            AIPaths[1, 23] = 6; 
     259            AIPaths[1, 24] = 6; 
     260            AIPaths[1, 25] = 6; 
     261            AIPaths[1, 26] = 8; 
     262            AIPaths[1, 27] = 6; 
     263            AIPaths[1, 28] = 8; 
     264            AIPaths[1, 29] = 8; 
     265 
    188266            TurnNumber = new int(); 
    189267            AmountofPlayers = new int(); 
     
    525603                else if (UnitPositioningMode == true) 
    526604                { 
    527                     MessageBox.Show(Convert.ToString(UnitPositioningMode)); 
    528605                    if (DTerrainMap[i, j] == CurrentPlayer + 10) 
    529606                    { 
    530607                        CreateUnit(i, j, BaseRules.Rules.getUnit_FromId(currentunit), CurrentPlayer); 
    531608                        UnitPositioningMode = false; 
    532                         BuildUnitsClicked(); 
     609                        //BuildUnitsClicked(); kävi liian ärsyttäväksi 
    533610                        MessageDisplay.Add("Rakensit yksikön " + BaseRules.Rules.getUnit_FromId(currentunit).Name + " kohteeseen " + i + "; " + j + "."); 
    534611                        currentunit = -1; 
     
    556633                MessageDisplay.Add("Valitsit yksikön " + Rules.pCivs[CurrentPlayer].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + " kohteesta " + Rules.pCivs[CurrentPlayer].Units[GetUnit_FromPositionForSelection(i, j)].PosY + "; " + Rules.pCivs[CurrentPlayer].Units[GetUnit_FromPositionForSelection(i, j)].PosX); 
    557634                MessageDisplay.Add("Liikuta valittua yksikköä Numpadista."); 
    558                 UnitStatsDisp.Text = "Valittu yksikkö:" + Environment.NewLine + Rules.pCivs[CurrentPlayer].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + 
     635                UnitStatsDisp.Text = "Valittu yksikkö" + "(" + i + "; " + j + "):" + Environment.NewLine + Rules.pCivs[CurrentPlayer].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + 
    559636                    Environment.NewLine + "-Voimakkuus: " + Rules.pCivs[CurrentPlayer].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Strength + Environment.NewLine + 
    560637                    "-Liikkuvuus: " + Rules.pCivs[CurrentPlayer].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Movement + Environment.NewLine + 
     
    645722            Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits].PosX = j; 
    646723            Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits].UnitType = unittype; 
     724            Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits].CurrentMovementPoints = unittype.Movement; 
     725            Rules.pCivs[civnumber].NumberofUnits = Rules.pCivs[civnumber].NumberofUnits + 1; 
     726            UnitMap[i, j] = civnumber; 
     727 
     728            UnitTile[i, j].Image = LoadImage(OwnershipColorPath + "unitsOnTile"); 
     729 
     730            if (OwnershipMap[i, j] == -1) 
     731            { 
     732            } 
     733            else 
     734            { 
     735                OwnershipMap[i, j] = civnumber; 
     736                DrawOwnership(i, j); 
     737            } 
     738        } 
     739 
     740        private void AICreateUnit(int i, int j, ALTKUnits.UnitClass unittype, int civnumber, int path) 
     741        { 
     742            //MessageBox.Show(i + " " + j); 
     743            Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits] = new BaseRules.Unit(); 
     744            Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits].HP = 1.00; 
     745            Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits].PosY = i; 
     746            Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits].PosX = j; 
     747            Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits].UnitType = unittype; 
     748            Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits].CurrentMovementPoints = unittype.Movement; 
     749            Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits].AIPathfindingNumber = path; 
    647750            Rules.pCivs[civnumber].NumberofUnits = Rules.pCivs[civnumber].NumberofUnits + 1; 
    648751            UnitMap[i, j] = civnumber; 
     
    751854            if (unitpos > 0 && Rules.pCivs[civnumber].NumberofUnits > 2) 
    752855            { 
    753                 MessageBox.Show("FirstMethod"); 
     856                //MessageBox.Show("FirstMethod"); 
    754857                for (int a = unitpos + 1; a <= Rules.pCivs[civnumber].NumberofUnits - 1; a++) 
    755858                { 
     
    766869            else if (unitpos == 0 && Rules.pCivs[civnumber].NumberofUnits > 1) 
    767870            { 
    768                 MessageBox.Show("SecondMethod"); 
     871                //MessageBox.Show("SecondMethod"); 
    769872                for (int a = 1; a <= Rules.pCivs[civnumber].NumberofUnits - 1; a++) 
    770873                { 
     
    781884            else if (unitpos == 0 && Rules.pCivs[civnumber].NumberofUnits == 1) 
    782885            { 
    783                 MessageBox.Show("ThirdMethod"); 
     886                //MessageBox.Show("ThirdMethod"); 
    784887                Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits - 1].PosX = 0; 
    785888                Rules.pCivs[civnumber].Units[Rules.pCivs[civnumber].NumberofUnits - 1].PosY = 0; 
     
    816919        { 
    817920            if (color == 0) { return "Aqua"; } 
    818             if (color == 1) { return "Beige"; } 
     921            if (color == 1) { return "Black"; } 
    819922            if (color == 2) { return "Limegreen"; } 
    820923            if (color == 3) { return "Orange"; } 
    821             if (color == 4) { return "Black"; } 
     924            if (color == 4) { return "Beige"; } 
    822925            if (color == 5) { return "Red"; } 
    823926            if (color == 6) { return "Rustred"; } 
     
    11881291            if (TurnNumber == 1) 
    11891292            { 
     1293                Rules.pCivs[playernumber].Behaviour = Rules.Rusher; 
    11901294                for (int a = 0; a <= Rules.pCivs[playernumber].NumberofCities - 1; a++) 
    11911295                { 
     
    11951299                    } 
    11961300                } 
     1301            } 
     1302            for (int a = 0; a < Rules.pCivs[playernumber].NumberofUnits; a++) 
     1303            { 
     1304                Rules.pCivs[playernumber].Units[a].CurrentMovementPoints = Rules.pCivs[playernumber].Units[a].UnitType.Movement; 
     1305                Rules.pCivs[playernumber].Units[a].HP = 1.00; 
     1306            } 
     1307            int path = new int(); 
     1308            for (int hproduction = 0; hproduction <= (CurrProduction / 40); hproduction++) 
     1309            { 
     1310                path = RandomGen.NextInt(1, 2); 
     1311                AICreateUnit(Rules.pCivs[playernumber].CityCoords[0, 0], Rules.pCivs[playernumber].CityCoords[0, 1], Rules.Horseman, playernumber, path); 
    11971312            } 
    11981313            //MessageBox.Show(Convert.ToString(CurrProduction)); 
     
    12181333            if (TurnNumber == 1) 
    12191334            { 
    1220                 //CreateUnit(Rules.pCivs[playernumber].CityCoords[0, 0], Rules.pCivs[playernumber].CityCoords[0, 1], Rules.Archer, playernumber); 
    1221                 //CreateUnit(Rules.pCivs[playernumber].CityCoords[0, 0], Rules.pCivs[playernumber].CityCoords[0, 1], Rules.Archer, playernumber); 
    1222                 CreateUnit(Rules.pCivs[playernumber].CityCoords[0, 0], Rules.pCivs[playernumber].CityCoords[0, 1], Rules.Deathbringer, playernumber); 
     1335                CreateUnit(Rules.pCivs[playernumber].CityCoords[0, 0], Rules.pCivs[playernumber].CityCoords[0, 1], Rules.Crossbowman, playernumber); 
     1336                CreateUnit(Rules.pCivs[playernumber].CityCoords[0, 0], Rules.pCivs[playernumber].CityCoords[0, 1], Rules.Archer, playernumber); 
     1337                CreateUnit(Rules.pCivs[playernumber].CityCoords[0, 0], Rules.pCivs[playernumber].CityCoords[0, 1], Rules.Knight, playernumber); 
     1338                CreateUnit(Rules.pCivs[playernumber].CityCoords[0, 0], Rules.pCivs[playernumber].CityCoords[0, 1], Rules.Knight, playernumber); 
     1339                CreateUnit(Rules.pCivs[playernumber].CityCoords[0, 0], Rules.pCivs[playernumber].CityCoords[0, 1], Rules.Rifleman, playernumber); 
    12231340                //RemoveUnit(Rules.pCivs[playernumber].Units[0].PosY, Rules.pCivs[playernumber].Units[0].PosX, playernumber); 
    12241341            } 
     
    12261343            { 
    12271344                Rules.pCivs[playernumber].Units[a].CurrentMovementPoints = Rules.pCivs[playernumber].Units[a].UnitType.Movement; 
     1345                Rules.pCivs[playernumber].Units[a].HP = 1.00; 
     1346            } 
     1347            if (Rules.pCivs[1].Enabled == false) 
     1348            { 
     1349                MessageDisplay.Add("You are victorious!"); 
    12281350            } 
    12291351        } 
     
    14731595            Keyboard.Listen(Key.End, Jypeli.ButtonState.Pressed, SelectUnits, "Valitsee yksiköitä."); 
    14741596            Keyboard.Listen(Key.Home, Jypeli.ButtonState.Pressed, SelectNextUnit, "Valitsee seuraavan yksikön."); 
     1597            Keyboard.Listen(Key.Pause, Jypeli.ButtonState.Pressed, DeselectUnit, "Poistaa yksikön valinnan."); 
    14751598 
    14761599            //Keyboard.Disable(Key.NumPad1); 
     
    14991622            double returnvalue = new double(); 
    15001623            double baseStrength = new double(); 
     1624            double modifier = 1; 
    15011625 
    15021626            baseStrength = Rules.pCivs[civid].Units[unit].UnitType.Strength; 
     
    15061630                if (Rules.pCivs[civid].Units[unit].UnitType.FirstStrikes == 0 | Rules.pCivs[civid].Units[unit].UnitType.FSOnAttack == false) 
    15071631                { 
    1508                     baseStrength = baseStrength - ((Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Strength / 4) * Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.FirstStrikes); 
     1632                    baseStrength = baseStrength - ((Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Strength / 4)); 
    15091633                } 
    15101634            } 
     
    15121636            if (dterraintype > 9) 
    15131637            { 
    1514                 baseStrength = (baseStrength * (Rules.pCivs[civid].Units[unit].UnitType.CityAttackBonus + 1.00)); 
    1515             } 
    1516  
    1517             returnvalue = (baseStrength * Rules.pCivs[civid].Units[unit].UnitType.HP); 
     1638               modifier = (modifier + Rules.pCivs[civid].Units[unit].UnitType.CityAttackBonus); 
     1639            } 
     1640 
     1641            returnvalue = ((baseStrength * modifier) * Rules.pCivs[civid].Units[unit].HP); 
     1642            //MessageBox.Show(Convert.ToString((baseStrength * modifier) + "returnvalue: " + (baseStrength * modifier * Rules.pCivs[civid].Units[unit].HP + " ;;;; " + returnvalue))); 
    15181643 
    15191644            return returnvalue; 
     
    15241649            double returnvalue = new double(); 
    15251650            double baseStrength = new double(); 
     1651            double modifier = 1.0; 
    15261652 
    15271653            baseStrength = Rules.pCivs[civid].Units[unit].UnitType.Strength; 
    15281654 
     1655            //MessageBox.Show(Convert.ToString(baseStrength)); 
     1656 
    15291657            if (dterraintype > 9) 
    15301658            { 
    1531                 baseStrength = (baseStrength * (Rules.pCivs[civid].Units[unit].UnitType.CityDefenseBonus + 1.00)); 
    1532             } 
    1533  
    1534             returnvalue = (baseStrength * Rules.pCivs[civid].Units[unit].UnitType.HP); 
     1659                modifier = (modifier + (Rules.pCivs[civid].Units[unit].UnitType.CityDefenseBonus)); 
     1660                if (Rules.pCivs[civid].Units[unit].UnitType.Name == "Archer" | Rules.pCivs[civid].Units[unit].UnitType.Name == "Crossbowman") 
     1661                { 
     1662                    modifier = modifier + 1.0; 
     1663                    //MessageBox.Show(Rules.pCivs[civid].Units[unit].UnitType.Name + " " + modifier); 
     1664                } 
     1665                //MessageBox.Show(Convert.ToString(Rules.pCivs[civid].Units[unit].UnitType.CityDefenseBonus + " " + civid + " " + unit + " " + Rules.pCivs[civid].Units[unit].UnitType.Name)); 
     1666            } 
     1667            //MessageBox.Show(Convert.ToString(dterraintype)); 
     1668 
     1669            if (dterraintype == Kuusimetsa) 
     1670            { 
     1671                modifier = (modifier + 0.25); 
     1672            } 
     1673            else if (dterraintype == Lehtimetsa) 
     1674            { 
     1675                modifier = (modifier + 0.1); 
     1676            } 
     1677 
     1678            if (TerrainMap[i, j] == Tundra) 
     1679            { 
     1680                modifier = (modifier + 0.1); 
     1681            } 
     1682            else if (TerrainMap[i, j] == Aavikko) 
     1683            { 
     1684                modifier = (modifier - 0.25); 
     1685            } 
     1686 
     1687            //MessageBox.Show(Convert.ToString(modifier)); 
     1688 
     1689            returnvalue = ((baseStrength *  modifier) * Rules.pCivs[civid].Units[unit].HP); 
     1690           // MessageBox.Show(Convert.ToString((baseStrength * modifier) + "returnvalue: " + (baseStrength *  modifier * Rules.pCivs[civid].Units[unit].HP + " ;;;; " + returnvalue))); 
    15351691 
    15361692            return returnvalue; 
     
    15481704                    attackerStrength = CalculateAttackerStrength(SelectedUnit, TerrainMap[i, j], DTerrainMap[i, j], CurrentPlayer, i, j); 
    15491705                    defenderStrength = CalculateDefenderStrength(GetUnit_FromPositionForSelection(i, j), TerrainMap[i, j], DTerrainMap[i, j], OwnershipMap[i, j], i, j); 
     1706                    //MessageBox.Show(attackerStrength + " " + defenderStrength); 
    15501707                    chances = CountChances(attackerStrength, defenderStrength); 
     1708                    //MessageBox.Show("Chances: " + chances + " AttackerStrength: " + attackerStrength + " DefenderStrength: " + defenderStrength); 
    15511709                    int WinNumber = RandomGen.NextInt(1, 100); 
    15521710                    double dNumber = new double(); 
    1553                     if (chances > WinNumber) 
    1554                     { 
    1555                         MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on hyökätessään tuhonnut vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "in!"); 
     1711                    if (attackerStrength > defenderStrength) 
     1712                    { 
     1713                        //MessageBox.Show("attacker > defender" + " " +WinNumber + " " + chances); 
     1714                        if (chances < WinNumber) 
     1715                        { 
     1716                            int WinMessage = RandomGen.NextInt(1, 2); 
     1717                            if (WinMessage == 1) 
     1718                            { 
     1719                                MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on hyökätessään tuhonnut vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "in!"); 
     1720                            } 
     1721                            else 
     1722                            { 
     1723                                MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on hyökätessään tehnyt historiaa vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "ista!"); 
     1724                            } 
     1725                            RemoveUnit(i, j, OwnershipMap[i, j], Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType, Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP); 
     1726                            dNumber = ((WinNumber - chances)); 
     1727                            dNumber = dNumber / 10; 
     1728                            dNumber = dNumber / 10; 
     1729                            //MessageBox.Show(Convert.ToString(dNumber)); 
     1730                            //Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP = Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP - dNumber; 
     1731                            UnitStatsDisp.Text = "Valittu yksikkö " + "(" + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + "; " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + "):" + Environment.NewLine + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + 
     1732                            Environment.NewLine + "-Voimakkuus: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Strength + Environment.NewLine + 
     1733                            "-Liikkuvuus: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Movement + Environment.NewLine + 
     1734                            Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Description + Environment.NewLine + 
     1735                            " HP: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP * 100 + "/100"; 
     1736                            CombatEnabled = false; 
     1737                            CheckForUnits(i, j); 
     1738                        } 
     1739                        else 
     1740                        { 
     1741                            MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on kuollut hyökätessään vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "iin!"); 
     1742                            RemoveUnit(ab, bb, OwnershipMap[ab, bb], Rules.pCivs[OwnershipMap[ab, bb]].Units[SelectedUnit].UnitType, Rules.pCivs[OwnershipMap[ab, bb]].Units[SelectedUnit].HP); 
     1743                            DeselectUnit(); 
     1744                            dNumber = ((chances - WinNumber) / 100); 
     1745                            Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP = Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP - dNumber; 
     1746                            CombatEnabled = false; 
     1747                            CheckForUnits(ab, bb); 
     1748                        } 
     1749                    } 
     1750                    else 
     1751                    { 
     1752                        //MessageBox.Show("defender > attacker" + " " + WinNumber + " " + chances); 
     1753                        if (chances > WinNumber) 
     1754                        { 
     1755                            int WinMessage = RandomGen.NextInt(1, 2); 
     1756                            if (WinMessage == 1) 
     1757                            { 
     1758                                MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on hyökätessään tuhonnut vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "in!"); 
     1759                            } 
     1760                            else 
     1761                            { 
     1762                                MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on hyökätessään tehnyt historiaa vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "ista!"); 
     1763                            } 
     1764                            RemoveUnit(i, j, OwnershipMap[i, j], Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType, Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP); 
     1765                            dNumber = ((WinNumber - chances)); 
     1766                            dNumber = dNumber / 10; 
     1767                            dNumber = dNumber / 10; 
     1768                            //MessageBox.Show(Convert.ToString(dNumber)); 
     1769                            //Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP = Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP - dNumber; 
     1770                            UnitStatsDisp.Text = "Valittu yksikkö " + "(" + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + "; " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + "):" + Environment.NewLine + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + 
     1771                            Environment.NewLine + "-Voimakkuus: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Strength + Environment.NewLine + 
     1772                            "-Liikkuvuus: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Movement + Environment.NewLine + 
     1773                            Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Description + Environment.NewLine + 
     1774                            " HP: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP * 100 + "/100"; 
     1775                            CombatEnabled = false; 
     1776                            CheckForUnits(i, j); 
     1777                        } 
     1778                        else 
     1779                        { 
     1780                            MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on kuollut hyökätessään vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "iin!"); 
     1781                            RemoveUnit(ab, bb, OwnershipMap[ab, bb], Rules.pCivs[OwnershipMap[ab, bb]].Units[SelectedUnit].UnitType, Rules.pCivs[OwnershipMap[ab, bb]].Units[SelectedUnit].HP); 
     1782                            DeselectUnit(); 
     1783                            dNumber = ((chances - WinNumber) / 100); 
     1784                            Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP = Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP - dNumber; 
     1785                            CombatEnabled = false; 
     1786                            CheckForUnits(ab, bb); 
     1787                        } 
     1788                    } 
     1789                } 
     1790                else 
     1791                { 
     1792                    CityCapture(i, j, ab, bb); 
     1793                    UnitMap[i, j] = CurrentPlayer; 
     1794                    CombatEnabled = false; 
     1795                } 
     1796            } 
     1797            else 
     1798            { 
     1799                double attackerStrength; 
     1800                double defenderStrength; 
     1801                int chances = new int(); 
     1802                attackerStrength = CalculateAttackerStrength(SelectedUnit, TerrainMap[i, j], DTerrainMap[i, j], CurrentPlayer, i, j); 
     1803                defenderStrength = CalculateDefenderStrength(GetUnit_FromPositionForSelection(i, j), TerrainMap[i, j], DTerrainMap[i, j], OwnershipMap[i, j], i, j); 
     1804                //MessageBox.Show(attackerStrength + " " + defenderStrength); 
     1805                chances = CountChances(attackerStrength, defenderStrength); 
     1806                int WinNumber = RandomGen.NextInt(1, 100); 
     1807                double dNumber = new double(); 
     1808                MessageBox.Show(WinNumber + " " + chances); 
     1809                if (attackerStrength > defenderStrength) 
     1810                { 
     1811                    if (chances < WinNumber) 
     1812                    { 
     1813                        int WinMessage = RandomGen.NextInt(1, 2); 
     1814                        if (WinMessage == 1) 
     1815                        { 
     1816                            MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on hyökätessään tuhonnut vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "in!"); 
     1817                        } 
     1818                        else 
     1819                        { 
     1820                            MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on hyökätessään tehnyt historiaa vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "ista!"); 
     1821                        } 
    15561822                        RemoveUnit(i, j, OwnershipMap[i, j], Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType, Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP); 
    1557                         dNumber = ((chances - WinNumber) / 100); 
    1558                         Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP = Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP - dNumber; 
     1823                        dNumber = ((WinNumber - chances)); 
     1824                        dNumber = dNumber / 10; 
     1825                        dNumber = dNumber / 10; 
     1826                        //MessageBox.Show(Convert.ToString(dNumber)); 
     1827                        //Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP = Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP - dNumber; 
     1828                        UnitStatsDisp.Text = "Valittu yksikkö " + "(" + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + "; " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + "):" + Environment.NewLine + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + 
     1829                        Environment.NewLine + "-Voimakkuus: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Strength + Environment.NewLine + 
     1830                        "-Liikkuvuus: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Movement + Environment.NewLine + 
     1831                        Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Description + Environment.NewLine + 
     1832                        " HP: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP * 100 + "/100"; 
     1833                        CombatEnabled = false; 
     1834                        CheckForUnits(i, j); 
    15591835                    } 
    15601836                    else 
     
    15651841                        dNumber = ((chances - WinNumber) / 100); 
    15661842                        Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP = Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP - dNumber; 
     1843                        CombatEnabled = false; 
     1844                        CheckForUnits(ab, bb); 
    15671845                    } 
    15681846                } 
    15691847                else 
    15701848                { 
    1571                     CityCapture(i, j, ab, bb); 
     1849                    if (chances > WinNumber) 
     1850                    { 
     1851                        int WinMessage = RandomGen.NextInt(1, 2); 
     1852                        if (WinMessage == 1) 
     1853                        { 
     1854                            MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on hyökätessään tuhonnut vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "in!"); 
     1855                        } 
     1856                        else 
     1857                        { 
     1858                            MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on hyökätessään tehnyt historiaa vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "ista!"); 
     1859                        } 
     1860                        RemoveUnit(i, j, OwnershipMap[i, j], Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType, Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP); 
     1861                        dNumber = ((WinNumber - chances)); 
     1862                        dNumber = dNumber / 10; 
     1863                        dNumber = dNumber / 10; 
     1864                        //MessageBox.Show(Convert.ToString(dNumber)); 
     1865                        //Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP = Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP - dNumber; 
     1866                        UnitStatsDisp.Text = "Valittu yksikkö " + "(" + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + "; " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + "):" + Environment.NewLine + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + 
     1867                        Environment.NewLine + "-Voimakkuus: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Strength + Environment.NewLine + 
     1868                        "-Liikkuvuus: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Movement + Environment.NewLine + 
     1869                        Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Description + Environment.NewLine + 
     1870                        " HP: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].HP * 100 + "/100"; 
     1871                        CombatEnabled = false; 
     1872                        CheckForUnits(i, j); 
     1873                    } 
     1874                    else 
     1875                    { 
     1876                        MessageDisplay.Add("Sinun " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " on kuollut hyökätessään vihollisen " + Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].UnitType.Name + "iin!"); 
     1877                        RemoveUnit(ab, bb, OwnershipMap[ab, bb], Rules.pCivs[OwnershipMap[ab, bb]].Units[SelectedUnit].UnitType, Rules.pCivs[OwnershipMap[ab, bb]].Units[SelectedUnit].HP); 
     1878                        DeselectUnit(); 
     1879                        dNumber = ((chances - WinNumber) / 100); 
     1880                        Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP = Rules.pCivs[OwnershipMap[i, j]].Units[GetUnit_FromPositionForSelection(i, j)].HP - dNumber; 
     1881                        CombatEnabled = false; 
     1882                        CheckForUnits(ab, bb); 
     1883                    } 
     1884                } 
     1885            } 
     1886            CombatEnabled = false; 
     1887        } 
     1888 
     1889        private void CheckForUnits(int i, int j) 
     1890        { 
     1891            if (GetUnit_FromPositionForSelection(i, j) == -1) 
     1892            { 
     1893                UnitMap[i, j] = -1; 
     1894                UnitTile[i, j].Image = LoadImage(Textpath + "nothing"); 
     1895                if (DTerrainMap[i, j] < 10) 
     1896                { 
     1897                    OwnershipMap[i, j] = -1; 
     1898                    TileOwnership[i, j].Image = LoadImage(Textpath + "nothing"); 
    15721899                } 
    15731900            } 
     
    15791906            if (defenderStrength > attackerStrength) 
    15801907            { 
    1581                 MessageBox.Show(Convert.ToString((((defenderStrength / attackerStrength) / 2) * 100))); 
    15821908                chances = Convert.ToInt32((((attackerStrength / defenderStrength) / 2) * 100)); 
    15831909                return chances; 
     
    15851911            else 
    15861912            { 
    1587                 MessageBox.Show(Convert.ToString((((defenderStrength / attackerStrength) / 2) * 100))); 
    15881913                chances = Convert.ToInt32((((defenderStrength / attackerStrength) / 2) * 100)); 
    15891914                return chances; 
     
    17352060                MessageDisplay.Add("Valitsit yksikön " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + " kohteesta " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + "; " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX); 
    17362061                MessageDisplay.Add("Liikuta valittua yksikköä Numpadista."); 
    1737                 UnitStatsDisp.Text = "Valittu yksikkö:" + Environment.NewLine + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + 
     2062                UnitStatsDisp.Text = "Valittu yksikkö " + "(" + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + "; " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + "):" + Environment.NewLine + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Name + 
    17382063                    Environment.NewLine + "-Voimakkuus: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Strength + Environment.NewLine + 
    17392064                    "-Liikkuvuus: " + Rules.pCivs[CurrentPlayer].Units[SelectedUnit].UnitType.Movement + Environment.NewLine + 
     
    17622087                    MessageDisplay.Add("Valitsit yksikön " + Rules.pCivs[CurrentPlayer].Units[a].UnitType.Name + " kohteesta " + Rules.pCivs[CurrentPlayer].Units[a].PosY + "; " + Rules.pCivs[CurrentPlayer].Units[a].PosX); 
    17632088                    MessageDisplay.Add("Liikuta valittua yksikköä Numpadista."); 
    1764                     UnitStatsDisp.Text = "Valittu yksikkö:" + Environment.NewLine + Rules.pCivs[CurrentPlayer].Units[a].UnitType.Name + 
     2089                    UnitStatsDisp.Text = "Valittu yksikkö " + "(" + Rules.pCivs[CurrentPlayer].Units[a].PosY + "; " + Rules.pCivs[CurrentPlayer].Units[a].PosX + "):" + Environment.NewLine + Rules.pCivs[CurrentPlayer].Units[a].UnitType.Name + 
    17652090                        Environment.NewLine + "-Voimakkuus: " + Rules.pCivs[CurrentPlayer].Units[a].UnitType.Strength + Environment.NewLine + 
    17662091                        "-Liikkuvuus: " + Rules.pCivs[CurrentPlayer].Units[a].UnitType.Movement + Environment.NewLine + 
     
    18162141                    UnitMovementMain(1, 1); 
    18172142                } 
    1818                 if (Rules.pCivs[CurrentPlayer].Units[SelectedUnit].CurrentMovementPoints == 0) 
    1819                 { 
     2143                //if (CombatEnabled == false) 
     2144                //{ 
     2145                //    if (Rules.pCivs[CurrentPlayer].Units[SelectedUnit].CurrentMovementPoints == 0) 
     2146                //    { 
     2147                //        DeselectUnit(); 
     2148                //    } 
     2149                //    else 
     2150                //    { 
     2151                //        UnitTile[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX].Image = LoadImage(OwnershipColorPath + "unitsOnTileSelected"); 
     2152                //    } 
     2153                //} 
     2154            } 
     2155        } 
     2156 
     2157        private void UnitMovementMain(int a, int b) 
     2158        { 
     2159            if (TerrainMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + a, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + b] == Vuoristo | DTerrainMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + a, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + b] == Vuoristo) 
     2160            { 
     2161                MessageDisplay.Add("Et voi liikkua vuorten läpi!"); 
     2162            } 
     2163            else 
     2164            { 
     2165                if (Rules.pCivs[CurrentPlayer].Units[SelectedUnit].CurrentMovementPoints == 0 | Rules.pCivs[CurrentPlayer].Units[SelectedUnit].CurrentMovementPoints < 0) 
     2166                { 
     2167                    MessageDisplay.Add("Valitulla yksiköllä ei ollut liikkumapisteitä."); 
    18202168                    DeselectUnit(); 
    1821                 } 
    1822                 else 
    1823                 { 
    1824                     UnitTile[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX].Image = LoadImage(OwnershipColorPath + "unitsOnTileSelected"); 
    1825                 } 
    1826             } 
    1827             //Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX = Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX - 1; 
    1828             //Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY = Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY - 1; 
    1829             //OwnershipMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX] = CurrentPlayer; 
    1830             //DrawOwnership(Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX); 
    1831             //UnitMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX] = CurrentPlayer; 
    1832             //DrawUnit(Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX); 
    1833             //CheckAndRemoveShroud_FromPos(Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX); 
    1834             //Rules.pCivs[CurrentPlayer].Units[SelectedUnit].CurrentMovementPoints = Rules.pCivs[CurrentPlayer].Units[SelectedUnit].CurrentMovementPoints - 1; 
    1835             //if (GetUnit_FromPositionForSelection(Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + 1, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + 1) == -1) 
    1836             //{ 
    1837             //    UnitMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + 1, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + 1] = -1; 
    1838             //    UnitTile[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + 1, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + 1].Destroy(); 
    1839             //    if (CheckforCityinPos(Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + 1, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + 1, CurrentPlayer) == -1) 
    1840             //    { 
    1841             //        OwnershipMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + 1, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + 1] = -1; 
    1842             //        TileOwnership[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + 1, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + 1].Destroy(); 
    1843             //    } 
    1844             //} 
    1845         } 
    1846  
    1847         private void UnitMovementMain(int a, int b) 
    1848         { 
    1849             if (TerrainMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + a, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + b] == Vuoristo | DTerrainMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + a, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + b] == Vuoristo) 
    1850             { 
    1851                 MessageDisplay.Add("Et voi liikkua vuorten läpi!"); 
    1852             } 
    1853             else 
    1854             { 
    1855                 if (Rules.pCivs[CurrentPlayer].Units[SelectedUnit].CurrentMovementPoints == 0 | Rules.pCivs[CurrentPlayer].Units[SelectedUnit].CurrentMovementPoints < 0) 
    1856                 { 
    1857                     MessageDisplay.Add("Valitulla yksiköllä ei ollut liikkumapisteitä."); 
    18582169                    return; 
    18592170                } 
    1860                 if (OwnershipMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + a, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + b] != -1 && OwnershipMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + a, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + b] != (CurrentPlayer + 10)) 
     2171                if (OwnershipMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + a, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + b] != -1 && OwnershipMap[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + a, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + b] != (CurrentPlayer)) 
    18612172                { 
    18622173                    EnterCombat(Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY + a, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX + b, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX); 
     2174                    CombatEnabled = true; 
    18632175                    return; 
    18642176                } 
     
    19082220        private void DeselectUnit() 
    19092221        { 
     2222            try 
     2223            { 
    19102224                UnitTile[Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosY, Rules.pCivs[CurrentPlayer].Units[SelectedUnit].PosX].Image = LoadImage(OwnershipColorPath + "unitsOnTile"); 
    19112225                UnitsSelected = false; 
    19122226                SelectedUnit = -1; 
    1913                 //Keyboard.Disable(Key.NumPad1); 
    1914                 //Keyboard.Disable(Key.NumPad2); 
    1915                 //Keyboard.Disable(Key.NumPad3); 
    1916                 //Keyboard.Disable(Key.NumPad4); 
    1917                 //Keyboard.Disable(Key.NumPad5); 
    1918                 //Keyboard.Disable(Key.NumPad6); 
    1919                 //Keyboard.Disable(Key.NumPad7); 
    1920                 //Keyboard.Disable(Key.NumPad8); 
    1921                 //Keyboard.Disable(Key.NumPad9); 
     2227            } 
     2228            catch 
     2229            { 
     2230            } 
    19222231        } 
    19232232 
Note: See TracChangeset for help on using the changeset viewer.