
Alpha 4, Alpha 4-Imp, Sept '02 and Oct '02 Release Notes |
Two new Actions have been added to Item Rules: Buff and Cast. Both actions take an "Array" parameter and then cast the specified spells on the gift that was just received. In addition, the ReturnItem action will now attempt to return any gift. ReturnItem only attempts to return an item once -- if it is unable to hand back the item for any reason the Bot will keep the item.
The following Item Rule would cast the buffshield7 array on any Faran Robe handed ty the Bot, then attempt to hand the robe back. :
<ItemRule Name="FaranRobe">
<Action Type="Cast" Array="buffshield7" />
<Action Type="ReturnItem" />
<Condition Property="Name" Compare="Match" Pattern="Faran
Robe"/>
</ItemRule>
Item Rules now support new item properties for matching: Material, MaterialID, and Workmanship. Material is the name of the material the item is made of, and MaterialID is the AC integer identifier for that material. Workmanship is the quality of the material.
Spell casting has been slower than intended in the last few releases. The code has been reworked to bring this back up to expected. Another effect of this rewrite should be the elimination of many of the Overflow errors (Error 6) that would occasionally plague the Bot.
If the Bot has pending commands in the command queue when it would normally advertise the advertisement emote is skipped.
Two new options are allowed in the EventSpeech section for a Bot character:
Some EventSpeech options previously had hard-coded defaults that could cause the Bot to fail if the Speech block they referenced was removed from the configuration file. These options still have defaults, but if the Speech block does not exist the Bot will operate correctly, and ignore the missing block. Default Speech block names for each option are as follows:
| EventSpeech Option | Speech Block |
| Advertise | Emotes |
| EmptyPetition | EmptyPetitionText |
| Acknowledge | AcknowledgeCommand |
| Hint | TextNotUnderstood |
| Gift | TextGift |
| PlatBurn | TextPlatBurn |
| QueueLimit | QLimitSpeech |
| PreCommand | DefaultPreSpeech |
| PostCommand | DefaultPostSpeech |
| MissingComponent | CompMissingText |
DefaultAccessLevel now accepts PowerUser as a valid option.
An option has been added to a COmmand to disable the range to target checking. The new attribute is "CheckRange" and defaults to "True" if it doesn't exist. If you add this attribute and set its value to "False", then the casting logic no longer checks range to the target. This attribute should be used with remote admin commands, and must be used in multiple-character Bots on any commands that any secondary Bot character will execute.
This code has a bit more intelligence than before, and has a sliding delay between each outbound. That delay caps at 2.5 seconds, so if you have a really busy and talkative Bot, you'll see some delay between outbound lines. Under normal usage, this delay shoudl not be extreme -- most commands will result in at most a half second delay between tells. Repeated commands that send multiple tells (e.g. several "Help" commands in a row) will cause the delay to reach maximum.
This having been said, your Bot character shouldn't get gagged but the AC Client's anti-spam code very easily now.
The Greeting attribute refers to a text block, and gives you a way to emulate the MonarchGreet functionality for more than just your Bot character's monarch.
One Caveat: when a Greeting attribute is used on a SecurityRule the Bot will not greet characters matching that rule until after they are IDed, leave the Bot's vicinity, and return. For the Bot to properly recognize them the user must be present in the Bot's in-memory user collection -- users granted access through Security Rules are not added to this collection until after they request at least one command.
We've pushed to release this version to fix problems with the September patch, and as a result this version of Insane-Bot may be less stable on some systems than previous releases. We will be working to resolve any stability issues reported to us over the next couple of weeks, please report any issues you see on the Insane-Bot Forums.
Insane-Bot now requires Decal 2.4.0.0. Insane-Bot also includes (and requires) a new version of ImpFilter (2.7.0.0). Other Decal plugins that use ImpFilter may require updates for this new version.
As of the September patch the Bot was skipping the first spell in most spell arrays, and was not detecting failed casts correctly, causing more missed spells. The Bot should no longer miss spells. Retrying of failed spells should now be more stable.
Portal spells that fail to case because of unsummonable portals or insufficient space to cast should no longer cause endless cast loops.
If the Bot character does not know the specified spell it will fall back to the next highest-level spell that it does know. If the spell array calls for a level 7 spell and the Bot does not know that spell it will cast the next highest level of that spell it knows. (e.g. , it will check to see if it know the level 6 spell, then 5, etc.).
All commands may now include a Heading attribute that will tell the Bot which direction to face prior to executing the command. A command with a heading should look like the following:
<Command Name="primary" Type="2" MinLevel="PowerUser" Rebuff="0" TargetType="0" CastArray="summon-primary" BuffArray="itemselfbuff" PreSpeech="PriPortalBegin" PostSpeech="PriPortalFinish" Heading="225" />
A heading of 0 is north, 90 is East, 180 is South, and 270 is West. Integer values from 0 to 359 are supported.
The Bot will now check to see how far the user who requested a command is from the Bot character. If the user is not within range the bot will skip casting any spells for the requested command. This distance check should detect users who move beyond the radar edge when outdoors. Bots running indoors (e.g. inside a dungeon, not inside a building) may not detect the distance correctly and refuse to cast spells on targets that are within range. The current workaround is for a user to stand extremely close to the Bot.
The code that increases the priority of Bot operations has been tweaked to work more smoothly, and have smaller impact on the AC client.
Many excessive log entries were cleaned up. The Bot should now log less un-helpful information in most cases.
The Bot was not completely removing "High Queen"/ "High King" from monarch names for Rank 10 Aluvian monarchs, resulting in failure to detect a characters monarch correctly.
The Bot was incorrectly checking it's prismatic taper count, and would report itself out when it had plenty of tapers.
UserLevel limitation on Item Rules now work as expected.
Bot/ExcludeBot support has been added to Item Rules.
The RegExp "Global" flag is now set when processing Regular Expression matches. This will correct some problems with failing to correctly match substrings in text blocks.
Insane-Bot now requires Imp Filter 2.6 (this version of Imp Filter is installed with Insane-Bot). Imp Filter 2.6 includes all version 2.5 changes as well as support for the changes to the AC packet stream made in July.
Insane-Bot now installs SpellFilter 1.3.1.0. This version includes updates for the July patch.
The changes made to support the June magic changes resulted in Insane-Bot's spell casting becoming generally slower in almost all cases. This was particularly noticeable if the bot was running on a lower-end system. This release brings the casting speed back in line with previous versions.
Insane-Bot now defaults to upgrading the priority of it's main processing thread during active bot use. This will increase the speed of both loading the cofiguration file and processing bot commands. These changes have been tested on Win9x, Win 2000, and Win XP systems.
In Alpha 4 changes made to a user's security level via an item rule were not resetting the expire timer on that users records. This could result in the new access level applying for only a few minutes. This has been corrected. The security level changes now last for the time set by the IDUser default timer.
A new replacement has been added: PrismaticLeft. This returns the count of Prismatice Tapers the bot is carrying.
The bot will now start reporting itself as "out" of prismatic tapers if it has under five after attempting to cast a spell and failing. Since high level spells can require up to four tapers the bot could fail to cast a spell due to being extremely low on Prismatic tapers and fail to inform the user.
Insane-Bot requires MESSAGES.XML version 2002.07.19.3 or later. Use the Update option in Decal to ensure you have the most recent version.
Insane-Bot now requires Decal version 2.3 or later.
Insane-Bot now supports two new internal commands, TurnTo and SetUserLevel. These have no set name, but rather use the attribute "InternalID" on a command who's type is set to "1" to determine which command to execute.
Supported Internal Commands:
| ID | Command | Sample Definition |
|---|---|---|
| 0 | Petition | <Command Name="petition" Type="1" MaxLevel="0" Rebuff="0" TargetType="0" Pattern="\w+\s+(.*)" /> |
| 1 | Set User Level | <Command Name="setuserlevel" Type="1" InternalID="1" MinLevel="Admin" TargetType="0" Rebuff="0" Pattern="\w+\s+([\w|\s]*),\s+([\w|\d]*)"/> |
| 2 | RESERVED | Not implemented in this build, reserved for future use. |
| 3 | Turn To | <Command Name="turnto" Type="1" InternalID="3" MinLevel="Admin" TargetType="0" Rebuff="0" Pattern="\w+\s+(\d+)"/> |
Set User Level should be restricted to Admin level users. It allows an Admin to change a users access level, and behaves exactly the same as if that users access level had changed via an Item rule.
Turn To causes the bot to turn and face the specified angle (0 to 359). There is a small margin of error in turning -- the final angle will be within a few degrees of the specified target angle.
The bot's XML has been updated to version 1.0b. All existing configuration files must be updated to work with this release. The primary change is a rename of the Emotes attribute on a Character element to Advertise. Instead of:
<Character Name="Mekle" ID="M" BuffList="meklebuff" Markup="1.3" Emotes="Emotes">
Your character line should now read
<Character Name="Mekle" ID="M" BuffList="meklebuff" Markup="1.3" Advertise="Emotes">
You must also change <BuffBot Version="1.0a"> to <BuffBot Version="1.0b">.
In addition you should change the spell listed for summoning your primary portal. The AC data files now have two spells named "Summon Primary Portal I" which can confuse the bot. Adding the spell ID value fixes this problem:
<SpellArray Name="summon-primary">
<Spell Name="Summon Primary Portal I" ID="157" />
</SpellArray>
Other XML changes have been made, but they are optional changes to support new features noted below.
Insane-Bot can now use Health to Mana as well as Stamina to Mana to recover mana. The bot will also lie down to recover Stamina if needed. See the configuration page for details on the new options.
Insane-Bot has been tweaked to no longer report failure incorrectly when splitting peas. The bot will also retry splitting when it does fail.
You can now defines rules for handling items users give to your bot. Based on item properties you can have the bot modify user access levels, send different messages, drop items, return items to the giver, and sort items into packs. See the configuration page for details on configuring Item rules.
The bot now internally senses if you have the Foci and checks comps accordingly. This is not perfect yet, but as long as you don't cast Dispells or Rings with your bot, it should be fine. We will be fine tuning this for the next release. We also fixed the sensing of spellcast complete. This was previously based on the spell economy messages which were removed from the AC client with the removal of the spell economy.
If you don not have Foci the bot will continue to check components as before. Both casting system are supported.