25 lines
1.0 KiB
C#
25 lines
1.0 KiB
C#
namespace Barotrauma.Abilities
|
|
{
|
|
class CharacterAbilityInsurancePolicy : CharacterAbility
|
|
{
|
|
public override bool AppliesEffectOnIntervalUpdate => true;
|
|
|
|
private readonly int moneyPerMission;
|
|
|
|
public CharacterAbilityInsurancePolicy(CharacterAbilityGroup characterAbilityGroup, ContentXElement abilityElement) : base(characterAbilityGroup, abilityElement)
|
|
{
|
|
moneyPerMission = abilityElement.GetAttributeInt("moneypermission", 0);
|
|
}
|
|
|
|
protected override void ApplyEffect(AbilityObject abilityObject)
|
|
{
|
|
if (Character?.Info is CharacterInfo info && GameMain.GameSession?.GameMode is CampaignMode campaign)
|
|
{
|
|
int totalAmount = moneyPerMission * info.MissionsCompletedSinceDeath;
|
|
campaign.Bank.Give(totalAmount);
|
|
GameAnalyticsManager.AddMoneyGainedEvent(totalAmount, GameAnalyticsManager.MoneySource.Ability, CharacterTalent.Prefab.Identifier.Value);
|
|
}
|
|
}
|
|
}
|
|
}
|