Commit e1de1801 authored by JoyJ's avatar JoyJ

add venomancer and 7.32 stuff

parent cda235f7
......@@ -118,14 +118,14 @@ local abilityR = bot:GetAbilityByName( sAbilityList[6] )
local castQDesire, castQTarget
local castWDesire, castWTarget
local castRDesire, castRTarget
local castRDesire
local nKeepMana, nMP, nHP, nLV, hEnemyList, hAllyList, botTarget, sMotive
local aetherRange = 0
function X.SkillsComplement()
if J.CanNotUseAbility( bot ) or bot:IsInvisible() then return end
if J.CanNotUseAbilityIgnoreStun( bot ) or bot:IsInvisible() then return end
nKeepMana = 350
aetherRange = 0
......@@ -136,8 +136,20 @@ function X.SkillsComplement()
hEnemyList = bot:GetNearbyHeroes( 1600, true, BOT_MODE_NONE )
hAllyList = J.GetAlliesNearLoc( bot:GetLocation(), 1600 )
local aether = J.IsItemAvailable( "item_aether_lens" )
if aether ~= nil then aetherRange = 250 end
aetherRange = J.GetBonusCastRange( bot )
castRDesire, sMotive = X.ConsiderR()
if ( castRDesire > 0 )
then
J.SetReportMotive( bDebugMode, sMotive )
J.SetQueuePtToINT( bot, true )
bot:ActionQueue_UseAbility( abilityR )
return
end
if bot:IsStunned() then return end
castQDesire, castQTarget, sMotive = X.ConsiderQ()
if ( castQDesire > 0 ) then
......@@ -163,17 +175,6 @@ function X.SkillsComplement()
end
castRDesire, castRTarget, sMotive = X.ConsiderR()
if ( castRDesire > 0 )
then
J.SetReportMotive( bDebugMode, sMotive )
J.SetQueuePtToINT( bot, true )
bot:ActionQueue_UseAbility( abilityR )
return
end
end
function X.ConsiderQ()
......@@ -187,6 +188,20 @@ function X.ConsiderQ()
local nDamage = abilityQ:GetAbilityDamage()
local nDamageType = DAMAGE_TYPE_MAGICAL
local nInRangeEnemyList = bot:GetNearbyHeroes( nCastRange, true, BOT_MODE_NONE )
local heroList = J.FilterGroup(nInRangeEnemyList,function(u)
return J.IsValidHero(u) and J.IsInRange( bot, u, nCastRange )
and J.CanCastOnNonMagicImmune(u)
end)
--击杀,WR期间无脑用
for _, npcEnemy in pairs(heroList)
do
if J.WillMagicKillTarget(bot, npcEnemy, nDamage, nCastPoint + 1.0)
or J.GetModifierTime(bot, 'modifier_abaddon_borrowed_time')>nCastPoint
or J.GetModifierTime(bot, 'modifier_abaddon_aphotic_shield')>nCastPoint then
return BOT_ACTION_DESIRE_HIGH, npcEnemy, "Q-对"..J.Chat.GetNormName( npcEnemy ).."耗血"
end
end
--治疗队友
for _, npcAlly in pairs( hAllyList )
......@@ -196,7 +211,7 @@ function X.ConsiderQ()
and npcAlly ~= bot
and J.IsInRange( bot, npcAlly, nCastRange )
and J.CanCastOnNonMagicImmune( npcAlly )
and (J.GetHP( npcAlly ) < 0.3 or ((J.IsPushing(npcAlly) or npcAlly:WasRecentlyDamagedByAnyHero(3.0)) and J.GetHP(npcAlly)<0.5) )
and (J.GetHP( npcAlly ) < 0.3 or ((J.IsPushing(npcAlly) or npcAlly:WasRecentlyDamagedByAnyHero(3.0)) and J.GetHP(npcAlly)<0.7))
then
return BOT_ACTION_DESIRE_HIGH, npcAlly, "Q-治疗"..J.Chat.GetNormName( npcAlly )
end
......@@ -213,18 +228,6 @@ function X.ConsiderQ()
return BOT_ACTION_DESIRE_HIGH, botTarget, "Q-攻击"..J.Chat.GetNormName( botTarget )
end
for _, npcEnemy in pairs( hEnemyList )
do
if J.IsValidHero( npcEnemy )
and J.IsInRange( bot, npcEnemy, nCastRange )
and J.CanCastOnNonMagicImmune( npcEnemy )
and (J.WillMagicKillTarget(bot, npcEnemy, nDamage, nCastPoint) or (nSkillLV>1 and nMP > 0.6)
or J.GetModifierTime(bot, 'modifier_abaddon_borrowed_time')>nCastPoint
or J.GetModifierTime(bot, 'modifier_abaddon_aphotic_shield')>nCastPoint) then
return BOT_ACTION_DESIRE_HIGH, npcEnemy, "Q-对"..J.Chat.GetNormName( npcEnemy ).."耗血"
end
end
return BOT_ACTION_DESIRE_NONE
end
......
This diff is collapsed.
......@@ -18,10 +18,10 @@ Buff["creep_is_immune"] = {
Buff["enemy_is_immune"] = {
"modifier_necrolyte_reapers_scythe", --Nec大
"modifier_winter_wyvern_winters_curse", --冰龙大
"modifier_winter_wyvern_winters_curse_aura", --冰龙大
"modifier_troll_warlord_battle_trance", --巨魔大
"modifier_naga_siren_song_of_the_siren",--娜迦大
--"modifier_modifier_dazzle_shallow_grave",
--"modifier_oracle_false_promise_timer",
--"modifier_item_blade_mail_reflect",
......@@ -98,6 +98,8 @@ Buff["hero_is_healing"] = {
"modifier_item_spirit_vessel_heal",
"modifier_bottle_regeneration",
--"modifier_filler_heal",
"modifier_aegis_regen",
"modifier_rune_regen",
}
......@@ -107,21 +109,27 @@ Buff["hero_not_invisible"] = {
"modifier_item_dustofappearance",
"modifier_sniper_assassinate",
"modifier_bounty_hunter_track",
--大鱼大
--血魔嗜血
--祸乱魔爪
--渔网诱捕
--阿托斯
--小Y锁
--米波网
--娜迦网
--冰女冰
--火猫索
--军团决斗
--骨法吸
--屠夫大
--大树大
--孽主深渊
"modifier_slardar_amplify_damage",
"modifier_bloodseeker_thirst_vision",
"modifier_bane_fiends_grip",
"modifier_bane_fiends_grip_cast_illusion",
"modifier_oracle_fortunes_end_purge",
"modifier_shadow_shaman_shackles",
"modifier_rod_of_atos_debuff",
"modifier_gungnir_debuff",
"modifier_meepo_earthbind",
"modifier_naga_siren_ensnare",
"modifier_crystal_maiden_frostbite",
"modifier_ember_spirit_searing_chains",
"modifier_legion_commander_duel",
"modifier_pugna_life_drain",
"modifier_pudge_dismember",
"modifier_treant_natures_guise_root",
"modifier_treant_overgrowth",
"modifier_abyssal_underlord_pit_of_malice_ensare",
"modifier_aghsfort_lich_sinister_gaze",
"modifier_lone_druid_spirit_bear_entangle_effect",
"modifier_troll_warlord_berserkers_rage_ensnare",
}
......
......@@ -381,6 +381,8 @@ local sConsumableList = {
'item_cheese',
'item_refresher_shard',
'item_aegis',
'item_ultimate_scepter_roshan',
'item_aghanims_shard_roshan',
}
local tConsumableItemList = {}
......@@ -441,62 +443,72 @@ local tNeutralItemLevelList = {
['item_arcane_ring'] = 35,
['item_broom_handle'] = 33,
['item_faded_broach'] = 31,
['item_keen_optic'] = 29, -- 基恩镜片
['item_ocean_heart'] = 43,
-- ['item_faded_broach'] = 31,
-- ['item_keen_optic'] = 29, -- 基恩镜片
-- ['item_ocean_heart'] = 43,
['item_royal_jelly'] = 96,
['item_trusty_shovel'] = 32,
['item_ironwood_tree'] = 44,
['item_mysterious_hat'] = 35,
['item_chipped_vest'] = 34,
-- ['item_chipped_vest'] = 34,
['item_possessed_mask'] = 33,
['item_pogo_stick'] = 30,
['item_unstable_wand'] = 30,
['item_seeds_of_serenity'] = 30,
['item_lance_of_pursuit'] = 30,
['item_occult_bracelet'] = 30,
['item_dragon_scale'] = 38, -- 炎龙之鳞
['item_essence_ring'] = 55.5, -- 精华指环
-- ['item_essence_ring'] = 55.5, -- 精华指环
['item_grove_bow'] = 40, -- 林野长弓
['item_imp_claw'] = 51.5, -- 魔童之爪
-- ['item_imp_claw'] = 51.5, -- 魔童之爪
['item_nether_shawl'] = 28, -- 幽冥披巾
['item_philosophers_stone'] = 47.5, -- 贤者石
['item_pupils_gift'] = 41,
['item_ring_of_aquila'] = 46,
['item_vambrace'] = 52,
['item_quicksilver_amulet'] = 45,
-- ['item_quicksilver_amulet'] = 45,
['item_bullwhip'] = 48,
['item_misericorde'] = 40,
['item_eye_of_the_vizier'] = 40,
['item_specialists_array'] = 40,
['item_dagger_of_ristul'] = 40,
['item_enchanted_quiver'] = 44, -- 魔力箭袋
['item_mind_breaker'] = 55,
['item_orb_of_destruction'] = 53, -- 毁灭灵球
-- ['item_orb_of_destruction'] = 53, -- 毁灭灵球
['item_paladin_sword'] = 40, -- 骑士剑
['item_quickening_charm'] = 50,
['item_titan_sliver'] = 54, -- 巨神残铁
['item_spider_legs'] = 60,
-- ['item_spider_legs'] = 60,
['item_ceremonial_robe'] = 46,
['item_cloak_of_flames'] = 49,
['item_elven_tunic'] = 47,
['item_psychic_headband'] = 50,
['item_black_powder_bag'] = 50,
['item_ogre_seal_totem'] = 50,
['item_spy_gadget'] = 36, -- 望远镜
['item_flicker'] = 49, -- 闪灵
['item_illusionsts_cape'] = 64,
['item_minotaur_horn'] = 65, -- 恶牛角
-- ['item_illusionsts_cape'] = 64,
-- ['item_minotaur_horn'] = 65, -- 恶牛角
['item_ninja_gear'] = 58, -- 忍者用具
['item_spell_prism'] = 69, -- 法术棱镜
['item_the_leveller'] = 61, -- 平世剑
-- ['item_the_leveller'] = 61, -- 平世剑
['item_timeless_relic'] = 59, -- 永恒遗物
['item_trickster_cloak'] = 62,
['item_stormcrafter'] = 68,
['item_penta_edged_sword'] = 57,
['item_heavy_blade'] = 55,
['item_ascetic_cap'] = 55,
['item_havoc_hammer'] = 55,
['item_apex'] = 72, -- 极品
['item_ballista'] = 36.5, -- 弩炮
['item_ballista'] = 76.5, -- 弩炮
['item_demonicon'] = 73,
['item_desolator_2'] = 75,
['item_ex_machina'] = 71,
......@@ -505,9 +517,9 @@ local tNeutralItemLevelList = {
['item_mirror_shield'] = 77,
['item_pirate_hat'] = 74,
['item_seer_stone'] = 40,
['item_book_of_shadows'] = 49,
['item_giants_ring'] = 70,
['item_force_field'] = 70,
}
......@@ -900,8 +912,6 @@ Item['item_sven_outfit'] = { 'item_tango', 'item_flask', 'item_quelling_blade
Item['item_bristleback_outfit'] = { 'item_tango', 'item_flask', 'item_quelling_blade', 'item_double_branches', 'item_circlet', 'item_magic_stick', 'item_gauntlets', 'item_recipe_bracer', 'item_flask', 'item_recipe_magic_wand', 'item_power_treads_str' }
Item['item_centaur_outfit'] = { 'item_tango', 'item_flask', 'item_quelling_blade', 'item_double_branches', 'item_circlet', 'item_magic_stick', 'item_gauntlets', 'item_recipe_bracer', 'item_flask', 'item_recipe_magic_wand', 'item_tranquil_boots' }
----------------------------------------------------------------------
......
......@@ -111,12 +111,9 @@ function X.IsMinionWithNoSkill(unit_name)
or unit_name == "npc_dota_neutral_kobold_tunneler"
or unit_name == "npc_dota_neutral_kobold_taskmaster"
or unit_name == "npc_dota_neutral_centaur_outrunner"
or unit_name == "npc_dota_neutral_fel_beast"
or unit_name == "npc_dota_neutral_polar_furbolg_champion"
or unit_name == "npc_dota_neutral_ogre_mauler"
or unit_name == "npc_dota_neutral_giant_wolf"
or unit_name == "npc_dota_neutral_alpha_wolf"
or unit_name == "npc_dota_neutral_wildkin"
or unit_name == "npc_dota_neutral_jungle_stalker"
or unit_name == "npc_dota_neutral_elder_jungle_stalker"
or unit_name == "npc_dota_neutral_prowler_acolyte"
......@@ -126,9 +123,7 @@ function X.IsMinionWithNoSkill(unit_name)
or unit_name == "npc_dota_neutral_gnoll_assassin"
or unit_name == "npc_dota_neutral_ghost"
or unit_name == "npc_dota_wraith_ghost"
or unit_name == "npc_dota_neutral_dark_troll"
or unit_name == "npc_dota_neutral_forest_troll_berserker"
or unit_name == "npc_dota_neutral_harpy_scout"
or unit_name == "npc_dota_neutral_black_drake"
or unit_name == "npc_dota_dark_troll_warlord_skeleton_warrior"
or unit_name == "npc_dota_necronomicon_warrior_1"
......@@ -158,7 +153,10 @@ local independent = {
"npc_dota_brewmaster_storm_3",
"npc_dota_brewmaster_fire_1",
"npc_dota_brewmaster_fire_2",
"npc_dota_brewmaster_fire_3"
"npc_dota_brewmaster_fire_3",
"npc_dota_brewmaster_void_1",
"npc_dota_brewmaster_void_2",
"npc_dota_brewmaster_void_3"
}
function X.IsValidUnit(unit)
......@@ -559,6 +557,13 @@ end
-----------MINION WITH SKILLS
function X.IsMinionWithSkill(unit_name)
return unit_name == "npc_dota_neutral_centaur_khan"
or unit_name == "npc_dota_neutral_fel_beast"
or unit_name == "npc_dota_neutral_warpine_raider"
or unit_name == "npc_dota_neutral_ogre_mauler"
or unit_name == "npc_dota_neutral_wildkin"
or unit_name == "npc_dota_neutral_ice_shaman"
or unit_name == "npc_dota_neutral_dark_troll"
or unit_name == "npc_dota_neutral_harpy_scout"
or unit_name == "npc_dota_neutral_polar_furbolg_ursa_warrior"
or unit_name == "npc_dota_neutral_mud_golem"
or unit_name == "npc_dota_neutral_mud_golem_split"
......
......@@ -670,9 +670,9 @@ local function ItemUsageComplement()
botTarget = J.GetProperTarget( bot )
nMode = bot:GetActiveMode()
local aether = J.IsItemAvailable( "item_aether_lens" )
if aether ~= nil then aetherRange = 250 else aetherRange = 0 end
aetherRange = J.GetBonusCastRange( bot )
local nItemSlot = { 5, 4, 3, 2, 1, 0, 15, 16 }
for _, nSlot in pairs( nItemSlot )
......
......@@ -233,6 +233,7 @@ local sHasDevelopmentHeroList = {
"npc_dota_hero_mirana",
"npc_dota_hero_muerta",
"npc_dota_hero_visage",
'npc_dota_hero_venomancer',
}
......@@ -248,6 +249,7 @@ local sFirstList = {
"npc_dota_hero_death_prophet",
"npc_dota_hero_lion",
"npc_dota_hero_dazzle",
'npc_dota_hero_venomancer',
-- "npc_dota_hero_windrunner",
......@@ -375,6 +377,7 @@ local sMageList = {
-- "npc_dota_hero_windrunner",
"npc_dota_hero_queenofpain",
"npc_dota_hero_disruptor",
'npc_dota_hero_venomancer',
}
......@@ -460,6 +463,7 @@ local sMidList = {
"npc_dota_hero_sniper",
"npc_dota_hero_viper",
"npc_dota_hero_muerta",
'npc_dota_hero_venomancer',
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment