public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder() .Create(StatusEffectType.Static) .Name("Static") .EffectIcon(139) .TickAction((activator, target) => { var damage = Random.D4(1); ApplyEffectToObject(DurationType.Instant, EffectDamage(damage, DamageType.Electrical), target); }); return(builder.Build()); }
private static void Poison3(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Poison3) .Name("Poison III") .EffectIcon(152) .TickAction((activator, target) => { var damage = Random.D6(2); AssignCommand(activator, () => { ApplyEffectToObject(DurationType.Instant, EffectDamage(damage, DamageType.Acid), target); }); }); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder() .Create(StatusEffectType.Burn) .Name("Burn") .EffectIcon(131) .TickAction((source, target) => { AssignCommand(source, () => { var damage = Random.D6(1); ApplyEffectToObject(DurationType.Instant, EffectDamage(damage, DamageType.Fire), target); }); }); return(builder.Build()); }
private static void Hide2(AbilityBuilder builder) { builder.Create(Feat.Hide2, PerkType.Hide) .Name("Hide II") .HasRecastDelay(RecastGroup.Hide, 600f) .RequirementStamina(25) .UsesActivationType(AbilityActivationType.Casted) .HasActivationDelay(2.0f) .HasCustomValidation((activator, target, level) => { if (GetIsInCombat(activator)) { return("You cannot hide during combat."); } return(string.Empty); }) .HasImpactAction((activator, target, level) => { var bonusDuration = GetAbilityModifier(AbilityType.Dexterity, activator) * 5; var duration = Random.NextFloat(240f, 300f) + bonusDuration; ApplyEffectToObject(DurationType.Temporary, EffectInvisibility(InvisibilityType.Normal), target, duration); }); }