Click here to log in
[UNKNOWN]
Welcome to Insanity, Inc. All hail Duchess Allegro!


Insane-Bot

Insane-Bot Alpha 3 Release Notes

What’s New & Changed in Alpha 3a?

Pea splitting updated

Previously, one of the searches was more broad than it should have been, and you'd split a Turquoise Powder Pea when you should have split a Turquoise Pea. This has been fixed.

Changed sorting of comps produced from split to check to make sure the item just created is a comp before deciding that the split is complete (we were seeing some cases where it claimed the split didn't produce anything, or worse, claimed the split produced a breastplate, weapon, etc.).

Spell arrays may now be nested

The <Spell> element can now reference anothe spell array.  E.g. you can now do:

<SpellArray Name="Foo">
    <Spell Array="Bar" />
    <Spell Name="Armor Other VI"/>
</SpellArray>

When merging in the spell arrays duplicate spells in nested arrays are removed (a duplicate spell will only get cast once in final array). Recursion is also checked -- if an array that has already been merged is requested again the merge aborts.

Spell Arrays may now reference self-buff arrays

Added a Buff attribute to the SpellArray definition.

<SpellArray Name="Armor6" Buff="LifeSelf6">
    <Spell Name="Armor Other VI"/>
</SpellArray>

The Spell array referred to by the Buff attribute is loaded before the rest of the Spell array.

This allows an alternative way to specifying what self-buffs should be checked prior to casting spells (this method can replace the buff array defined on the command).

"Hints" now works correctly

Fixed a bug where the default Hints option always overrode the setting on a security rule.

New date format supported in Log file registry entries

The log filename entries in the registry may now use double parenthesis to surround the date format -- ((yymmdd)) -- as well as square brackets -- [[yymmdd]].  This was changed to correct a problem where the installer was stripping the [[ ]] format when creating the registry keys.

XML Validation of the config file is now more strict

Rewrote the XSD to do a much better job of validating the Bot config XML. This included restricting the references in such a way that a speech block reference can only refer to a speech block, and not a timer, for instance.

Empty <Text> handled better

If you have an empty <Text> block that you try to speak, the bot now no longer even tries. This avoids extra hits to the chat window and extra stuff being logged to the log files.

Improved Gift Stacking

Gift sorting and stacking is now more reliable.

Improved error handling

Added several more error traps to prevent error dialogs from causing the bot to fail

 

What’s New & Changed in Alpha 3?

For examples of configuration settings discussed below see the complex sample XML file.

Performance

Performance has been greatly improved. You should now see a much smaller delay between casting spells than with previous builds. The bot will also switch between peace and combat mode less often.

Bot Security Rule and User Exclusion

Users and Security Rules can now be tied to specific bots using the Bot="" and ExcludeBot="" attributes. These functions the same as they previously did for Commands and Spells.

Security Rule Level Restrictions

You may now apply level restrictions to Security Rules. The three Rules below apply different access levels to followers of Allegro based on their character level. Users level 19 and under receive Guest access. Users level 20 to 39 receive Normal access, and users level 40 and up receive PowerUser access.

<Rule Name="Allegro" Type="0" MaxCharLevel="19" NewLevel="Guest" QueueMax="5" Hints="0" ReasonSpeech="Nothing" />
<Rule Name="Allegro" Type="0" MinCharLevel="20" MaxCharLevel="39" NewLevel="Normal" QueueMax="5" Hints="0" ReasonSpeech="Nothing" />
<Rule Name="Allegro" Type="0" MinCharLevel="40" NewLevel="PowerUser" QueueMax="5" Hints="0" ReasonSpeech="Nothing" />

In the complex configuration example file these restrictions are used to grant different levels of spells (5, 6, or 7) based on character level. If MinCharLevel is not included on a Rule it will default to 1. MaxCharLevel defaults to 126.

Named Security Levels

Security levels may now be specified by name in the configuration file rather than value. The valid options for security level are: "None", "Unverified", "Public", "Guest", "Normal", "PowerUser", "Admin", and "SuperAdmin".

Fellowship Access Level

Insane-Bot can now grant special user access to anyone in a fellowship with the bot character. The option below would grant any user in a fellowship with the bot a minimum access level of "Normal". If a user is granted higher access through a User or Rule option their higher level access overrides the Fellowship level. Users granted elevated access through this option will revert to their previous access level when they leave the fellowship. This option defaults to "None".

<Option Name="FellowLevel" Value="Normal" />

Default Access Level

This option sets the access level that will be granted to any user that is not covered by a User or Rule option. The default access level is "Public". This option can only be set to "None", "Public", "Guest" or "Normal" access. The command below would refuse all access to any user not covered by a Rule or User option.

<Option Name="DefaultAccessLevel" Value="None" />

 

Default Hints

This option sets whether the Hints option on security rules defaults to on (1) or off (0).

<Option Name="DefaultHints" Value="1" />

Split Threshold

Split Threshold tells the bot when to split a pea. If the number of any component falls below this setting the bot will attempt to split a pea for that component if it has any.

<Option Name="SplitThreshold" Value="15" />

Default Bot Timers

You can now modify the internal timers the bot uses for various operations. There are five settings that can be changed:

<DefaultTimer Name="Advertise" Value="299" Unit="Seconds" />

This setting controls how often one of the bots advertising emotes will be preformed. Setting this to "0" will cause the bot to never advertise.

<DefaultTimer Name="Rebuff" Value="1" Unit="Minutes" />

This setting controls how often the bot checks to see if any of the spells in it’s BuffList spell array need to be recast. Setting this to "0" will cause the bot to no longer automatically stay buffed. Buffs will still be checked prior to running any command that has an associated BuffArray.

<DefaultTimer Name="RebuffBeforeExpire" Value="1.5" Unit="Minutes" />

This sets how long before spell expiration the bot will recast the spell when checking it’s buffs.

<DefaultTimer Name="ExpireUser" Value="2" Unit="Hours" />

Any user not explicitly included in the User section of the configuration file will be removed from the in memory user collection based on this timer setting. This is done to decrease the memory footprint of the bot and improve performance. In the example above a user would be removed from memory two hours after their last command.
Note that removing a user from the in memory collection does not change their access -- the user will be re-added normally when they next send a command.

<DefaultTimer Name="IDUser" Value="2" Unit="Hours" />

This setting controls how often the bot will re-ID users to validate them. Their level, allegiance, etc. will be refreshed on ID. In the example above a user would be revalidated every two hours, regardless of how much they use the bot in that time.
Users that are explicitly included in the Users section of the configuration file will not be reevaluated.

Log Rotation

The bot will now rotate its main log files at midnight each day, creating new files with the date as part of the filename.

Multiple Bot Characters

Insane-Bot now supports running multiple bot characters on a single AC account, and can switch between characters on the fly to execute commands. See the "Alfredo" command in the complex configuration sample for an example of how to switch characters.

This feature is largely untested, and may result in bot instability. This also only works correctly when AC is running full screen.

Script Commands

Script-based commands will now execute, although the object model exposed to the script is incomplete at this point. A full OM will be included in Beta. Watch the Insane-Bot website for documentation on the scripting OM.

 /bot off

The "/bot off" command has been tweaked to pause bot processing in more cases. It will now pause the bot in the middle of casting spells.

Platinim Burn Text No Longer Forced Public

If no talk type is specified for a Platinum burn string it will not longer be broadcast publicly if the bot is casting spells as part of a command.  It will instead be targeted at the user who issued the command.  


 

Help support Insane-Bot