Ticket #2749: t2749_prevent_neutral_players_from_attacking_each_other.patch
File t2749_prevent_neutral_players_from_attacking_each_other.patch, 2.3 KB (added by , 9 years ago) |
---|
-
binaries/data/mods/public/simulation/components/Capturable.js
67 67 // Before changing the value, activate Fogging if necessary to hide changes 68 68 var cmpFogging = Engine.QueryInterface(this.entity, IID_Fogging); 69 69 if (cmpFogging) 70 70 cmpFogging.Activate(); 71 71 72 var enemiesFilter = function(v, i) { return v > 0 && !cmpPlayerSource.IsAlly(i); };72 var enemiesFilter = function(v, i) { return v > 0 && cmpPlayerSource.IsEnemy(i); }; 73 73 var numberOfEnemies = this.cp.filter(enemiesFilter).length; 74 74 75 75 if (numberOfEnemies == 0) 76 76 return 0; 77 77 78 78 // distribute the capture points over all enemies 79 79 var distributedAmount = amount / numberOfEnemies; 80 80 for (let i in this.cp) 81 81 { 82 if ( cmpPlayerSource.IsAlly(i))82 if (!cmpPlayerSource.IsEnemy(i)) 83 83 continue; 84 84 if (this.cp[i] > distributedAmount) 85 85 this.cp[i] -= distributedAmount; 86 86 else 87 87 this.cp[i] = 0; … … 119 119 if (!cmpPlayerSource) 120 120 warn(playerID + " has no player component defined on its id"); 121 121 var cp = this.GetCapturePoints() 122 122 var sourceEnemyCp = 0; 123 123 for (let i in this.GetCapturePoints()) 124 if ( !cmpPlayerSource.IsAlly(i))124 if (cmpPlayerSource.IsEnemy(i)) 125 125 sourceEnemyCp += cp[i]; 126 126 return sourceEnemyCp > 0; 127 127 }; 128 128 129 129 //// Private functions //// -
binaries/data/mods/public/simulation/components/GuiInterface.js
1737 1737 var cmpTargetPlayer = QueryOwnerInterface(data.target, IID_Player); 1738 1738 if (!cmpEntityPlayer || !cmpTargetPlayer) 1739 1739 return false; 1740 1740 1741 1741 // if the owner is an enemy, it's up to the attack component to decide 1742 if ( !cmpEntityPlayer.IsAlly(cmpTargetPlayer.GetPlayerID()))1742 if (cmpEntityPlayer.IsEnemy(cmpTargetPlayer.GetPlayerID())) 1743 1743 return cmpAttack.CanAttack(data.target); 1744 1744 return false; 1745 1745 }; 1746 1746 1747 1747 /*