Ticket #1839: tribute-insufficient-resources.patch

File tribute-insufficient-resources.patch, 996 bytes (added by alpha123, 11 years ago)
  • simulation/components/Player.js

     
    533533    if (this.state != "active" || cmpPlayer.state != "active")
    534534        return;
    535535
    536     if (!this.GetNeededResources(amounts))
     536    if (this.TrySubtractResources(amounts))
    537537    {
    538         for (var type in amounts)
    539             this.resourceCount[type] -= amounts[type];
    540 
    541538        cmpPlayer.AddResources(amounts);
    542 
     539       
    543540        var total = Object.keys(amounts).reduce(function (sum, type){ return sum + amounts[type]; }, 0);
    544541        var cmpOurStatisticsTracker = QueryPlayerIDInterface(this.playerID, IID_StatisticsTracker);
    545542        if (cmpOurStatisticsTracker)
     
    549546            cmpTheirStatisticsTracker.IncreaseTributesReceivedCounter(total);
    550547        // TODO: notify the receiver
    551548    }
    552     // else not enough resources... TODO: send gui notification
    553549};
    554550
    555551Engine.RegisterComponentType(IID_Player, "Player", Player);