Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 64 additions & 22 deletions src/Data/Minions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,7 @@ minions["AncestralSpiritTurtle"] = {
modList = {
-- MonsterCannotBeSlowed [action_speed_cannot_be_reduced_below_base = 1]
-- MonsterCannotBeSlowed [movement_speed_cannot_be_reduced_below_base = 1]
-- MonsterCannotBeStunned1 [base_cannot_be_stunned = 1]
mod("StunImmune", "FLAG", 1, 0, 0), -- MonsterCannotBeStunned1 [base_cannot_be_stunned = 1]
-- MonsterNoDropsOrExperience [monster_no_drops_or_experience = 1]
-- set_item_drop_slots [set_item_drop_slots = 0]
-- set_action_attack_or_cast_time_uses_animation_length [set_action_attack_or_cast_time_uses_animation_length = 0]
Expand Down Expand Up @@ -557,7 +557,7 @@ minions["UnearthBoneConstruct"] = {
-- MonsterNoDropsOrExperience [monster_no_drops_or_experience = 1]
-- set_item_drop_slots [set_item_drop_slots = 0]
-- set_action_attack_or_cast_time_uses_animation_length [set_action_attack_or_cast_time_uses_animation_length = 0]
-- set_base_heavy_stun_duration_ms [set_base_heavy_stun_duration_ms = 2930]
mod("StunDuration", "OVERRIDE", 2.93, 0, 0), -- set_base_heavy_stun_duration_ms [set_base_heavy_stun_duration_ms = 2930]
},
}

Expand Down Expand Up @@ -630,11 +630,11 @@ minions["ManifestWeapon"] = {
-- minion_does_not_equip_quiver [minion_does_not_equip_quiver = 1]
-- monster_gets_item_stats [monster_gets_item_stats = 1]
-- untargetable_by_monster_ai [untargetable_by_monster_ai = 1]
-- set_base_cannot_be_damaged [set_base_cannot_be_damaged = 1]
mod("DamageTaken", "MORE", -100, 0, 0), -- set_base_cannot_be_damaged [set_base_cannot_be_damaged = 1]
-- set_cannot_be_chained_from [set_cannot_be_chained_from = 1]
-- set_base_maximum_life_is_one [set_base_maximum_life_is_one = 1]
-- base_cannot_be_stunned [base_cannot_be_stunned = 1]
-- cannot_be_knocked_back [cannot_be_knocked_back = 1]
mod("Life", "OVERRIDE", 1, 0, 0), -- set_base_maximum_life_is_one [set_base_maximum_life_is_one = 1]
mod("StunImmune", "FLAG", 1, 0, 0), -- base_cannot_be_stunned [base_cannot_be_stunned = 1]
mod("KnockbackImmune", "FLAG", 1, 0, 0), -- cannot_be_knocked_back [cannot_be_knocked_back = 1]
-- set_cannot_be_splashed_from [set_cannot_be_splashed_from = 1]
-- immune_to_auras_from_other_teams [immune_to_auras_from_other_teams = 1]
-- hide_buff_visuals [hide_buff_visuals = 1]
Expand Down Expand Up @@ -667,21 +667,21 @@ minions["RavenousSwarm"] = {
modList = {
-- set_item_drop_slots [set_item_drop_slots = 0]
-- set_action_attack_or_cast_time_uses_animation_length [set_action_attack_or_cast_time_uses_animation_length = 0]
-- immune_to_curses [immune_to_curses = 1]
mod("CurseImmune", "FLAG", 1, 0, 0), -- immune_to_curses [immune_to_curses = 1]
-- immune_to_auras_from_other_entities [immune_to_auras_from_other_entities = 1]
-- set_item_drop_slots [set_item_drop_slots = 0]
-- mana_regeneration_rate_per_minute_% [mana_regeneration_rate_per_minute_% = 100]
-- base_maximum_mana [base_maximum_mana = 100000]
-- set_monster_no_drops_or_experience [set_monster_no_drops_or_experience = 1]
-- set_monster_do_not_fracture [set_monster_do_not_fracture = 1]
-- set_max_frenzy_charges [set_max_frenzy_charges = 0]
-- set_max_endurance_charges [set_max_endurance_charges = 0]
-- set_max_power_charges [set_max_power_charges = 0]
-- is_hidden_monster [is_hidden_monster = 1]
mod("FrenzyChargesMax", "OVERRIDE", 0, 0, 0), -- set_max_frenzy_charges [set_max_frenzy_charges = 0]
mod("EnduranceChargesMax", "OVERRIDE", 0, 0, 0), -- set_max_endurance_charges [set_max_endurance_charges = 0]
mod("PowerChargesMax", "OVERRIDE", 0, 0, 0), -- set_max_power_charges [set_max_power_charges = 0]
mod("HiddenMonster", "FLAG", 1, 0, 0), -- is_hidden_monster [is_hidden_monster = 1]
mod("Condition:CannotBeDamaged", "FLAG", 1, 0, 0), -- base_cannot_be_damaged [base_cannot_be_damaged = 1]
-- base_cannot_be_stunned [base_cannot_be_stunned = 1]
-- cannot_be_knocked_back [cannot_be_knocked_back = 1]
-- base_cannot_be_frozen [base_cannot_be_frozen = 1]
mod("StunImmune", "FLAG", 1, 0, 0), -- base_cannot_be_stunned [base_cannot_be_stunned = 1]
mod("KnockbackImmune", "FLAG", 1, 0, 0), -- cannot_be_knocked_back [cannot_be_knocked_back = 1]
mod("FreezeImmune", "FLAG", 1, 0, 0), -- base_cannot_be_frozen [base_cannot_be_frozen = 1]
mod("Life", "OVERRIDE", 1, 0, 0), -- base_maximum_life_is_one [base_maximum_life_is_one = 1]
},
}
Expand Down Expand Up @@ -713,24 +713,66 @@ minions["LivingLightning"] = {
-- MonsterNoDropsOrExperience [monster_no_drops_or_experience = 1]
-- set_item_drop_slots [set_item_drop_slots = 0]
-- set_action_attack_or_cast_time_uses_animation_length [set_action_attack_or_cast_time_uses_animation_length = 0]
-- immune_to_curses [immune_to_curses = 1]
mod("CurseImmune", "FLAG", 1, 0, 0), -- immune_to_curses [immune_to_curses = 1]
-- immune_to_auras_from_other_teams [immune_to_auras_from_other_teams = 1]
-- set_item_drop_slots [set_item_drop_slots = 0]
-- set_monster_no_drops_or_experience [set_monster_no_drops_or_experience = 1]
-- set_monster_do_not_fracture [set_monster_do_not_fracture = 1]
-- set_max_frenzy_charges [set_max_frenzy_charges = 0]
-- set_max_endurance_charges [set_max_endurance_charges = 0]
-- set_max_power_charges [set_max_power_charges = 0]
-- base_cannot_be_stunned [base_cannot_be_stunned = 1]
-- cannot_be_knocked_back [cannot_be_knocked_back = 1]
mod("FrenzyChargesMax", "OVERRIDE", 0, 0, 0), -- set_max_frenzy_charges [set_max_frenzy_charges = 0]
mod("EnduranceChargesMax", "OVERRIDE", 0, 0, 0), -- set_max_endurance_charges [set_max_endurance_charges = 0]
mod("PowerChargesMax", "OVERRIDE", 0, 0, 0), -- set_max_power_charges [set_max_power_charges = 0]
mod("StunImmune", "FLAG", 1, 0, 0), -- base_cannot_be_stunned [base_cannot_be_stunned = 1]
mod("KnockbackImmune", "FLAG", 1, 0, 0), -- cannot_be_knocked_back [cannot_be_knocked_back = 1]
-- set_phase_through_objects [set_phase_through_objects = 1]
-- untargetable_by_monster_ai [untargetable_by_monster_ai = 1]
-- set_minion_cannot_be_directed [set_minion_cannot_be_directed = 1]
-- set_base_cannot_be_damaged [set_base_cannot_be_damaged = 1]
mod("DamageTaken", "MORE", -100, 0, 0), -- set_base_cannot_be_damaged [set_base_cannot_be_damaged = 1]
-- set_cannot_be_chained_from [set_cannot_be_chained_from = 1]
-- set_base_maximum_life_is_one [set_base_maximum_life_is_one = 1]
mod("Life", "OVERRIDE", 1, 0, 0), -- set_base_maximum_life_is_one [set_base_maximum_life_is_one = 1]
-- set_cannot_be_splashed_from [set_cannot_be_splashed_from = 1]
-- hide_buff_visuals [hide_buff_visuals = 1]
-- hide_mini_life_bar [hide_mini_life_bar = 1]
},
}

minions["TacticianMinion"] = {
name = "Artillery Squad",
monsterTags = { "ranged", "Unarmed_onhit_audio", "very_slow_movement", },
life = 1,
baseDamageIgnoresAttackSpeed = true,
fireResist = 0,
coldResist = 0,
lightningResist = 0,
chaosResist = 0,
damage = 0.67,
damageSpread = 0.2,
attackTime = 1,
attackRange = 6,
accuracy = 1,
baseMovementSpeed = 8,
spectreReservation = 50,
companionReservation = 30,
spawnLocation = {
},
skillList = {
"DeathFromAboveDaemonMinion",
},
modList = {
mod("CurseImmune", "FLAG", 1, 0, 0), -- immune_to_curses [immune_to_curses = 1]
-- immune_to_auras_from_other_entities [immune_to_auras_from_other_entities = 1]
-- set_item_drop_slots [set_item_drop_slots = 0]
-- mana_regeneration_rate_per_minute_% [mana_regeneration_rate_per_minute_% = 100]
-- base_maximum_mana [base_maximum_mana = 100000]
-- set_monster_no_drops_or_experience [set_monster_no_drops_or_experience = 1]
-- set_monster_do_not_fracture [set_monster_do_not_fracture = 1]
mod("FrenzyChargesMax", "OVERRIDE", 0, 0, 0), -- set_max_frenzy_charges [set_max_frenzy_charges = 0]
mod("EnduranceChargesMax", "OVERRIDE", 0, 0, 0), -- set_max_endurance_charges [set_max_endurance_charges = 0]
mod("PowerChargesMax", "OVERRIDE", 0, 0, 0), -- set_max_power_charges [set_max_power_charges = 0]
mod("HiddenMonster", "FLAG", 1, 0, 0), -- is_hidden_monster [is_hidden_monster = 1]
mod("Condition:CannotBeDamaged", "FLAG", 1, 0, 0), -- base_cannot_be_damaged [base_cannot_be_damaged = 1]
mod("StunImmune", "FLAG", 1, 0, 0), -- base_cannot_be_stunned [base_cannot_be_stunned = 1]
mod("KnockbackImmune", "FLAG", 1, 0, 0), -- cannot_be_knocked_back [cannot_be_knocked_back = 1]
-- is_daemon [is_daemon = 1]
-- set_skill_can_be_active_blocked_from_all_directions [set_skill_can_be_active_blocked_from_all_directions = 1]
},
}
44 changes: 44 additions & 0 deletions src/Data/SkillStatMap.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2564,9 +2564,53 @@ return {
mod("MinionModifier", "LIST", { mod = mod("Damage", "MORE", nil) }),
value = -100,
},
["base_cannot_be_stunned"] = {
flag("StunImmune"),
},
["cannot_be_knocked_back"] = {
flag("KnockbackImmune"),
},
["immune_to_curses"] = {
flag("CurseImmune"),
},
["base_cannot_be_frozen"] = {
flag("FreezeImmune"),
},
["base_chaos_damage_does_not_damage_energy_shield_extra_hard"] = {
flag("ChaosNotDoubleESDamage"),
},
["cannot_recharge_energy_shield"] = {
flag("NoEnergyShieldRecharge"),
},
["is_hidden_monster"] = {
flag("HiddenMonster"),
},
["set_base_maximum_life_is_one"] = {
mod("Life", "OVERRIDE", nil),
},
["base_maximum_life_is_one"] = {
mod("Life", "OVERRIDE", nil),
},
["set_max_frenzy_charges"] = {
mod("FrenzyChargesMax", "OVERRIDE", nil),
},
["set_max_endurance_charges"] = {
mod("EnduranceChargesMax", "OVERRIDE", nil),
},
["set_max_power_charges"] = {
mod("PowerChargesMax", "OVERRIDE", nil),
},
["set_base_heavy_stun_duration_ms"] = {
mod("StunDuration", "OVERRIDE", nil),
div = 1000,
},
["stun_duration_on_self_+%"] = {
mod("StunDuration", "INC", nil),
},
["set_base_cannot_be_damaged"] = {
mod("DamageTaken", "MORE", nil),
value = -100,
},
--
-- Gem Levels / quality
--
Expand Down
50 changes: 50 additions & 0 deletions src/Data/Skills/minion.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1188,4 +1188,54 @@ skills["LivingLightningZap"] = {
},
},
}
}
skills["DeathFromAboveDaemonMinion"] = {
name = "Death From Above",
hidden = true,
description = "Fires a flare at a target location, attaching to an enemy if it lands on one. Then fires a series of arrow volleys centred around the flare.",
skillTypes = { [SkillType.Attack] = true, [SkillType.RangedAttack] = true, [SkillType.Rain] = true, [SkillType.Area] = true, [SkillType.Projectile] = true, [SkillType.ProjectilesNumberModifiersNotApplied] = true, },
castTime = 1,
qualityStats = {
},
levels = {
[1] = { baseMultiplier = 11.4, storedUses = 1, levelRequirement = 0, cooldown = 40, },
},
statSets = {
[1] = {
label = "Death From Above",
incrementalEffectiveness = 0.054999999701977,
statDescriptionScope = "death_from_above",
statMap = {
["death_from_above_number_of_volleys"] = {
skill("dpsMultiplier", nil),
},
},
baseFlags = {
attack = true,
projectile = true,
area = true,
},
constantStats = {
{ "death_from_above_volley_delay_ms", 2000 },
{ "death_from_above_number_of_volleys", 4 },
{ "explosion_delay_ms", 250 },
{ "active_skill_base_area_of_effect_radius", 140 },
{ "active_skill_base_secondary_area_of_effect_radius", 75 },
{ "command_minion_marker_additional_time_ms", 300 },
},
stats = {
"is_commandable_skill",
"base_is_projectile",
"is_area_damage",
"skill_cannot_be_frozen",
"skill_cannot_be_electrocuted",
"skill_cannot_be_knocked_back",
"skill_cannot_be_stunned",
"modifiers_to_projectile_count_do_not_apply",
},
levels = {
[1] = { actorLevel = 1, },
},
},
}
}
1 change: 1 addition & 0 deletions src/Data/Skills/other.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5623,6 +5623,7 @@ skills["SupportingFirePlayer"] = {
baseTypeName = "Supporting Fire",
fromTree = true,
minionList = {
"TacticianMinion",
},
color = 4,
description = "Recruit artillery Minions that takes up positions behind you. They will lay in wait for your Command then fire volleys of arrows at the target location.",
Expand Down
Loading