private void Manafont(StatusEffectBuilder builder) { builder .Create(StatusEffectType.Manafont) .Name("Manafont") .EffectIcon(156); }
private void ElementalSeal(StatusEffectBuilder builder) { builder .Create(StatusEffectType.ElementalSeal) .Name("Elemental Seal") .EffectIcon(132); }
private static void Dia2(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Dia2) .Name("Dia II") .EffectIcon(154) .GrantAction((target, duration) => { if (StatusEffect.HasStatusEffect(target, StatusEffectType.Dia3)) { SendMessageToPC(target, "A more powerful version of Dia is already in effect."); StatusEffect.Remove(target, StatusEffectType.Dia2); return; } StatusEffect.Remove(target, StatusEffectType.Dia1); }) .TickAction((activator, target) => { var damage = Random.D4(1); AssignCommand(activator, () => { ApplyEffectToObject(DurationType.Instant, EffectDamage(damage, DamageType.Positive), target); }); }); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder() .Create(StatusEffectType.DeliberateStab) .EffectIcon(161); return(builder.Build()); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder(); Refresh(builder); return(builder.Build()); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder(); SubtleBlow1(builder); SubtleBlow2(builder); return(builder.Build()); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder() .Create(StatusEffectType.ElementalSpread) .Name("Elemental Spread") .EffectIcon(133); return(builder.Build()); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder(); ElementalSeal(builder); Manafont(builder); return(builder.Build()); }
private static void Blind2(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Blind2) .Name("Blind II") .EffectIcon(147) .GrantAction((target, duration) => { ApplyEffectToObject(DurationType.Temporary, EffectMissChance(18), target, duration); }); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder(); Bleed1(builder); Bleed2(builder); Bleed3(builder); return(builder.Build()); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder(); Cover1(builder); Cover2(builder); Cover3(builder); Cover4(builder); return(builder.Build()); }
private static void SubtleBlow2(StatusEffectBuilder builder) { builder.Create(StatusEffectType.SubtleBlow2) .Name("Subtle Blow II") .EffectIcon(136) .GrantAction((target, duration) => { if (StatusEffect.HasStatusEffect(target, StatusEffectType.SubtleBlow1)) { StatusEffect.Remove(target, StatusEffectType.SubtleBlow1); } }); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder(); Defender1(builder); Defender2(builder); Defender3(builder); Ironclad1(builder); Ironclad2(builder); Ironclad3(builder); return(builder.Build()); }
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 SubtleBlow1(StatusEffectBuilder builder) { builder.Create(StatusEffectType.SubtleBlow1) .Name("Subtle Blow I") .EffectIcon(135) .GrantAction((target, duration) => { if (StatusEffect.HasStatusEffect(target, StatusEffectType.SubtleBlow2)) { StatusEffect.Remove(target, StatusEffectType.SubtleBlow1); SendMessageToPC(target, "A more powerful effect is already active."); } }); }
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); }); }); }
private static void Defender3(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Defender3) .Name("Defender III") .EffectIcon(142) .GrantAction((target, duration) => { RemoveEffectByTag(target, Defender1EffectTag, Defender2EffectTag, Defender3EffectTag); ApplyDamageResistanceEffect(target, 7, Defender3EffectTag, 60f); }) .RemoveAction(target => { RemoveEffectByTag(target, Defender3EffectTag); }); }
private static void Ironclad3(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Ironclad3) .Name("Ironclad III") .EffectIcon(145) .GrantAction((target, duration) => { RemoveEffectByTag(target, Ironclad1EffectTag, Ironclad2EffectTag, Ironclad3EffectTag); ApplyDamageResistanceEffect(target, 8, Ironclad3EffectTag, 60f); }) .RemoveAction(target => { RemoveEffectByTag(target, Ironclad3EffectTag); }); }
private static void Cover1(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Cover1) .Name("Cover I") .EffectIcon(148) .GrantAction((target, duration) => { if (StatusEffect.HasStatusEffect(target, StatusEffectType.Cover2) || StatusEffect.HasStatusEffect(target, StatusEffectType.Cover3) || StatusEffect.HasStatusEffect(target, StatusEffectType.Cover4)) { StatusEffect.Remove(target, StatusEffectType.Cover1); SendMessageToPC(target, "A more powerful Cover effect is already active."); } }); }
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 Cover4(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Cover4) .Name("Cover IV") .EffectIcon(151) .GrantAction((target, duration) => { if (StatusEffect.HasStatusEffect(target, StatusEffectType.Cover1) || StatusEffect.HasStatusEffect(target, StatusEffectType.Cover2) || StatusEffect.HasStatusEffect(target, StatusEffectType.Cover3)) { StatusEffect.Remove(target, StatusEffectType.Cover1); StatusEffect.Remove(target, StatusEffectType.Cover2); StatusEffect.Remove(target, StatusEffectType.Cover3); } }); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { var builder = new StatusEffectBuilder() .Create(StatusEffectType.Invincible) .Name("Invincible") .EffectIcon(130) .GrantAction((target, duration) => { SetPlotFlag(target, true); }) .RemoveAction((target) => { SetPlotFlag(target, false); }); return(builder.Build()); }
private static void Refresh(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Refresh) .Name("Refresh") .EffectIcon(160) .TickAction((activator, target) => { if (!GetIsPC(target) || GetIsDM(target)) { return; } var playerId = GetObjectUUID(target); var dbPlayer = DB.Get <Player>(playerId); Stat.RestoreMP(target, dbPlayer, 3); }); }
private static void Bleed3(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Bleed3) .Name("Bleed III") .EffectIcon(159) .GrantAction((target, duration) => { StatusEffect.Remove(target, StatusEffectType.Bleed1); StatusEffect.Remove(target, StatusEffectType.Bleed3); }) .TickAction((activator, target) => { var damage = Random.D6(2); AssignCommand(activator, () => { ApplyEffectToObject(DurationType.Instant, EffectDamage(damage, DamageType.Piercing), target); }); }); }
private static void Dia3(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Dia3) .Name("Dia III") .EffectIcon(155) .GrantAction((target, duration) => { StatusEffect.Remove(target, StatusEffectType.Dia1); StatusEffect.Remove(target, StatusEffectType.Dia2); }) .TickAction((activator, target) => { var damage = Random.D6(1); AssignCommand(activator, () => { ApplyEffectToObject(DurationType.Instant, EffectDamage(damage, DamageType.Positive), target); }); }); }
private static void Ironclad2(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Ironclad2) .Name("Ironclad II") .EffectIcon(144) .GrantAction((target, duration) => { if (StatusEffect.HasStatusEffect(target, StatusEffectType.Ironclad3)) { SendMessageToPC(target, "A more powerful version of Ironclad is already in effect."); return; } RemoveEffectByTag(target, Ironclad1EffectTag, Ironclad2EffectTag); ApplyDamageResistanceEffect(target, 6, Ironclad2EffectTag, 60f); }) .RemoveAction(target => { RemoveEffectByTag(target, Ironclad2EffectTag); }); }
private static void Defender2(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Defender2) .Name("Defender II") .EffectIcon(141) .GrantAction((target, duration) => { if (StatusEffect.HasStatusEffect(target, StatusEffectType.Defender3)) { SendMessageToPC(target, "A more powerful version of Defender is already in effect."); return; } RemoveEffectByTag(target, Defender1EffectTag, Defender2EffectTag); ApplyDamageResistanceEffect(target, 5, Defender2EffectTag, 60f); }) .RemoveAction(target => { RemoveEffectByTag(target, Defender2EffectTag); }); }
public Dictionary <StatusEffectType, StatusEffectDetail> BuildStatusEffects() { const string SleepEffectTag = "STATUS_EFFECT_SLEEP"; var builder = new StatusEffectBuilder() .Create(StatusEffectType.Sleep) .Name("Sleep") .EffectIcon(134) .GrantAction((target, duration) => { var effect = EffectStunned(); effect = EffectLinkEffects(effect, EffectVisualEffect(VisualEffect.Vfx_Dur_Iounstone_Blue)); effect = EffectLinkEffects(effect, EffectVisualEffect(VisualEffect.Vfx_Imp_Sleep)); effect = TagEffect(effect, SleepEffectTag); ApplyEffectToObject(DurationType.Temporary, effect, target, duration); }) .RemoveAction(target => { RemoveEffectByTag(target, SleepEffectTag); }); return(builder.Build()); }
private static void Bleed1(StatusEffectBuilder builder) { builder.Create(StatusEffectType.Bleed1) .Name("Bleed I") .EffectIcon(157) .GrantAction((target, duration) => { if (StatusEffect.HasStatusEffect(target, StatusEffectType.Bleed2) || StatusEffect.HasStatusEffect(target, StatusEffectType.Bleed3)) { SendMessageToPC(target, "A more powerful version of Bleed is already in effect."); StatusEffect.Remove(target, StatusEffectType.Bleed1); } }) .TickAction((activator, target) => { var damage = Random.D4(1); AssignCommand(activator, () => { ApplyEffectToObject(DurationType.Instant, EffectDamage(damage, DamageType.Piercing), target); }); }); }