File

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

Description

Condition Engineer build

Extends

EngiBuild

Index

Properties
Methods

Constructor

constructor(id: , name: )

Create a Condition Engineer 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 EngiBuild
Defined in EngiBuild:251

Armor data

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

Consumable data

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

Icon path

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

Id of the build

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

Name of the build

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

Overrides

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

Profession

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

Profession skills data, can be set to null

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

Skills data

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

Specialization data

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

Trinket data

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

Primary weapon set data

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

Second weapon set data, can be set to null

Methods

addOverride
addOverride(name: string, open: boolean)
Inherited from EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild:436

Get the icon path

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

Get the overrides of the build

Returns : string[]

Array of the name of the overrides

getPets
getPets(override: string)
Inherited from EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild: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 EngiBuild
Defined in EngiBuild: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 Engineer build
 */
class EngiBuild extends ProfBuild {
    /**
     * Create a standard Engineer build
     * @param id Id of the build
     * @param name Name of the build
     */
    constructor(id, name) {
        super(id, Professions.Engineer, name);
        this.wep2 = null;
    }
}

/**
 * Condition Engineer build
 */
class CondiEngiBuild extends EngiBuild {
    /**
     * Create a Condition Engineer build
     * @param id Id of the build
     * @param name Name of the build
     */
    constructor(id, name) {
        super(id, 'Engineer - Condition' + name);
        this.icon += 'engineer.png';
        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('Pistol', 'Viper\'s', 'Superior Sigil of Geomancy');
        this.wep1.setOffHand('Pistol', 'Viper\'s', 'Superior Sigil of Malice');
        this.specialization.setSpec('spec1', 'Explosives', ['Glass Cannon', 'Big Boomer', 'Shrapnel']);
        this.specialization.setSpec('spec2', 'Firearms', [
            'Chemical Rounds',
            'Pinpoint Distribution',
            'Incendiary Powder'
        ]);
        this.specialization.setSpec('spec3', 'Tools', ['Static Discharge', 'Streamlined Kits', 'Kinetic Battery']);
        this.skills.setHealSkill('Healing Turret');
        this.skills.setUtilitySkills(['Bomb Kit', 'Grenade Kit', 'Flamethrower']);
        this.skills.setEliteSkill('Elite Mortar Kit');
    }
}

/**
 * Power Holosmith build
 */
class PowerHolosmithBuild extends EngiBuild {
    /**
     * Create a Power Holosmith build
     * @param id Id of the build
     * @param name Name of the build
     */
    constructor(id, name) {
        super(id, 'Holosmith - Power' + name);
        this.icon += 'holosmith.png';
        this.armor.setSingleStat('Berserker\'s');
        this.armor.setSingleRune('Superior Rune of the Scholar');
        this.consumable.setConsumable('Bowl of Sweet and Spicy Butternut Squash Soup', 'Superior Sharpening Stone');
        this.trinket.setSingleStat('Berserker\'s');
        this.wep1.setTwoHand('Rifle', 'Berserker\'s', 'Superior Sigil of Force', 'Superior Sigil of Air');
        this.specialization.setSpec('spec1', 'Explosives', ['Glass Cannon', 'Big Boomer', 'Shrapnel']);
        this.specialization.setSpec('spec2', 'Firearms', [
            'High Caliber',
            'Pinpoint Distribution',
            'Modified Ammunition'
        ]);
        this.specialization.setSpec('spec3', 'Holosmith', [
            'Solar Focusing Lens',
            'Crystal Configuration: Eclipse',
            'Photonic Blasting Module'
        ]);
        this.skills.setHealSkill('');
        this.skills.setUtilitySkills(['Bomb Kit', 'Grenade Kit', 'Laser Disk']);
        this.skills.setEliteSkill('Prime Light Beam');
    }
}

/**
 * Add engineer builds to the database
 */
export function engiBuildMaker() {
    let build: ProfBuild = null;
    // Condi
    {
        build = new CondiEngiBuild('engiCondi', '');
        // Variants
        let variant = build.addOverride('Mobility');
        variant.skills.setHealSkill('Healing Turret');
        variant.skills.setUtilitySkills(['Bomb Kit', 'Grenade Kit', 'Rocket Boots']);
        variant.skills.setEliteSkill('Elite Mortar Kit');

        variant = build.addOverride('CC');
        variant.skills.setHealSkill('A.E.D.');
        variant.skills.setUtilitySkills(['Bomb Kit', 'Grenade Kit', 'Flamethrower']);
        variant.skills.setEliteSkill('Elite Mortar Kit');
    }

    // Power
    {
        build = new PowerHolosmithBuild('holoPower', '');
        // Variants
        let variant = build.addOverride('Orbital');
        variant.specialization.setSpec('spec1', 'Explosives', ['Glass Cannon', 'Big Boomer', 'Orbital Command']);
        variant.specialization.setSpec('spec2', 'Firearms', [
            'High Caliber',
            'Pinpoint Distribution',
            'Modified Ammunition'
        ]);
        variant.specialization.setSpec('spec3', 'Holosmith', [
            'Solar Focusing Lens',
            'Crystal Configuration: Eclipse',
            'Photonic Blasting Module'
        ]);
        //
        variant = build.addOverride('Thermal');
        variant.specialization.setSpec('spec1', 'Explosives', ['Glass Cannon', 'Big Boomer', 'Shrapnel']);
        variant.specialization.setSpec('spec2', 'Firearms', [
            'High Caliber',
            'Thermal Vision',
            'Modified Ammunition'
        ]);
        variant.specialization.setSpec('spec3', 'Holosmith', [
            'Solar Focusing Lens',
            'Crystal Configuration: Eclipse',
            'Photonic Blasting Module'
        ]);
        //
        variant = build.addOverride('Thermal/Orbital');
        variant.specialization.setSpec('spec1', 'Explosives', ['Glass Cannon', 'Big Boomer', 'Orbital Command']);
        variant.specialization.setSpec('spec2', 'Firearms', [
            'High Caliber',
            'Thermal Vision',
            'Modified Ammunition'
        ]);
        variant.specialization.setSpec('spec3', 'Holosmith', [
            'Solar Focusing Lens',
            'Crystal Configuration: Eclipse',
            'Photonic Blasting Module'
        ]);
        //
        variant = build.addOverride('Sword');
        variant.skills.setHealSkill('A.E.D.');
        variant.skills.setUtilitySkills(['Rifle Turret', 'Grenade Kit', 'Laser Disk']);
        variant.skills.setEliteSkill('Prime Light Beam');
        variant.wep1.setMainHand('Sword', 'Berserker\'s', 'Superior Sigil of Force');
        variant.wep1.setOffHand('Pistol', 'Berserker\'s', 'Superior Sigil of Air');
        //
        variant = build.addOverride('CC', false);
        variant.skills.setHealSkill('A.E.D.');
        variant.skills.setUtilitySkills(['Bomb Kit', 'Grenade Kit', 'Laser Disk']);
        variant.skills.setEliteSkill('Prime Light Beam');
    }
}

results matching ""

    No results matching ""