Make Infiltrates grant player experience

This commit is contained in:
Oliver Brakmann
2016-07-10 14:03:01 +02:00
parent 1e86326cbc
commit ac07c81e08
3 changed files with 12 additions and 3 deletions

View File

@@ -21,13 +21,15 @@ namespace OpenRA.Mods.RA.Activities
readonly Stance validStances;
readonly Cloak cloak;
readonly string notification;
readonly int experience;
public Infiltrate(Actor self, Actor target, EnterBehaviour enterBehaviour, Stance validStances, string notification)
public Infiltrate(Actor self, Actor target, EnterBehaviour enterBehaviour, Stance validStances, string notification, int experience)
: base(self, target, enterBehaviour)
{
this.target = target;
this.validStances = validStances;
this.notification = notification;
this.experience = experience;
cloak = self.TraitOrDefault<Cloak>();
}
@@ -46,6 +48,10 @@ namespace OpenRA.Mods.RA.Activities
foreach (var t in target.TraitsImplementing<INotifyInfiltrated>())
t.Infiltrated(target, self);
var exp = self.Owner.PlayerActor.TraitOrDefault<PlayerExperience>();
if (exp != null)
exp.GiveExperience(experience);
if (!string.IsNullOrEmpty(notification))
Game.Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech",
notification, self.Owner.Faction.InternalName);