SpectreY
AreaСклеп — уровень 2, Лаборатория вечных, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Карта подземелья, Карта гробницы, Святилище Ольмека, Проклятый клад Обы
Tagsanimal_claw_weapon, cursing_monster, demon, flesh_armour, humanoid, insect_blood, is_unarmed, medium_height, melee, not_dex, not_str, physical_affinity, raises_dead, very_slow_movement
Packs
  • Склеп — уровень 2: Осквернитель, Хранитель склепа
  • Склеп — уровень 2: Осквернитель, Огненный капеллан
  • Склеп — уровень 2: Осквернитель, Морозный капеллан, Морозный проповедник
  • Лаборатория вечных: Осквернитель, Истлевший вор, Хранитель склепа
  • WorldAreas#820, WorldAreas#887, WorldAreas#980, Святилище Ольмека: Осквернитель, Огненный защитник
  • WorldAreas#820, WorldAreas#887, WorldAreas#980, Святилище Ольмека: Осквернитель, Костяной надзиратель
  • WorldAreas#809: Осквернитель, Истлевший поджигатель, Морозный защитник, Костяной надзиратель
  • WorldAreas#889, WorldAreas#1024, Проклятый клад Обы: Осквернитель, Истлевший поджигатель, Морозный защитник, Костяной надзиратель
  • Осквернитель, Истлевший вор, Хранитель склепа
  • Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Фрагмент воспоминаний, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти, Пустота памяти: Осквернитель, Истлевший вор, Хранитель склепа
  • Здоровье
    240%
    Energy Shield From Life
    100%
    Ailment Threshold
    240%
    Сопротивление
    0 0 75 0
    Damage
    135%
    Точность
    100%
    Шанс критического удара
    +5%
    Множитель критического удара
    +130%
    Attack Distance
    4 ~ 12
    Attack Time
    1.17 Second
    Damage Spread
    ±20%
    Опыт
    150%
    Model Size
    100%
    Type
    Necromancer
    Metadata
    NecromancerElementalWeakness
    Уровень
    83
    Здоровье
    76,840
    Броня
    92,477
    Уклонение
    7,860
    Энергетический щит
    15,319
    Damage
    1,216
    Урон от чар
    1,216
    Точность
    518
    Attack Time
    1.17
    Опыт
    19,698
    Ailment Threshold
    76,840
    Chill
    243
    Shock
    243
    Brittle
    1,375
    Scorch
    243
    Sap
    671
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Атака
    Base Damage: 972–1459
    Шанс критического удара: 5%
    Attack Time: 1.17 сек.
    Герой наносит обычный удар.
    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]
    NecromancerReviveSkeleton
    Spell
    Время применения: 1.1 сек.
    NecromancerElementalWeakness
    Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, CanRapidFire, AreaSpell, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Hex
    Уязвимость к стихиям
    Время применения: 1.1 сек.
    Перезарядка: 10 сек.
    Герой проклинает всех врагов в области, снижая их сопротивления стихиям.
    Базовая длительность - 6 секунд(-ы)
    Проклятые враги имеют -40% к сопротивлению всем стихиям
    active skill area of effect radius +% final [42]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Stats
    {
    	mana_regeneration_rate_per_minute_% = 180
    	hexes_not_tracked = 1
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Life
    {
    	on_death = "RemoveEffects( );"
    	on_spawned_dead = "RemoveEffects( );"
    }
    
    Render
    {
         //turn_duration = 0.4
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Necromancer/NecromancerElementalWeakness"] = {
        name = "Defiler",
        life = 2.4,
        energyShield = 1,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 75,
        chaosResist = 0,
        damage = 1.35,
        damageSpread = 0.2,
        attackTime = 1.17,
        attackRange = 12,
        accuracy = 1,
        skillList = {
            "MeleeAtAnimationSpeed",
            "NecromancerElementalWeakness",
            "NecromancerReviveSkeleton",
        },
        modList = {
        },
    }
    -- 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["NecromancerElementalWeakness"] = {
        name = "Elemental Weakness",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Curses all targets in an area, lowering their elemental resistances.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Cascadable] = true,
            [SkillType.AppliesCurse] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Hex] = true,
        },
        statDescriptionScope = "curse_skill_stat_descriptions",
        castTime = 1.1,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_resist_all_elements_%",
            "base_skill_effect_duration",
            "active_skill_area_of_effect_radius_+%_final",
        },
        levels = {
            [1] = {-20, 6000, 42, levelRequirement = 10, statInterpolation = {1},  cost = { }, },
            [2] = {-25, 6000, 42, levelRequirement = 40, statInterpolation = {1},  cost = { }, },
            [3] = {-30, 6000, 42, levelRequirement = 56, statInterpolation = {1},  cost = { }, },
            [4] = {-40, 6000, 42, levelRequirement = 71, statInterpolation = {1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["NecromancerReviveSkeleton"] = {
        name = "NecromancerReviveSkeleton",
        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 = {
        },
        levels = {
            [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    
    monster raises undead text [1]
    IdMonsterRaisesUndeadText
    FamilyMonsterRaisesUndeadText
    Domainsмонстр (3)
    GenerationTypeУникальный (3)
    Req. level1
    Stats
  • monster raises undead text Min: 1 Max: 1 Global
  • Осквернитель
    Демон
    monster raises undead text [1]
    Defiler
    SpectreY
    Tagsanimal_claw_weapon, cursing_monster, demon, flesh_armour, humanoid, insect_blood, is_unarmed, melee, not_dex, not_str, physical_affinity, raises_dead, very_slow_movement
    Здоровье
    240%
    Energy Shield From Life
    100%
    Ailment Threshold
    240%
    Сопротивление
    0 0 75 0
    Damage
    135%
    Точность
    100%
    Шанс критического удара
    +5%
    Множитель критического удара
    +130%
    Attack Distance
    4 ~ 12
    Attack Time
    1.17 Second
    Damage Spread
    ±20%
    Опыт
    150%
    Model Size
    100%
    Type
    Necromancer
    Metadata
    NecromancerElementalWeaknessHellscape
    Уровень
    68
    Здоровье
    15,440
    Броня
    28,790
    Уклонение
    4,739
    Энергетический щит
    6,127
    Damage
    504
    Урон от чар
    504
    Точность
    290
    Attack Time
    1.17
    Опыт
    15,383
    Ailment Threshold
    15,440
    Chill
    49
    Shock
    49
    Brittle
    276
    Scorch
    49
    Sap
    135
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Атака
    Base Damage: 403–605
    Шанс критического удара: 5%
    Attack Time: 1.17 сек.
    Герой наносит обычный удар.
    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]
    NecromancerReviveSkeleton
    Spell
    Время применения: 1.1 сек.
    NecromancerElementalWeakness
    Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, CanRapidFire, AreaSpell, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Hex
    Уязвимость к стихиям
    Время применения: 1.1 сек.
    Перезарядка: 10 сек.
    Герой проклинает всех врагов в области, снижая их сопротивления стихиям.
    Базовая длительность - 6 секунд(-ы)
    Проклятые враги имеют -30% к сопротивлению всем стихиям
    active skill area of effect radius +% final [42]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Stats
    {
    	mana_regeneration_rate_per_minute_% = 180
    	hexes_not_tracked = 1
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Life
    {
    	on_death = "RemoveEffects( );"
    	on_spawned_dead = "RemoveEffects( );"
    }
    
    Render
    {
         //turn_duration = 0.4
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Necromancer/NecromancerElementalWeaknessHellscape"] = {
        name = "Defiler",
        life = 2.4,
        energyShield = 1,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 75,
        chaosResist = 0,
        damage = 1.35,
        damageSpread = 0.2,
        attackTime = 1.17,
        attackRange = 12,
        accuracy = 1,
        skillList = {
            "MeleeAtAnimationSpeed",
            "NecromancerElementalWeakness",
            "NecromancerReviveSkeleton",
        },
        modList = {
        },
    }
    -- 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["NecromancerElementalWeakness"] = {
        name = "Elemental Weakness",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Curses all targets in an area, lowering their elemental resistances.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Cascadable] = true,
            [SkillType.AppliesCurse] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Hex] = true,
        },
        statDescriptionScope = "curse_skill_stat_descriptions",
        castTime = 1.1,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_resist_all_elements_%",
            "base_skill_effect_duration",
            "active_skill_area_of_effect_radius_+%_final",
        },
        levels = {
            [1] = {-20, 6000, 42, levelRequirement = 10, statInterpolation = {1},  cost = { }, },
            [2] = {-25, 6000, 42, levelRequirement = 40, statInterpolation = {1},  cost = { }, },
            [3] = {-30, 6000, 42, levelRequirement = 56, statInterpolation = {1},  cost = { }, },
            [4] = {-40, 6000, 42, levelRequirement = 71, statInterpolation = {1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["NecromancerReviveSkeleton"] = {
        name = "NecromancerReviveSkeleton",
        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 = {
        },
        levels = {
            [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    
    monster raises undead text [1]
    IdMonsterRaisesUndeadText
    FamilyMonsterRaisesUndeadText
    Domainsмонстр (3)
    GenerationTypeУникальный (3)
    Req. level1
    Stats
  • monster raises undead text Min: 1 Max: 1 Global
  • Осквернитель
    Демон
    monster raises undead text [1]
    Defiler
    SpectreY
    Tagsanimal_claw_weapon, cursing_monster, demon, flesh_armour, humanoid, insect_blood, is_unarmed, medium_height, melee, not_dex, not_str, physical_affinity, raises_dead, very_slow_movement
    Здоровье
    240%
    Energy Shield From Life
    100%
    Ailment Threshold
    240%
    Сопротивление
    0 0 75 0
    Damage
    135%
    Точность
    100%
    Шанс критического удара
    +5%
    Множитель критического удара
    +130%
    Attack Distance
    4 ~ 12
    Attack Time
    1.17 Second
    Damage Spread
    ±20%
    Опыт
    150%
    Model Size
    100%
    Type
    Necromancer
    Metadata
    NecromancerElementalWeakness2
    Уровень
    68
    Здоровье
    15,440
    Броня
    28,790
    Уклонение
    4,739
    Энергетический щит
    6,127
    Damage
    504
    Урон от чар
    504
    Точность
    290
    Attack Time
    1.17
    Опыт
    15,383
    Ailment Threshold
    15,440
    Chill
    49
    Shock
    49
    Brittle
    276
    Scorch
    49
    Sap
    135
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Атака
    Base Damage: 403–605
    Шанс критического удара: 5%
    Attack Time: 1.17 сек.
    Герой наносит обычный удар.
    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]
    NecromancerReviveSkeleton
    Spell
    Время применения: 1.1 сек.
    NecromancerElementalWeakness
    Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, CanRapidFire, AreaSpell, InstantNoRepeatWhenHeld, InstantShiftAttackForLeftMouse, Hex
    Уязвимость к стихиям
    Время применения: 1.1 сек.
    Перезарядка: 10 сек.
    Герой проклинает всех врагов в области, снижая их сопротивления стихиям.
    Базовая длительность - 6 секунд(-ы)
    Проклятые враги имеют -30% к сопротивлению всем стихиям
    active skill area of effect radius +% final [42]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Stats
    {
    	mana_regeneration_rate_per_minute_% = 180
    	hexes_not_tracked = 1
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Life
    {
    	on_death = "RemoveEffects( );"
    	on_spawned_dead = "RemoveEffects( );"
    }
    
    Render
    {
         //turn_duration = 0.4
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Necromancer/NecromancerElementalWeakness2"] = {
        name = "Defiler",
        life = 2.4,
        energyShield = 1,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 75,
        chaosResist = 0,
        damage = 1.35,
        damageSpread = 0.2,
        attackTime = 1.17,
        attackRange = 12,
        accuracy = 1,
        skillList = {
            "MeleeAtAnimationSpeed",
            "NecromancerElementalWeakness",
            "NecromancerReviveSkeleton",
        },
        modList = {
        },
    }
    -- 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["NecromancerElementalWeakness"] = {
        name = "Elemental Weakness",
        hidden = true,
        color = "3",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Curses all targets in an area, lowering their elemental resistances.",
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Duration] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Cascadable] = true,
            [SkillType.AppliesCurse] = true,
            [SkillType.CanRapidFire] = true,
            [SkillType.AreaSpell] = true,
            [SkillType.InstantNoRepeatWhenHeld] = true,
            [SkillType.InstantShiftAttackForLeftMouse] = true,
            [SkillType.Hex] = true,
        },
        statDescriptionScope = "curse_skill_stat_descriptions",
        castTime = 1.1,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_resist_all_elements_%",
            "base_skill_effect_duration",
            "active_skill_area_of_effect_radius_+%_final",
        },
        levels = {
            [1] = {-20, 6000, 42, levelRequirement = 10, statInterpolation = {1},  cost = { }, },
            [2] = {-25, 6000, 42, levelRequirement = 40, statInterpolation = {1},  cost = { }, },
            [3] = {-30, 6000, 42, levelRequirement = 56, statInterpolation = {1},  cost = { }, },
            [4] = {-40, 6000, 42, levelRequirement = 71, statInterpolation = {1},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["NecromancerReviveSkeleton"] = {
        name = "NecromancerReviveSkeleton",
        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 = {
        },
        levels = {
            [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    
    monster raises undead text [1]
    IdMonsterRaisesUndeadText
    FamilyMonsterRaisesUndeadText
    Domainsмонстр (3)
    GenerationTypeУникальный (3)
    Req. level1
    Stats
  • monster raises undead text Min: 1 Max: 1 Global
  • Edit

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