MQ2Bot - MMOBugs Wiki

Revision as of 16:03, 21 June 2014 by PeteSampras (talk | contribs)
Plugin Info
Name MQ2Bot
Author User: PeteSampras
Link Wiki Link
Commands /bot
Source Available No
Uses INI File Yes

Description

MQ2Bot will play your character for you, similar to a mercenary using whatever AAs and spells/items that you have memorized.

Full Access vs Partial

The following totals by type are placed on partial access:
AA=3
Aggro=3
Charm=0
Debuff=3
Dot=3
FightBuff=3
Grab=0
ImHit=3
KnockBack=1
MainTankBuff=3
Nuke=3, unless wiz = 6
Root=1
SelfBuff=3
Snare=1
Invis=0

Pausing the plugin

In addition to turning /bot off, you are able to pause the plugin via macro interaction.

You can /declare Looting, MQ2BotPause, Pulling as variables in your macro and if any of them return TRUE or a NUMBER, the macro will pause.  If they are FALSE/0, the plugin unpauses.

Ie.
/declare Looting bool outer
/varset Looting TRUE

==Commands==

* <span class="highlight2">/bot on</span> Turns on bot functionality
* <span class="highlight2">/bot off</span> Turns of bot functionality
* <span class="highlight2">/bot key=value</span> Updates your INI and variable key to be the new value.  Ie. /bot MeleeAt=10 will set your MeleeAt to 10.  It is case insensitve, so you can /bot meleeat=10 if you want.
* <span class="highlight2">/loadspells</span> Reloads your spells to match whatever you have memorized
* <span class="highlight2">/loadignore</span> Loads mob ignores and immunities from your mq2/macros/Mob_Ignore_List.ini if you have one from bot.mac
* <span class="highlight2">/invis</span> Uses designated Bot.Invis spell
* <span class="highlight2">/ivu</span> Uses designated Bot.InvisUndead spell
* <span class="highlight2">/lev</span> Uses designated Bot.Levitate spell
* <span class="highlight2">/imob</span> Adds current target to Bot.Ignores and Mob_Ignore_List.ini
* <span class="highlight2">/mmob</span> Adds current target to Bot.MezImmunes and Mob_Ignore_List.ini
* <span class="highlight2">/smob</span> Adds current target to Bot.SnareImmunes and Mob_Ignore_List.ini
* <span class="highlight2">/cmob</span> Adds current target to Bot.CharmImmunes and Mob_Ignore_List.ini
* <span class="highlight2">/coth</span> If you are a mage, this calls of the hero the farthest PC in group.
* <span class="highlight2">/coth PeteSampras</span> If you are a mage, this calls of the hero PeteSampras.
* <span class="highlight2">/coth group</span> If you are a mage, this uses group version of Call of the Hero.
* <span class="highlight2">/doorclick</span> This targets the nearest door, runs to it in a straightish line, and clicks it when in range.
* <span class="highlight2">/campfire</span> This will attempt to set a standard fellowship campfire.  It does not check if there are enough members nor if the ground is too steep.  It will attempt one campfire per command.
* <span class="highlight2">/bottwist 1 2 3 4</span> Internal version to /twist 1 2 3 4 songs.
* <span class="highlight2">/bottwist once 1</span> Internal version to /twist once 1.
* <span class="highlight2">/bottwist off</span> Internal version to /twist off.
* <span class="highlight2">/immunes </span> <-- toggles ignoring of immunes on to off to on to off.
* <span class="highlight2">/immunes off</span> <-- turns immune checks off.
* <span class="highlight2">/immunes on</span> <-- turns immune checks on.

==Required plugins==
*[[MQ2Cast]]
*[[MQ2Melee]] (for any disc/ability/sticking settings)
*[[MQ2MoveUtils]] (if you want to autofollow)
*[[MQ2EQBC]] (if you want to announce in eqbc or use netbots feature)
*[[MQ2NetBots]] (if you want to use netbots feature)
*[[MQ2Twist]] (if you are a bard)
*[[MQ2MMOTLO]] (for authorization by MMOBugs UserName, not required if authorized by SOE account name)
*[[MQ2AdvLoot]] (if you wish to loot using mq2advloot)

==Macro Data==

This plugin adds a new TLO 

* <span class="highlight2">${Bot} : BoolType</span> - Returns TRUE if MQ2Bot is loaded.

===BotType===
* <span class="highlight2">		Active  		:  SpawnType    </span>Is /bot on? TRUE/FALSE.
* <span class="highlight2">		MinHP  		:  SpawnType    </span>Lowest PctHP Group member in 250 range. Bot.MinHP[#] will change 250 to whatever you put there.
* <span class="highlight2">		MinPetHP  	:  SpawnType    </span>Lowest PctHP Group member pet in 250 range. Bot.MinPetHP[#] will change 250 to whatever you put there.
* <span class="highlight2">		MinMana  	:  SpawnType    </span>Lowest Pctmana Group member in 250 range. Bot.Minmana[#] will change 250 to whatever you put there.
* <span class="highlight2">		XMinHP  		:  SpawnType    </span>Lowest PctHP XTarget PC or merc in 250 range. Bot.XMinHP[#] will change 250 to whatever you put there.
* <span class="highlight2">		XMinPetHP  	:  SpawnType    </span>Lowest PctHP XTarget PC owned pet in 250 range. Bot.XMinPetHP[#] will change 250 to whatever you put there.
* <span class="highlight2">		XMinMana  	:  SpawnType    </span>Lowest Pctmana XTarget PC or merc in 250 range. Bot.XMinMana[#] will change 250 to whatever you put there.
* <span class="highlight2">		XPriority  	:  SpawnType    </span>Highest priority NPC or NPC pet on XTargetin 250 range. Bot.XPriority[#] will change 250 to whatever you put there. Formula is mob level + 15 if named, 10 if mez immune, 5 if snare immune, - 25 if a pet.
* <span class="highlight2">		NetBotMinHP  		:  SpawnType    </span>Lowest PctHP NetBot client member in 250 range. Bot.NetBotMinHP[#] will change 250 to whatever you put there.
* <span class="highlight2">		Facing  		:  SpawnType    </span>Am I facing mob within 5 degrees? Bot.Facing[#] will change 5 to whatever you put there.
* <span class="highlight2">		FacingMe  		:  SpawnType    </span>Is mob facing within 5 degrees of me? Bot.FacingMe[#] will change 5 to whatever you put there.
* <span class="highlight2">		Farthest  		:  SpawnType    </span>Farthest PC in group from you, if any.
* <span class="highlight2">		Outside  		:  BoolType    </span>Do I think I am outside?.
* <span class="highlight2">		Restricted  		:  SpawnType    </span>Zones, by ID, that mq2bot disables automatic functions.
* <span class="highlight2">		InvisSpell  		:  StringType    </span>Name of invis AA to be used with /invis, if any.
* <span class="highlight2">		IVUSpell  		:  StringType    </span>Name of IVU AA to be used with /ivu, if any.
* <span class="highlight2">		Invis  		:  BoolType    </span>Am I invis? (not counting IVU or invis to animals).
* <span class="highlight2">		IVU  		:  BoolType    </span> Am I IVU?
* <span class="highlight2">		Levitate  		:  StringType    </span>Name of levitate AA to be used with /lev, if any.
* <span class="highlight2">		SpellGem  	:  IntType    </span>Current casting SpellGem (1-12). Returns 13 if item is casting.
* <span class="highlight2">		SpellETA  	:  IntType    </span>Current time in tenths of a second until current cast is complete.
* <span class="highlight2">		CastReady  	:  BoolType    </span>Are you ready to cast a spell? Returns FALSE if in global cooldown.
* <span class="highlight2">		Slowed  	:  TickType    </span>Is target slowed?
* <span class="highlight2">		Rooted  	:  TickType    </span>Is target rooted?
* <span class="highlight2">		Mezzed  	:  TickType    </span>Is target mezzed?
* <span class="highlight2">		Crippled  	:  TickType    </span>Is target crippled?
* <span class="highlight2">		Malod  		:  TickType    </span>Is target malod?
* <span class="highlight2">		Tashed  	:  TickType    </span>Is target tashed?
* <span class="highlight2">		Snared  	:  TickType    </span>Is target snared?
* <span class="highlight2">		Hasted  	:  TickType    </span>Is target hasted?
* <span class="highlight2">		Freeze  	:  TickType    </span>Does target have mindfreeze effect line on it?
* <span class="highlight2">		Skin  		:  TickType    </span>Does target have dru/rng skin line on?
* <span class="highlight2">		Focus  		:  TickType    </span>Does target have bst/shmfocus line on?
* <span class="highlight2">		Regen  		:  TickType    </span>Does target have regen?
* <span class="highlight2">		Symbol  	:  TickType    </span>Does target have pal/clr symbol on?
* <span class="highlight2">		Clarity  	:  TickType    </span>Does target have clarity line on?
* <span class="highlight2">		Pred  		:  TickType    </span>Does target have rng pred line on?
* <span class="highlight2">		Strength  	:  TickType    </span>Does targethave rng str line on?
* <span class="highlight2">		Brells  	:  TickType    </span>Does target have pal brells line on?
* <span class="highlight2">		SV  		:  TickType    </span>Does target have bst SV line on?
* <span class="highlight2">		SE  		:  TickType    </span>Does target have bst SE line on?
* <span class="highlight2">		HybridHP  	:  TickType    </span>Does target have brells/str/sv line on?
* <span class="highlight2">		Growth  	:  TickType    </span>Does target have wild growth line on?
* <span class="highlight2">		Shining  	:  TickType    </span>Does target have shining rampart line on?
* <span class="highlight2">		DeepSleep  	:  TickType    </span>Does target have Deep Sleep debuff on?
* <span class="highlight2">		Aego  		:  TickType    </span>Does target have pal/clr Aego on?
* <span class="highlight2">		Heal  		:  SpellType    </span>How many Heal spells are there? If Bot.Heal[#], returns spell info for that spell.
* <span class="highlight2">		Nuke  		:  SpellType    </span>How many Nuke spells are there? If Bot.Nuke[#], returns spell info for that spell.
* <span class="highlight2">		Dot  		:  SpellType    </span>How many Dot spells are there? If Bot.Dot[#], returns spell info for that spell.
* <span class="highlight2">		Swarm  		:  SpellType    </span>How many Swarm spells are there? If Bot.Swarm[#], returns spell info for that spell.
* <span class="highlight2">		HealPet  	:  SpellType    </span>How many HealPet spells are there? If Bot.HealPet[#], returns spell info for that spell.
* <span class="highlight2">		Aggro  		:  SpellType    </span>How many Aggro spells are there? If Bot.Aggro[#], returns spell info for that spell.
* <span class="highlight2">		Rez  		:  SpellType    </span>How many Rez spells are there? If Bot.Rez[#], returns spell info for that spell.
* <span class="highlight2">		SelfBuff  	:  SpellType    </span>How many SelfBuff spells are there? If Bot.SelfBuff[#], returns spell info for that spell.
* <span class="highlight2">		Fade  		:  SpellType    </span>How many Fade spells are there? If Bot.Fade[#], returns spell info for that spell.
* <span class="highlight2">		Jolt  		:  SpellType    </span>How many Jolt spells are there? If Bot.Jolt[#], returns spell info for that spell.
* <span class="highlight2">		Debuff  	:  SpellType    </span>How many Debuff spells are there? If Bot.Debuff[#], returns spell info for that spell.
* <span class="highlight2">		Mez  		:  SpellType    </span>How many Mez spells are there? If Bot.Mez[#], returns spell info for that spell.
* <span class="highlight2">		Root  		:  SpellType    </span>How many Root spells are there? If Bot.Root[#], returns spell info for that spell.
* <span class="highlight2">		Snare  		:  SpellType    </span>How many Snare spells are there? If Bot.Snare[#], returns spell info for that spell.
* <span class="highlight2">		FightBuff  	:  SpellType    </span>How many FightBuff spells are there? If Bot.FightBuff[#], returns spell info for that spell.
* <span class="highlight2">		MainTankBuff  	:  SpellType    </span>How many MainTankBuff spells are there? If Bot.MainTankBuff[#], returns spell info for that spell.
* <span class="highlight2">		PetBuff  	:  SpellType    </span>How many PetBuff spells are there? If Bot.PetBuff[#], returns spell info for that spell.
* <span class="highlight2">		Pet  		:  SpellType    </span>How many Pet spells are there? If Bot.Pet[#], returns spell info for that spell.
* <span class="highlight2">		Mana  		:  SpellType    </span>How many Mana spells are there? If Bot.Mana[#], returns spell info for that spell.
* <span class="highlight2">		Endurance  	:  SpellType    </span>How many Endurance spells are there? If Bot.Endurance[#], returns spell info for that spell.
* <span class="highlight2">		Buff  		:  SpellType    </span>How many Buff spells are there? If Bot.Buff[#], returns spell info for that spell.
* <span class="highlight2">		Aura  		:  SpellType    </span>How many Aura spells are there? If Bot.Aura[#], returns spell info for that spell.
* <span class="highlight2">		Lifetap  	:  SpellType    </span>How many Lifetap spells are there? If Bot.Lifetap[#], returns spell info for that spell.
* <span class="highlight2">		Adds  		:  SpawnType    </span>How many adds are there?  If Bot.Adds[#], returns spawn info of that # add.
* <span class="highlight2">		AddByID[x]  		:  IntType    </span>What, if any, is this add ID.
* <span class="highlight2">		AddCount[x]  		:  IntType    </span> Returns total number of adds (same as Bot.Adds), Bot.AddCount[250] returns the number of adds within 250 range.
* <span class="highlight2">		PossibleAdds  	:  SpawnType    </span>How many possible adds are there?  If Bot.PossibleAdds[#], returns spawn info of that # add.
* <span class="highlight2">		Merc  	:  StringType    </span>Last known name of your merc.
* <span class="highlight2">		CurrentSub  	:  StringType    </span>Last subroutine entered in the plugin.
* <span class="highlight2">		Named  	:  BoolType    </span> Enhanced Target.Named.
* <span class="highlight2">		QuestMob  	:  BoolType    </span>Is target a quest giver/vendor/etc?
* <span class="highlight2">		MezImmune  	:  BoolType    </span>Is target a known mez immune?
* <span class="highlight2">		CharmImmune  	:  BoolType    </span>Is target a known charm immune?
* <span class="highlight2">		SnareImmune  	:  BoolType    </span>Is target a known snare immune?
* <span class="highlight2">		Ignore  	:  BoolType    </span>Is target a known ignore mob.
* <span class="highlight2">		SnareImmunes  	:  StringType    </span>SnareImmunes List from Mob_Ignore_List.ini?
* <span class="highlight2">		MezImmunes  	:  StringType    </span>MezImmunes List from Mob_Ignore_List.ini?
* <span class="highlight2">		CharmImmunes  	:  StringType    </span>CharmImmunes List from Mob_Ignore_List.ini?
* <span class="highlight2">		Ignores  	:  StringType    </span>Ignores List from Mob_Ignore_List.ini?

==If statements==
If statements allow you to make customized settings for individual spells/AAs/items to cast only if certain requirements are met above the generic setting.  These are just like if statements for mq2melee.<br>
<br>
<pre>
Format is SectionIf#=
ie.
DotIf2=${Target.PctHPs}>80

NukeIfX=whatever <-- This corresponds to your nuke numbers (which are now displayed when you /bot on) Also you can check them via ${Bot.Nuke[x]}. Any statements you put in ini will also display in the proper place beneath the Nuke. Everything is labeled so you know what is what.

Example, I only want to use Nuke0 if the target is named and I have Twincast on:

[MQ2Bot]
NukeIf0=${Bot.Named} && ${Bot.Twincast}
NukeIf7=${Bot.Named} && ${Me.Song[Sustained Destruction].ID}

Configuration

MQ2Bot provides configuration

Sample Configuration

server_CharacterName.ini

[MQ2Bot]
BotVersion=2014.0519
CycleDelay=3
DefaultGem=1
AnnounceEcho=1
AnnounceEQBC=0
AutoInvisDistance=0
AssistAt=100
AssistRange=100
MercAssistAt=95
MercAssistRange=50
MeleeAt=0
MeleeDistance=40
PetAttackAt=100
PetAttackRange=60
MedStartAt=0
MedStopAt=0
MedToFull=0
MinManaToNuke=0
AACutoffTime=10
AAStopAt=25
AggroAt=70
AutofireAt=0
AutofireDistance=100
DebuffAdds=1
DebuffAt=100
DebuffStopAt=10
DotAt=99
DotStopAt=10
FaceAngle=180
FadeAt=20
GrabAdds=0
GrabPrimary=0
HealAt=80
HealDelayedAt=95
HealDurationAt=95
HealGroupAt=80
HealPetAt=80
ImHitAt=50
JoltAt=70
KnockbackAdds=0
KnockbackPrimary=0
LifetapAt=80
LootInCombat=0
LootRadius=0
ManaAt=80
NukeAt=99
RezRadius=100
RootAdds=15
RootPrimary=0
SnareAt=10
SwarmAt=99
UseAutoFire=0
UseAENukes=1
UseAura=1
UseClickyBuffs=1
UseClickyNukes=1
UseFightBuffs=1
UseMainTankBuffs=1
UseManaInCombat=1
UseMez=1
UsePet=1
CustomPetSpell=Shard of Air
UsePetBuffs=1
UseSelfBuffs=1
UseStick=0
StickSettings=30 healer
UseNetBots=1
NetBotsName=PeteSampras
RestTwist=1 2 3 4
CombatTwist=12 2 4

Configuration Explanation

  • /bot [on|off]: Turns on and off the active portion of the plugin.

Generic settings

[MQ2Bot]
BotVersion=2014.0423        <-- Current Version of plugin
RestrictedZones=344,202,151,345  <-- Zones, by ID, that mq2bot disables automatic functions.
CycleDelay=3                     <-- Will only check plugin once ever X cycles to reduce system strain.  DO NOT SET TO ZERO!
Bot=1                                 <-- Use the plugin?  You can ignore this
AnnounceEcho=1                <-- Announce AA/Spells/Skills in /echo? 1 = on, 0 = off
AnnounceEQBC=0               <-- Announce AA/Spells/Skills in EQBC? 1 = on, 0 = off
AnnounceAdds=1               <-- Announce Adds in /echo? 1 = on, 0 = off
AlwaysCheckAdds=0           <-- 0 off, 1 is on. This will perform add handling and allow access to Bot.Adds/Bot.Adds[x] and allow add messages even while /bot off. This is so you can use it in macros if desired.

DefaultGem=1                    <--Default gem to use, (use # 1-12)
BuffPassword=NULL            <--Change this password, and then use password=Spell Name  to request spells/AA from other toons.  it is Case Sensitive.  ie. BuffPassword=PeteSampras, then I would just say in group/tell/guild:  "/g PeteSampras=Unified Hand of Credence" and my cleric would add that spell to the queue and cast it on me when available.
AuthorizedUsers=|guild|group|netbots|PeteSampras|  <-- Available generic entries are "guild", "group","netbots","raid", otherwise you can add specific characters. If you add any generic entries, guild / group / netbots / raid members respectively, will be considered as authorized users.  This bypasses need for BuffPassword.
MedStartAt=90                   <-- Flag yourself as medding and sit as able once you reach this % mana or lower
MedStopAt=90                    <-- Remove medding flag and stop sitting once you are above this % mana
MinManaToNuke=0              <-- Minimum Me.PctMana to use Nukes/DoTs/Swarm pets.

UseStick=0                          <-- Autofollow leader? 1 = on, 0 = off
StickSettings=30 healer        <-- stick settings for autofollow. 

UseNetBots=1                      <-- Use netbots to assist for targets? (netbots/eqbc must be on and enabled)
NetBotsName=PeteSampras  <-- Name of toon to assist in eqbc/netbots (note that both toons must have netbots on and send/get)

LootRadius=0                       <-- Radius to loot corpses using mq2advloot
LootInCombat=0                  <-- 1 = on, 0 = off if you want to loot while you are ${Me.CombatState.Equal[COMBAT]}

RepositionIfSummoned=1   <-- 1 = on, 0 = off.  This will save your location when you first gain aggro, and if summoned, will move back to that location. 

Attack/assist settings

AssistAt=100                      <-- % hp of Bot.Adds[1] to target the mob at
AssistRange=100                <-- Spawn[].Distance away to target mob at
MercAssistAt=100               <-- % hp of target, if less than, to /mercassist
MercAssistRange=0             <-- distance of kill target, if less than, to /mercassist
MeleeAt=100                      <-- Melee if target is at or below this % hp
MeleeDistance=40               <-- Melee if target is within this distance
PetAttackAt=100                 <-- % hp of target to send pet at
PetAttackRange=60             <-- Spawn[].Distance away to send pet at 
UseAutoFire=0                    <-- Use Autofire if target is below this %, is within AssistRange, and is more than 35 range
AutofireAt=0                       <-- Autofire if target is at or below this % hp
AutofireDistance=100          <-- Autofire if target within this distance

Routines

AACutoffTime=10                <-- Me.AltAbility[].MyReuseTime, in minutes, for making a skill only fire on named mobs.
AAStopAt=25                      <-- Stop using AAs if target is below this % hp
AggroAt=70                        <-- Use aggro spell if you are Group.MainTank and next closest person is this % aggro or higher
DebuffAdds=1                     <-- Debuff add(s)? 1 = on, 0 = off
DebuffAt=100                     <-- Debuff target/adds if they are this % hp or less
DebuffStopAt=10                <-- stop debuffing targets if they are below this % hp
DotAt=99                           <-- Use DoT spells if target is at this % hp or lower
DotStopAt=10                     <-- Stop using DoT spells if mob is below this % hp
GrabPrimary=0                    <-- Distance, if farther than this, to fling the primary mob you are fighting to you. 0 turns it off
GrabAdds=0                      <-- Distance, if farther than this, to fling additional mobs you are fighting to you.  0 turns it off
HealAt=80                          <-- this is any heal not specifically broken out elsewhere
HealDurationAt=95              <-- This is all Heal over time spells
HealDelayedAt=95               <-- this is all promised renewal type lines
HealGroupAt=80                  <-- this is all AE/group only spells
HealPetAt=80                      <-- Heal any pets in group if they are below this % hp
InterruptToHealAt=0            <-- % HP, if lowest group member is below this amount, it will interrupt your non-heal spell to heal them. I may set default to like 60 for priests, for now default is 0.
JoltAt=70                            <-- Use aggro spell if you are not Group.MainTank and you are above this % aggro or higher
KnockbackPrimary=0                    <-- Distance to Knockback the primary mob you are fighting. 0 turns it off
KnockbackAdds=0                      <-- Distance to Knockback additional mobs you are fighting.  0 turns it off
LifetapAt=80                       <-- Lifetap if your hp is below this % (may still wait until lower if lifetap gives more than you need)
UseAENukes=1                    <-- Use Nukes that do AE damage?
NukeAt=99                         <-- Nuke target once it is below this %
RootPrimary=0                    <-- Distance to root the primary mob you are fighting. 0 turns it off
RootAdds=15                      <-- Distance to root additional mobs you are fighting.  0 turns it off
SnareAt=10                        <-- Snare target once it is below this %
SwarmAt=99                      <-- Use swarm pet/AA once target is below this %
CustomPetSpell=Shard of Air <-- Use this pet spell instead of highest level
PetIllusionItem=Petamorph Wand - Domain Prowler <-- item name to use whatever spell illusion spell you want kept on your pet. *name of item, not spell* 

Use or don't use settings

UseAura=1                          <-- Use aura(s)? 1 = on, 0 = off
UseClickyBuffs=1                 <-- Use Clicky Buff(s)? 1 = on, 0 = off
UseFightBuffs=1                  <-- Use FightBuff(s)? 1 = on, 0 = off
UseMainTankBuffs=1            <-- Use MainTankBuff(s)? 1 = on, 0 = off
UseManaInCombat=1           <-- Use Mana related AA/spell(s) in combat? 1 = on, 0 = off
ManaAt=80                         <-- Use Mana related AA/Spells if below this % mana (or if group member is below this % mana)
UseMez=1                           <-- Use Mez(s)? 1 = on, 0 = off
UsePet=1                            <-- Create pet(s)? 1 = on, 0 = off
CustomPetSpell=Shard of Air<-- Use a specific pet spell instead of auto detected pet spell?  Use exact name of spell.
UsePetBuffs=1                     <-- Use Pet Buff(s)? 1 = on, 0 = off
UseSelfBuffs=1                    <-- Use Self Buff(s)? 1 = on, 0 = off

Bard Specific

RestTwist=off                     <-- This will /twist off when there are no adds
CombatTwist=12 2 4           <-- This will /twist 12 2 4 when there are adds

Version History

  • 20140518 PeteSampras @ 20140518
    • Updated to latest version
    • Change 2

Availability

This plugin is in semi-closed. The restrictions are listed above in the Full vs Partial access section. To gain full access, you simply need to actively participate in feedback on the threads or donate to the cause. Emails can be directed to PeteSampras.mmobugs@gmail.com regarding access.