Pega-almas Podre
Rotting Soulcatcher
| Spectre | |
|---|---|
| Area | Fim da Jornada, Náufrago, O Refúgio Zigurate |
| Tags | allows_additional_projectiles, allows_inc_aoe, fire_affinity, humanoid, not_dex, not_str, physical_affinity, ranged, Unarmed_onhit_audio, undead, very_slow_movement, zombie |
| Packs |
Vida
200%
Energy Shield From Life
25%
Resistência
Damage
200%
Precisão
100%
Golpes Críticos Chance
5%
Attack Distance
4 ~ 14
Tempo de Ataque
1.5 Second
Damage Spread
±20%
Experiência
200%
Model Size
100%
Type
PirateBootyBlaster
Metadata
PirateBootyBlaster
The following values do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses.
Nível
65
Vida
13,110
2,023
663
3,278
Damage
425
Dano Mágico
425
Precisão
2,228
Tempo de Ataque
1.5
Experiência
43,014
Minion Life
12,564
Minion Energy Shield
3,141
Minion Damage
1,658
Minion Armour
2,023
The following values are skill base values and do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses, monster base damage(ex: The Maven 150% multiplier), monster rarity bonuses (ex: unique 70% more, unique attack 33% less).
MeleeAtAnimationSpeed
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser, AttackInPlace
Ataque Básico
Base Damage: 340—510
Chance de Golpe Crítico: 5%
Tempo de Ataque: 1.5 s
action attack or cast time uses animation length [1]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
MMSBootyBlasterSoulRelease
Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell, AttackInPlace
Tempo de Conjuração: 1 s
Habilidade de morteiro de monstro genérica. Igual ao projétil de monstro, mas com um efeito de impacto.
action attack or cast time uses animation length [1]
base deal no damage [1]
base is projectile [1]
projectile spread radius [10]
projectile uses contact position [1]
spell maximum action distance +% [-35]
use scaled contact offset [1]
GSSoulBlast
Triggerable, Spell, Damage, AttackInPlace
Chance de Golpe Crítico: 5%
Tempo de Conjuração: 1 s
base is projectile [1]
is area damage [1]
EASBootyBlasterSoulRelease
Spell
Tempo de Conjuração: 1 s
Tempo de Recarga: 2.15 s
action attack or cast time uses animation length [1]
spell maximum action distance +% [-55]
MPSBootyBlasterSoulRelease
Spell, Projectile, ProjectilesFromUser, Triggerable, Damage, AttackInPlace
Tempo de Conjuração: 1 s
Perfura todos os alvos
action attack or cast time uses animation length [1]
base deal no damage [1]
base is projectile [1]
monster projectile variation [1050]
projectile spread radius [20]
projectile uses contact position [1]
spell maximum action distance +% [-55]
use scaled contact offset [1]
MMSBootyBlasterSoulReleaseFlinch
Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell, AttackInPlace
Tempo de Conjuração: 1 s
Habilidade de morteiro de monstro genérica. Igual ao projétil de monstro, mas com um efeito de impacto.
action attack or cast time uses animation length [1]
base deal no damage [1]
base is projectile [1]
projectile uses contact position [1]
spell maximum action distance +% [-35]
use scaled contact offset [1]
Object Type
version 2
extends "Metadata/Monsters/Monster"
Stats
{
strafe_distance_+% = -60
set_base_heavy_stun_duration_ms = 4866
} -- src\Data\Spectres.lua
minions["Metadata/Monsters/Pirates/PirateBootyBlaster"] = {
fireResist = 0,
coldResist = 0,
lightningResist = 0,
chaosResist = 0,
name = "Rotting Soulcatcher",
life = 2,
energyShield = 0.25,
damage = 2,
damageSpread = 0.2,
attackTime = 1.5,
attackRange = 14,
accuracy = 1,
skillList = {
"MeleeAtAnimationSpeed",
"MPSBootyBlasterSoulRelease",
"MMSBootyBlasterSoulRelease",
"MMSBootyBlasterSoulReleaseFlinch",
"GSSoulBlast",
"EASBootyBlasterSoulRelease",
},
modList = {
},
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeed"] = {
name = "Basic Attack",
hidden = true,
color = ,
baseEffectiveness = 0,
incrementalEffectiveness = 0,
skillTypes = {
[SkillType.Attack] = true,
[SkillType.RangedAttack] = true,
[SkillType.MirageArcherCanUse] = true,
[SkillType.Projectile] = true,
[SkillType.MeleeSingleTarget] = true,
[SkillType.Melee] = true,
[SkillType.ProjectilesFromUser] = true,
[SkillType.AttackInPlace] = true,
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
attack = true,
melee = true,
projectile = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"skill_can_fire_arrows",
"skill_can_fire_wand_projectiles",
"action_attack_or_cast_time_uses_animation_length",
"projectile_uses_contact_position",
"use_scaled_contact_offset",
},
levels = {
[1] = {levelRequirement = 1, statInterpolation = {}, cost = { }, },
},
}
-- src\Data\Skills\spectre.lua
skills["MPSBootyBlasterSoulRelease"] = {
name = "MPSBootyBlasterSoulRelease",
hidden = true,
color = ,
baseEffectiveness = 0,
incrementalEffectiveness = 0,
skillTypes = {
[SkillType.Spell] = true,
[SkillType.Projectile] = true,
[SkillType.ProjectilesFromUser] = true,
[SkillType.Triggerable] = true,
[SkillType.Damage] = true,
[SkillType.AttackInPlace] = true,
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
spell = true,
projectile = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"monster_projectile_variation",
"spell_maximum_action_distance_+%",
"projectile_spread_radius",
"base_is_projectile",
"projectile_uses_contact_position",
"use_scaled_contact_offset",
"action_attack_or_cast_time_uses_animation_length",
"base_deal_no_damage",
"always_pierce",
},
levels = {
[1] = {1050, -55, 20, levelRequirement = 1, statInterpolation = {}, cost = { }, },
},
}
-- src\Data\Skills\spectre.lua
skills["MMSBootyBlasterSoulRelease"] = {
name = "MMSBootyBlasterSoulRelease",
hidden = true,
color = ,
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,
[SkillType.AttackInPlace] = true,
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
area = true,
spell = true,
projectile = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"projectile_spread_radius",
"spell_maximum_action_distance_+%",
"base_deal_no_damage",
"base_is_projectile",
"projectile_uses_contact_position",
"use_scaled_contact_offset",
"action_attack_or_cast_time_uses_animation_length",
},
levels = {
[1] = {10, -35, levelRequirement = 1, statInterpolation = {}, cost = { }, },
},
}
-- src\Data\Skills\spectre.lua
skills["MMSBootyBlasterSoulReleaseFlinch"] = {
name = "MMSBootyBlasterSoulReleaseFlinch",
hidden = true,
color = ,
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,
[SkillType.AttackInPlace] = true,
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
area = true,
spell = true,
projectile = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"spell_maximum_action_distance_+%",
"base_deal_no_damage",
"base_is_projectile",
"projectile_uses_contact_position",
"use_scaled_contact_offset",
"action_attack_or_cast_time_uses_animation_length",
},
levels = {
[1] = {-35, levelRequirement = 1, statInterpolation = {}, cost = { }, },
},
}
-- src\Data\Skills\spectre.lua
skills["GSSoulBlast"] = {
name = "GSSoulBlast",
hidden = true,
color = ,
baseEffectiveness = 0,
incrementalEffectiveness = 0,
skillTypes = {
[SkillType.Triggerable] = true,
[SkillType.Spell] = true,
[SkillType.Damage] = true,
[SkillType.AttackInPlace] = true,
},
statDescriptionScope = "geometry_spell",
castTime = 1,
baseFlags = {
spell = true,
area = true,
projectile = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"spell_minimum_base_fire_damage",
"spell_maximum_base_fire_damage",
"is_area_damage",
"base_is_projectile",
},
levels = {
[1] = {0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, },
},
}
-- src\Data\Skills\spectre.lua
skills["EASBootyBlasterSoulRelease"] = {
name = "EASBootyBlasterSoulRelease",
hidden = true,
color = ,
baseEffectiveness = 0,
incrementalEffectiveness = 0,
skillTypes = {
[SkillType.Spell] = true,
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
spell = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"spell_maximum_action_distance_+%",
"action_attack_or_cast_time_uses_animation_length",
},
levels = {
[1] = {-55, levelRequirement = 1, statInterpolation = {}, cost = { }, },
},
}
| key | val |
|---|---|
| Stats.item_drop_slots | 1 |
| Stats.energy_shield_recharge_rate_per_minute_% | 750 |
| Stats.base_maximum_mana | 200 |
| Stats.maximum_physical_damage_reduction_% | 75 |
| Stats.base_maximum_all_resistances_% | 75 |
| Stats.monster_base_flask_charges_percent_of_monster_power | 50 |
| Stats.base_critical_hit_damage_bonus | 30 |
| Stats.max_endurance_charges | 3 |
| Stats.max_frenzy_charges | 3 |
| Stats.max_power_charges | 3 |
| Stats.object_inherent_base_maximum_block_%_from_ot | 50 |
| Stats.movement_velocity_cap | 128 |
| Stats.max_azurite_debuff_stacks | 10 |
| Stats.ignore_skill_weapon_restrictions | 1 |
| Stats.melee_hit_damage_stun_multiplier_+%_final_from_ot | 33 |
| Stats.physical_hit_damage_stun_multiplier_+%_final_from_ot | 100 |
| Stats.scale_melee_range_to_actor_scale | 1 |
| Stats.use_melee_pattern_range | 1 |
| Stats.melee_swing_not_scaled_by_area_modifiers | 1 |
| Stats.actor_scale_+%_limit | 200 |
| Stats.base_heavy_stun_duration_ms | 4866 |
| Stats.melee_defer_damage_prediction | 1 |
| Stats.poise_decay_delay_ms | 8000 |
| Stats.poise_decay_%_per_second | 5 |
| Stats.base_block_angle_degrees | 180 |
| Stats.action_attack_or_cast_time_uses_animation_length | 1 |
| Stats.slow_potency_+%_final_per_additional_player | -10 |
| Stats.check_for_targets_between_initiator_and_projectile_source | 1 |
| Stats.maximum_life_+%_final_per_additional_player | 50 |
| Stats.maximum_energy_shield_+%_final_per_additional_player | 50 |
| Stats.poise_threshold_+%_final_per_additional_player | 50 |
| Stats.stun_base_duration_override_ms | 500 |
| Stats.bleeding_moving_damage_%_of_base_override | 200 |
| Stats.strafe_distance_+% | -60 |
| ObjectMagicProperties.stat_description_list | Metadata/StatDescriptions/monster_stat_descriptions.csd |
| Positioned.blocking | true |
| Positioned.team | 0 |
| Positioned.serialise_collidable | true |
| BaseEvents.server_only | true |
| Actor.basic_action | Move, MoveForced, MoveToFormation, Flee, StrafeLeft, StrafeRight, StrafeRandom, Advance, DoNothing, MonsterPickup, MinionInteraction |
| Actor.slow_animations_go_to_idle | false |
Pega-almas Podre
Morto-vivo
Rotting Soulcatcher
| Spectre | |
|---|---|
| Tags | allows_additional_projectiles, allows_inc_aoe, fire_affinity, humanoid, not_dex, not_str, physical_affinity, ranged, Unarmed_onhit_audio, undead, very_slow_movement, zombie |
Vida
200%
Energy Shield From Life
25%
Resistência
Damage
200%
Precisão
100%
Golpes Críticos Chance
5%
Attack Distance
4 ~ 14
Tempo de Ataque
1.5 Second
Damage Spread
±20%
Experiência
200%
Model Size
100%
Type
PirateBootyBlaster
Metadata
PirateBootyBlasterRunemarked
The following values do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses.
Nível
68
Vida
16,514
2,413
708
4,129
Damage
466
Dano Mágico
466
Precisão
2,502
Tempo de Ataque
1.5
Experiência
57,268
Minion Life
13,860
Minion Energy Shield
3,465
Minion Damage
1,938
Minion Armour
2,413
The following values are skill base values and do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses, monster base damage(ex: The Maven 150% multiplier), monster rarity bonuses (ex: unique 70% more, unique attack 33% less).
MeleeAtAnimationSpeed
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser, AttackInPlace
Ataque Básico
Base Damage: 373—559
Chance de Golpe Crítico: 5%
Tempo de Ataque: 1.5 s
action attack or cast time uses animation length [1]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
MMSBootyBlasterSoulRelease
Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell, AttackInPlace
Tempo de Conjuração: 1 s
Habilidade de morteiro de monstro genérica. Igual ao projétil de monstro, mas com um efeito de impacto.
action attack or cast time uses animation length [1]
base deal no damage [1]
base is projectile [1]
projectile spread radius [10]
projectile uses contact position [1]
spell maximum action distance +% [-35]
use scaled contact offset [1]
GSSoulBlast
Triggerable, Spell, Damage, AttackInPlace
Chance de Golpe Crítico: 5%
Tempo de Conjuração: 1 s
base is projectile [1]
is area damage [1]
EASBootyBlasterSoulRelease
Spell
Tempo de Conjuração: 1 s
Tempo de Recarga: 2.15 s
action attack or cast time uses animation length [1]
spell maximum action distance +% [-55]
MPSBootyBlasterSoulRelease
Spell, Projectile, ProjectilesFromUser, Triggerable, Damage, AttackInPlace
Tempo de Conjuração: 1 s
Perfura todos os alvos
action attack or cast time uses animation length [1]
base deal no damage [1]
base is projectile [1]
monster projectile variation [1050]
projectile spread radius [20]
projectile uses contact position [1]
spell maximum action distance +% [-55]
use scaled contact offset [1]
MMSBootyBlasterSoulReleaseFlinch
Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell, AttackInPlace
Tempo de Conjuração: 1 s
Habilidade de morteiro de monstro genérica. Igual ao projétil de monstro, mas com um efeito de impacto.
action attack or cast time uses animation length [1]
base deal no damage [1]
base is projectile [1]
projectile uses contact position [1]
spell maximum action distance +% [-35]
use scaled contact offset [1]
Object Type
-- src\Data\Spectres.lua
minions["Metadata/Monsters/Pirates/Runemarked/PirateBootyBlasterRunemarked"] = {
fireResist = 0,
coldResist = 0,
lightningResist = 0,
chaosResist = 0,
name = "Rotting Soulcatcher",
life = 2,
energyShield = 0.25,
damage = 2,
damageSpread = 0.2,
attackTime = 1.5,
attackRange = 14,
accuracy = 1,
skillList = {
"MeleeAtAnimationSpeed",
"MPSBootyBlasterSoulRelease",
"MMSBootyBlasterSoulRelease",
"MMSBootyBlasterSoulReleaseFlinch",
"GSSoulBlast",
"EASBootyBlasterSoulRelease",
},
modList = {
},
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeed"] = {
name = "Basic Attack",
hidden = true,
color = ,
baseEffectiveness = 0,
incrementalEffectiveness = 0,
skillTypes = {
[SkillType.Attack] = true,
[SkillType.RangedAttack] = true,
[SkillType.MirageArcherCanUse] = true,
[SkillType.Projectile] = true,
[SkillType.MeleeSingleTarget] = true,
[SkillType.Melee] = true,
[SkillType.ProjectilesFromUser] = true,
[SkillType.AttackInPlace] = true,
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
attack = true,
melee = true,
projectile = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"skill_can_fire_arrows",
"skill_can_fire_wand_projectiles",
"action_attack_or_cast_time_uses_animation_length",
"projectile_uses_contact_position",
"use_scaled_contact_offset",
},
levels = {
[1] = {levelRequirement = 1, statInterpolation = {}, cost = { }, },
},
}
-- src\Data\Skills\spectre.lua
skills["MPSBootyBlasterSoulRelease"] = {
name = "MPSBootyBlasterSoulRelease",
hidden = true,
color = ,
baseEffectiveness = 0,
incrementalEffectiveness = 0,
skillTypes = {
[SkillType.Spell] = true,
[SkillType.Projectile] = true,
[SkillType.ProjectilesFromUser] = true,
[SkillType.Triggerable] = true,
[SkillType.Damage] = true,
[SkillType.AttackInPlace] = true,
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
spell = true,
projectile = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"monster_projectile_variation",
"spell_maximum_action_distance_+%",
"projectile_spread_radius",
"base_is_projectile",
"projectile_uses_contact_position",
"use_scaled_contact_offset",
"action_attack_or_cast_time_uses_animation_length",
"base_deal_no_damage",
"always_pierce",
},
levels = {
[1] = {1050, -55, 20, levelRequirement = 1, statInterpolation = {}, cost = { }, },
},
}
-- src\Data\Skills\spectre.lua
skills["MMSBootyBlasterSoulRelease"] = {
name = "MMSBootyBlasterSoulRelease",
hidden = true,
color = ,
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,
[SkillType.AttackInPlace] = true,
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
area = true,
spell = true,
projectile = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"projectile_spread_radius",
"spell_maximum_action_distance_+%",
"base_deal_no_damage",
"base_is_projectile",
"projectile_uses_contact_position",
"use_scaled_contact_offset",
"action_attack_or_cast_time_uses_animation_length",
},
levels = {
[1] = {10, -35, levelRequirement = 1, statInterpolation = {}, cost = { }, },
},
}
-- src\Data\Skills\spectre.lua
skills["MMSBootyBlasterSoulReleaseFlinch"] = {
name = "MMSBootyBlasterSoulReleaseFlinch",
hidden = true,
color = ,
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,
[SkillType.AttackInPlace] = true,
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
area = true,
spell = true,
projectile = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"spell_maximum_action_distance_+%",
"base_deal_no_damage",
"base_is_projectile",
"projectile_uses_contact_position",
"use_scaled_contact_offset",
"action_attack_or_cast_time_uses_animation_length",
},
levels = {
[1] = {-35, levelRequirement = 1, statInterpolation = {}, cost = { }, },
},
}
-- src\Data\Skills\spectre.lua
skills["GSSoulBlast"] = {
name = "GSSoulBlast",
hidden = true,
color = ,
baseEffectiveness = 0,
incrementalEffectiveness = 0,
skillTypes = {
[SkillType.Triggerable] = true,
[SkillType.Spell] = true,
[SkillType.Damage] = true,
[SkillType.AttackInPlace] = true,
},
statDescriptionScope = "geometry_spell",
castTime = 1,
baseFlags = {
spell = true,
area = true,
projectile = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"spell_minimum_base_fire_damage",
"spell_maximum_base_fire_damage",
"is_area_damage",
"base_is_projectile",
},
levels = {
[1] = {0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, },
},
}
-- src\Data\Skills\spectre.lua
skills["EASBootyBlasterSoulRelease"] = {
name = "EASBootyBlasterSoulRelease",
hidden = true,
color = ,
baseEffectiveness = 0,
incrementalEffectiveness = 0,
skillTypes = {
[SkillType.Spell] = true,
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
spell = true,
},
baseMods = {
},
qualityStats = {
},
stats = {
"spell_maximum_action_distance_+%",
"action_attack_or_cast_time_uses_animation_length",
},
levels = {
[1] = {-55, levelRequirement = 1, statInterpolation = {}, cost = { }, },
},
}
Edit
Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.
Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.












