File

src/app/helpers/profBuildHelpers/professions/warrior.ts

Description

Condition Berserker build

Extends

CondiWarriorBuild

Index

Properties
Methods

Constructor

constructor(id: , name: )

Create a Condition Berserker build

Parameters :
Name Optional Description
id no

Id of the build

name no

Name of the build

Properties

Protected armor
armor: Armor
Type : Armor
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:251

Armor data

Protected consumable
consumable: Consumable
Type : Consumable
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:255

Consumable data

Protected icon
icon: string
Type : string
Default value : 'assets/profIcons/'
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:287

Icon path

id
id: string
Type : string
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:243

Id of the build

name
name: string
Type : string
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:247

Name of the build

Private overrides
overrides: Map<string | BuildOverride>
Type : Map<string | BuildOverride>
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:291

Overrides

Public profession
profession: any
Type : any
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:283

Profession

Protected profSkills
profSkills: ProfessionSkills
Type : ProfessionSkills
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:275

Profession skills data, can be set to null

Protected skills
skills: Skills
Type : Skills
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:279

Skills data

Protected specialization
specialization: Specialization
Type : Specialization
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:271

Specialization data

Protected trinket
trinket: Trinket
Type : Trinket
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:259

Trinket data

Protected wep1
wep1: Weapons
Type : Weapons
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:267

Primary weapon set data

Protected wep2
wep2: Weapons
Type : Weapons
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:263

Second weapon set data, can be set to null

Methods

addOverride
addOverride(name: string, open: boolean)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:445

Add an override to the build

Parameters :
Name Type Optional Default value Description
name string no

Name of the override

open boolean no true

Visible by default or not

Returns : BuildOverride
getArmor
getArmor(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:387

Get the armor div

Parameters :
Name Type Optional Default value Description
override string no null

Name of the override

Returns : literal type
getConsumable
getConsumable(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:426

Get the consumable div

Parameters :
Name Type Optional Default value Description
override string no null

Name of the override

Returns : string
getIcon
getIcon()
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:436

Get the icon path

Returns : string
getOverrides
getOverrides()
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:455

Get the overrides of the build

Returns : string[]

Array of the name of the overrides

getPets
getPets(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:334

Get the pets div

Parameters :
Name Type Optional Default value Description
override string no null

Name of the override

Returns : string
getProfessionSkills
getProfessionSkills(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:362

Get the profession skills div

Parameters :
Name Type Optional Default value Description
override string no null

Name of the override

Returns : string
getSkills
getSkills(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:348

Get the skills div

Parameters :
Name Type Optional Default value Description
override string no null

Name of the override

Returns : literal type
getSpecializations
getSpecializations(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:323

Get the specialization div

Parameters :
Name Type Optional Default value Description
override string no null

Name of the override

Returns : string
getTrinket
getTrinket(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:376

Get the trinket div

Parameters :
Name Type Optional Default value Description
override string no null

Name of the override

Returns : literal type
getWeapon1
getWeapon1(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:398

Get the primary weapon set div

Parameters :
Name Type Optional Default value Description
override string no null

Name of the override

Returns : literal type
getWeapon2
getWeapon2(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:412

Get the secondary weapon set div

Parameters :
Name Type Optional Default value Description
override string no null

Name of the override

Returns : literal type
hasSkills
hasSkills(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:469

Check if the build has skills

Parameters :
Name Type Optional Default value Description
override string no null

Override name

Returns : boolean
isSingleWeapon
isSingleWeapon(override: string)
Inherited from CondiWarriorBuild
Defined in CondiWarriorBuild:480

Check if the build has a secondary weapon set

Parameters :
Name Type Optional Default value Description
override string no null

Override name

Returns : boolean
import { ProfBuild } from '../../profBuild';
import { Professions } from '../professionUtilities/professions';

/**
 * Standard Warrior build
 */
class WarriorBuild extends ProfBuild {
    /**
     * Create a standard Warrior build
     * @param id Id of the build
     * @param name Name of the build
     */
    constructor(id, name) {
        super(id, Professions.Warrior, name);
    }
}

/**
 * Condition Warrior build
 */
class CondiWarriorBuild extends WarriorBuild {
    /**
     * Create a Condition Warrior build
     * @param id Id of the build
     * @param name Name of the build
     */
    constructor(id, name) {
        super(id, name);
        this.armor.setSingleStat('Viper\'s');
        this.armor.setSingleRune('Superior Rune of the Renegade');
        this.consumable.setConsumable('Rare Veggie Pizza', 'Toxic Focusing Crystal');
        this.trinket.setSingleStat('Viper\'s');
        this.wep1.setMainHand('Sword', 'Viper\'s', 'Superior Sigil of Geomancy');
        this.wep2.setTwoHand('Longbow', 'Viper\'s', 'Superior Sigil of Geomancy', 'Superior Sigil of Malice');
        this.specialization.setSpec('spec1', 'Arms', ['Wounding Precision', 'Blademaster', 'Furious']);
        this.skills.setHealSkill('Blood Reckoning');
        this.skills.setEliteSkill('Head Butt');
    }
}

/**
 * Banner Berserker build
 */
class BannerBerserkerBuild extends CondiWarriorBuild {
    /**
    * Create a Banner Berserker build
    * @param id Id of the build
    * @param name Name of the build
    */
    constructor(id, name) {
        super(id, 'Berserker - Banner' + name);
        this.icon += 'berserker.png';
        this.wep1.setOffHand('Torch', 'Viper\'s', 'Superior Sigil of Malice');
        this.specialization.setSpec('spec2', 'Tactics', ['Empowered', 'Empower Allies', 'Powerful Synergy']);
        this.specialization.setSpec('spec3', 'Berserker', ['Last Blaze', 'Heat the Soul', 'King of Fires']);
        this.skills.setUtilitySkills(['', 'Banner of Discipline', 'Banner of Strength']);
    }
}

/**
 * Condition Berserker build
 */
class ConditionBerserkerBuild extends CondiWarriorBuild {
    /**
     * Create a Condition Berserker build
     * @param id Id of the build
     * @param name Name of the build
     */
    constructor(id, name) {
        super(id, 'Berserker - Condition' + name);
        this.icon += 'berserker.png';
        this.wep1.setOffHand('Torch', 'Viper\'s', 'Superior Sigil of Malice');
        this.specialization.setSpec('spec2', 'Discipline', ['Warrior\'s Sprint', 'Inspiring Battle Standard', 'Burst Mastery']);
        this.specialization.setSpec('spec3', 'Berserker', ['Smash Brawler', 'Heat the Soul', 'King of Fires']);
        this.skills.setUtilitySkills(['Shattering Blow', 'Signet of Fury', 'Signet of Might']);
    }
}

/**
 * Power Warrior build
 */
class PowerWarriorBuild extends WarriorBuild {
    /**
     * Create a Power Warrior build
     * @param id Id of the build
     * @param name Name of the build
     */
    constructor(id, name) {
        super(id, name);
        this.armor.setStats(['Assassin\'s', 'Assassin\'s', 'Berserker\'s', 'Assassin\'s', 'Assassin\'s', 'Berserker\'s']);
        this.armor.setSingleRune('Superior Rune of the Scholar');
        this.consumable.setConsumable('Bowl of Curry Butternut Squash Soup', 'Superior Sharpening Stone');
        this.trinket.setStats(['Berserker\'s', 'Berserker\'s', 'Berserker\'s', 'Berserker\'s', 'Berserker\'s', 'Assassin\'s']);
    }
}

/**
 * Banner Spellbreaker build
 */
class BannerSpellbreakerBuild extends PowerWarriorBuild {
    /**
     * Create a Banner Spellbreaker build
     * @param id Id of the build
     * @param name Name of the build
     */
    constructor(id, name) {
        super(id, 'Spellbreaker - Banner' + name);
        this.icon += 'spellbreaker.png';
        this.specialization.setSpec('spec1', 'Strength', ['Peak Performance', 'Forceful Greatsword', 'Berserker\'s Power']);
        this.specialization.setSpec('spec2', 'Tactics', ['Empowered', 'Empower Allies', 'Powerful Synergy']);
        this.specialization.setSpec('spec3', 'Spellbreaker', ['Pure Strike', 'Loss Aversion', 'Magebane Tether']);
        this.wep1.setTwoHand('Greatsword', 'Berserker\'s', 'Superior Sigil of Force', 'Superior Sigil of Accuracy');
        this.wep2.setMainHand('Axe', 'Berserker\'s', 'Superior Sigil of Force');
        this.wep2.setOffHand('Axe', 'Berserker\'s', 'Superior Sigil of Accuracy');
        this.skills.setHealSkill('"To the Limit!"');
        this.skills.setUtilitySkills(['Kick', 'Banner of Discipline', 'Banner of Strength']);
        this.skills.setEliteSkill('Winds of Disenchantment');
    }
}

/**
 * Banner Warrior build
 */
class BannerWarriorBuild extends PowerWarriorBuild {
    /**
     * Create a Banner Warrior build
     * @param id Id of the build
     * @param name Name of the build
     */
    constructor(id, name) {
        super(id, 'Warrior - Banner' + name);
        this.icon += 'warrior.png';
        this.specialization.setSpec('spec1', 'Strength', ['Peak Performance', 'Forceful Greatsword', 'Berserker\'s Power']);
        this.specialization.setSpec('spec2', 'Tactics', ['Empowered', 'Empower Allies', 'Powerful Synergy']);
        this.specialization.setSpec('spec3', 'Discipline', ['Warrior\'s Sprint', 'Inspiring Battle Standard', 'Axe Mastery']);
        this.skills.setHealSkill('"To the Limit!"');
        this.skills.setUtilitySkills(['Throw Bolas', 'Banner of Discipline', 'Banner of Strength']);
        this.skills.setEliteSkill('Rampage');
        this.wep1.setMainHand('Mace', 'Berserker\'s', 'Superior Sigil of Force');
        this.wep1.setOffHand('Mace', 'Berserker\'s', 'Superior Sigil of Paralyzation');
        this.wep2.setMainHand('Axe', 'Berserker\'s', 'Superior Sigil of Force');
        this.wep2.setOffHand('Axe', 'Berserker\'s', 'Superior Sigil of Accuracy');
    }
}

/**
 * Power Spellbreaker build
 */
class PowerSpellbreakerBuild extends PowerWarriorBuild {
    /**
     * Create a Power Spellbreaker build
     * @param id Id of the build
     * @param name Name of the build
     */
    constructor(id, name) {
        super(id, 'Spellbreaker - Power' + name);
        this.icon += 'spellbreaker.png';
        this.skills.setHealSkill('"To the Limit!"');
        this.skills.setUtilitySkills(['Kick', 'Bull\'s Charge', 'Signet of Might']);
        this.skills.setEliteSkill('Signet of Rage');
        this.specialization.setSpec('spec1', 'Strength', ['Peak Performance', 'Body Blow', 'Berserker\'s Power']);
        this.specialization.setSpec('spec2', 'Discipline', ['Warrior\'s Sprint', 'Inspiring Battle Standard', 'Axe Mastery']);
        this.specialization.setSpec('spec3', 'Spellbreaker', ['Pure Strike', 'Loss Aversion', 'Magebane Tether']);
        this.wep1.setMainHand('Mace', 'Berserker\'s', 'Superior Sigil of Force');
        this.wep1.setOffHand('Axe', 'Berserker\'s', 'Superior Sigil of Accuracy');
        this.wep2.setMainHand('Axe', 'Berserker\'s', 'Superior Sigil of Force');
        this.wep2.setOffHand('Dagger', 'Berserker\'s', 'Superior Sigil of Accuracy');
    }
}

/**
 * Add warrior builds to the database
 */
export function warBuildMaker() {
    let build: ProfBuild = null;
    // Condi
    {
        build = new BannerBerserkerBuild('bers', '');
        let variant = build.addOverride('Fury', false);
        variant.skills.setHealSkill('Blood Reckoning');
        variant.skills.setEliteSkill('Head Butt');
        variant.skills.setUtilitySkills(['"For Great Justice!"', 'Banner of Discipline', 'Banner of Strength']);

        variant = build.addOverride('CC', false);
        variant.skills.setHealSkill('Blood Reckoning');
        variant.skills.setEliteSkill('Head Butt');
        variant.skills.setUtilitySkills(['Wild Blow', 'Banner of Discipline', 'Banner of Strength']);

        variant = build.addOverride('DPS', false);
        variant.skills.setHealSkill('Blood Reckoning');
        variant.skills.setEliteSkill('Head Butt');
        variant.skills.setUtilitySkills(['Shattering Blow', 'Banner of Discipline', 'Banner of Strength']);
        //
        build = new ConditionBerserkerBuild('bersDPS', '');
    }
    // power
    {
        build = new BannerWarriorBuild('warBan', '');
        //
        build = new BannerSpellbreakerBuild('spellbrk', '');
        //
        build = new PowerSpellbreakerBuild('spellbrkDPS', '');

        const variant = build.addOverride('Dagger/Axe + Axe/Dagger');
        variant.wep1.setMainHand('Dagger', 'Berserker\'s', 'Superior Sigil of Force');
        variant.wep1.setOffHand('Axe', 'Berserker\'s', 'Superior Sigil of Accuracy');
        variant.wep2.setMainHand('Axe', 'Berserker\'s', 'Superior Sigil of Force');
        variant.wep2.setOffHand('Dagger', 'Berserker\'s', 'Superior Sigil of Accuracy');
    }
}

results matching ""

    No results matching ""