เทเรียน สัตว์ร้ายแห่งถ้ำ
ปีศาจ
เพิ่มจำนวนของ ไอเทม ที่ดรอป 1500%
เพิ่มระดับความหายากของ ไอเทม ที่ดรอป 2000%
มอนสเตอร์ ให้ค่าประสบการณ์ เพิ่มขึ้น 100%
cannot be stunned for ms after stun finished [2000]
cannot be stunned while stunned [1]
main hand base maximum attack distance [6]
off hand base maximum attack distance [6]
stance movement speed +% final [50]
ไม่ถูก ผลักออกไป
Therion, Beast of the Caverns
SpectreN
Tagsanimal_claw_weapon, นักเวท, demon, fire_affinity, has_claw, has_dual_wield_melee, has_one_handed_melee, large_model, light_armour, melee, not_dex, physical_affinity, ranged, very_fast_movement
พลังชีวิต
540%
Energy Shield From Life
100%
เกราะ
+100%
Ailment Threshold
540%
ค่าต้านทาน
40 40 40 25
Damage
160%
ความแม่นยำ
100%
โอกาสคริติคอล
+5%
ตัวคูณคริติคอล
+130%
Attack Distance
6 ~ 15
Attack Time
1.545 Second
Damage Spread
±20%
ค่าประสบการณ์
200%
Model Size
155%
Type
CrucibleVilentaBoss
Metadata
VilentaBoss
เลเวล
68
พลังชีวิต
752,470
เกราะ
57,580
การหลบหลีก
4,739
โล่พลังงาน
6,127
Damage
681
ความเสียหายเวท
1,016
ความแม่นยำ
290
Attack Time
1.03515
ค่าประสบการณ์
112,805
Ailment Threshold
474,056
Chill
1,499
Shock
1,499
Brittle
8,480
Scorch
1,499
Sap
4,141
VilentaReflection
คูลดาวน์: 15 วินาที
สร้างความเสียหาย กายภาพ พื้นฐาน 436.4 ต่อวินาที
VilentaGasMortar
Spell, Area, Projectile
เวลาร่าย: 1.5 วินาที
คูลดาวน์: 6 วินาที
สร้างความเสียหาย กายภาพ 682.7 ถึง 1024
แปลงความเสียหาย กายภาพ 100% เป็น ไฟ
base is projectile [1]
is area damage [1]
projectile uses contact direction [1]
projectile uses contact position [1]
VilentaHide
Duration
คูลดาวน์: 3 วินาที
ระยะเวลาพื้นฐาน -0 วินาที
VilentaDash
Attack, Melee, Movement, Travel
รำมีดพุ่ง (Whirling Blades)
Base Damage: 478–717
โอกาสคริติคอล: 5%
Attack Time: 1.545 วินาที
คูลดาวน์: 6 วินาที
พุ่งผ่านศัตรู สร้างความเสียหายด้วยอาวุธ หากถือ อาวุธคู่ จะโจมตีด้วยอาวุธทั้งสองแล้วสร้างความเสียหายจากอาวุธทั้งสองพร้อมกันในการปะทะครั้งเดียว ใช้ได้กับมีด, กรงเล็บ, ดาบมือเดียว เท่านั้น สกิลนี้ไม่สามารถเสริมด้วย Multistrike ได้
เพิ่มความเร็วในการโจมตี อีก 50%
cast time overrides attack duration [1]
ignores proximity shield [1]
VilentaGeometryAttackLeft
Triggerable, Attack
Base Damage: 478–717
โอกาสคริติคอล: 5%
Attack Time: 1.545 วินาที
VilentaGeometryAttackRight
Triggerable, Attack
Base Damage: 478–717
โอกาสคริติคอล: 5%
Attack Time: 1.545 วินาที
EmptyActionSpellVilentaGeometry
Spell
เวลาร่าย: 1.17 วินาที
VilentaSlam
Attack, Area, Triggerable
Base Damage: 478–717
โอกาสคริติคอล: 5%
Attack Time: 1.545 วินาที
คูลดาวน์: 8 วินาที
สร้างความเสียหาย เพิ่มขึ้น อีก 120%
active skill area of effect radius +% final [100]
is area damage [1]
EmptyActionSpellVilentaCombo
Spell
เวลาร่าย: 3.67 วินาที
คูลดาวน์: 10 วินาที
VilentaXMortar
Projectile, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell
เวลาร่าย: 1.5 วินาที
สร้างความเสียหาย กายภาพ 157.3 ถึง 235.9
การปะทะของคุณ ไม่สามารถสร้างสถานะ มึนงง ต่อศัตรูได้
active skill area of effect radius +% final [100]
base is projectile [1]
is area damage [1]
monster projectile variation [7]
projectile minimum range [10]
projectile spread radius [125]
projectile uses contact position [1]
spell maximum action distance +% [500]
triggered skill use animation event [1]
use scaled contact offset [1]
EmptyActionSpellVilentaSunder
Spell
เวลาร่าย: 2.33 วินาที
คูลดาวน์: 10 วินาที
VilentaSunder
Attack, Area, Multistrikeable, Melee, Triggerable
Base Damage: 478–717
โอกาสคริติคอล: 5%
ความเสียหายโจมตี: 60%
Attack Time: 1.545 วินาที
สร้างความเสียหาย โจมตี ลดลง อีก 40%
เพิ่มความเร็วในการโจมตี อีก 5%
คลื่นสะท้อน สร้างความเสียหาย ลดลง อีก 85%
active skill area of effect radius +% final [-50]
firestorm base area of effect +% [80]
is area damage [1]
VilentaGasMortarMulti
Spell, Area, Projectile
เวลาร่าย: 1.67 วินาที
คูลดาวน์: 6 วินาที
สร้างความเสียหาย กายภาพ 682.7 ถึง 1024
แปลงความเสียหาย กายภาพ 100% เป็น ไฟ
base is projectile [1]
is area damage [1]
projectile uses contact direction [1]
projectile uses contact position [1]
VilentaEnrageMelee
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
โจมตีธรรมดา (Default Attack)
Base Damage: 478–717
โอกาสคริติคอล: 5%
Attack Time: 1.545 วินาที
โจมตีศัตรูของคุณด้วยการจู่โจมอย่างมีกำลัง
เพิ่มความเร็วในการโจมตี อีก 100%
skill can fire arrows [1]
skill can fire wand projectiles [1]
VilentaChangeToStance2
คูลดาวน์: 25 วินาที
MeleeAtAnimationSpeedUnique
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
โจมตีธรรมดา (Default Attack)
Base Damage: 478–717
โอกาสคริติคอล: 5%
Attack Time: 1.545 วินาที
โจมตีศัตรูของคุณด้วยการจู่โจมอย่างมีกำลัง
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]

Object Type

version 2
extends "Metadata/Monsters/LeagueCrucible/CrucibleBossBase"
extends "Metadata/Monsters/LeagueCrucible/CriticalSpeedMonsterBase"


Actor
{
	basic_action = "ChangeToStance1"
}

Transitionable
{
}

Object Type Codes

version 2
extends "Metadata/Monsters/LeagueCrucible/CrucibleBossBase"
extends "Metadata/Monsters/LeagueCrucible/CriticalSpeedMonsterBase"
-- src\Data\Spectres.lua
minions["Metadata/Monsters/LeagueCrucible/CriticalSpeed/VilentaBoss"] = {
    name = "Therion, Beast of the Caverns",
    life = 5.4,
    energyShield = 1,
    fireResist = 40,
    coldResist = 40,
    lightningResist = 40,
    chaosResist = 25,
    damage = 1.6,
    damageSpread = 0.2,
    attackTime = 1.545,
    attackRange = 15,
    accuracy = 1,
    weaponType1 = "Claw",
    weaponType2 = "Claw",
    skillList = {
        "VilentaDash",
        "MeleeAtAnimationSpeedUnique",
        "VilentaEnrageMelee",
        "VilentaSlam",
        "VilentaSunder",
        "VilentaChangeToStance2",
        "VilentaXMortar",
        "EmptyActionSpellVilentaGeometry",
        "EmptyActionSpellVilentaCombo",
        "EmptyActionSpellVilentaSunder",
        "VilentaReflection",
        "VilentaGasMortar",
        "VilentaGasMortarMulti",
        "VilentaGeometryAttackLeft",
        "VilentaGeometryAttackRight",
        "VilentaHide",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaDash"] = {
    name = "Whirling Blades",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Dive through enemies, dealing weapon damage. If dual wielding attacks with both weapons, dealing the damage of both in one hit. Only works with Daggers, Claws, and One-Handed Swords. Cannot be supported by Multistrike.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Melee] = true,
        [SkillType.Movement] = true,
        [SkillType.Travel] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.1,
    baseFlags = {
        attack = true,
        melee = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_attack_speed_+%_final",
        "ignores_proximity_shield",
        "cast_time_overrides_attack_duration",
    },
    levels = {
        [1] = {50, levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeedUnique"] = {
    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["VilentaEnrageMelee"] = {
    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 = {
        "active_skill_attack_speed_+%_final",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
    },
    levels = {
        [1] = {100, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaSlam"] = {
    name = "VilentaSlam",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Area] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_damage_+%_final",
        "active_skill_area_of_effect_radius_+%_final",
        "is_area_damage",
    },
    levels = {
        [1] = {120, 100, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaSunder"] = {
    name = "VilentaSunder",
    hidden = true,
    color = "1",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Area] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        melee = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "shockwave_slam_explosion_damage_+%_final",
        "active_skill_attack_speed_+%_final",
        "firestorm_base_area_of_effect_+%",
        "active_skill_area_of_effect_radius_+%_final",
        "is_area_damage",
    },
    levels = {
        [1] = {-85, 5, 80, -50, baseMultiplier = 0.6, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaChangeToStance2"] = {
    name = "VilentaChangeToStance2",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaXMortar"] = {
    name = "VilentaXMortar",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Projectile] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Area] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
        area = true,
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_projectile_variation",
        "spell_maximum_action_distance_+%",
        "projectile_minimum_range",
        "projectile_spread_radius",
        "active_skill_area_of_effect_radius_+%_final",
        "base_is_projectile",
        "is_area_damage",
        "projectile_uses_contact_position",
        "triggered_skill_use_animation_event",
        "cannot_stun",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 7, 500, 10, 125, 100, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EmptyActionSpellVilentaGeometry"] = {
    name = "EmptyActionSpellVilentaGeometry",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.17,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EmptyActionSpellVilentaCombo"] = {
    name = "EmptyActionSpellVilentaCombo",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 3.67,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EmptyActionSpellVilentaSunder"] = {
    name = "EmptyActionSpellVilentaSunder",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 2.33,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaReflection"] = {
    name = "VilentaReflection",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 5,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_physical_damage_to_deal_per_minute",
    },
    levels = {
        [1] = {2, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaGasMortar"] = {
    name = "VilentaGasMortar",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Area] = true,
        [SkillType.Projectile] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
        area = true,
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "skill_physical_damage_%_to_convert_to_fire",
        "is_area_damage",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "projectile_uses_contact_direction",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 100, levelRequirement = 66, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaGasMortarMulti"] = {
    name = "VilentaGasMortarMulti",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Area] = true,
        [SkillType.Projectile] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.67,
    baseFlags = {
        area = true,
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "skill_physical_damage_%_to_convert_to_fire",
        "is_area_damage",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "projectile_uses_contact_direction",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 100, levelRequirement = 66, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaGeometryAttackLeft"] = {
    name = "VilentaGeometryAttackLeft",
    hidden = true,
    color = 4,
    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] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaGeometryAttackRight"] = {
    name = "VilentaGeometryAttackRight",
    hidden = true,
    color = 4,
    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] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VilentaHide"] = {
    name = "VilentaHide",
    hidden = true,
    color = 4,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Duration] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_skill_effect_duration",
    },
    levels = {
        [1] = {-1, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
เพิ่มจำนวนของ ไอเทม ที่ดรอป 1500%
เพิ่มระดับความหายากของ ไอเทม ที่ดรอป 2000%
มอนสเตอร์ ให้ค่าประสบการณ์ เพิ่มขึ้น 100%
IdMonsterCrucibleMapBoss
FamilyMonsterMapBoss
DomainsMonster (3)
GenerationTypeยูนิค (3)
Req. level1
Stats
  • monster slain experience +% Min: 100 Max: 100 Global
  • monster dropped item rarity +% Min: 2000 Max: 2000 Global
  • monster dropped item quantity +% Min: 1500 Max: 1500 Global
  • cannot be stunned for ms after stun finished [2000]
    cannot be stunned while stunned [1]
    IdStunRepeatImmunityMapBoss_
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeยูนิค (3)
    Req. level1
    Stats
  • cannot be stunned while stunned Min: 1 Max: 1 Global
  • cannot be stunned for ms after stun finished Min: 2000 Max: 2000 Global
  • IdNothing
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeยูนิค (3)
    Req. level1
    main hand base maximum attack distance [6]
    off hand base maximum attack distance [6]
    stance movement speed +% final [50]
    IdStanceVilentaEnrage
    FamilyStance
    DomainsMonster (3)
    GenerationTypeยูนิค (3)
    Req. level1
    Stats
  • stance movement speed +% final Min: 50 Max: 50 Global
  • off hand base maximum attack distance Min: 6 Max: 6 Global
  • main hand base maximum attack distance Min: 6 Max: 6 Global
  • Craft Tagsattack speed
    ไม่ถูก ผลักออกไป
    IdImmuneToKnockback
    FamilyImmuneToKnockback
    DomainsMonster (3)
    GenerationTypeยูนิค (3)
    Req. level1
    Stats
  • cannot be knocked back Min: 1 Max: 1 Global
  • Edit

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