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());
        }
示例#2
0
        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);
                });
            });
        }
示例#3
0
        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());
        }
示例#4
0
        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);
            });
        }