Циара, Плетущая проклятья
Гуманоид
monster dropped item rarity +% [1500]
Ciara, the Curse Weaver
SpectreN
TagsElemental_onhit_audio, human, humanoid, medium_movement, not_dex, not_str, red_blood
Здоровье
125%
Energy Shield From Life
72%
Сопротивление
0 0 0 0
Damage
175%
Меткость
100%
Attack Distance
4 ~ 12
Время атаки
1.005 Second
Damage Spread
±20%
Опыт
250%
Model Size
100%
Type
ExileWitch2
Metadata
ExileWitch2
Уровень
68
Здоровье
2,715
Damage
408
Урон от чар
408
Меткость
2,502
Время атаки
1.005
Опыт
71,585
Minion Life
2,426
Minion Energy Shield
6,237
Minion Damage
1,695
Minion Armour
2,413
WeaponGrantedChaosboltRogueExileWitch2
Projectile, ProjectilesFromUser, Spell, Damage, Trappable, Totemable, Mineable, Multicastable, Triggerable, Chaos, Unleashable, Invokable, UsableWhileMoving, NoAttackInPlace
Снаряд хаоса
Время применения: 0.75 сек.
Выпускает в цель вспышку энергии хаоса.
Наносит от 100.4 до 182.8 урона хаосом
Накладывает заряд истощения при нанесении удара
Истощение длится 4 секунд(-ы)
base is projectile [1]
can perform skill while moving [1]
check for targets between initiator and projectile source [1]
maintain projectile direction when using contact position [1]
monster projectile variation [1109]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
precise cursor targeting uses contact point height offset [1]
projectile uses contact position [1]
should use additive aiming animation [1]
HandOfChayulaRogueExileWitch2
Meta, Attack, Melee, Area, Chaos, MeleeSingleTarget, Palm, NoAttackInPlace, QuarterstaffSkill
Длань Чаюлы
Base Damage: 326–490
Урон от атаки: 67%
Время атаки: 1.005 сек.
Герой совершает рывок к врагу и ударяет его, вызывая срабатывание размещённых меток с повышенной эффективностью и накладывая размещённые проклятия с увеличенной длительностью.
Наносит на 33% меньше урона атаками
73% физического урона становится уроном хаосом
base melee dash range [65]
base skill show average damage instead of dps [1]
is area damage [1]
melee conditional step distance [10]
precise cursor targeting uses contact point height offset [1]
EssenceDrainRogueExileWitch2
Spell, Projectile, ProjectilesFromUser, Duration, Totemable, Multicastable, DamageOverTime, Chaos, Damage, Triggerable, Unleashable, Trappable, Mineable, UsableWhileMoving, NoAttackInPlace
Похищение сущности
Время применения: 0.8 сек.
Герой выпускает снаряд, который накладывает на врагов, в которых попадёт, мощный отрицательный эффект постепенного урона хаосом.
Наносит от 66.96 до 124.4 урона хаосом
Усиленные умения наносят на 20% меньше урона
Выпускает дополнительных снарядов:
base is projectile [1]
can perform skill while moving [1]
check for targets between initiator and projectile source [1]
disable visual hit effect [1]
maintain projectile direction when using contact position [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
precise cursor targeting uses contact point height offset [1]
projectile uses contact position [1]
pvp skill dot attack time override ms [10000]
should use additive aiming animation [1]
terrain arrow attachment chance reduction +% [200]
DarkEffigyRogueExileWitch2
SummonsTotem, Trappable, Mineable, Multicastable, Duration, UsableWhileMoving, Chaos, Limit, NoAttackInPlace
Тёмное чучело
Герой устанавливает тотем, который бомбардирует врагов, находящихся под действием отрицательных эффектов постепенного урона хаосом.
Время существования тотема 8 секунд(-ы)
Лимит тотемов: 1
base totem range [120]
can perform skill while moving [1]
is spell totem [1]
is totem [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
rogue exile deploy totem skill with id [10]
skill is deploy skill [1]
totem targets ignoring action distance [1]
DarkEffigyProjectileRogueExileWitch2
Spell, Damage, Projectile, Chaos, Area, AreaSpell, ProjectilesNumberModifiersNotApplied, ProjectileNoCollision, UsedByTotem
Мерзкое излияние
Время применения: 1 сек.
Герой выпускает снаряд в каждого врага поблизости, на которого действует отрицательный эффект постепенного урона хаосом. Выпускает несколько снарядов во врагов под действием нескольких отрицательных эффектов, но больше никак изменить число снарядов нельзя.
Наносит от 140.6 до 261.1 урона хаосом
Выпускает дополнительных снарядов:
Радиус воздействия - 0.8 м
active skill base area of effect radius [120]
base is projectile [1]
base skill is totemified [1]
is area damage [1]
rogue exile totem skill with id [10]
skill disabled unless cloned [2]
TemporalChainsRogueExileWitch2
Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, Unleashable, AreaSpell, UsableWhileMoving, NoAttackInPlace
Путы времени
Время применения: 0.7 сек.
Перезарядка: 6 сек.
Герой проклинает всех врагов в области, замедляя их и заставляя эффекты на них истекать дольше.
Усиленные умения создают проклятую землю
Враги на проклятой земле от усиленного умения прокляты, пока находятся на ней
50% увеличение области действия усиленных умений
Максимум областей проклятой земли: 2
Область действия усиленных умений на 50% больше
Время перезарядки усиленных умений - 6 секунд(-ы)
Область проклятия проявляется после увеличенной на 30% задержки
Проклятие применяется после задержки в 1.5 секунд(-ы)
Проклятие не накладывается на врагов выше 20 уровня
Радиус проклятия - 1.5 м
Длительность проклятия - 6 секунд(-ы)
Проклятие заставляет другие эффекты на целях истекать на 25% медленнее
base deal no damage [1]
can perform skill while moving [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
BlasphemyRogueExileWitch2
Area, Buff, HasReservation, Aura, AreaSpell, OngoingSkill, Persistent, Meta, CanHaveMultipleOngoingSkillInstances, IsBlasphemy
Богохульство
Превращает размещённые умения проклятий в нечистые ауры, накладывающие их эффекты на всех врагов поблизости.
Размещенные умения проклятий применяются в виде ауры вокруг вас
Удерживает 1 духа за каждое размещенное проклятье
base deal no damage [1]
skill desired amount override [1]
DespairRogueExileWitch2
Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, Chaos, AppliesCurse, Unleashable, AreaSpell, UsableWhileMoving, NoAttackInPlace
Отчаяние
Время применения: 0.7 сек.
После короткой задержки герой проклинает всех врагов в области, снижая их сопротивление хаосу.
Проклятие применяется после задержки в 1.5 секунд(-ы)
Проклятие не накладывается на врагов выше уровня
Проклятие накладывает -35% к сопротивлению хаосу
Радиус проклятия - 1.5 м
Длительность проклятия - 6 секунд(-ы)
base deal no damage [1]
can perform skill while moving [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
triggered by hand of chayula [1]
EnfeebleRogueExileWitch2
Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, Unleashable, AreaSpell, UsableWhileMoving, NoAttackInPlace
Слабость
Время применения: 0.7 сек.
После короткой задержки герой проклинает всех врагов в области, заставляя их наносить меньше урона.
Проклятие применяется после задержки в 1.5 секунд(-ы)
Проклятие не накладывается на врагов выше уровня
Радиус проклятия - 3.1 м
Проклятие заставляет цели наносить на 26% меньше урона
Длительность проклятия - 7.4 секунд(-ы)
base deal no damage [1]
can perform skill while moving [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
SummonSpectreRogueExileWitch2_1
Minion, MinionsCanExplode, Trappable, Totemable, Mineable, Multicastable, Triggerable, CreatesMinion, CreatesUndeadMinion, HasReservation, Persistent, MultipleReservation
Призрак: {0}
Призывает дух связанного монстра в виде возрождающегося приспешника.
Приспешники имеют на 100% больше максимума здоровья
display statset no hit damage [1]
is resummoning minion [1]
minion base resummon time ms [12000]
skill desired amount override [2]
spectre monster variety hash [31404]
spectre warp end distance [30]
spectre warp speed override [100]
spectre warp start distance [100]
ProfaneRitualRogueExileWitch2
Spell, Chaos, Duration, Area, DamageOverTime, Multicastable, Cascadable, Triggerable, DegenOnlySpellDamage, Unleashable, AreaSpell, UsableWhileMoving, TargetsDestructibleCorpses, Limit, GeneratesCharges, CreatesGroundRune, NoAttackInPlace
Нечестивый ритуал
Время применения: 1 сек.
Герой отмечает труп нечестивой руной, нанося постепенный урон хаосом окружающим врагам. Когда ритуал закончен, труп поглощается и герой получает заряд энергии.
Наносит 265.7 базового урона хаосом в секунду
Лимит активных ритуалов: 5
Модификаторы урона от чар применяются к постепенный урону отрицательного эффекта
Радиус ритуала - 2.2 м
Длительность ритуала - 2 секунд(-ы)
can perform skill while moving [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
SacrificeRogueExileWitch2
OngoingSkill, HasReservation, Buff, Persistent, Minion, ReserveInAllSets
Принесение в жертву
Пока умение активно, возрождающихся приспешников-нежить можно использовать вместо трупов вашими умениями, но приспешники героя возрождаются медленнее.
Должно быть активно в обоих наборах оружия
Умения могут использовать ваших воскрешающихся приспешников-нежить вместо трупов
Приспешники воскрешаются на 50% более медленно
base deal no damage [1]
DodgeRollRogueExileGeneric
UsableWhileShapeshifted
+4.6 м к расстоянию кувырка
Наносит на 10% меньше урона атаками
Скорость сотворения чар этого умения не может быть изменена
action allowed queue time override ms [100]
action attack or cast time uses animation length [1]
base deal no damage [1]
base skill enabled while mounted [1]
dodge roll additional pushiness modifier [5]
dodge roll stun threshold +% final [100]
dynamic target updating prioritises movement vector [1]
skill cannot be knocked back [1]
skill is not considered a skill [1]
usable while shapeshifted town or hideout only [1]
WalkEmergeRogueExile
walk emerge distance [300]

Object Type

version 2
extends "Metadata/Monsters/RogueExiles/RogueExileBase"

PlayerClass
{
	class = "Witch"
}

Stats
{
	// second set for unarmed Hand of Chayula
	base_number_of_weapon_sets = 2
	set_number_of_additional_curses_allowed = 3
}

Object Type Codes

version 2
extends "Metadata/Monsters/RogueExiles/RogueExileBase"

Functions
{
	combat_dialogue = 
	"
	Roll(1, 2,
	{
		PlayTextAudio( RogueExile_Ciara_Combat_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );
	} );
	"
	player_engaged_random = "PlayTextAudio( RogueExile_Ciara_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"
}

Brackets
{
	player_engaged_dialogue_StrFour = "PlayTextAudio( RogueExile_Ciara_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Marauder
	player_engaged_dialogue_StrFourb = "PlayTextAudio( RogueExile_Ciara_EngageWarrior, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Warrior
	player_engaged_dialogue_IntFour = "PlayTextAudio( RogueExile_Ciara_EngageWitch, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Witch
	player_engaged_dialogue_IntFourb = "PlayTextAudio( RogueExile_Ciara_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );" 		//	Sorceress
	player_engaged_dialogue_DexFour = "PlayTextAudio( RogueExile_Ciara_EngageRanger, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Ranger
	player_engaged_dialogue_DexFourb = "PlayTextAudio( RogueExile_Ciara_EngageHuntress, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Huntress
	player_engaged_dialogue_StrDexFour = "PlayTextAudio( RogueExile_Ciara_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"	//	Duelist
	player_engaged_dialogue_StrDexFourb = "PlayTextAudio( RogueExile_Ciara_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"	//	Mercenary
	player_engaged_dialogue_DexIntFour = "PlayTextAudio( RogueExile_Ciara_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"	//	Shadow
	player_engaged_dialogue_DexIntFourb = "PlayTextAudio( RogueExile_Ciara_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"	//	Monk
	player_engaged_dialogue_StrIntFour = "PlayTextAudio( RogueExile_Ciara_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"	//	Templar
	player_engaged_dialogue_StrIntFourb = "PlayTextAudio( RogueExile_Ciara_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"	//	Druid

	player_death_dialogue_StrFour = "PlayTextAudio( RogueExile_Ciara_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"			//	Marauder
	player_death_dialogue_StrFourb = "PlayTextAudio( RogueExile_Ciara_KillPlayerWarrior, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"			//	Warrior
	player_death_dialogue_IntFour = "PlayTextAudio( RogueExile_Ciara_KillPlayerWitch, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"			//	Witch
	player_death_dialogue_IntFourb = "PlayTextAudio( RogueExile_Ciara_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"			//	Sorceress
	player_death_dialogue_DexFour = "PlayTextAudio( RogueExile_Ciara_KillPlayerRanger, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"			//	Ranger
	player_death_dialogue_DexFourb = "PlayTextAudio( RogueExile_Ciara_KillPlayerHuntress, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"			//	Huntress
	player_death_dialogue_StrDexFour = "PlayTextAudio( RogueExile_Ciara_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Duelist
	player_death_dialogue_StrDexFourb = "PlayTextAudio( RogueExile_Ciara_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Mercenary
	player_death_dialogue_DexIntFour = "PlayTextAudio( RogueExile_Ciara_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Shadow
	player_death_dialogue_DexIntFourb = "PlayTextAudio( RogueExile_Ciara_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Monk
	player_death_dialogue_StrIntFour = "PlayTextAudio( RogueExile_Ciara_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Templar
	player_death_dialogue_StrIntFourb = "PlayTextAudio( RogueExile_Ciara_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/Int/ExileWitch2' );"		//	Druid
} 
-- src\Data\Spectres.lua
minions["Metadata/Monsters/RogueExiles/Int/ExileWitch2"] = {
    name = "Ciara, the Curse Weaver",
    life = 1.25,
    energyShield = 0.72,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 1.75,
    damageSpread = 0.2,
    attackTime = 1.005,
    attackRange = 12,
    accuracy = 1,
    skillList = {
        "WeaponGrantedChaosboltRogueExileWitch2",
        "HandOfChayulaRogueExileWitch2",
        "DespairRogueExileWitch2",
        "EnfeebleRogueExileWitch2",
        "DodgeRollRogueExileGeneric",
        "SummonSpectreRogueExileWitch2_1",
        "BlasphemyRogueExileWitch2",
        "TemporalChainsRogueExileWitch2",
        "EssenceDrainRogueExileWitch2",
        "DarkEffigyRogueExileWitch2",
        "DarkEffigyProjectileRogueExileWitch2",
        "ProfaneRitualRogueExileWitch2",
        "SacrificeRogueExileWitch2",
        "WalkEmergeRogueExile",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["WeaponGrantedChaosboltRogueExileWitch2"] = {
    name = "Chaos Bolt",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire a burst of [Chaos] energy at the target.",
    skillTypes = {
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Chaos] = true,
        [SkillType.Unleashable] = true,
        [SkillType.Invokable] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.75,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_chaos_damage",
        "spell_maximum_base_chaos_damage",
        "apply_x_wither_on_hit",
        "monster_projectile_variation",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "active_skill_withered_base_duration_ms",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "check_for_targets_between_initiator_and_projectile_source",
        "maintain_projectile_direction_when_using_contact_position",
        "can_perform_skill_while_moving",
        "should_use_additive_aiming_animation",
        "precise_cursor_targeting_uses_contact_point_height_offset",
    },
    levels = {
        [1] = {0.5, 0.91000002622604, 1, 1109, -70, 160, 50, 4000, critChance = 7, levelRequirement = 1, statInterpolation = {3, 3, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HandOfChayulaRogueExileWitch2"] = {
    name = "Hand of Chayula",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Dash to an enemy and [Strike] them, triggering socketed [Mark|Marks] with increased effect and applying socketed [Curse|Curses] with increased duration.",
    skillTypes = {
        [SkillType.Meta] = true,
        [SkillType.Attack] = true,
        [SkillType.Melee] = true,
        [SkillType.Area] = true,
        [SkillType.Chaos] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Palm] = true,
        [SkillType.NoAttackInPlace] = true,
        [SkillType.QuarterstaffSkill] = true,
    },
    statDescriptionScope = "hand_of_chayula",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        melee = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_conditional_step_distance",
        "base_melee_dash_range",
        "active_skill_base_physical_damage_%_to_convert_to_chaos",
        "global_always_hit",
        "is_area_damage",
        "base_skill_show_average_damage_instead_of_dps",
        "precise_cursor_targeting_uses_contact_point_height_offset",
    },
    levels = {
        [1] = {10, 65, 73, baseMultiplier = 0.67, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DespairRogueExileWitch2"] = {
    name = "Despair",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Curse] all targets in an area after a short delay, lowering their [Chaos|Chaos] [Resistances|Resistance].",
    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.Chaos] = true,
        [SkillType.AppliesCurse] = true,
        [SkillType.Unleashable] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "despair",
    castTime = 0.7,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_skill_effect_duration",
        "active_skill_base_area_of_effect_radius",
        "base_skill_buff_chaos_damage_resistance_%_to_apply",
        "skill_curses_cannot_apply_to_targets_above_level",
        "curse_delay_duration_ms",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "base_deal_no_damage",
        "can_perform_skill_while_moving",
        "triggered_by_hand_of_chayula",
    },
    levels = {
        [1] = {6000, 15, -35, 0, 1500, -70, 160, 50, levelRequirement = 1, statInterpolation = {1, 1, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EnfeebleRogueExileWitch2"] = {
    name = "Enfeeble",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Curse] all targets in an area after a short delay, making them deal less damage.",
    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.Unleashable] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "enfeeble",
    castTime = 0.7,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_skill_effect_duration",
        "active_skill_base_area_of_effect_radius",
        "base_skill_buff_damage_+%_final_to_apply",
        "skill_curses_cannot_apply_to_targets_above_level",
        "curse_delay_duration_ms",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "base_deal_no_damage",
        "can_perform_skill_while_moving",
        "curse_apply_as_aura",
        "curse_supported_by_blasphemy",
    },
    levels = {
        [1] = {7400, 31, -26, 0, 1500, -70, 160, 50, levelRequirement = 1, statInterpolation = {1, 1, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DodgeRollRogueExileGeneric"] = {
    name = "DodgeRollRogueExileGeneric",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.UsableWhileShapeshifted] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.75,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_allowed_queue_time_override_ms",
        "dodge_roll_base_travel_distance",
        "dodge_roll_additional_pushiness_modifier",
        "dodge_roll_stun_threshold_+%_final",
        "base_deal_no_damage",
        "skill_cannot_be_knocked_back",
        "spell_cast_time_cannot_be_modified",
        "action_attack_or_cast_time_uses_animation_length",
        "usable_while_shapeshifted_town_or_hideout_only",
        "dynamic_target_updating_prioritises_movement_vector",
        "skill_is_not_considered_a_skill",
        "base_skill_enabled_while_mounted",
    },
    levels = {
        [1] = {100, 46, 5, 100, baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["SummonSpectreRogueExileWitch2_1"] = {
    name = "Spectre: {0} ",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Summon the spirit of the bound monster as a [Reviving] [Minion].",
    skillTypes = {
        [SkillType.Minion] = true,
        [SkillType.MinionsCanExplode] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.CreatesMinion] = true,
        [SkillType.CreatesUndeadMinion] = true,
        [SkillType.HasReservation] = true,
        [SkillType.Persistent] = true,
        [SkillType.MultipleReservation] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.85,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "minion_base_resummon_time_ms",
        "spectre_warp_start_distance",
        "spectre_warp_end_distance",
        "spectre_warp_speed_override",
        "skill_desired_amount_override",
        "spectre_monster_variety_hash",
        "active_skill_minion_life_+%_final",
        "is_resummoning_minion",
        "display_statset_no_hit_damage",
    },
    levels = {
        [1] = {12000, 100, 30, 100, 2, 31404, 100, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BlasphemyRogueExileWitch2"] = {
    name = "Blasphemy",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Turn socketed [Curse] skills into vile [Aura|Auras], applying their effects to all nearby enemies.",
    skillTypes = {
        [SkillType.Area] = true,
        [SkillType.Buff] = true,
        [SkillType.HasReservation] = true,
        [SkillType.Aura] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.OngoingSkill] = true,
        [SkillType.Persistent] = true,
        [SkillType.Meta] = true,
        [SkillType.CanHaveMultipleOngoingSkillInstances] = true,
        [SkillType.IsBlasphemy] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0,
    baseFlags = {
        area = true,
        aura = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "blasphemy_base_spirit_reservation_per_socketed_curse",
        "skill_desired_amount_override",
        "curse_apply_as_aura",
        "base_deal_no_damage",
    },
    levels = {
        [1] = {1, 1, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["TemporalChainsRogueExileWitch2"] = {
    name = "Temporal Chains",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Curse] all enemies in an area, [Slow|Slowing] them and making other effects on them expire more slowly.",
    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.Unleashable] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "temporal_chains",
    castTime = 0.7,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_skill_effect_duration",
        "active_skill_base_area_of_effect_radius",
        "base_skill_debuff_action_speed_+%_final_to_inflict",
        "base_temporal_chains_other_buff_time_passed_+%_to_apply",
        "skill_curses_cannot_apply_to_targets_above_level",
        "curse_delay_duration_ms",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "support_hourglass_display_cooldown_time_ms",
        "support_aoe_cooldown_aoe_+%_final",
        "base_curse_delay_+%",
        "curse_area_of_effect_+%",
        "maximum_curse_zones_allowed",
        "base_deal_no_damage",
        "can_perform_skill_while_moving",
        "curse_apply_as_curse_zone",
    },
    levels = {
        [1] = {6000, 15, -40, -25, 20, 1500, -70, 160, 50, 6000, 50, 30, 50, 2, levelRequirement = 1, statInterpolation = {1, 1, 1, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EssenceDrainRogueExileWitch2"] = {
    name = "Essence Drain",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire a [Projectile|Projectile] that applies a powerful [Chaos|Chaos] damage over time debuff to enemies it hits.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Duration] = true,
        [SkillType.Totemable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.DamageOverTime] = true,
        [SkillType.Chaos] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Unleashable] = true,
        [SkillType.Trappable] = true,
        [SkillType.Mineable] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "essence_drain",
    castTime = 0.8,
    baseFlags = {
        spell = true,
        projectile = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_chaos_damage",
        "spell_maximum_base_chaos_damage",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "pvp_skill_dot_attack_time_override_ms",
        "number_of_additional_projectiles",
        "support_multiple_damage_+%_final",
        "terrain_arrow_attachment_chance_reduction_+%",
        "support_multiple_attack_and_cast_speed_+%_final",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "check_for_targets_between_initiator_and_projectile_source",
        "maintain_projectile_direction_when_using_contact_position",
        "can_perform_skill_while_moving",
        "disable_visual_hit_effect",
        "should_use_additive_aiming_animation",
        "quality_display_base_skill_effect_duration_is_gem",
        "precise_cursor_targeting_uses_contact_point_height_offset",
    },
    levels = {
        [1] = {0.69999998807907, 1.2999999523163, -70, 160, 50, 10000, 2, -20, 200, 0, critChance = 7, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DarkEffigyRogueExileWitch2"] = {
    name = "Dark Effigy",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Raise a [Totem] that bombards enemies afflicted by [Chaos] damage over time [Debuff|Debuffs].",
    skillTypes = {
        [SkillType.SummonsTotem] = true,
        [SkillType.Trappable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Duration] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.Chaos] = true,
        [SkillType.Limit] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        duration = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "totem_elemental_resistance_%",
        "totem_chaos_resistance_%",
        "base_totem_duration",
        "base_totem_range",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "base_number_of_totems_allowed",
        "rogue_exile_deploy_totem_skill_with_id",
        "skill_is_deploy_skill",
        "is_totem",
        "can_perform_skill_while_moving",
        "totem_targets_ignoring_action_distance",
        "quality_display_base_totem_duration_is_gem",
        "is_spell_totem",
    },
    levels = {
        [1] = {0, 0, 8000, 120, -70, 160, 50, 1, 10, levelRequirement = 1, statInterpolation = {1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DarkEffigyProjectileRogueExileWitch2"] = {
    name = "Vile Effusion",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire a [Projectile|Projectile] at every nearby enemy that is afflicted by a [Chaos] damage over time [Debuff]. Fires multiple [Projectile|Projectiles] at enemies afflicted by multiple [Debuff|Debuffs], but [Projectile] count cannot be otherwise modified.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Projectile] = true,
        [SkillType.Chaos] = true,
        [SkillType.Area] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.ProjectilesNumberModifiersNotApplied] = true,
        [SkillType.ProjectileNoCollision] = true,
        [SkillType.UsedByTotem] = true,
    },
    statDescriptionScope = "dark_effigy_projectile",
    castTime = 1,
    baseFlags = {
        area = true,
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_chaos_damage",
        "spell_maximum_base_chaos_damage",
        "skill_disabled_unless_cloned",
        "active_skill_base_area_of_effect_radius",
        "active_skill_base_secondary_area_of_effect_radius",
        "number_of_additional_projectiles",
        "rogue_exile_totem_skill_with_id",
        "base_is_projectile",
        "base_skill_is_totemified",
        "is_area_damage",
    },
    levels = {
        [1] = {0.69999998807907, 1.2999999523163, 2, 120, 8, 100, 10, critChance = 7, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ProfaneRitualRogueExileWitch2"] = {
    name = "Profane Ritual",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Mark a [Corpse] with a profane rune, dealing [Chaos] damage over time to nearby enemies. When the ritual is complete the [Corpse] is consumed and you gain a [Charges|Power Charge].",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Chaos] = true,
        [SkillType.Duration] = true,
        [SkillType.Area] = true,
        [SkillType.DamageOverTime] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Cascadable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.DegenOnlySpellDamage] = true,
        [SkillType.Unleashable] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.TargetsDestructibleCorpses] = true,
        [SkillType.Limit] = true,
        [SkillType.GeneratesCharges] = true,
        [SkillType.CreatesGroundRune] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "ritual_of_power",
    castTime = 1,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_chaos_damage_to_deal_per_minute",
        "base_skill_effect_duration",
        "ritual_of_power_maximum_number_of_rituals",
        "active_skill_base_area_of_effect_radius",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "can_perform_skill_while_moving",
        "spell_damage_modifiers_apply_to_skill_dot",
    },
    levels = {
        [1] = {1, 2000, 5, 22, -70, 160, 50, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["SacrificeRogueExileWitch2"] = {
    name = "Sacrifice",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "While active, your undead [Reviving] [Minion|Minions] can be used in place of [Corpse|Corpses] by your skills, but your [Minion|Minions] [Reviving|Revive] more slowly.",
    skillTypes = {
        [SkillType.OngoingSkill] = true,
        [SkillType.HasReservation] = true,
        [SkillType.Buff] = true,
        [SkillType.Persistent] = true,
        [SkillType.Minion] = true,
        [SkillType.ReserveInAllSets] = true,
    },
    statDescriptionScope = "harvester",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "harvester_minion_resummon_speed_+%_final",
        "base_deal_no_damage",
        "display_skill_reserves_in_all_weapon_sets",
    },
    levels = {
        [1] = {-50, levelRequirement = 1, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["WalkEmergeRogueExile"] = {
    name = "WalkEmergeRogueExile",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.272,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "walk_emerge_distance",
    },
    levels = {
        [1] = {300, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
monster dropped item rarity +% [1500]
FamilyMonsterDroppedItemRarity
DomainsMonster (3)
GenerationTypeУникальный (3)
Req. level1
Stats
  • monster dropped item rarity +% Min: 1500 Max: 1500 Global
  • keyval
    Stats.item_drop_slots0
    Stats.energy_shield_recharge_rate_per_minute_%750
    Stats.base_maximum_mana200
    Stats.maximum_physical_damage_reduction_%90
    Stats.base_maximum_all_resistances_%75
    Stats.monster_base_flask_charges_percent_of_monster_power50
    Stats.base_critical_hit_damage_bonus30
    Stats.max_endurance_charges3
    Stats.max_frenzy_charges3
    Stats.max_power_charges3
    Stats.object_inherent_base_maximum_block_%_from_ot50
    Stats.movement_velocity_cap128
    Stats.max_azurite_debuff_stacks10
    Stats.ignore_skill_weapon_restrictions1
    Stats.melee_hit_damage_stun_multiplier_+%_final_from_ot33
    Stats.physical_hit_damage_stun_multiplier_+%_final_from_ot100
    Stats.scale_melee_range_to_actor_scale1
    Stats.use_melee_pattern_range1
    Stats.melee_swing_not_scaled_by_area_modifiers1
    Stats.actor_scale_+%_limit100
    Stats.base_heavy_stun_duration_ms2000
    Stats.melee_defer_damage_prediction1
    Stats.poise_decay_delay_ms8000
    Stats.poise_decay_%_per_second50
    Stats.base_block_angle_degrees210
    Stats.action_attack_or_cast_time_uses_animation_length0
    Stats.slow_potency_+%_final_per_additional_player-10
    Stats.check_for_targets_between_initiator_and_projectile_source1
    Stats.maximum_life_+%_final_per_additional_player50
    Stats.maximum_energy_shield_+%_final_per_additional_player50
    Stats.poise_threshold_+%_final_per_additional_player50
    Stats.stun_base_duration_override_ms500
    Stats.bleeding_moving_damage_%_of_base_override200
    Stats.enable_weapon_setstrue
    Stats.base_number_of_weapon_sets1, 2
    Stats.max_viper_strike_orbs4
    Stats.max_fuse_arrow_orbs5
    Stats.max_fire_beam_stacks8
    Stats.maximum_righteous_charges5
    Stats.maximum_blood_scythe_charges5
    Stats.base_number_of_traps_allowed15
    Stats.base_number_of_remote_mines_allowed15
    Stats.max_charged_attack_stacks6
    Stats.max_talisman_degen_stacks20
    Stats.max_frost_nova_stacks20
    Stats.max_rampage_stacks1000
    Stats.damage_+%_per_10_rampage_stacks2
    Stats.movement_velocity_+%_per_10_rampage_stacks1
    Stats.minions_have_labyrinth_trap_degen_effect_+%-90
    Stats.minions_are_immune_to_labyrinth_degen_effect0
    Stats.minion_damage_taken_+%_from_spike_traps_final-90
    Stats.minion_damage_taken_+%_from_arrow_traps_final0
    Stats.minion_damage_taken_+%_from_guillotine_traps_final-90
    Stats.traps_explode_on_timeout1
    Stats.maximum_rage30
    Stats.max_delve_degen_stacks5000
    Stats.melee_variation1
    Stats.base_total_number_of_sigils_allowed3
    Stats.enable_movement_skill_animation_skipping1
    Stats.additional_insanity_effects_while_delirious1
    Stats.max_steel_ammo12
    Stats.chance_to_deal_triple_damage_%_per_brutal_charge3
    Stats.stun_threshold_+%_per_brutal_charge10
    Stats.elemental_damage_taken_goes_to_energy_shield_over_4_seconds_%_per_absorption_charge12
    Stats.mines_invulnerable_for_duration_ms2000
    Stats.traps_invulnerable_for_duration_ms2000
    Stats.damage_taken_when_hit_+%_final_per_fortification-1
    Stats.base_max_fortification20
    Stats.base_presence_radius40
    Stats.mtx_max_killstreak_stacks1000
    Stats.mtx_max_killcounter_stacks30000
    Stats.melee_strike_bonus_attack_distance2
    Stats.accuracy_rating_+%_final_at_max_distance_scaled-90
    Stats.base_weapon_swap_duration_ms250
    Stats.quadruped_head_turn_duration_ms100
    Stats.has_quadruped_head_control0
    Stats.base_pay_cost_over_start_of_skill_animation1
    Stats.base_knockback_speed_+%-30
    Stats.base_maximum_number_of_stored_corpses10
    Stats.global_resummon_time_ms7500
    Stats.disable_minion_formation1
    Stats.crossbow_ammo_switch_time_ms300
    Stats.rage_loss_delay_ms2000
    Stats.object_inherent_armour_break_amount_+%_final_against_normal_monsters200
    Stats.object_inherent_armour_break_amount_+%_final_against_magic_monsters100
    Stats.object_inherent_evasion_break_amount_+%_final_against_normal_monsters200
    Stats.object_inherent_evasion_break_amount_+%_final_against_magic_monsters100
    Stats.fixed_frost_wall_limit60
    Stats.player_allow_dodge_roll_cancel1
    Stats.maximum_cold_infusion_stacks6
    Stats.maximum_fire_infusion_stacks6
    Stats.maximum_lightning_infusion_stacks6
    Stats.minimum_number_of_projectiles_to_fire_is_11
    Stats.base_infusion_duration_ms15000
    Stats.base_spirit10000
    Stats.active_skill_base_reload_time_override200
    Stats.additional_life_scaling_index10
    Stats.heat_base_delay_before_decay_ms3000
    Stats.heat_base_decay_rate_ms500
    Stats.number_of_additional_curses_allowed3
    ObjectMagicProperties.stat_description_listMetadata/StatDescriptions/monster_stat_descriptions.csd
    Positioned.blockingtrue
    Positioned.team0
    Positioned.serialise_collidabletrue
    Positioned.secondary_object_size4
    Positioned.object_targeting_size3
    Positioned.base_pushiness30
    BaseEvents.server_onlytrue
    Actor.basic_actionMove, MoveForced, MoveToFormation, Flee, StrafeLeft, StrafeRight, StrafeRandom, Advance, DoNothing, MonsterPickup, MinionInteraction, Interaction, InteractionChannelled, WashedUp, Dance, AreaTransitionAnimation, SinPickup, BloodVortexGetUp, EpilogueKnockdown, AncestralTrialDestroyTotem, RevivePlayer, BasicTownPortal, BindSpectre, MountMinion, Ascend, FakeDeath, Revive, Emerge
    Actor.slow_animations_go_to_idlefalse
    Actor.actor_sizeMedium
    Actor.leveled_starting_effectsDoLiterallyNothing
    Actor.blend_once_animations_by_defaulttrue
    Actor.simulation_height24
    StateMachine.define_shared_statelock_on;
    StateMachine.on_state_lock_on_0{ SetUsesDirectionalRunAnimations( false ); }
    StateMachine.on_state_lock_on_1{ SetUsesDirectionalRunAnimations( true ); }
    Animated.turn_duration0.2
    Animated.always_interpolate_bearingtrue
    MinimapIcon.iconRogueExile
    Functions.update_and_face_target =
    Functions.local turn_amountCalculateOrientation( arg1 );
    Functions.If( arg3, (){ TurnToOverTime( turn_amount, arg2, false ); } );
    Functions.If( arg4, (){ SetTarget( arg1, true ); } );
    Functions.If( arg5, (){ SetTargetLocation( arg1 ); } );
    PlayerClass.classWitch
    Edit

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