public UniquePowerModifierInfoData GetInfo() { UniquePowerModifierConfig uniquePowerModifierConfig = uniquePowerModifierData.GetUniquePowerModifierConfig(); return(new UniquePowerModifierInfoData { name = uniquePowerModifierConfig.DisplayName, description = uniquePowerModifierConfig.Description, additionalInfo = new string[] { "Power: " + Math.Abs(uniquePowerModifierData.CurrentPower), "Duration: " + uniquePowerModifierData.DurationLeft + "/" + uniquePowerModifierConfig.UpmDurationMax, "Origin: " + uniquePowerModifierData.GetOriginDisplayName() + " " + uniquePowerModifierData.UniquePowerModifierID.modifierOrigin } }); }
//public override void Apply(InventoryItem inventoryItem, PartyUnit dstPartyUnit, UniquePowerModifierConfig uniquePowerModifierConfig, UniquePowerModifierID uniquePowerModifierID) //{ // throw new System.NotImplementedException(); //} public override void Trigger(PartyUnit dstPartyUnit, UniquePowerModifierData uniquePowerModifierData) { Debug.Log("Trigger " + uniquePowerModifierData.GetOriginDisplayName() + " UPM"); // Apply DoT (UPM) current power as damage to destination unit dstPartyUnit.UnitHealthCurr += uniquePowerModifierData.CurrentPower; // current power is negative if it is damage dealing ability // Decrement DoT current duration uniquePowerModifierData.DurationLeft -= 1; // note: order is important. Trigger should be last, because it may also remove UPM status icon // Trigger on duration changed event //uniquePowerModifierDurationHasChangedEvent.Raise(uniquePowerModifierData); Events.DurationHasChangedEvent.Raise(uniquePowerModifierData); // Trigger on UPM has been triggered //uniquePowerModifierHasBeenTriggeredEvent.Raise(uniquePowerModifierData); Events.HasBeenTriggeredEvent.Raise(uniquePowerModifierData); }
public override void Trigger(PartyUnit dstPartyUnit, UniquePowerModifierData uniquePowerModifierData) { Debug.Log("Trigger " + uniquePowerModifierData.GetOriginDisplayName() + " UPM"); // .. just in case ValidateTriggerCondition(uniquePowerModifierData); // Decrement current duration uniquePowerModifierData.DurationLeft -= 1; // note: order is important. Trigger should be last, because it may also remove UPM status icon // Trigger on duration changed event //uniquePowerModifierDurationHasChangedEvent.Raise(uniquePowerModifierData); Events.DurationHasChangedEvent.Raise(uniquePowerModifierData); // Trigger on UPM has been triggered //uniquePowerModifierHasBeenTriggeredEvent.Raise(uniquePowerModifierData); Events.HasBeenTriggeredEvent.Raise(uniquePowerModifierData); }
public override void Trigger(PartyUnit dstPartyUnit, UniquePowerModifierData uniquePowerModifierData) { Debug.Log("Trigger " + uniquePowerModifierData.GetOriginDisplayName() + " UPM"); // Apply upm current power to destination unit dstPartyUnit.UnitHealthCurr += uniquePowerModifierData.CurrentPower; // current power is negative if it is damage dealing ability }