找回密码
 注册帐号
搜索
查看: 1653|回复: 0

发现一个好用的宠物冰反ai

[复制链接]
发表于 2022.2.26 08:02 | 显示全部楼层 |阅读模式
简介:
  宠物被怪物盯才会有所反应,当然你也可以一召唤出来后就指一个目标要宠物去攻击,宠物攻击后会使用反击。

目前已知的明显缺点:
首先是由于走位问题,在过于狭窄的场所,会导致走位不及而被敌人接近而受到攻击
   原始码:
<rules>
<rule name="====先制攻击的规则====">
<conditions/>
<pattern>
<param_decl/>
<sequence/>
</pattern>
<event name="master_defence" defence_enable_skill="all"/>
</rule>
<rule name="宠物被单盯以普攻进行应对">
<conditions>
<condition name="skill_preparable" pet_skill="defence"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="targeted" targeting_type="alert"/>
</rule>
<rule name="宠物被双盯以普攻进行应对 (1-7米)">
<conditions>
<condition name="target_distance" min_distance="100" max_distance="700"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="cancel_skill"/>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="targeted" targeting_type="attack"/>
</rule>
<rule name="宠物被双盯以冰矛进行应对 (8-15米)">
<conditions>
<condition name="target_distance" min_distance="800" max_distance="1500"/>
<condition name="skill_preparable" pet_skill="icebolt"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="0"/>
</sequence>
</pattern>
<event name="targeted" targeting_type="attack"/>
</rule>
<rule name="====核心攻击规则====">
<conditions/>
<pattern>
<param_decl/>
<sequence/>
</pattern>
<event name="master_defence" defence_enable_skill="all"/>
</rule>
<rule name="普攻 → 反击">
<conditions>
<condition name="skill_preparable" pet_skill="counter"/>
<condition name="target_state" state="shoved"/>
<condition name="target_state" state="blowaway"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
<cmd name="wait" min="10000" max="10000"/>
</sequence>
</pattern>
<event name="now_targeting"/>
</rule>
<rule name="反击 → 冰矛">
<conditions>
<condition name="skill_preparable" pet_skill="icebolt"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="icebolt" try_cnt="0" timeout="0"/>
</sequence>
</pattern>
<event name="attack" pet_attackable_skill="counter" down="true"/>
</rule>
<rule name="冰矛 → 冰矛">
<conditions>
<condition name="skill_preparable" pet_skill="icebolt"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="0"/>
</sequence>
</pattern>
<event name="attack" pet_attackable_skill="icebolt" down="true"/>
</rule>
<rule name="冰矛 → 反击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
<cmd name="wait" min="10000" max="10000"/>
</sequence>
</pattern>
<event name="attack" pet_attackable_skill="icebolt" down="false"/>
</rule>
<rule name="走位 → 冰矛">
<conditions>
<condition name="skill_preparable" pet_skill="icebolt"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="move_against" distance="900" run="true" timeout="500"/>
<cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="0"/>
</sequence>
</pattern>
<event name="now_targeting"/>
</rule>
<rule name="防御 → 普攻">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="defence" defence_enable_skill="all"/>
</rule>
<rule name="====敌人攻势崩坏规则====">
<conditions/>
<pattern>
<param_decl/>
<sequence/>
</pattern>
<event name="master_defence" defence_enable_skill="all"/>
</rule>
<rule name="冰矛 破坏 敌人普攻">
<conditions>
<condition name="skill_preparable" pet_skill="icebolt"/>
<condition name="target_state" state="run"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="0"/>
</sequence>
</pattern>
<event name="now_targeting"/>
</rule>
<rule name="冰矛 破坏 敌人反击">
<conditions>
<condition name="target_state" state="stop"/>
<condition name="skill_preparable" pet_skill="icebolt"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="cancel_skill"/>
<cmd name="prepare_skill" pet_skill="icebolt" try_cnt="0" timeout="0"/>

</sequence>
</pattern>
<event name="target_skill_prepare"/>
</rule>
<rule name="普攻 破坏 敌人重击">
<conditions>
<condition name="target_state" state="run"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="cancel_skill"/>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="target_skill_prepare"/>
</rule>
<rule name="重击 破坏 敌人防御">
<conditions>
<condition name="target_state" state="walk"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="cancel_skill"/>
<cmd name="prepare_skill" pet_skill="smash" try_cnt="0" timeout="0"/>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="target_skill_prepare"/>
</rule>
<rule name="重击 → 反击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
<cmd name="wait" min="10000" max="10000"/>
</sequence>
</pattern>
<event name="attack" pet_attackable_skill="smash" down="true"/>
</rule>
<rule name="防御 阻止 敌人魔法攻击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="cancel_skill"/>
<cmd name="prepare_skill" pet_skill="defence" try_cnt="0" timeout="0"/>
<cmd name="chase" chase_target="enemy" timeout="0" run="true"/>
</sequence>
</pattern>
<event name="target_magic_prepare"/>
</rule>
<rule name="普攻 破坏 敌人远距离攻击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="cancel_skill"/>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="aimed"/>
</rule>
<rule name="反击防护">
<conditions>
<condition name="skill_preparable" pet_skill="counter"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
<cmd name="wait" min="10000" max="10000"/>
</sequence>
</pattern>
<event name="now_targeting"/>
</rule>
<rule name="====受到攻击时的规则====">
<conditions/>
<pattern>
<param_decl/>
<sequence/>
</pattern>
<event name="master_defence" defence_enable_skill="all"/>
</rule>
<rule name="受到普通攻击且未倒地 → 冰矛">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/>
</sequence>
</pattern>
<event name="attacked" master_skill="basic" down="false"/>
</rule>
<rule name="受到普通攻击且已倒地 → 反击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
<cmd name="wait" min="10000" max="10000"/>
</sequence>
</pattern>
<event name="attacked" master_skill="basic" down="true"/>
</rule>
<rule name="受到穿心箭攻击而倒地 → 普通攻击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="attacked" master_skill="magnum_shot" down="true"/>
</rule>
<rule name="受到普通射击且未倒地 → 普通攻击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="cancel_skill"/>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="attacked" master_skill="ranged_attack" down="false"/>
</rule>
<rule name="受到普通射击且已倒地 → 普通攻击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="attacked" master_skill="ranged_attack" down="true"/>
</rule>
<rule name="受到反击而倒地 → 反击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
<cmd name="wait" min="10000" max="10000"/>
</sequence>
</pattern>
<event name="attacked" master_skill="counter" down="true"/>
</rule>
<rule name="受到风车攻击而倒地 → 反击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
<cmd name="wait" min="10000" max="10000"/>
</sequence>
</pattern>
<event name="attacked" master_skill="windmill" down="true"/>
</rule>
<rule name="受到雷矢攻击 → 反击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
<cmd name="wait" min="10000" max="10000"/>
</sequence>
</pattern>
<event name="attacked" master_skill="lightningbolt" down="false"/>
</rule>
<rule name="受到冰矛攻击 → 反击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
<cmd name="wait" min="10000" max="10000"/>
</sequence>
</pattern>
<event name="attacked" master_skill="icebolt" down="false"/>
</rule>
<rule name="受到火焰攻击 → 重击">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="smash" try_cnt="0" timeout="0"/>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="attacked" master_skill="firebolt" down="true"/>
</rule>
</rules>

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

Archiver|手机版|小黑屋|爱琳世界-逐梦者庭院

GMT+8, 2025.11.19 21:52 , Processed in 0.148110 second(s), 8 queries , Gzip On, File On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表