public Dictionary <Feat, AbilityDetail> BuildAbilities() { var builder = new AbilityBuilder(); Fire1(builder); Fire2(builder); Fire3(builder); return(builder.Build()); }
public Dictionary <Feat, AbilityDetail> BuildAbilities() { var builder = new AbilityBuilder(); ElectricFist1(builder); ElectricFist2(builder); ElectricFist3(builder); return(builder.Build()); }
public Dictionary <Feat, AbilityDetail> BuildAbilities() { var builder = new AbilityBuilder(); Blizzard1(builder); Blizzard2(builder); Blizzard3(builder); return(builder.Build()); }
public Dictionary <Feat, AbilityDetail> BuildAbilities() { var builder = new AbilityBuilder(); PiercingStab1(builder); PiercingStab2(builder); PiercingStab3(builder); return(builder.Build()); }
private static void Convert(AbilityBuilder builder) { builder.Create(Feat.Convert, PerkType.Convert) .Name("Convert") .HasRecastDelay(RecastGroup.Convert, 600f) .UsesActivationType(AbilityActivationType.Casted) .HasCustomValidation((activator, target, level) => { if (!GetIsPC(activator) || GetIsDM(activator)) { return("Only players may use this ability."); } var playerId = GetObjectUUID(activator); var dbPlayer = DB.Get <Player>(playerId); if (dbPlayer.MP <= 0) { return("Your MP is too low to convert."); } return(string.Empty); }) .HasImpactAction((activator, target, level) => { var playerId = GetObjectUUID(activator); var dbPlayer = DB.Get <Player>(playerId); var currentHP = GetCurrentHitPoints(activator); var currentMP = dbPlayer.MP; // Set MP to 0 then do a restore by the player's HP. dbPlayer.MP = 0; Stat.RestoreMP(activator, dbPlayer, currentHP); DB.Set(playerId, dbPlayer); // Current HP is higher than MP. Deal damage. if (currentHP > currentMP) { var damageAmount = currentHP - currentMP; ApplyEffectToObject(DurationType.Instant, EffectDamage(damageAmount), activator); } // Current HP is lower than MP. Heal damage. else if (currentHP < currentMP) { var recoverAmount = currentMP - currentHP; ApplyEffectToObject(DurationType.Instant, EffectHeal(recoverAmount), activator); } ApplyEffectToObject(DurationType.Instant, EffectVisualEffect(VisualEffect.Vfx_Imp_Good_Help), activator); CombatPoint.AddCombatPointToAllTagged(activator, SkillType.RedMagic, 5); Enmity.ModifyEnmityOnAll(activator, 10); }); }
public Dictionary <Feat, AbilityDetail> BuildAbilities() { var builder = new AbilityBuilder(); Cover1(builder); Cover2(builder); Cover3(builder); Cover4(builder); return(builder.Build()); }
public Dictionary <Feat, AbilityDetail> BuildAbilities() { var builder = new AbilityBuilder(); Steal1(builder); Steal2(builder); Steal3(builder); Steal4(builder); return(builder.Build()); }
public Dictionary <Feat, AbilityDetail> BuildAbilities() { var builder = new AbilityBuilder(); TransferMP1(builder); TransferMP2(builder); TransferStamina1(builder); TransferStamina2(builder); return(builder.Build()); }
/// <summary> /// Loads the client side player's abilities. /// </summary> /// <param name="json"></param> /// <param name="isInitialLoad"></param> private void loadPlayerAbilities(JSONNode json, bool isInitialLoad, string entityName) { int skillLevel = 0; JSONArray abilityJson = isInitialLoad ? json["starting_abilities"].AsArray : json["abilities"].AsArray; AbilityBuilder builder = new AbilityBuilder(); foreach (JSONNode jsonNode in abilityJson) { abilities.Add(constructPlayerAbility(jsonNode, skillLevel, entityName)); } }
public Dictionary <Feat, AbilityDetail> BuildAbilities() { var builder = new AbilityBuilder(); InnerHealing1(builder); InnerHealing2(builder); InnerHealing3(builder); InnerHealing4(builder); InnerHealing5(builder); return(builder.Build()); }
/// <summary> /// Returns an ability. /// </summary> public static Ability CreateAbility( string name = "jim", string description = "eureka", ActionContainer actionContainer = null) { var builder = new AbilityBuilder() .Name(name) .Describe(description) .WithActionContainer(actionContainer); return(builder.Build()); }
public static void Create() { CharacterSheet character = new CharacterSheet(); character.characterInfo = CharInfoBuilder.Build ( CharacterStatic.name, CharacterStatic.charDescription ); for (int i = 0; i < CharacterStatic.statsLable.Count; i++) { character.Stats.Add ( StatisticBuilder.Build(CharacterStatic.statsLable[i], CharacterStatic.statsValue[i]) ); } for (int i = 0; i < CharacterStatic.abilityLable.Count; i++) { character.Abilities.Add(AbilityBuilder.Build ( CharacterStatic.abilityLable[i], CharacterStatic.abilityDescription[i], CharacterStatic.abilityValue[i]) ); } for (int i = 0; i < CharacterStatic.skillLable.Count; i++) { character.Skills.Add(SkillBuilder.Build ( CharacterStatic.skillLable[i], CharacterStatic.skillDescription[i], CharacterStatic.skillValue[i]) ); } for (int i = 0; i < CharacterStatic.eqLable.Count; i++) { character.Inventory.Add(ItemBuilder.Build ( CharacterStatic.eqLable[i], CharacterStatic.eqDescription[i]) ); } string toSave = JsonUtility.ToJson(character); Debug.Log(toSave); File.WriteAllText(ProfileStatic.ProfileFolderPath + character.characterInfo.CharacterName + ".dat", Crypter.Crypting(toSave)); }
public Dictionary <Feat, AbilityDetail> BuildAbilities() { var builder = new AbilityBuilder(); Invincible(builder); HundredFists(builder); Benediction(builder); ElementalSeal(builder); PerfectDodge(builder); Manafont(builder); return(builder.Build()); }
public Dictionary <Feat, AbilityDetail> BuildAbilities() { var builder = new AbilityBuilder(); Defender1(builder); Defender2(builder); Defender3(builder); Ironclad1(builder); Ironclad2(builder); Ironclad3(builder); return(builder.Build()); }
public void Activate() { this.owner = EntityManager9.Owner; this.abilityBuilder = new AbilityBuilder( this.owner, this.learnAbilities, this.abilitiesType, this.learnTalents, this.talentsType); this.enabled.ValueChange += this.EnabledOnValueChange; this.abilityBuilder.BuildReady += this.OnBuildReady; }
private static void Provoke1(AbilityBuilder builder) { builder.Create(Feat.Provoke1, PerkType.Provoke) .Name("Provoke I") .HasRecastDelay(RecastGroup.Provoke1, 30f) .RequirementStamina(2) .UsesActivationType(AbilityActivationType.Casted) .HasImpactAction((activator, target, level) => { ApplyEffectToObject(DurationType.Instant, EffectVisualEffect(VisualEffect.Vfx_Imp_Destruction), target); Enmity.ModifyEnmity(activator, target, 50); }); }
private static void Stone3(AbilityBuilder builder) { builder.Create(Feat.Stone3, PerkType.Stone) .Name("Stone III") .HasRecastDelay(RecastGroup.Stone, 4f) .HasActivationDelay(2.0f) .RequirementMP(7) .UsesActivationType(AbilityActivationType.Casted) .DisplaysVisualEffectWhenActivating() .HasImpactAction((activator, target, level) => { ApplyStoneEffects(activator, target, Random.D10(2), 14); }); }
private static void LifeSteal2(AbilityBuilder builder) { builder.Create(Feat.LifeSteal2, PerkType.LifeSteal) .Name("Life Steal II") .HasRecastDelay(RecastGroup.LifeSteal, 120f) .RequirementStamina(30) .UsesActivationType(AbilityActivationType.Weapon) .HasImpactAction((activator, target, level) => { var percentRecovery = 0.50f; SetLocalFloat(target, LifeStealVariableName, percentRecovery); SetLocalObject(target, LifeStealActivatorVariableName, activator); }); }
public void Build_CallsPresent_Succeeds() { // Arrange var builder = new AbilityBuilder() .Name("caribou") .Describe("andorra") .WithActionContainer(new ActionContainer()); // Act var move = builder.Build(); // Assert Assert.That(move, Is.Not.Null); }
private static void Warp1(AbilityBuilder builder) { builder.Create(Feat.Warp1, PerkType.Warp) .Name("Warp I") .HasRecastDelay(RecastGroup.Warp, 30f) .HasActivationDelay(12.0f) .RequirementMP(20) .UsesActivationType(AbilityActivationType.Casted) .DisplaysVisualEffectWhenActivating() .HasImpactAction((activator, target, level) => { SendToHomePoint(target); }); }
private static void Blizzard3(AbilityBuilder builder) { builder.Create(Feat.Blizzard3, PerkType.Blizzard) .Name("Blizzard III") .HasRecastDelay(RecastGroup.Blizzard, 2f) .HasActivationDelay(2.0f) .RequirementMP(6) .UsesActivationType(AbilityActivationType.Casted) .DisplaysVisualEffectWhenActivating() .HasImpactAction((activator, target, level) => { ApplyBlizzardEffects(activator, target, Random.D8(2), 10, 30f); ApplyAOEBlizzardEffects(activator, target, Random.D8(2), 10, 30f); }); }
private static void Thunder3(AbilityBuilder builder) { builder.Create(Feat.Thunder3, PerkType.Thunder) .Name("Thunder III") .HasRecastDelay(RecastGroup.Thunder, 4f) .HasActivationDelay(4.0f) .RequirementMP(8) .UsesActivationType(AbilityActivationType.Casted) .DisplaysVisualEffectWhenActivating() .HasImpactAction((activator, target, level) => { ApplyThunderEffects(activator, target, Random.D12(2), 15, 6f); ApplyAOEThunderEffects(activator, target, Random.D12(2), 15, 6f); }); }
private static void Fire3(AbilityBuilder builder) { builder.Create(Feat.Fire3, PerkType.Fire) .Name("Fire III") .HasRecastDelay(RecastGroup.Fire, 3f) .HasActivationDelay(3.0f) .RequirementMP(7) .UsesActivationType(AbilityActivationType.Casted) .DisplaysVisualEffectWhenActivating() .HasImpactAction((activator, target, level) => { ApplyFireEffects(activator, target, Random.D12(2), 15, 30f); ApplyAOEFireEffects(activator, target, Random.D12(2), 15, 30f); }); }
private static void Invincible(AbilityBuilder builder) { builder.Create(Feat.Invincible, PerkType.Invincible) .Name("Invincible") .HasRecastDelay(RecastGroup.OneHourAbility, 3600f) .UsesActivationType(AbilityActivationType.Casted) .RequirementStamina(50) .HasImpactAction((activator, target, level) => { StatusEffect.Apply(activator, target, StatusEffectType.Invincible, 30.0f); CombatPoint.AddCombatPointToAllTagged(activator, SkillType.Chivalry, 5); Enmity.ModifyEnmityOnAll(activator, 500); ApplyEffectToObject(DurationType.Instant, EffectVisualEffect(VisualEffect.Vfx_Fnf_Sound_Burst), target); }); }
private static void Blind1(AbilityBuilder builder) { builder.Create(Feat.Blind1, PerkType.Blind) .Name("Blind I") .HasRecastDelay(RecastGroup.Blind, 12f) .RequirementMP(6) .UsesActivationType(AbilityActivationType.Casted) .HasActivationDelay(2f) .HasImpactAction((activator, target, level) => { StatusEffect.Apply(activator, target, StatusEffectType.Blind1, 15f); Enmity.ModifyEnmity(activator, target, 4); CombatPoint.AddCombatPointToAllTagged(activator, SkillType.RedMagic, 3); }); }
private static void WaspSting3(AbilityBuilder builder) { builder.Create(Feat.WaspSting3, PerkType.WaspSting) .Name("Wasp Sting III") .HasRecastDelay(RecastGroup.WaspSting, 60f) .RequirementStamina(12) .UsesActivationType(AbilityActivationType.Weapon) .HasImpactAction((activator, target, level) => { ApplyEffectToObject(DurationType.Instant, EffectVisualEffect(VisualEffect.Vfx_Imp_Poison_S), target); StatusEffect.Apply(activator, target, StatusEffectType.Poison3, 24f); CombatPoint.AddCombatPoint(activator, target, SkillType.Thievery, 3); Enmity.ModifyEnmity(activator, target, 20); }); }
private static void Ironclad1(AbilityBuilder builder) { builder.Create(Feat.Ironclad1, PerkType.Ironclad) .Name("Ironclad I") .HasRecastDelay(RecastGroup.Ironclad, 300f) .RequirementStamina(10) .UsesActivationType(AbilityActivationType.Casted) .HasImpactAction((activator, target, level) => { StatusEffect.Apply(activator, target, StatusEffectType.Ironclad1, 60f); ApplyEffectToObject(DurationType.Instant, EffectVisualEffect(VisualEffect.Vfx_Imp_Death_Ward), target); Enmity.ModifyEnmityOnAll(activator, 8); CombatPoint.AddCombatPointToAllTagged(activator, SkillType.Chivalry, 3); }); }
private static void PerfectDodge(AbilityBuilder builder) { builder.Create(Feat.PerfectDodge, PerkType.PerfectDodge) .Name("Perfect Dodge") .HasRecastDelay(RecastGroup.OneHourAbility, 3600f) .UsesActivationType(AbilityActivationType.Casted) .RequirementStamina(50) .HasImpactAction((activator, target, level) => { ApplyEffectToObject(DurationType.Temporary, EffectACIncrease(20), target, 30f); ApplyEffectToObject(DurationType.Temporary, EffectVisualEffect(VisualEffect.Vfx_Dur_Pixiedust), target, 30f); CombatPoint.AddCombatPointToAllTagged(activator, SkillType.Thievery, 5); Enmity.ModifyEnmityOnAll(activator, 150); }); }
private static void Manafont(AbilityBuilder builder) { builder.Create(Feat.Manafont, PerkType.Manafont) .Name("Manafont") .HasRecastDelay(RecastGroup.OneHourAbility, 3600f) .UsesActivationType(AbilityActivationType.Casted) .RequirementMP(50) .HasImpactAction((activator, target, level) => { StatusEffect.Apply(activator, target, StatusEffectType.Manafont, 30f); ApplyEffectToObject(DurationType.Instant, EffectVisualEffect(VisualEffect.Vfx_Fnf_Sound_Burst), target); CombatPoint.AddCombatPointToAllTagged(activator, SkillType.RedMagic, 5); Enmity.ModifyEnmityOnAll(activator, 100); }); }
private static void SubtleBlow2(AbilityBuilder builder) { builder.Create(Feat.SubtleBlow2, PerkType.SubtleBlow) .Name("Subtle Blow II") .HasRecastDelay(RecastGroup.SubtleBlow, 300f) .RequirementStamina(7) .UsesActivationType(AbilityActivationType.Casted) .HasImpactAction((activator, target, level) => { StatusEffect.Apply(activator, target, StatusEffectType.SubtleBlow2, 30f); ApplyEffectToObject(DurationType.Instant, EffectVisualEffect(VisualEffect.Vfx_Imp_Ac_Bonus), target); CombatPoint.AddCombatPointToAllTagged(activator, SkillType.Chi, 3); Enmity.ModifyEnmityOnAll(activator, 8); }); }