Ticket #3277: t3277_fix_unusable_tradecarts_v2.patch

File t3277_fix_unusable_tradecarts_v2.patch, 947 bytes (added by elexis, 9 years ago)

Uses a simple template check to find if the entity exists (the same way GetEntityState does it )

  • binaries/data/mods/public/simulation/components/GuiInterface.js

     
    16861686GuiInterface.prototype.GetTradingDetails = function(player, data)
    16871687{
    16881688    var cmpEntityTrader = Engine.QueryInterface(data.trader, IID_Trader);
    16891689    if (!cmpEntityTrader || !cmpEntityTrader.CanTrade(data.target))
    16901690        return null;
     1691   
     1692    // Check if first market was destroyed, see #3277
     1693    if (!Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager).GetCurrentTemplateName(cmpEntityTrader.GetFirstMarket()))
     1694        cmpEntityTrader.StopTrading();
     1695   
    16911696    var firstMarket = cmpEntityTrader.GetFirstMarket();
    16921697    var secondMarket = cmpEntityTrader.GetSecondMarket();
    16931698    var result = null;
    16941699    if (data.target === firstMarket)
    16951700    {