Забытый олень
Демон
Forgotten Stag
SpectreY
Tagsbeast, Beast_onhit_audio, demon, fast_movement, not_dex, not_int, red_blood, skeleton
Здоровье
225%
Сопротивление
0 0 0 0
Damage
225%
Меткость
100%
Attack Distance
5 ~ 18
Время атаки
1.5 Second
Damage Spread
±20%
Опыт
225%
Model Size
125%
Type
FallenStag
Metadata
FallenStag
Уровень
68
Здоровье
17,453
Damage
525
Урон от чар
525
Меткость
2,464
Время атаки
1.5
Опыт
64,427
Minion Life
15,593
Minion Damage
2,180
Minion Armour
6,756
MeleeAtAnimationSpeed
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Обычная атака
Base Damage: 420–629
Время атаки: 1.5 сек.
action attack or cast time uses animation length [1]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
TCFallenStag
Attack, Melee, MeleeSingleTarget, Movement, Travel
Table Charge
Base Damage: 420–629
Урон от атаки: 55%
Время атаки: 1.5 сек.
Герой устремляется на врага, одновременно ударяя его щитом. Атака оглушает и отбрасывает врага. Стоявшие на пути противники отталкиваются в сторону. Урон и длительность оглушения зависят от пройденного расстояния. Нельзя усилить Градом ударов.
Наносит на 45% меньше урона атаками
action attack or cast time uses animation length [1]
ignores proximity shield [1]
is area damage [1]
skill cannot be interrupted [1]
skill cannot be knocked back [1]
skill cannot be stunned [1]
GAFallenGodStagChargeImpact
Triggerable, Attack
Base Damage: 420–629
Урон от атаки: 90%
Время атаки: 1.5 сек.
Наносит на 10% меньше урона атаками
GAFallenStagTentacles
Triggerable, Attack
Base Damage: 420–629
Время атаки: 1.5 сек.
action attack or cast time uses animation length [1]
attack maximum action distance + [15]
corrupted blood on hit % average damage to deal per minute per stack [50]
corrupted blood on hit duration [4000]
is area damage [1]

Object Type

version 2
extends "Metadata/Monsters/Monster"

Stats
{
	set_base_heavy_stun_duration_ms = 2500
}

Transitionable
{
	
}

Object Type Codes

version 2
extends "Metadata/Monsters/Monster"

Transitionable
{

	on_transition =
	"
		Roll( 1, 2, { PlayEffect( 'Metadata/Monsters/FallenGods/FallenGodsE1AggroAudio.ao' ); } );
	"
}

Animated
{

	preload_animated_object = "Metadata/Monsters/FallenGods/FallenGodsE1AggroAudio.ao"

}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/FallenGods/FallenStag"] = {
    name = "Forgotten Stag",
    life = 2.25,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 2.25,
    damageSpread = 0.2,
    attackTime = 1.5,
    attackRange = 18,
    accuracy = 1,
    skillList = {
        "MeleeAtAnimationSpeed",
        "TCFallenStag",
        "GAFallenGodStagChargeImpact",
        "GAFallenStagTentacles",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeed"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = 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["TCFallenStag"] = {
    name = "Table Charge",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Charges at an enemy, bashing it with the character's shield and striking it. This knocks it back and stuns it. Enemies in the way are pushed to the side. Damage and stun are proportional to distance travelled. Cannot be supported by Multistrike.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Melee] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Movement] = true,
        [SkillType.Travel] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "ignores_proximity_shield",
        "is_area_damage",
        "skill_cannot_be_interrupted",
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {baseMultiplier = 0.55, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAFallenGodStagChargeImpact"] = {
    name = "GAFallenGodStagChargeImpact",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAFallenStagTentacles"] = {
    name = "GAFallenStagTentacles",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "corrupted_blood_on_hit_%_average_damage_to_deal_per_minute_per_stack",
        "corrupted_blood_on_hit_duration",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {15, 50, 4000, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
Забытый олень
Демон
Forgotten Stag
SpectreY
Tagsbeast, Beast_onhit_audio, demon, fast_movement, not_dex, not_int, red_blood, skeleton
Packs
  • Забытый олень
  • Здоровье
    225%
    Сопротивление
    0 0 0 0
    Damage
    225%
    Меткость
    100%
    Attack Distance
    5 ~ 18
    Время атаки
    1.5 Second
    Damage Spread
    ±20%
    Опыт
    225%
    Model Size
    125%
    Type
    FallenStagRitual
    Metadata
    DruidicFallenStag
    Уровень
    68
    Здоровье
    17,453
    Damage
    525
    Урон от чар
    525
    Меткость
    2,464
    Время атаки
    1.5
    Опыт
    64,427
    Minion Life
    15,593
    Minion Damage
    2,180
    Minion Armour
    6,756
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    Обычная атака
    Base Damage: 420–629
    Время атаки: 1.5 сек.
    action attack or cast time uses animation length [1]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    TCFallenStag
    Attack, Melee, MeleeSingleTarget, Movement, Travel
    Table Charge
    Base Damage: 420–629
    Урон от атаки: 55%
    Время атаки: 1.5 сек.
    Герой устремляется на врага, одновременно ударяя его щитом. Атака оглушает и отбрасывает врага. Стоявшие на пути противники отталкиваются в сторону. Урон и длительность оглушения зависят от пройденного расстояния. Нельзя усилить Градом ударов.
    Наносит на 45% меньше урона атаками
    action attack or cast time uses animation length [1]
    ignores proximity shield [1]
    is area damage [1]
    skill cannot be interrupted [1]
    skill cannot be knocked back [1]
    skill cannot be stunned [1]
    GAFallenGodStagChargeImpact
    Triggerable, Attack
    Base Damage: 420–629
    Урон от атаки: 90%
    Время атаки: 1.5 сек.
    Наносит на 10% меньше урона атаками
    GARitualStagTentacles
    Triggerable, Attack
    Base Damage: 420–629
    Время атаки: 1.5 сек.
    50% шанс отравить при нанесении удара
    action attack or cast time uses animation length [1]
    attack maximum action distance + [15]
    is area damage [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2500
    }
    
    Transitionable
    {
    	
    }
    

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/FallenGods/FallenGodsE1AggroAudio.ao' );
    		} );
    	"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Monsters/FallenGods/FallenGodsE1AggroAudio.ao"
    }
    
    Transitionable
    {
    	on_transition = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/League_Azmeri/monsters/FallenStag/epk/eyeglow.epk' );"
    }
    
    Life
    {
    	on_death =
    	"
    		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/League_Azmeri/monsters/FallenStag/epk/eyeglow.epk' );
    		AddEffectPack( 'Metadata/Effects/Utility/EPKs/EmissiveChannel_FadeOut.epk' );
    	"
    	on_spawned_dead = { AddEffectPack( 'Metadata/Effects/Utility/EPKs/EmissiveChannel_OFF.epk' ); }
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/LeagueRitual/DryadFaction/DruidicFallenStag"] = {
        name = "Forgotten Stag",
        life = 2.25,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 2.25,
        damageSpread = 0.2,
        attackTime = 1.5,
        attackRange = 18,
        accuracy = 1,
        skillList = {
            "MeleeAtAnimationSpeed",
            "TCFallenStag",
            "GAFallenGodStagChargeImpact",
            "GARitualStagTentacles",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = 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["TCFallenStag"] = {
        name = "Table Charge",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Charges at an enemy, bashing it with the character's shield and striking it. This knocks it back and stuns it. Enemies in the way are pushed to the side. Damage and stun are proportional to distance travelled. Cannot be supported by Multistrike.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.Melee] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Movement] = true,
            [SkillType.Travel] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "ignores_proximity_shield",
            "is_area_damage",
            "skill_cannot_be_interrupted",
            "skill_cannot_be_stunned",
            "skill_cannot_be_knocked_back",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {baseMultiplier = 0.55, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAFallenGodStagChargeImpact"] = {
        name = "GAFallenGodStagChargeImpact",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GARitualStagTentacles"] = {
        name = "GARitualStagTentacles",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "base_chance_to_poison_on_hit_%",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {15, 50, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    
    Забытый олень
    Forgotten Stag
    SpectreY
    AreaЧернолесье, Диколесье Вириди
    Tagsbeast, Beast_onhit_audio, demon, fast_movement, not_dex, not_int, red_blood, skeleton
    Packs
  • Диколесье Вириди, Чернолесье: Древесный грибной разоритель, Забытый олень, Гнойное древесное отродье
  • Диколесье Вириди, Чернолесье: Древесный грибной разоритель, Забытый олень, Гнойное древесное отродье, Крючковатый древень
  • Диколесье Вириди, Чернолесье: Древесный грибной разоритель, Забытый олень, Гнойное древесное отродье, Спригган, Древень-мудрец, Древень-мистик
  • Забытый олень
  • Здоровье
    225%
    Сопротивление
    0 0 0 0
    Damage
    225%
    Меткость
    100%
    Attack Distance
    5 ~ 18
    Время атаки
    1.5 Second
    Damage Spread
    ±20%
    Опыт
    225%
    Model Size
    125%
    Type
    FallenStagRitual
    Metadata
    DruidicFallenStagWILDWOOD
    Уровень
    65
    Здоровье
    14,654
    Damage
    478
    Урон от чар
    478
    Меткость
    2,214
    Время атаки
    1.5
    Опыт
    48,391
    Minion Life
    14,135
    Minion Damage
    1,865
    Minion Armour
    5,664
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    Обычная атака
    Base Damage: 382–573
    Время атаки: 1.5 сек.
    action attack or cast time uses animation length [1]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    TCFallenStag
    Attack, Melee, MeleeSingleTarget, Movement, Travel
    Table Charge
    Base Damage: 382–573
    Урон от атаки: 55%
    Время атаки: 1.5 сек.
    Герой устремляется на врага, одновременно ударяя его щитом. Атака оглушает и отбрасывает врага. Стоявшие на пути противники отталкиваются в сторону. Урон и длительность оглушения зависят от пройденного расстояния. Нельзя усилить Градом ударов.
    Наносит на 45% меньше урона атаками
    action attack or cast time uses animation length [1]
    ignores proximity shield [1]
    is area damage [1]
    skill cannot be interrupted [1]
    skill cannot be knocked back [1]
    skill cannot be stunned [1]
    GAFallenGodStagChargeImpact
    Triggerable, Attack
    Base Damage: 382–573
    Урон от атаки: 90%
    Время атаки: 1.5 сек.
    Наносит на 10% меньше урона атаками
    GARitualStagTentacles
    Triggerable, Attack
    Base Damage: 382–573
    Время атаки: 1.5 сек.
    50% шанс отравить при нанесении удара
    action attack or cast time uses animation length [1]
    attack maximum action distance + [15]
    is area damage [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 2500
    }
    
    Transitionable
    {
    	
    }
    

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/FallenGods/FallenGodsE1AggroAudio.ao' );
    		} );
    	"
    }
    
    Animated
    {
    	preload_animated_object = "Metadata/Monsters/FallenGods/FallenGodsE1AggroAudio.ao"
    }
    
    Transitionable
    {
    	on_transition = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/League_Azmeri/monsters/FallenStag/epk/eyeglow.epk' );"
    }
    
    Life
    {
    	on_death =
    	"
    		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/League_Azmeri/monsters/FallenStag/epk/eyeglow.epk' );
    		AddEffectPack( 'Metadata/Effects/Utility/EPKs/EmissiveChannel_FadeOut.epk' );
    	"
    	on_spawned_dead = { AddEffectPack( 'Metadata/Effects/Utility/EPKs/EmissiveChannel_OFF.epk' ); }
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/LeagueRitual/DryadFaction/DruidicFallenStagWILDWOOD"] = {
        name = "Forgotten Stag",
        life = 2.25,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 2.25,
        damageSpread = 0.2,
        attackTime = 1.5,
        attackRange = 18,
        accuracy = 1,
        skillList = {
            "MeleeAtAnimationSpeed",
            "TCFallenStag",
            "GAFallenGodStagChargeImpact",
            "GARitualStagTentacles",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        name = "Basic Attack",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = 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["TCFallenStag"] = {
        name = "Table Charge",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Charges at an enemy, bashing it with the character's shield and striking it. This knocks it back and stuns it. Enemies in the way are pushed to the side. Damage and stun are proportional to distance travelled. Cannot be supported by Multistrike.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.Melee] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Movement] = true,
            [SkillType.Travel] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "ignores_proximity_shield",
            "is_area_damage",
            "skill_cannot_be_interrupted",
            "skill_cannot_be_stunned",
            "skill_cannot_be_knocked_back",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {baseMultiplier = 0.55, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAFallenGodStagChargeImpact"] = {
        name = "GAFallenGodStagChargeImpact",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GARitualStagTentacles"] = {
        name = "GARitualStagTentacles",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "base_chance_to_poison_on_hit_%",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {15, 50, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    
    Edit

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