Gefallener Azmeri
Humanoid
stance movement speed +% final [112]
Fallen Azmeri
SpectreN
Tagsbandit, flesh_armour, has_bow, human, humanoid, medium_height, not_int, physical_affinity, puncturing_weapon, ranged, red_blood, very_slow_movement
Leben
108%
Rüstung
+25%
Ausweichen
+10%
Ailment Threshold
108%
Widerstand
0 0 0 0
Damage
144%
Genauigkeit
100%
Kritische Trefferchance
+5%
Multiplikator für kritischen Treffer
+130%
Attack Distance
6 ~ 40
Attack Time
1.995 Second
Damage Spread
±20%
Erfahrung
120%
Model Size
100%
Type
BanditBow
Metadata
StagBandit2Azmeri
Stufe
68
Leben
6,948
Rüstung
35,988
Ausweichen
5,213
Energieschild
0
Damage
538
Zauberschaden
538
Genauigkeit
290
Attack Time
1.995
Erfahrung
12,306
Ailment Threshold
6,948
Chill
22
Shock
22
Brittle
124
Scorch
22
Sap
61
MeleeAtAnimationSpeed
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Standardangriff
Base Damage: 430–645
Kritische Trefferchance: 5%
Attack Time: 1.995 Sek.
Streckt Eure Feinde mit einem mächtigen Schlag nieder.
action attack or cast time uses animation length [1]
projectile uses contact position [1]
skill can fire arrows [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
StagBanditSnipe
Attack, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable, RangedAttack, MirageArcherCanUse, Triggerable
Base Damage: 430–645
Kritische Trefferchance: 5%
Angriffsschaden: 140%
Attack Time: 1.995 Sek.
Abklingzeit: 3.5 Sek.
Projektile durchbohren alle Ziele
Verursacht 40% mehr Angriffsschaden
skill can fire arrows [1]
BanditStagSplitArrow
Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Totemable, Trappable, Mineable, Triggerable
Pfeilfächer
Base Damage: 430–645
Kritische Trefferchance: 5%
Attack Time: 1.995 Sek.
Abklingzeit: 3 Sek.
Schießt mehrere Pfeile auf verschiedene Ziele.
Verursacht 30% mehr Schaden
Feuert 4 zusätzliche Pfeile
30% verringerte Projektilgeschwindigkeit
projectile uses contact position [1]
skill can fire arrows [1]
use scaled contact offset [1]

Object Type

version 2
extends "Metadata/Monsters/Bandits/BanditBow"

Object Type Codes

version 2
extends "Metadata/Monsters/Bandits/BanditBow"

BaseEvents
{
	on_construction_complete = "AddEffectPack( Metadata/Effects/Spells/monsters_effects/act8/WarHero/spectral_fx.epk );"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/Bandits/StagBandit2Azmeri"] = {
    name = "Fallen Azmeri",
    life = 1.08,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 1.44,
    damageSpread = 0.2,
    attackTime = 1.995,
    attackRange = 40,
    accuracy = 1,
    weaponType1 = "Bow",
    skillList = {
        "BanditStagSplitArrow",
        "MeleeAtAnimationSpeed",
        "StagBanditSnipe",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["BanditStagSplitArrow"] = {
    name = "Split Arrow",
    hidden = true,
    color = "2",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fires multiple arrows at different targets.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Totemable] = true,
        [SkillType.Trappable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "number_of_additional_arrows",
        "active_skill_damage_+%_final",
        "base_projectile_speed_+%",
        "skill_can_fire_arrows",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {2, 10, -30, levelRequirement = 1, statInterpolation = {1, 1},  cost = { }, },
        [2] = {3, 20, -30, levelRequirement = 30, statInterpolation = {1, 1},  cost = { }, },
        [3] = {4, 30, -30, levelRequirement = 60, statInterpolation = {1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeed"] = {
    name = "Default Attack",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Strike your foes down with a powerful blow.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["StagBanditSnipe"] = {
    name = "StagBanditSnipe",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Totemable] = true,
        [SkillType.Trappable] = true,
        [SkillType.Mineable] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 2.33,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "always_pierce",
        "skill_can_fire_arrows",
    },
    levels = {
        [1] = {baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
IdNothing
FamilyNothing
DomainsMonster (3)
GenerationTypeEinzigartig (3)
Req. level1
stance movement speed +% final [112]
IdStanceBanditRun
FamilyStance
DomainsMonster (3)
GenerationTypeEinzigartig (3)
Req. level1
Stats
  • stance movement speed +% final Min: 112 Max: 112 Global
  • Craft Tagsspeed
    Gefallener Azmeri
    Humanoid
    stance movement speed +% final [112]
    Fallen Azmeri
    SpectreN
    Tagsbandit, flesh_armour, has_two_hand_sword, has_two_handed_melee, human, humanoid, medium_height, melee, not_dex, not_int, physical_affinity, red_blood, slashing_weapon, very_slow_movement
    Leben
    100%
    Rüstung
    +50%
    Ailment Threshold
    100%
    Widerstand
    0 0 0 0
    Damage
    140%
    Genauigkeit
    100%
    Kritische Trefferchance
    +5%
    Multiplikator für kritischen Treffer
    +130%
    Attack Distance
    6 ~ 13
    Attack Time
    1.35 Second
    Damage Spread
    ±20%
    Erfahrung
    100%
    Model Size
    100%
    Type
    BanditTwoHandedWeapon
    Metadata
    BearBandit2Azmeri_
    Stufe
    68
    Leben
    6,433
    Rüstung
    43,185
    Ausweichen
    4,739
    Energieschild
    0
    Damage
    523
    Zauberschaden
    523
    Genauigkeit
    290
    Attack Time
    1.35
    Erfahrung
    10,255
    Ailment Threshold
    6,433
    Chill
    20
    Shock
    20
    Brittle
    115
    Scorch
    20
    Sap
    56
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Standardangriff
    Base Damage: 418–628
    Kritische Trefferchance: 5%
    Attack Time: 1.35 Sek.
    Streckt Eure Feinde mit einem mächtigen Schlag nieder.
    action attack or cast time uses animation length [1]
    projectile uses contact position [1]
    skill can fire arrows [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    BanditBearHeavyStrike
    Attack, MeleeSingleTarget, Multistrikeable, Melee
    Heftiger Schlag
    Base Damage: 418–628
    Kritische Trefferchance: 5%
    Attack Time: 1.35 Sek.
    Greift Gegner mit einem energischen Hieb an. Erfordert einen Streitkolben, ein Zepter, eine Axt, ein Schwert oder einen Stab.
    Stößt Gegner bei Treffer zurück
    Verursacht 50% mehr Schaden
    30% verringerte gegnerische Betäubungsschwelle
    BanditBearCleave
    Attack, Area, Multistrikeable, Melee, ThresholdJewelArea
    Spalten
    Base Damage: 418–628
    Kritische Trefferchance: 5%
    Attack Time: 1.35 Sek.
    Der Charakter schwingt seine Waffe (oder beide, falls zwei Waffen verwendet werden) bogenförmig in Richtung des Ziels und fügt Monstern vor ihm Schaden zu. Funktioniert nur mit Äxten oder Schwertern.
    Verursacht 60% kombinierten Waffenschaden beim Tragen zweier Waffen
    35% erhöhter physischer Schaden
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [-20]
    skill double hits when dual wielding [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Bandits/Bandit"

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Bandits/Bandit"
    
    BaseEvents
    {
    	on_construction_complete = "AddEffectPack( Metadata/Effects/Spells/monsters_effects/act8/WarHero/spectral_fx.epk );"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Effects/Spells/raise_specter_02/rig.ao"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Bandits/BearBandit2Azmeri_"] = {
        name = "Fallen Azmeri",
        life = 1,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.4,
        damageSpread = 0.2,
        attackTime = 1.35,
        attackRange = 13,
        accuracy = 1,
        weaponType1 = "Two Hand Sword",
        skillList = {
            "BanditBearCleave",
            "MeleeAtAnimationSpeed",
            "BanditBearHeavyStrike",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["BanditBearCleave"] = {
        name = "Cleave",
        hidden = true,
        color = "1",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "The character swings their weapon (or both weapons if dual wielding) in an arc, damaging monsters in an area in front of them. Only works with Axes and Swords.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.Area] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ThresholdJewelArea] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            melee = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_merged_damage_+%_final_while_dual_wielding",
            "physical_damage_+%",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "skill_double_hits_when_dual_wielding",
        },
        levels = {
            [1] = {-40, 35, -20, levelRequirement = 4, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        name = "Default Attack",
        hidden = true,
        color = 4,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Strike your foes down with a powerful blow.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["BanditBearHeavyStrike"] = {
        name = "Heavy Strike",
        hidden = true,
        color = 4,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Attacks enemies with a forceful blow. Requires a Mace, Sceptre, Axe, Sword or Staff.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_stun_threshold_reduction_+%",
            "active_skill_damage_+%_final",
            "global_knockback",
        },
        levels = {
            [1] = {30, 50, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    
    IdNothing
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeEinzigartig (3)
    Req. level1
    stance movement speed +% final [112]
    IdStanceBanditRun
    FamilyStance
    DomainsMonster (3)
    GenerationTypeEinzigartig (3)
    Req. level1
    Stats
  • stance movement speed +% final Min: 112 Max: 112 Global
  • Craft Tagsspeed
    Gefallener Azmeri
    Humanoid
    20% Chance, Angriffsschaden zu blocken
    Ihr erleidet 10% des Schadens von geblockten Treffern
    stance movement speed +% final [112]
    Fallen Azmeri
    SpectreN
    Tagsbandit, fire_affinity, has_one_hand_sword, has_one_handed_melee, human, humanoid, light_armour, medium_height, melee, not_int, not_str, physical_affinity, red_blood, slashing_weapon, very_slow_movement
    Leben
    115%
    Ausweichen
    +20%
    Ailment Threshold
    115%
    Widerstand
    0 0 0 0
    Damage
    140%
    Genauigkeit
    100%
    Kritische Trefferchance
    +5%
    Multiplikator für kritischen Treffer
    +130%
    Attack Distance
    6 ~ 11
    Attack Time
    1.35 Second
    Damage Spread
    ±20%
    Erfahrung
    100%
    Model Size
    100%
    Type
    Bandit
    Metadata
    BoarBandit2Azmeri
    Stufe
    68
    Leben
    7,398
    Rüstung
    28,790
    Ausweichen
    5,687
    Energieschild
    0
    Damage
    523
    Zauberschaden
    523
    Genauigkeit
    290
    Attack Time
    1.35
    Erfahrung
    10,255
    Ailment Threshold
    7,398
    Chill
    23
    Shock
    23
    Brittle
    132
    Scorch
    23
    Sap
    65
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Standardangriff
    Base Damage: 418–628
    Kritische Trefferchance: 5%
    Attack Time: 1.35 Sek.
    Streckt Eure Feinde mit einem mächtigen Schlag nieder.
    action attack or cast time uses animation length [1]
    projectile uses contact position [1]
    skill can fire arrows [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    BoarBanditShieldCharge
    Attack, RequiresShield, Melee, Area, Movement, Travel
    Schildansturm
    Base Damage: 418–628
    Kritische Trefferchance: 5%
    Attack Time: 1.35 Sek.
    Abklingzeit: 3 Sek.
    Stürmt auf ein Ziel oder einen Gegner zu, schiebt diese entlang Eures Pfads zur Seite und verursacht Schaden in einem kleinen Bereich vor Euch. Ihr fügt in einem größeren Bereich Schaden zu, wenn Ihr das Ziel erreicht. Je weiter der Weg, desto größer der Schaden und die Chance, Gegner zu betäuben.
    20% erhöhte Angriffsgeschwindigkeit
    50% erhöhte Minderung der gegnerischen Betäubungsschwelle bei maximaler Schildansturm-Distanz
    65% mehr Schaden mit Treffern bei maximaler Schildansturm-Distanz
    100% erhöhte Bewegungsgeschwindigkeit
    Verursacht 15% Eures physischen Schadens als extra Feuerschaden
    ignores proximity shield [1]
    shield charge extra distance [10]
    EASBanditTaunt
    Spell
    Zauberzeit: 1.1 Sek.
    Abklingzeit: 6 Sek.
    disable skill repeats [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Bandits/Bandit"

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Bandits/Bandit"
    
    BaseEvents
    {
    	on_construction_complete = "AddEffectPack( Metadata/Effects/Spells/monsters_effects/act8/WarHero/spectral_fx.epk );"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Effects/Spells/raise_specter_02/rig.ao"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Bandits/BoarBandit2Azmeri"] = {
        name = "Fallen Azmeri",
        life = 1.15,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1.4,
        damageSpread = 0.2,
        attackTime = 1.35,
        attackRange = 11,
        accuracy = 1,
        weaponType1 = "One Hand Sword",
        weaponType2 = "Shield",
        skillList = {
            "BoarBanditShieldCharge",
            "MeleeAtAnimationSpeed",
            "EASBanditTaunt",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["BoarBanditShieldCharge"] = {
        name = "Shield Charge",
        hidden = true,
        color = 4,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Charges at a targeted location or enemy, pushing away enemies in your path and repeatedly dealing damage in a small area in front of you. You deal damage in a larger area when you reach the target. The further you travel, the more damage you deal, and the greater your chance of stunning enemies.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RequiresShield] = true,
            [SkillType.Melee] = true,
            [SkillType.Area] = true,
            [SkillType.Movement] = true,
            [SkillType.Travel] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            melee = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "shield_charge_damage_+%_maximum",
            "attack_speed_+%",
            "physical_damage_%_to_add_as_fire",
            "shield_charge_scaling_stun_threshold_reduction_+%_at_maximum_range",
            "base_movement_velocity_+%",
            "shield_charge_extra_distance",
            "ignores_proximity_shield",
        },
        levels = {
            [1] = {75, 10, 0, 50, 100, 10, levelRequirement = 4, statInterpolation = {1, 1, 1},  cost = { }, },
            [2] = {65, 10, 0, 50, 100, 10, levelRequirement = 20, statInterpolation = {1, 1, 1},  cost = { }, },
            [3] = {65, 15, 15, 50, 100, 10, levelRequirement = 40, statInterpolation = {1, 1, 1},  cost = { }, },
            [4] = {65, 20, 15, 50, 100, 10, levelRequirement = 60, statInterpolation = {1, 1, 1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        name = "Default Attack",
        hidden = true,
        color = 4,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Strike your foes down with a powerful blow.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASBanditTaunt"] = {
        name = "EASBanditTaunt",
        hidden = true,
        color = 4,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.1,
        baseFlags = {
            spell = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "disable_skill_repeats",
        },
        levels = {
            [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    
    20% Chance, Angriffsschaden zu blocken
    Ihr erleidet 10% des Schadens von geblockten Treffern
    IdMonsterAttackBlock20Bypass20
    FamilyMonsterBlockAndBypass
    DomainsMonster (3)
    GenerationTypeEinzigartig (3)
    Req. level1
    Stats
  • monster base block % Min: 20 Max: 20 Global
  • base block % damage taken Min: 10 Max: 10 Global
  • Craft Tagsblock
    IdNothing
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeEinzigartig (3)
    Req. level1
    stance movement speed +% final [112]
    IdStanceBanditRun
    FamilyStance
    DomainsMonster (3)
    GenerationTypeEinzigartig (3)
    Req. level1
    Stats
  • stance movement speed +% final Min: 112 Max: 112 Global
  • Craft Tagsspeed
    Edit

    Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.