--[[ This file is part of ThothAI. ThothAI is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. ThothAI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with ThothAI. If not, see . ]]-- --THIS FILE ONLY AFFECTS HOMUNCULUS WHEN YOU USE /hoai AND GET "Homunculus has been activated with the basic AI" MESSAGE! -----------------------configurables --for most values in this file, yes = 1, no = 0. the rest will specify that other numbers can be used. --choose a skill level for homunculus skills. if 0, or you don't have the skill, the skill will be disabled. LifAvoidLvl = 5 --Urgent escape // emergency avoid LifHealLvl = 5 --Touch of Heal // Healing Hands. this will be impossible to use if stuck in mental change or emergency avoid delays. LifChangeLvl = 3 --Mental Change FilirMoveLvl = 5 --Fleet Move // Flitting FilirMoonLvl = 5 --Moonlight FilirFlightLvl = 5 --Accelerated Flight // Overspeed AmistrDefLvl = 5 --Defense // Amistr Bulwark AmistrCstLvl = 5 --Castling AmistrBloodLvl = 3 --Blood Lust VanCapriceLvl = 5 --Caprice --"defense" skills are. Defense // Amistr Bulwark, Accelerated Flight // Overspeed, parrying, autoguard, reflect shield, Mental Change(good offense is good defense heh) --because lif skill deleays interfere with each other, urgent escape and mental change will only be used together if nearby song is detected. --song detection is not perfect, if the bard moves while singing, AI will no longer detect a song. The song used is undeterminable, but bragi is always assumed. --mental change will only be used if enemy is detected UseDefenseSkill = 1 --Lif Urgent Escape, Filir Fleet Move, Mercenary 2 hand quicken, Amistr BloodLust(bloodlust will only be used if an enemy is detected --urgent escape will only be used near a bard song unless LifAlwaysSpeed = true UseQuicken = 1 --Lif Urgent Escape, Filir Fleet Move, Mercenary 2 hand quicken, Amistr BloodLust(bloodlust will only activate with onscreen enemies) VanUseChaotic = 1 --Chaotic Benediction lvl is chosen automatically, based on remaining hp of Owner/Homunculus LifAlwaysSpeed = 1 --if enabled, lif will always use urgent escape. due to skill delays, this will make it impossible to use mental change without bragi. LifAlwaysMental = 1 --if enabled, lif will always use mental change. note that urgent escape takes priority, and this won't do anything if stuck in skill delay. UseLimitBreak = 0 --calculated use of SBR44 and Bio Explosion vs players. SBR44 will only hit EMPBREAKTARGET who are attacking emperium (only sinx by default). --bio explosion count is +1 for every confirmed enemy, -2 for every confirmed ally, neutrals and nonplayers are not counted. VanExThreshold = 5 --minimum number of confirmed hostile players in range before using Bio Explosion. UseAtkSkills = 1 --attack skills are caprice, moonlight, doublestrafe, pierce, bash, spiralpierce --Use rescue skills based on remaining Owner HP. rescue skills are Castling, Touch of Heal // Healing Hands, ScapeGoat. UseRescueSkill = 1 RescueHpPercent = 30 --what Owner HP % is before using rescue skill --AI starts in follow mode and switches to it when standby key is pressed once. move mode is triggered when you tell homun/merc to move a location. FollowChaseDown = 1 --when in follow mode, chase after enemies? MoveChaseDown = 1 --when in move mode, chase after enemies? --how long to wait before taking action on spawning or mapchange. even if alch is invulnerable, homun/merc is not. don't ever put this above 3000 (3 seconds) SpawnWait = 0 --3000 MaxDistance = 14 --when beyond this distance, drops everything, switches to follow mode, and returns to owner. if set above 14, will leave homun/merc offscreen. --note that the below settings will be ignored when kiting FollowDistance = 2 --follow distance when idle or not chasing FollowMax = 12 --maximum distance while in follow mode. also affects chasing down enemies in follow mode MoveRadius = 7 --once you tell homun/merc to move, the maximum distance it will move from that point IdleDistance = 1 -- if you hit the standby key 3 times, doing anything but sitting, homun will become idle and do nothing except emergency actions. this is the follow distance for idlestate. -- any value but "NONE" or "NEUTRAL" will change the alliance or type. for usable values, see Const.lua -- the below can be used to make an "attack" command tell your pet to ignore the guild mindbreaker, or such. -- note that setting the incorrect values on a target can cause odd behavior. especially if the mercenary uses cast time spells. -- on manually attacking a target, (alt + left click on target), set alliance and type as: -- NOTE! manual targeting with homunculus is nearly impossible vs players, as it makes a menu popup! (alt+right click) ManAtkAlliance = ENEMY ManAtkType = PRIORITYTARGET --manually using a skill will set the target as the following alliance and type except for "NONE" or "NEUTRAL" as above --recovery skills are the exception, will set alliance to ALLYSTATUS --if neither is set to IGNORE, will use the skill ManSkillAlliance= ENEMY ManSkillType = PRIORITYTARGET --priority to attack certain targets, based on distance, who they attack, and who they are attacked by. higher values = higher relative priority. --Types and manually set alliance values also have effects on priority. --the default values will make homun try to protect your mercenary more than itself, as homun can be resurrected easily. -- a value of zero means distance, targeting or being targeted by them has no effect on priority. OwnerPriority =15 MercPriority =10 HomunPriority =7 FriendPriority =5 --limited only to whom they are being targeted by. allies, etc --when no known enemies, try to attack anything it can. useful pvm, this can be good or bad in a crowded pvp room... SuperAggro =0 AggroHP =0 --% of homun/merc hp before becoming aggressive. will still attack if attacked. set to 0 to always be aggressive AggroSP =0 --% of sp before becoming aggressive SuperPassive =0 --totally ignore all enemies. overrides SuperAggro AtkDLP =0 --best used with and overrides superpassive, this will atk "DLPTARGET" with the purpose of breaking animation delay --whether or not to write actor data to ActorList.lua. this is useful for preserving enemy list between deaths, summonings, and sharing data between mercenary/homun --note that only one client can use this at a time or VERY BAD THINGS HAPPEN and you will have to erase the contents --to set a value for an enemy or ally player permanently, place it in Actor_Presets.lua --to set all players on screen to ally (useful for your guild or teammates), sit down and press standby 3 times within 5 seconds. --doing so will greatly speed up checking for enemies, and enable status cure on sitting --to erase the contents of the actorlist, sit down and press standby 5 times within 5 seconds. you will get a popup. IMPORTANT with changing BG teams. WriteActorInfo =0 --amount of time before an afk popup appears. if you do not click immediately, client will disconnect. to reset timer, owner must move 1 cell. --this is useful to keep your homun from starving (and leaving!) if you afk and forget about it. AFKMaxTime = 75 -- in minutes. 1 hunger = 1 minute. set this below whatever you feed your homunculus to usually. never set above 75. MoveToSingers =1 --if a bard song is being used, move toward the bard every 20 seconds to refresh song. cannot detect what type of song. KiteHostiles =0 --enable kiting. specific monsters, players, and types can be set in Actor_Presets.lua KiteAllEnemies =0 --run away from everything! KiteDistance =4 --kite to this distance before doing anything else. note that kiting ignores followmax, moveradius, but not maxdistance. CheatMode = 1 --only for cheaters (you wouldn't cheat would you?) MiscWait = 6 --seconds PatrolDistance = 0 -- distance to patrol around owner when idle. if 0, Patrolling is disabled PatrolType = 1 --1 =box, 2 = diamond. box more practical, diamond more annoying. yes, I made this feature to be annoying