Thane Jorgin
Humanoid
Action Speed cannot be modified to below 50% of base value
active skill area of effect radius +% final [50]
main hand base maximum attack distance [6]
off hand base maximum attack distance [6]
stance movement speed +% final [50]
Cannot be Knocked Back
cannot be stunned for ms after stun finished [0]
cannot be stunned while stunned [1]
SpectreN
Tagsbetrayal_syndicate_member, betrayal_thane_jorgin, caster, fast_movement, hard_armour, has_one_hand_mace, has_one_handed_melee, human, humanoid, medium_height, melee, not_dex, not_int, physical_affinity, ranged, red_blood
Life
600%
Armour
+100%
Ailment Threshold
600%
Resistance
40 40 40 25
Damage
140%
Accuracy
100%
Critical Strike Chance
+5%
Critical Strike Multiplier
+130%
Attack Distance
6 ~ 9
Attack Time
1.335 Second
Damage Spread
±20%
Experience
200%
Model Size
100%
Type
BetrayalThane
Metadata
BetrayalThane
Level
68
Life
38,600
Armour
57,580
Evasion
4,739
Energy Shield
0
Damage
523
Spell Damage
523
Accuracy
290
Attack Time
1.335
Experience
20,510
Ailment Threshold
38,600
Chill
122
Shock
122
Brittle
691
Scorch
122
Sap
337
MeleeBetrayalThane
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Default Attack
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Damage: 125%
Attack Time: 1.335 sec
Strike your foes down with a powerful blow.
Deals 25% more Attack Damage
skill can fire arrows [1]
skill can fire wand projectiles [1]
WalkEmergeBetrayal
walk emerge distance [300]
EmptyActionAttackThaneCombo1
Attack
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Time: 1.335 sec
Cooldown Time: 10 sec
25% less Attack Speed
skill cannot be knocked back [1]
skill cannot be stunned [1]
EmptyActionAttackThaneCombo2
Attack
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Time: 1.335 sec
Cooldown Time: 10 sec
25% less Attack Speed
skill cannot be knocked back [1]
skill cannot be stunned [1]
ThaneEnrage
Cooldown Time: 13 sec
ThaneCalmDown
Cooldown Time: 13 sec
BetrayalThaneCombo1Sweep1
Triggerable, Attack
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Time: 1.335 sec
is area damage [1]
BetrayalThaneCombo1Kick1
Triggerable, Attack
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Damage: 120%
Attack Time: 1.335 sec
Deals 20% more Attack Damage
is area damage [1]
BetrayalThaneCombo1Slam1
Triggerable, Attack
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Damage: 195%
Attack Time: 1.335 sec
Deals 95% more Attack Damage
is area damage [1]
BetrayalThaneCombo2Punch1
Triggerable, Attack
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Damage: 112.65%
Attack Time: 1.335 sec
Deals 12.65% more Attack Damage
is area damage [1]
BetrayalThaneCombo2Punch2
Triggerable, Attack
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Damage: 112.65%
Attack Time: 1.335 sec
Deals 12.65% more Attack Damage
is area damage [1]
BetrayalThaneCombo2Backflip1
Triggerable, Attack
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Damage: 150%
Attack Time: 1.335 sec
Deals 50% more Attack Damage
is area damage [1]
BetrayalThaneLeapSlam
Attack, Area, Melee, Movement, Travel, Slam, Totemable
Leap Slam
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Time: 1.335 sec
Cooldown Time: 6 sec
Jump through the air, damaging and knocking back enemies with your weapon where you land. Enemies you would land on are pushed out of the way. Requires an Axe, Mace, Sceptre, Sword or Staff.
Deals 100% less Damage
60% less Attack Speed
Base radius is 1.5 metres
is area damage [1]
BetrayalThaneLeapSlamExplosion
Triggerable, Attack
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Damage: 275%
Attack Time: 1.335 sec
Deals 175% more Attack Damage
is area damage [1]
BetrayalThaneStep
Spell, Triggerable
Cast Time: 1 sec
Deals 620.7 to 931 Physical Damage
is area damage [1]
BetrayalThaneCleaveShot
Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
Base Damage: 418–628
Critical Strike Chance: 5%
Attack Time: 1.335 sec
Projectiles Pierce all Targets
Deals 30% less Damage
base is projectile [1]
monster projectile variation [52]
BetrayalThaneMortar
Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell
Cast Time: 1 sec
Generic monster mortar skill. Like Monster Projectile but has an impact effect.
Deals 558.6 to 837.9 Physical Damage
base is projectile [1]
is area damage [1]
mortar projectile distance override [30]
projectile spread radius [6]
projectile uses contact direction [1]
projectile uses contact position [1]
BetrayalThaneMortarHole
Spell, Triggerable
Cast Time: 1 sec
Deals 372.4 to 558.6 Physical Damage
is area damage [1]

Object Type

version 2
extends "Metadata/Monsters/LeagueBetrayal/BetrayalTarget"

Actor
{
	actor = "Metadata/Monsters/LeagueBetrayal/BetrayalThane.act"
	main_hand_unarmed_type = "One_Hand_Mace"
}

StateMachine
{
	define_shared_state = "angry"
}

Object Type Codes

version 2
extends "Metadata/Monsters/LeagueBetrayal/BetrayalTarget"

StateMachine
{
	on_state_angry_1 = "AddEffectPack( Metadata/Effects/Spells/monsters_effects/League_Betrayal/Thane/wild_rage/wild_rage.epk );"
	on_state_angry_0 = "RemoveEffectPack( Metadata/Effects/Spells/monsters_effects/League_Betrayal/Thane/wild_rage/wild_rage.epk );"
	create_state_angry_1 = "AddEffectPack( Metadata/Effects/Spells/monsters_effects/League_Betrayal/Thane/wild_rage/wild_rage.epk );"
	//create_state_Helm_0 = "ShowMeshSegments(  );"
	create_state_Boots_0 = "ShowMeshSegments( BearArmourSetMTX_bootsShape );"
	create_state_Gloves_0 = "ShowMeshSegments( BearArmourSetMTX_glovesShape, hand_meshShape );"
	//create_state_Back_0 = "ShowMeshSegments(  );"
	//create_state_Weapon_0 = "ShowMeshSegments(  );"
	//Akanilim's Hide
	create_state_Back_21 =
	"
		AddAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/AkanilimsHideWingsHeld.ao, aux_back_attachment );
		PlayAnimationAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/AkanilimsHideWingsHeld.ao, Thane );
	"

	//Shiaphet's Pall
	create_state_Back_22 =
	"
		AddAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/ShiaphetsPallCapeHeld.ao, aux_back_attachment );
		PlayAnimationAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/ShiaphetsPallCapeHeld.ao, Thane );
	"

	//Xunti's Parasol
	create_state_Back_23 =
	"
		AddAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/XuntisParasolCapeHeld.ao, aux_back_attachment );
		PlayAnimationAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/XuntisParasolCapeHeld.ao, Thane );
	"

	//Tekiton's Spine
	create_state_Back_24 =
	"
		AddAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/TekitonsSpineCapeHeld.ao, aux_back_attachment );
		PlayAnimationAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/TekitonsSpineCapeHeld.ao, Thane );
	"

	//Gogori's Plague
	create_state_Back_25 =
	"
		AddAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/GogorisPlagueWingsHeld.ao, aux_back_attachment );
		PlayAnimationAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/GogorisPlagueWingsHeld.ao, Thane );
	"

	//Harimal's Campaign
	create_state_Back_26 =
	"
		AddAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/HarimalsCampaignCapeHeld.ao, aux_back_attachment );
		PlayAnimationAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/HarimalsCampaignCapeHeld.ao, Thane );
	"

	//Tau Poh's Banner
	create_state_Back_27 =
	"
		AddAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/TauPohsBannerCapeHeld.ao, aux_back_attachment );
		PlayAnimationAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/TauPohsBannerCapeHeld.ao, Thane );
	"

	//Bu's Bottle
	create_state_Back_28 =
	"
		AddAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/BusBottleCapeHeld.ao, aux_back_attachment );
		PlayAnimationAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/BusBottleCapeHeld.ao, Thane );
	"

	//Rithkin's Dance
	create_state_Back_29 =
	"
		AddAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/RithkinsDanceCapeHeld.ao, aux_back_attachment );
		PlayAnimationAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/RithkinsDanceCapeHeld.ao, Thane );
	"

	//Cantar's Coffin
	create_state_Back_30 =
	"
		AddAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/CantarsCoffinCapeHeld.ao, aux_back_attachment );
		PlayAnimationAttached( Metadata/Monsters/LeagueBetrayal/BetrayalAttachments/CantarsCoffinCapeHeld.ao, Thane );
	"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/LeagueBetrayal/BetrayalThane"] = {
    name = "Thane Jorgin",
    life = 6,
    fireResist = 40,
    coldResist = 40,
    lightningResist = 40,
    chaosResist = 25,
    damage = 1.4,
    damageSpread = 0.2,
    attackTime = 1.335,
    attackRange = 9,
    accuracy = 1,
    skillList = {
        "MeleeBetrayalThane",
        "BetrayalThaneCleaveShot",
        "BetrayalThaneLeapSlam",
        "ThaneEnrage",
        "ThaneCalmDown",
        "EmptyActionAttackThaneCombo1",
        "EmptyActionAttackThaneCombo2",
        "WalkEmergeBetrayal",
        "BetrayalThaneCombo1Sweep1",
        "BetrayalThaneCombo1Kick1",
        "BetrayalThaneCombo1Slam1",
        "BetrayalThaneCombo2Punch1",
        "BetrayalThaneCombo2Punch2",
        "BetrayalThaneCombo2Backflip1",
        "BetrayalThaneLeapSlamExplosion",
        "BetrayalThaneMortarHole",
        "BetrayalThaneStep",
        "BetrayalThaneMortar",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeBetrayalThane"] = {
    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",
    },
    levels = {
        [1] = {baseMultiplier = 1.25, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneCleaveShot"] = {
    name = "BetrayalThaneCleaveShot",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_projectile_variation",
        "active_skill_damage_+%_final",
        "base_is_projectile",
        "always_pierce",
    },
    levels = {
        [1] = {52, -30, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneLeapSlam"] = {
    name = "Leap Slam",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Jump through the air, damaging and knocking back enemies with your weapon where you land. Enemies you would land on are pushed out of the way. Requires an Axe, Mace, Sceptre, Sword or Staff.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Area] = true,
        [SkillType.Melee] = true,
        [SkillType.Movement] = true,
        [SkillType.Travel] = true,
        [SkillType.Slam] = true,
        [SkillType.Totemable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 2.5,
    baseFlags = {
        attack = true,
        area = true,
        melee = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_damage_+%_final",
        "active_skill_attack_speed_+%_final",
        "active_skill_base_area_of_effect_radius",
        "is_area_damage",
    },
    levels = {
        [1] = {-100, -60, 15, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ThaneEnrage"] = {
    name = "ThaneEnrage",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ThaneCalmDown"] = {
    name = "ThaneCalmDown",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EmptyActionAttackThaneCombo1"] = {
    name = "EmptyActionAttackThaneCombo1",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 2.33,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_attack_speed_+%_final",
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
    },
    levels = {
        [1] = {-25, levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EmptyActionAttackThaneCombo2"] = {
    name = "EmptyActionAttackThaneCombo2",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 2.83,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_attack_speed_+%_final",
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
    },
    levels = {
        [1] = {-25, levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["WalkEmergeBetrayal"] = {
    name = "WalkEmergeBetrayal",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.72,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "walk_emerge_distance",
    },
    levels = {
        [1] = {300, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneCombo1Sweep1"] = {
    name = "BetrayalThaneCombo1Sweep1",
    hidden = true,
    color = "4",
    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 = {
        "is_area_damage",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneCombo1Kick1"] = {
    name = "BetrayalThaneCombo1Kick1",
    hidden = true,
    color = "4",
    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 = {
        "is_area_damage",
    },
    levels = {
        [1] = {baseMultiplier = 1.2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneCombo1Slam1"] = {
    name = "BetrayalThaneCombo1Slam1",
    hidden = true,
    color = "4",
    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 = {
        "is_area_damage",
    },
    levels = {
        [1] = {baseMultiplier = 1.95, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneCombo2Punch1"] = {
    name = "BetrayalThaneCombo2Punch1",
    hidden = true,
    color = "4",
    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 = {
        "is_area_damage",
    },
    levels = {
        [1] = {baseMultiplier = 1.1265, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneCombo2Punch2"] = {
    name = "BetrayalThaneCombo2Punch2",
    hidden = true,
    color = "4",
    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 = {
        "is_area_damage",
    },
    levels = {
        [1] = {baseMultiplier = 1.1265, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneCombo2Backflip1"] = {
    name = "BetrayalThaneCombo2Backflip1",
    hidden = true,
    color = "4",
    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 = {
        "is_area_damage",
    },
    levels = {
        [1] = {baseMultiplier = 1.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneLeapSlamExplosion"] = {
    name = "BetrayalThaneLeapSlamExplosion",
    hidden = true,
    color = "4",
    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 = {
        "is_area_damage",
    },
    levels = {
        [1] = {baseMultiplier = 2.75, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneMortarHole"] = {
    name = "BetrayalThaneMortarHole",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "is_area_damage",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, levelRequirement = 0, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneStep"] = {
    name = "BetrayalThaneStep",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "is_area_damage",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BetrayalThaneMortar"] = {
    name = "BetrayalThaneMortar",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Generic monster mortar skill. Like Monster Projectile but has an impact effect.",
    skillTypes = {
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = 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,
    baseFlags = {
        area = true,
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "mortar_projectile_distance_override",
        "projectile_spread_radius",
        "is_area_damage",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "projectile_uses_contact_direction",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 30, 6, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
Action Speed cannot be modified to below 50% of base value
IdCannotBeSlowedBelowValueBosses
FamilyCannotBeSlowedBelowValue
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • hellscape boots action speed +% minimum value Min: -50 Max: -50 Global
  • Craft Tagsspeed
    IdNothing
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    IdNothing
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    active skill area of effect radius +% final [50]
    main hand base maximum attack distance [6]
    off hand base maximum attack distance [6]
    stance movement speed +% final [50]
    IdStanceThaneEnrage
    FamilyStance
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • attack speed +% Min: 0 Max: 0 Global
  • 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
  • active skill area of effect radius +% final Min: 50 Max: 50 Global
  • Craft Tagsattack speed
    Cannot be Knocked Back
    IdImmuneToKnockback
    FamilyImmuneToKnockback
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • cannot be knocked back Min: 1 Max: 1 Global
  • cannot be stunned for ms after stun finished [0]
    cannot be stunned while stunned [1]
    IdStunRepeatImmunityBoss__
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • cannot be stunned while stunned Min: 1 Max: 1 Global
  • cannot be stunned for ms after stun finished Min: 0 Max: 0 Global
  • Thane Jorgin the Banished Text Audio /116
    Name
    Ehh, what's this? A new challenger!
    JorginPrimaryDefenderStartsFightZero
    Yea! Storm the keep, exile!
    JorginPrimaryDefenderStartsFightOne
    Ohh, logistics is boring. Let's fight!
    JorginPrimaryDefenderStartsFightTwo
    Ugh, please, do try and get this blooddy mess off ma mitts!
    JorginPrimaryDefenderStartsFightThree
    Surprise test of strength exile! Hope you're prepared.
    JorginPrimaryDefenderStartsFightFour
    Our encounter will end very differently this time, exile.
    JorginPrimaryDefenderStartsFightFive
    Let's solve this like men. With conflict, not cooperation!
    JorginPrimaryDefenderStartsFightSix
    Here to play politics again, exile?
    JorginPrimaryDefenderStartsFightSeven
    Just who I was hoping to see today!
    JorginPrimaryDefenderStartsFightEight
    Back for more punishment, child?
    JorginPrimaryDefenderStartsFightNine
    Ahhh! Gurhh... the Ursine Maw... it hungers!
    JorginPrimaryDefenderStartsFightTen
    I am of Craiceann, solid against the tide!
    JorginPrimaryDefenderStartsFightEleven
    I am of Saqawal, crushing my enemies!
    JorginPrimaryDefenderStartsFightTwelve
    I am of Fenumus, dragging you down to your death!
    JorginPrimaryDefenderStartsFightThirteen
    I am of Farrul, swift as an arrow!
    JorginPrimaryDefenderStartsFightFourteen
    The strength of the First Ones runs in my veins. You will fall here and now.
    JorginSafehouseLeaderIntroZero
    Let this siege be savage.
    JorginSecondaryDefenderArrivalZero
    First Ones, protect this caravan!
    JorginSecondaryDefenderArrivalOne
    I'll help defend this disgusting place only because I must.
    JorginSecondaryDefenderArrivalTwo
    I try never to miss a good ambush!
    JorginSecondaryDefenderArrivalThree
    I never back down from a fight!
    JorginSecondaryDefenderArrivalFour
    Strength in numbers is still strength!
    JorginSecondaryDefenderArrivalFive
    The First Ones have called me to your aid, wild one.
    JorginSecondaryDefenderArrivalSix
    Cannah let you die, Grenn. I might need a ship back home someday!
    JorginSecondaryDefenderArrivalSeven
    You're no Emperor, Janus, but my line will assist you again regardless.
    JorginSecondaryDefenderArrivalEight
    Let us prove that the Syndicate has the might to make right.
    JorginSecondaryDefenderArrivalNine
    Gadgets won't do the trick, Maloney. Allow me to lend ya some raw might.
    JorginSecondaryDefenderArrivalTen
    I want to see a proper siege!
    JorginSecondaryDefenderArrivalEleven
    I think I'll send these souls to the First Ones rather than the Lifegiver.
    JorginSecondaryDefenderArrivalTwelve
    This horrible place deserves to fall!
    JorginSecondaryDefenderArrivalThirteen
    Even the mightiest warrior will fall against overwhelming numbers.
    JorginSecondaryDefenderArrivalFourteen
    I'm more than just 'Ezomyte,' Janus. I'll show ya.
    JorginSecondaryDefenderArrivalFifteen
    I don't know what the hell you are, but I much prefer the exile.
    JorginSecondaryDefenderArrivalSixteen
    The strongest deserve to rise, but you're too dumb to count.
    JorginSecondaryDefenderArrivalSeventeen
    An Eternal General stood against the Ezomyte clans once before. Recall how that ended?
    JorginSecondaryDefenderArrivalEighteen
    Violence should be a test, Cameria, not a pastime.
    JorginSecondaryDefenderArrivalNineteen
    Only the strongest deserve to rise.
    JorginSecondaryDefenderArrivalTwenty
    I welcome your challenge!
    JorginReplyToSecondaryDefenderArrivalZero
    And I thought today would be boring.
    JorginReplyToSecondaryDefenderArrivalOne
    When a situation gets complicated, I tend to resort to violence.
    JorginReplyToSecondaryDefenderArrivalTwo
    Don't ya see? We're in the middle of a test of strength here!
    JorginReplyToSecondaryDefenderArrivalThree
    Big words big guy, but can you back them up?
    JorginReplyToSecondaryDefenderArrivalFour
    We have about as much claim over these lands as your ilk, Eternal!
    JorginReplyToSecondaryDefenderArrivalFive
    You've got your shot, creature. Show me that otherworldly might of yours.
    JorginReplyToSecondaryDefenderArrivalSix
    Aye and your skin will make a fine new cloak, Redblade!
    JorginReplyToSecondaryDefenderArrivalSeven
    Then I guess it stops with me, eh?
    JorginReplyToSecondaryDefenderArrivalEight
    You better hope you have the strength to follow through, traitor!
    JorginReplyToSecondaryDefenderArrivalNine
    Let's see just how much this exile can handle, eh?
    JorginSecondaryDefenderArrivalTwentyOne
    This caravan is better protected than you thought!
    JorginSecondaryDefenderArrivalTwentyTwo
    I won't let knowledge of my involvement here just walk out alive.
    JorginSecondaryDefenderArrivalTwentyThree
    Ohh, exile, you've quite the test now.
    JorginSecondaryDefenderArrivalTwentyFour
    Let's try my way for this one, Tora.
    JorginSecondaryDefenderArrivalTwentyFive
    It's the Ezomyte in charge of the Perandus this time, eh Janus?
    JorginSecondaryDefenderArrivalTwentySix
    Serve me well, Redblade. When I'm at the top, I won't forget it.
    JorginSecondaryDefenderArrivalTwentySeven
    Support my rise through the ranks, Mutewind, and I'll use my power to get you what you truly desire.
    JorginSecondaryDefenderArrivalTwentyEight
    Aye, you're certainly strong, Cameria, but! I'm stronger.
    JorginSecondaryDefenderArrivalTwentyNine
    As I am the strongest, I claim my right to lead this fight.
    JorginSecondaryDefenderArrivalThirty
    I was hoping for a bigger storm.
    JorginKillPlayerZero
    The prize remains in the hands of the strongest.
    JorginKillPlayerOne
    Eh, I was really hoping you'd burn this place.
    JorginKillPlayerTwo
    And the strongest remains the victor, ha ha ho!
    JorginKillPlayerThree
    The weak fall. The strongest live to fight another day!
    JorginEscapeZero
    A good clash. I like you, exile.
    JorginEscapeOne
    Your strength was not enough to lift this rock. Maybe next time you'll send the bugs scattering.
    JorginEscapeTwo
    I am... conquered... and impressed...
    JorginDefeatedZero
    The caravan... is yours...
    JorginDefeatedOne
    The ultimate disgrace...
    JorginDefeatedTwo
    Well... you've passed ma test...
    JorginDefeatedThree
    I don't... want to be... caged again...
    JorginDefeatedFour
    I guess, uh, we should... talk?
    JorginDefeatedFive
    Might... politics... two sides of the same coin...
    JorginDefeatedSix
    Kill me yet again... I'll return stronger. Thus, we evolve.
    JorginDefeatedSeven
    Good show, exile. A real comeback.
    JorginDefeatedEight
    Numbers alone... can't be counted on...
    JorginDefeatedNine
    It seems... I have... failed... my own test.
    JorginDefeatedTen
    I've seen your strength. Take from me what ya will.
    JorginOfferBargainZero
    Aye, you beat me fair and square, and I can respect that. But to beat the odds, to beat someone with friends in high places, that demands respect and awe. Free me, and select from my cohorts an ally, and we will see what you are truly made of.
    JorginOfferBargainOne
    Might makes right, which means I work for you now, in a small fashion. You've only got hold over me worth one fight, which we all know is just one grain of sand in the desert of warfare. But it isn't nothing, and in warfare, information is as good as might. I've a friend in the Syndicate who is privy to key information, and I offer you this as your well-earned plunder.
    JorginOfferBargainTwo
    If I have a moment for last words, I'd like to say, above all, this job they have me doing is beyond boring. Now you're a strong one, so I value your input. Assuming you let me live, what do you think I should do instead?
    JorginOfferBargainThree
    I have been soundly defeated. I'm man enough to admit that. It's my neck on the line here. But, if you let me go back to the green hills of Ogham, I'd certainly be hung for imagined crimes. How about you save yourself the bother and let my clan do what they will?
    JorginOfferBargainFour
    This Syndicate is full of boring nonsense. Ya care to have a pint and talk it over? Or perhaps since you've got me dead to rights and all, skip the pint, and we'll go right to me blabbin' secrets like I'm drunk.
    JorginOfferBargainFive
    To the victor go the spoils. Take this as your reward... and let me go.
    JorginOfferBargainSix
    Consider it done, and consider the challenge begun!
    JorginBargainAcceptedZero
    They'll never even suspect, boss.
    JorginBargainAcceptedOne
    Let's hope for some entertainment.
    JorginBargainAcceptedTwo
    I wonder if they'll even remember my face back home. Hard to forget with all the wanted posters I expect, heh heh heh.
    JorginBargainAcceptedThree
    Strong and reasonable. I like you, exile!
    JorginBargainAcceptedFour
    And the strong get stronger.
    JorginBargainAcceptedFive
    Impressive strength you've got there. You should use it to mold the Syndicate's hierarchy to your whims. Let me live, and you can install a leader here that sees eye to eye with you: me. You can't solve the Syndicate by killing, exile, but perhaps you can fundamentally change it for the better.
    JorginOfferBetrayalZero
    Death changes nothing, exile. Only philosophy, held true, alters the world. Here I say to you: the strongest should absorb the might of the weak and make it their own. For you, that means lettin' me live, so that I can maneuver within the organisation, stripping back the strength of others, making it my own. We do not stay dead, which means changing thoughts and minds is the only way you'll ever save the world from the Syndicate!
    JorginOfferBetrayalOne
    You've won the battle, exile, but the war will be long. You have the opportunity to select who it is you face. Now killin' me is an option, but you know already that I can be defeated. Who else here poses a threat? This is your chance to rig the game!
    JorginOfferBetrayalTwo
    Hah hah, I like you, exile! There's no need to slay me, by the way. Let's just talk about the others here. I've got much to say.
    JorginOfferBetrayalThree
    Tora, she's a swift one. Now I don't think I can outpace her with force alone. Lend me your might and your mind for this, and the huntress will be forced to bow.
    JorginOfferBetrayalFour
    That's him, that's the bastard assassin that killed my brother! The Brotherhood of Silence!
    JorginOfferBetrayalFive
    A Perandus betrayed my people long ago, yet the scars are still raw today. It's time I returned the favour!
    JorginOfferBetrayalSix
    The General's particular brand of might does not just raise the strong. It purges the weak and hopeless. This is not might. It's tyranny.
    JorginOfferBetrayalSeven
    Rin is pompous and uppity and... worst of all, she won't shut up about how she misses 'fresh mountain air,' like we don't all miss our homes! Now please, handle her before I do.
    JorginOfferBetrayalEight
    Allegiance is earned by might, be it muscle, magic, or maneuvering. This one's earned none of those.
    JorginOfferBetrayalNine
    There's only one fate for the weak, exile. I have earned no exception.
    JorginOfferExecuteZero
    Let the Syndicate witness the true path: strength of arm, strength of will!
    JorginOfferExecuteOne
    If I should not return, bury me in Ogham, next to my brother.
    JorginOfferExecuteTwo
    This time, do what must be done, exile.
    JorginOfferExecuteThree
    Strength is not merely muscle.
    JorginReplyToBetrayalAcceptedZero
    Aye, weak, through and through! A coward, just like your poisoning pretender, Chitus!
    JorginReplyToBetrayalAcceptedOne
    And I'll wager a guess: the First Ones hate ya too. And whatever serves as your mother, for good measure.
    JorginReplyToBetrayalAcceptedTwo
    Keep pushing me, Oriathan. My clan's itching for some Bloody Flowers of our own!
    JorginReplyToBetrayalAcceptedThree
    I didn't kill my brother, you bastard!
    JorginReplyToBetrayalAcceptedFour
    Ah, ya fool Mutewind. I was framed and exiled here. Strange how quickly the Syndicate snapped me up once I arrived, yes?
    JorginReplyToBetrayalAcceptedFive
    Thus the weak seek to undermine the mighty.
    JorginReplyToBetrayalAcceptedSix
    I've nothin' to hide. Only strength matters.
    JorginInterrogatedZero
    You can starve the beast, but you will not break it.
    JorginInterrogatedOne
    Exile, exile, ya really must learn!
    JorginInterrogatedTwo
    The weak deserve death.
    JorginReplyToExecutionZero
    So it must be.
    JorginReplyToExecutionOne
    Aye, the strong climb on the backs of the weak.
    JorginReplyToExecutionTwo
    Good, exile. The strongest wins. I knew one day it would not be me.
    JorginSafehouseLeaderDefeatedZero