Sondar, el Amarratormentas
Sondar, the Stormbinder
SpectreN
Tags2HBluntWood_onhit_audio, human, humanoid, medium_movement, not_str, red_blood
Vida
125%
Energy Shield From Life
30%
Evasión
+30%
Resistencia
0 0 0 0
Damage
175%
Precisión
100%
Impactos críticos Chance
5%
Bonificación de daño crítico
+30%
Attack Distance
4 ~ 12
Tiempo de ataque
1.005 Second
Damage Spread
±20%
Experiencia
250%
Model Size
100%
Type
ExileMonk1
Metadata
ExileMonk1
Nivel
68
Vida
6,787
Armadura
2,413
Evasión
620
Escudo de energía
2,909
Damage
408
Daño de hechizos
408
Precisión
2,180
Tiempo de ataque
1.005
Experiencia
71,585
Minion Life
5,802
Minion Energy Shield
2,487
Minion Damage
909
Minion Armour
2,413
MeleeQuarterstaffRogueExile
Attack, MeleeSingleTarget, Melee, Area, QuarterstaffSkill
Bastonazo
Base Damage: 326–490
Probabilidad de impacto crítico: 5%
Daño de ataque: 115%
Tiempo de ataque: 1.005 seg
Golpea con tu bastón.
Inflige un 15% más de daño de ataques
is area damage [1]
melee conditional step distance [10]
WhirlingAssaultExileMonk1
Attack, MeleeSingleTarget, Melee, Area, QuarterstaffSkill
Asalto giratorio
Base Damage: 326–490
Probabilidad de impacto crítico: 5%
Daño de ataque: 45%
Tiempo de ataque: 1.005 seg
Avanzas mientras impactas a los enemigos a tu alrededor con una serie de golpes giratorios.
Inflige un 55% menos de daño de ataques
+1.4 segundos al tiempo de ataque total
20% menos de área de efecto
attack maximum action distance + [42]
base skill show average damage instead of dps [1]
cannot cancel skill before contact point [1]
is area damage [1]
melee defer damage prediction [1]
visual hit effect physical is wind [1]
GaleStrikeExileMonk1
Attack, Melee, Area, QuarterstaffSkill
Golpe de viento
Base Damage: 326–490
Probabilidad de impacto crítico: 5%
Daño de ataque: 120%
Tiempo de ataque: 1.005 seg
Apaleas a los enemigos que están a tu alcance generando una ráfaga de viento al blandir el arma. Esta ráfaga empujará a los enemigos en función de lo cerca que estén de ti.
Inflige un 20% más de daño de ataques
150% más de acumulación de aturdimiento
Empuja a los enemigos
Acumula una cantidad de desorientación equivalente al 500% del daño físico infligido
La longitud del cono es de 6 metros
active skill base secondary area of effect radius [7]
can perform skill while moving [1]
generic knockback +% final at max distance [-90]
generic knockback +% final at min distance [200]
generic knockback distance limit [60]
is area damage [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [60]
visual hit effect physical is wind [1]
VaultingImpactExileMonk1
Attack, Melee, Slam, Area, QuarterstaffSkill, Jumping, Travel
Embate impetuoso
Base Damage: 326–490
Probabilidad de impacto crítico: 5%
Daño de ataque: 150%
Tiempo de ataque: 1.005 seg
Saltas hacia delante y ejecutas un embate contra el suelo que libera una onda expansiva aturdidora que es especialmente efectiva contra los enemigos que están desorientados.
Inflige un 50% más de daño de ataques
+1 segundo al tiempo de ataque total
20% menos de área de efecto
80% más de acumulación de aturdimiento
Consume la desorientación de los enemigos para provocar un 300% más de acumulación de aturdimiento
El radio del choque es de 2.4 metros
attack maximum action distance + [42]
is area damage [1]
vaulting impact short animation maximum range [20]
visual hit effect physical is wind [1]
GatheringStormExileMonk1
Attack, Channel, Travel, PerfectTiming, Lightning, Area, Melee, CreatesGroundEffect, Duration, CannotSpiritStrike
Tormenta inminente
Base Damage: 326–490
Probabilidad de impacto crítico: 5%
Daño de ataque: 120%
Tiempo de ataque: 1.005 seg
Das una voltereta hacia atrás y canalizas para cargar tu bastón con rayo. Cuando sueltas, embistes hacia la ubicación objetivo y dañas a los enemigos que están en tu camino. Si sueltas en el momento perfecto, ejecutarás una finta infundida con rayo que libera ondas expansivas desde los enemigos entre los que pasas y deja un rastro de suelo electrificado a tu paso. Esta habilidad no se puede potenciar ancestralmente.
Inflige un 20% más de daño de ataques
Convierte el 20% del daño físico en daño de rayo
+0.8 segundos al tiempo de ataque total
+10 al alcance de los golpes cuerpo a cuerpo
active skill base area of effect radius [18]
active skill override turn duration ms [360]
attack maximum action distance + [20]
base melee dash range [35]
base skill show average damage instead of dps [1]
channel end duration as % of attack time [85]
channel start lock cancelling of attack time % [50]
gathering storm perfect aoe limit [8]
is area damage [1]
perfect strike timing window base ms [300]
quality display gathering storm is gem [1]
GlacialCascadeExileMonk1
Attack, Melee, Area, Cold, Area, UsableWhileMoving, QuarterstaffSkill, SkillConsumesFreeze, CreatesFissure
Cascada glacial
Base Damage: 326–490
Probabilidad de impacto crítico: 5%
Daño de ataque: 65%
Tiempo de ataque: 1.005 seg
Gira tu bastón hacia arriba para liberar una fisura helada que inflige daño en una serie de estallidos que culminan en un pico grande. Los enemigos congelados impactados por el pico final reciben una gran cantidad de daño pero se consume su congelamiento. Los cristales de hielo impactados por el pico final explotan.
Inflige un 35% menos de daño de ataques
Convierte el 60% del daño físico en daño de hielo
No puede congelar
El radio del estallido es de 0.5 metros
La longitud de la ola es de 4.8 metros
Provoca 8 estallidos
can perform skill while moving [1]
cascade attack ease in exponent % [125]
cascade attack radius per stage +1 per 100 [30]
cascade attack starting distance offset [6]
is area damage [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [60]
DodgeRollRogueExileGeneric
UsableWhileShapeshifted
+3.7 metros a la distancia de esquivar rodando
Inflige un 10% menos de daño de ataques
La velocidad de lanzamiento de hechizos de esta habilidad no se puede modificar
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]
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]

Object Type

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

PlayerClass
{
	class = "Monk"
}

Object Type Codes

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

/* ------------------------------------------------------------------------------------------------------------------- */
/* Audio */
/* ------------------------------------------------------------------------------------------------------------------- */

Functions
{
	combat_dialogue =
	"
		Roll( 1, 2,
		{
			PlayTextAudio( RogueExile_Sondar_CombatGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );
		} );
	"

	// this will have a chance to fire instead of the class specific lines when combat first starts
	player_engaged_random = "PlayTextAudio( RogueExile_Sondar_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	target_fleeing_dialogue = { QueueTextAudio( RogueExile_Sondar_PlayerFlees_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' ); }
}

Brackets
{
	player_engaged_dialogue_StrFour = "PlayTextAudio( RogueExile_Sondar_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_StrFourb = "PlayTextAudio( RogueExile_Sondar_EngageWarrior, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_IntFour = "PlayTextAudio( RogueExile_Sondar_EngageWitch, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_IntFourb = "PlayTextAudio( RogueExile_Sondar_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_DexFour = "PlayTextAudio( RogueExile_Sondar_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_DexFourb = "PlayTextAudio( RogueExile_Sondar_EngageHuntress, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_StrDexFour = "PlayTextAudio( RogueExile_Sondar_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_StrDexFourb = "PlayTextAudio( RogueExile_Sondar_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_DexIntFour = "PlayTextAudio( RogueExile_Sondar_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_DexIntFourb = "PlayTextAudio( RogueExile_Sondar_EngageMonk, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_StrIntFour = "PlayTextAudio( RogueExile_Sondar_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_engaged_dialogue_StrIntFourb = "PlayTextAudio( RogueExile_Sondar_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"

	player_death_dialogue_StrFour = "PlayTextAudio( RogueExile_Sondar_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_StrFourb = "PlayTextAudio( RogueExile_Sondar_KillPlayerWarrior, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_IntFour = "PlayTextAudio( RogueExile_Sondar_KillPlayerWitch, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_IntFourb = "PlayTextAudio( RogueExile_Sondar_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_DexFour = "PlayTextAudio( RogueExile_Sondar_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_DexFourb = "PlayTextAudio( RogueExile_Sondar_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_StrDexFour = "PlayTextAudio( RogueExile_Sondar_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_StrDexFourb = "PlayTextAudio( RogueExile_Sondar_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_DexIntFour = "PlayTextAudio( RogueExile_Sondar_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_DexIntFourb = "PlayTextAudio( RogueExile_Sondar_KillPlayerMonk, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_StrIntFour = "PlayTextAudio( RogueExile_Sondar_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
	player_death_dialogue_StrIntFourb = "PlayTextAudio( RogueExile_Sondar_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/RogueExiles/DexInt/ExileMonk1"] = {
    name = "Sondar, the Stormbinder",
    life = 1.25,
    energyShield = 0.3,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 1.75,
    damageSpread = 0.2,
    attackTime = 1.005,
    attackRange = 12,
    accuracy = 1,
    weaponType1 = "Warstaff",
    skillList = {
        "MeleeQuarterstaffRogueExile",
        "DodgeRollRogueExileGeneric",
        "WhirlingAssaultExileMonk1",
        "GaleStrikeExileMonk1",
        "VaultingImpactExileMonk1",
        "GatheringStormExileMonk1",
        "GlacialCascadeExileMonk1",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeQuarterstaffRogueExile"] = {
    name = "Quarterstaff Strike",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Strike] with your Quarterstaff.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.Area] = true,
        [SkillType.QuarterstaffSkill] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        melee = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_conditional_step_distance",
        "is_area_damage",
    },
    levels = {
        [1] = {10, baseMultiplier = 1.15, levelRequirement = 1, statInterpolation = {},  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",
        "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, 37, 5, baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["WhirlingAssaultExileMonk1"] = {
    name = "Whirling Assault",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Advance while hitting enemies around you with a series of spinning [Strike|Strikes].",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.Area] = true,
        [SkillType.QuarterstaffSkill] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        melee = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "total_attack_time_+_ms",
        "attack_maximum_action_distance_+",
        "active_skill_area_of_effect_+%_final",
        "melee_defer_damage_prediction",
        "cannot_cancel_skill_before_contact_point",
        "visual_hit_effect_physical_is_wind",
        "base_skill_show_average_damage_instead_of_dps",
        "is_area_damage",
    },
    levels = {
        [1] = {1400, 42, -20, baseMultiplier = 0.45, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GaleStrikeExileMonk1"] = {
    name = "Wind Blast",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Batter enemies at range by generating a gust of wind as you swing. Enemies will be [Knockback|Knocked Back] based on how close they are to you.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Melee] = true,
        [SkillType.Area] = true,
        [SkillType.QuarterstaffSkill] = true,
    },
    statDescriptionScope = "gale_strike",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        melee = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "support_physical_damage_%_to_gain_as_daze_build_up",
        "generic_knockback_+%_final_at_min_distance",
        "generic_knockback_+%_final_at_max_distance",
        "generic_knockback_distance_limit",
        "active_skill_hit_damage_stun_multiplier_+%_final",
        "active_skill_base_area_of_effect_radius",
        "active_skill_base_secondary_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_%",
        "global_knockback",
        "visual_hit_effect_physical_is_wind",
        "is_area_damage",
        "can_perform_skill_while_moving",
    },
    levels = {
        [1] = {500, 200, -90, 60, 150, 60, 7, -70, 160, 60, baseMultiplier = 1.2, levelRequirement = 1, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["VaultingImpactExileMonk1"] = {
    name = "Vaulting Impact",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Leap forward and [Slam] the ground, sending out a [Stun|Stunning] shockwave that is especially potent against [Daze|Dazed] enemies.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Melee] = true,
        [SkillType.Slam] = true,
        [SkillType.Area] = true,
        [SkillType.QuarterstaffSkill] = true,
        [SkillType.Jumping] = true,
        [SkillType.Travel] = true,
    },
    statDescriptionScope = "vaulting_impact",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        melee = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_hit_damage_stun_multiplier_+%_final",
        "total_attack_time_+_ms",
        "attack_maximum_action_distance_+",
        "active_skill_base_area_of_effect_radius",
        "active_skill_hit_damage_stun_multiplier_+%_final",
        "consume_enemy_dazed_to_gain_hit_damage_stun_multiplier_+%_final",
        "vaulting_impact_short_animation_maximum_range",
        "active_skill_area_of_effect_+%_final",
        "is_area_damage",
        "visual_hit_effect_physical_is_wind",
    },
    levels = {
        [1] = {50, 1000, 42, 24, 30, 300, 20, -20, baseMultiplier = 1.5, levelRequirement = 1, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GatheringStormExileMonk1"] = {
    name = "Gathering Storm",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Flip backward and [Channelling|Channel] to charge your [Quarterstaff] with [Lightning]. Releasing dashes towards the target location, damaging enemies along the way. Releasing with perfect timing performs a [Lightning]-infused dash that releases shockwaves from enemies you dash through and leaves a trail of [ShockedGround|Shocked Ground] in your wake. This skill cannot be [AncestralBoost|Ancestrally Boosted].",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Channel] = true,
        [SkillType.Travel] = true,
        [SkillType.PerfectTiming] = true,
        [SkillType.Lightning] = true,
        [SkillType.Area] = true,
        [SkillType.Melee] = true,
        [SkillType.CreatesGroundEffect] = true,
        [SkillType.Duration] = true,
        [SkillType.CannotSpiritStrike] = true,
    },
    statDescriptionScope = "gathering_storm/statset_0",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        melee = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_override_turn_duration_ms",
        "perfect_strike_timing_window_base_ms",
        "base_melee_dash_range",
        "attack_maximum_action_distance_+",
        "active_skill_base_area_of_effect_radius",
        "channel_start_lock_cancelling_of_attack_time_%",
        "total_attack_time_+_ms",
        "gathering_storm_perfect_aoe_limit",
        "active_skill_base_physical_damage_%_to_convert_to_lightning",
        "channel_end_duration_as_%_of_attack_time",
        "melee_range_+",
        "is_area_damage",
        "base_skill_show_average_damage_instead_of_dps",
        "quality_display_gathering_storm_is_gem",
    },
    levels = {
        [1] = {360, 300, 35, 20, 18, 50, 800, 8, 20, 85, 10, baseMultiplier = 1.2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GlacialCascadeExileMonk1"] = {
    name = "Glacial Cascade",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Sweep your [Quarterstaff|Quarterstaff] upwards, releasing an icy fissure which deals damage in a series of bursts culminating in a large spike. [Frozen|Frozen] enemies hit by the final spike are dealt heavy damage but the [Freeze] is [Consume|Consumed]. [IceCrystals|Ice Crystals] hit by the final spike explode.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Melee] = true,
        [SkillType.Area] = true,
        [SkillType.Cold] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.QuarterstaffSkill] = true,
        [SkillType.SkillConsumesFreeze] = true,
        [SkillType.CreatesFissure] = true,
    },
    statDescriptionScope = "glacial_cascade_attack",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        melee = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "upheaval_number_of_spikes",
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "active_skill_base_area_of_effect_radius",
        "cascade_attack_radius_per_stage_+1_per_100",
        "cascade_attack_base_total_distance",
        "cascade_attack_starting_distance_offset",
        "cascade_attack_ease_in_exponent_%",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "never_freeze",
        "is_area_damage",
        "can_perform_skill_while_moving",
    },
    levels = {
        [1] = {8, 60, 5, 30, 48, 6, 125, -70, 160, 60, baseMultiplier = 0.65, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
Edit

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