Ticket #3799: 3799.4.2.diff

File 3799.4.2.diff, 982 bytes (added by fatherbushido, 8 years ago)
  • binaries/data/mods/public/simulation/components/Auras.js

     
    213213{
    214214    var cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager);
    215215    var auraNames = this.GetAuraNames();
     216    let targetUnitsClone = {};
    216217    // remove all bonuses
    217218    for (let name of auraNames)
    218219    {
     220        targetUnitsClone[name] = [];
    219221        if (!this[name])
    220222            continue;
    221223
     224        if (this[name].targetUnits)
     225            targetUnitsClone[name] = this[name].targetUnits.slice();
     226
    222227        if (this.IsGlobalAura(name))
    223228            this.RemoveTemplateBonus(name);
    224229
     
    261266            continue;
    262267
    263268        if (!this.IsRangeAura(name))
     269        {
     270            this.ApplyBonus(name, targetUnitsClone[name]);
    264271            continue;
     272        }
    265273
    266274        this[name].rangeQuery = cmpRangeManager.CreateActiveQuery(
    267275            this.entity,