Ticket #4291: autogarrison.patch

File autogarrison.patch, 1.5 KB (added by mimo, 7 years ago)
  • binaries/data/mods/public/maps/random/danubius_triggers.js

     
    259259
    260260        for (let template in unitCounts)
    261261            for (let newEnt of TriggerHelper.SpawnUnits(gaiaEnt, "units/" + template, unitCounts[template], gaulPlayer))
    262                 Engine.QueryInterface(gaiaEnt, IID_GarrisonHolder).Garrison(newEnt);
     262                if (Engine.QueryInterface(gaiaEnt, IID_GarrisonHolder).Garrison(newEnt))
     263                    Engine.QueryInterface(newEnt, IID_UnitAI).Autogarrison(gaiaEnt);
    263264    }
    264265};
    265266
     
    427428                if (spawn.hero)
    428429                    this.heroes.push({ "template": spawn.template, "ent": ent });
    429430
    430                 cmpGarrisonHolder.Garrison(ent);
     431                if (cmpGarrisonHolder.Garrison(ent))
     432                    Engine.QueryInterface(ent, IID_UnitAI).Autogarrison(ship);
    431433            }
    432434        }
    433435    }
  • binaries/data/mods/public/simulation/components/GarrisonHolder.js

     
    727727    {
    728728        let cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI);
    729729        if (cmpUnitAI && cmpUnitAI.CanGarrison(this.entity) && this.Garrison(ent))
    730             cmpUnitAI.SetGarrisoned();
     730            cmpUnitAI.Autogarrison(this.entity);
    731731    }
    732732    this.initGarrison = undefined;
    733733};