Check out all of the details of this month's Patch Notes, featuring the Mini-games + Quality of Life Update! https://mabinogi.nexon.net/news/91106/mini-games-quality-of-life-update-patch-notes-april-11th
[NEW MILLETIANS] Please note that all new forum users have to be approved before posting. This process can take up to 24 hours, and we appreciate your patience.
If this is your first visit, be sure to check out the Nexon Forums Code of Conduct. You have to register before you can post, so you can log in or create a forum name above to proceed. Thank you for your visit!

Pet AI's

ZintackZintack
Mabinogi Rep: 2,635
Posts: 385
Member
in Help
Can someone sauce me the AI that makes them go in circles, please? :<

+ Is there any other useful pet AI's someone can give & what they'd be good for?

Tankyu <3
SherriFroglord

Comments

  • GretaGreta
    Mabinogi Rep: 51,805
    Posts: 6,975
    Member
    edited November 12, 2017
    Run in circle AI.
    <rules>
    <rule name="when the owner is being attacked">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="master_attacked" master_skill="all" down="true"/>
    </rule>
    <rule name="when the owner is being attacked">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="master_attacked" master_skill="all" down="false"/>
    </rule>
    <rule name="when the owner is getting ready to attack">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="master_skill_prepare" event_skill="all"/>
    </rule>
    <rule name="while the owner is attacking">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="master_attack" master_skill="all"/>
    </rule>
    <rule name="when getting a normal attack">
    <conditions>
    <condition name="target_state" state="blowaway"/>
    <condition name="target_state" state="shoved"/>
    <condition name="target_state" state="walk"/>
    </conditions>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="move_around" clockwise="true" radius="800" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="seek_target"/>
    </rule>
    <rule name="while there is no target">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="now_targeting"/>
    </rule>
    <rule name="do not attack again">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="attack" pet_attackable_skill="all" down="false"/>
    </rule>
    <rule name="do not attack again 2">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="wait" min="1000" max="1000"/>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="attack" pet_attackable_skill="all" down="true"/>
    </rule>
    <rule name="run away while being attacked">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="move_against" distance="1000" run="true" timeout="1000"/>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="attacked" master_skill="all" down="false"/>
    </rule>
    <rule name="run away while being attacked 2">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="attacked" master_skill="all" down="true"/>
    </rule>
    <rule name="으에에엥">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="now_targeting"/>
    </rule>
    <rule name="akdfjalsdfkdf">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="seek_target"/>
    </rule>
    <rule name="when the owner is using final hit">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="master_attack" master_skill="finalhit"/>
    </rule>
    <rule name="when the owner is using bash"">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="move_around" clockwise="true" radius="1000" run="true" timeout="500"/>
    </sequence>
    </pattern>
    <event name="master_attack" master_skill="all"/>
    </rule>
    <rule name="when the owner is attacking the boss">
    <conditions>
    <condition name="target_state" state="stop"/>
    </conditions>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="wait" min="1000" max="1000"/>
    <cmd name="move_against" distance="1500" run="true" timeout="1000"/>
    <cmd name="wait" min="3000" max="4000"/>
    </sequence>
    </pattern>
    <event name="master_attacked" master_skill="all" down="false"/>
    </rule>
    </rules>

    A very good AI, which makes your pet to be a smart meat shield.
    <rules>
    <rule name="Jaewoo's AI">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="chase" chase_target="master" timeout="0" run="true"/>
    <cmd name="wait" min="10000" max="10000"/>
    <cmd name="wait" min="10000" max="10000"/>
    <cmd name="wait" min="10000" max="10000"/>
    <cmd name="wait" min="10000" max="10000"/>
    <cmd name="wait" min="10000" max="10000"/>
    <cmd name="wait" min="10000" max="10000"/>
    <cmd name="wait" min="10000" max="10000"/>
    <cmd name="wait" min="10000" max="10000"/>
    <cmd name="wait" min="10000" max="10000"/>
    <cmd name="wait" min="10000" max="10000"/>
    </sequence>
    </pattern>
    <event name="master_skill_prepare" event_skill="windmill"/>
    </rule>
    <rule name="Defend the owner">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="melee_attack" timeout="0"/>
    </sequence>
    </pattern>
    <event name="master_attacked" master_skill="all" down="false"/>
    </rule>
    <rule name="Defend the owner 2">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="melee_attack" timeout="0"/>
    </sequence>
    </pattern>
    <event name="master_attacked" master_skill="all" down="true"/>
    </rule>
    <rule name="Cancel magic attack ">
    <conditions>
    <condition name="target_state" state="stop"/>
    <condition name="target_distance" min_distance="100" max_distance="1500"/>
    </conditions>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="melee_attack" timeout="1000"/>
    </sequence>
    </pattern>
    <event name="master_target_magic_prepare"/>
    </rule>
    <rule name="Protect the owner in distance">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="melee_attack" timeout="0"/>
    </sequence>
    </pattern>
    <event name="master_aimed"/>
    </rule>
    <rule name="React for any distance attack">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="melee_attack" timeout="0"/>
    </sequence>
    </pattern>
    <event name="aimed"/>
    </rule>
    <rule name="Attack back">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="melee_attack" timeout="0"/>
    </sequence>
    </pattern>
    <event name="attacked" master_skill="all" down="false"/>
    </rule>
    <rule name="Attack back when attacked">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="melee_attack" timeout="0"/>
    </sequence>
    </pattern>
    <event name="attacked" master_skill="all" down="true"/>
    </rule>
    <rule name="Support the owner">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="melee_attack" timeout="0"/>
    </sequence>
    </pattern>
    <event name="master_defence" defence_enable_skill="all"/>
    </rule>
    <rule name="Don't disrupt">
    <conditions>
    <condition name="target_state" state="blowaway"/>
    <condition name="target_state" state="shoved"/>
    <condition name="target_state" state="hit"/>
    </conditions>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="chase" chase_target="enemy" timeout="0" run="true"/>
    <cmd name="move_around" clockwise="true" radius="100" run="false" timeout="4000"/>
    </sequence>
    </pattern>
    <event name="master_attack" master_skill="all"/>
    </rule>
    <rule name="Don't attack again">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="chase" chase_target="enemy" timeout="5000" run="true"/>
    <cmd name="move_around" clockwise="true" radius="100" run="false" timeout="4000"/>
    <cmd name="melee_attack" timeout="0"/>
    </sequence>
    </pattern>
    <event name="attack" pet_attackable_skill="all" down="true"/>
    </rule>
    <rule name="React to any magic attack">
    <conditions/>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="cancel_skill"/>
    <cmd name="melee_attack" timeout="0"/>
    </sequence>
    </pattern>
    <event name="target_magic_prepare"/>
    </rule>
    </rules>

    Useful AI, when helping others to farm Bone Chips from their pets and you are lazy/busy to attack your friends pet. Basically makes your pet spam Icebolt on the target.
    <rules>
    <rule name="ib">
    <conditions>
    <condition name="skill_preparable" pet_skill="icebolt"/>
    </conditions>
    <pattern>
    <param_decl/>
    <sequence>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    <cmd name="stack_skill" stack_magic="icebolt" charge="1"/>
    <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
    </sequence>
    </pattern>
    <event name="master_attack" master_skill="all"/>
    </rule>
    </rules>

    These are AI's i find most useful at this moment.
    SherriZuramaruIyasenuZintackNilremKokoroYokkaichiLostLinksVaughanFroglordand 5 others.
  • ZintackZintack
    Mabinogi Rep: 2,635
    Posts: 385
    Member
    Thank you!
  • NilremNilrem
    Mabinogi Rep: 7,880
    Posts: 465
    Member
    I've found the base Healing mode to be good as a "do nothing" AI, but the pet can still be dumb and move on top of you when taking aggro.

    Also be wary of using the circle AI with large pets.
    Unless you like blocking everyone's vision.

    That meat shield AI is interesting though.
    Shame it makes the pet attack. Which I often never want to happen.
  • GretaGreta
    Mabinogi Rep: 51,805
    Posts: 6,975
    Member
    edited November 12, 2017
    Nilrem wrote: »
    I've found the base Healing mode to be good as a "do nothing" AI, but the pet can still be dumb and move on top of you when taking aggro.

    Yeah, if i want my pet to do nothing i choose Healing AI too. :D
    Nilrem wrote: »
    That meat shield AI is interesting though.
    Shame it makes the pet attack. Which I often never want to happen.

    I like this AI for two reasons:
    1. It immediately attacks the monster when it's about to use range attack on the master. This way the master usually has enough time to run up at that monster to attack it.
    2. If master is hitting the monster and heavy stander gets activated on it, it makes the monster to stay still and attack the master right away. This is when pet runs up to stop monster and take their aggro at themselves, making small circles at them until master kills it or master gets attacked again, which when pet repeats their attacks.

    NilremSherri