Ticket #1215: finalPatch2.patch

File finalPatch2.patch, 4.7 KB (added by O.Davoodi, 12 years ago)
  • input.js

     
    269269            break;
    270270        case "setup-trade-route":
    271271            // If ground or sea trade possible
    272             if ((entState.trader && hasClass(entState, "Organic") && (playerOwned || allyOwned) && hasClass(targetState, "Market")) ||
    273                 (entState.trader && hasClass(entState, "Ship") && (playerOwned || allyOwned) && hasClass(targetState, "NavalMarket")))
     272            if ((!targetState.foundation)&&((entState.trader && hasClass(entState, "Organic") && (playerOwned || allyOwned) && hasClass(targetState, "Market")) ||
     273                (entState.trader && hasClass(entState, "Ship") && (playerOwned || allyOwned) && hasClass(targetState, "NavalMarket"))))
    274274            {
    275275                var tradingData = {"trader": entState.id, "target": target};
    276276                var tradingDetails = Engine.GuiInterfaceCall("GetTradingDetails", tradingData);
    277277                var tooltip;
    278                 switch (tradingDetails.type)
     278                if (tradingDetails !== null)
    279279                {
    280                 case "is first":
    281                     tooltip = "First trade market.";
    282                     if (tradingDetails.hasBothMarkets)
    283                         tooltip += " Gain: " + tradingDetails.gain + " " + tradingDetails.goods + ". Click to establish another route."
    284                     else
    285                         tooltip += " Click on another market to establish a trade route."
    286                     break;
    287                 case "is second":
    288                     tooltip = "Second trade market. Gain: " + tradingDetails.gain + " " + tradingDetails.goods + "." + " Click to establish another route.";
    289                     break;
    290                 case "set first":
    291                     tooltip = "Set as first trade market";
    292                     break;
    293                 case "set second":
    294                     tooltip = "Set as second trade market. Gain: " + tradingDetails.gain + " " + tradingDetails.goods + ".";
    295                     break;
     280                    switch (tradingDetails.type)
     281                    {
     282                    case "is first":
     283                        tooltip = "First trade market.";
     284                        if (tradingDetails.hasBothMarkets)
     285                            tooltip += " Gain: " + tradingDetails.gain + " " + tradingDetails.goods + ". Click to establish another route."
     286                        else
     287                            tooltip += " Click on another market to establish a trade route."
     288                        break;
     289                    case "is second":
     290                        tooltip = "Second trade market. Gain: " + tradingDetails.gain + " " + tradingDetails.goods + "." + " Click to establish another route.";
     291                        break;
     292                    case "set first":
     293                        tooltip = "Set as first trade market";
     294                        break;
     295                    case "set second":
     296                        tooltip = "Set as second trade market. Gain: " + tradingDetails.gain + " " + tradingDetails.goods + ".";
     297                        break;
     298                    }
     299                    return {"possible": true, "tooltip": tooltip};
    296300                }
    297                 return {"possible": true, "tooltip": tooltip};
     301                else
     302                {
     303                    return {"possible": false};
     304                }
    298305            }
    299306            break;
    300307        case "gather":
     
    376383    {
    377384        target = targets[0];
    378385    }
    379 
     386    //targetState = target;
    380387    if (preSelectedAction != ACTION_NONE)
    381388    {
    382389        switch (preSelectedAction)
     
    11751182}
    11761183
    11771184// Called by GUI when user clicks training button
    1178 function addToTrainingQueue(entity, trainEntType)
     1185function addToTrainingQueue(entity, trainEntType, selection)
    11791186{
     1187    var selectionUnits = new Array(0);
     1188    for (var j = 0; j < selection.length; ++j)
     1189    {
     1190        selectionUnits.push (GetEntityState(selection[j]).id);
     1191    }
    11801192    if (Engine.HotkeyIsPressed("session.batchtrain"))
    11811193    {
    1182         if (inputState == INPUT_BATCHTRAINING)
     1194        if (selection.length == 1)
    11831195        {
    1184             // If we're already creating a batch of this unit, then just extend it
    1185             if (batchTrainingEntity == entity && batchTrainingType == trainEntType)
     1196            if (inputState == INPUT_BATCHTRAINING)
    11861197            {
    1187                 batchTrainingCount += batchIncrementSize;
    1188                 return;
     1198                // If we're already creating a batch of this unit, then just extend it
     1199                if (batchTrainingEntity == entity && batchTrainingType == trainEntType)
     1200                {
     1201                    batchTrainingCount += batchIncrementSize;
     1202                    return;
     1203                }
     1204                // Otherwise start a new one
     1205                else
     1206                {
     1207                    flushTrainingQueueBatch();
     1208                    // fall through to create the new batch
     1209                }
    11891210            }
    1190             // Otherwise start a new one
    1191             else
    1192             {
    1193                 flushTrainingQueueBatch();
    1194                 // fall through to create the new batch
    1195             }
    11961211        }
     1212        else
     1213        {
     1214            //create a new batch
     1215            Engine.PostNetworkCommand({"type": "train", "entity": entity, "template": trainEntType, "count": batchIncrementSize, "entities": selectionUnits});
     1216        }
    11971217        inputState = INPUT_BATCHTRAINING;
    11981218        batchTrainingEntity = entity;
    11991219        batchTrainingType = trainEntType;
     
    12021222    else
    12031223    {
    12041224        // Non-batched - just create a single entity
    1205         Engine.PostNetworkCommand({"type": "train", "entity": entity, "template": trainEntType, "count": 1});
     1225        Engine.PostNetworkCommand({"type": "train", "entity": entity, "template": trainEntType, "count": 1, "entities": selectionUnits});
    12061226    }
    12071227}
    12081228