Assassin shockweb spam

spam shockweb between waves if shockweb is your skill to use against
regular monsters
announce game when joining

Advanced config to announce the game the leecher is joining. This is
useful for when there is no channel bot.
temp 9

D2Multi

Added patches to reduce in game and out of game cpu usage

D2BS core

Added checks that should help with getlevel/getmapdata/getshortfilename crashes.
https://www.assembla.com/code/d2bs/subversion/changesets/1785

D2Bot#

- Data Cache
        - D2Bot can store temporary data using Key:Value scheme
        - data can be accessed from any d2 window as long as they know the key

- Console View
        - Removed command line parsing
          Serves little to no purprose, you can still issue commands via IRC

- IRC Bot
        - Can start/stop/getstatus on profiles
        - IRC Event: allows d2 windows to subscribe to irc msgs

- Added columns "crashes" "game"
        - crashes: counts number of d2bs errors or window not responding
        - game: shows current game.exe being used (useful for proxy users)

- Asynchronous
        - Key Wizard: no longer blocks UI thread, you can view key info during runtime without crashing
        - Char Log: new implementation no longer reads from hdd on each refresh
                    uses FileSystemWatcher to update new logged mules
                    manually refresh full directory via Tools->Refresh Char Log
                    should be very fast for searching and loading chars after initial load

- Item Image + Description
        - Copy Description: copy text description to clipboard without color codes
        - Post to Imugr: posts png image to imgur and puts image address in clipboard
          Notified by MsgBox

- Bug Fixes
        - Added mutexes to prevent restarting normal windows

Kolbot

added single player screen exit to most starters in case of accidental click
d2botchannel - added mouse blocking and error handling for game join
d2botfollow - added a dynamic delay before joining next game to prevent FTJ
d2botlead - disabled chat messages if channel joining failed
d2botmap - fixed join request handler
d2botmule - don't drop ID scrolls with torch mules
d2botmulelog - go to next account if current one is empty
default.dbj - moved D2Bot.init call to the appropriate place - fixes mule logger item screenshot bug, death reporter is off for characters with chicken set to 0
automule - fixed a bug with mule data file, added getMuleItems function, changed drop item function to use getMuleItems function
mulelogger - added char names to print messages
ntitemparser - added [tier] keyword. not currently used but it can be used for item prioritizing or low level item replacement functions, added support for worded prefix/suffix (ie. [suffix] == of the mammoth)
oog.js - added joinChannel function that can tell whether a channel was joined successfully
torchsystem - key hunters will only drop full sets now
andariel/duriel - MFLeader support fot classic
orgtorch - replaced checkuneven function with completeSetCheck - it will help prevent mismatching organs even when maketorch is false
shopbot - added drognan and malah, try to get a missing waypoint before shopping

attack.js - added wereform attack for all classes, refresh unit when going back from town in Attack.kill(), added more checks for walking characters in Attack.clear and securePosition, attack immune monsters last with classic barbs, excluded claw viper temple lv 2 from monster sorting
attacks/barbarian - tweaked attack code, changed boss/others skill numbers back to 1/3 and changed immune/backup skills to 2/4
attacks/druid - removed wereform attack code (it's now included in a separate file)
cubing - added Roll.Eth/Roll.NonEth/Roll.All for socketing/upgrading recipes, use all free gems for magic item rerolling, don't reroll items in locked inventory space, added recipe randomization - it will no longer skip crafting recipes when there's multiple in the same group (ie. caster amulet+boots)
misc.js - avoid obstacles and prevent getting stuck when opening chests, added several me.gameReady checks to reduce warnings, added sockets to item pictures, changed fileAction to use FileTools, fixed packet gambling
pather - skip getPath call when walking a straight unobstructed line, added area check to usePortal and useWaypoint to prevent unneeded getPath calls, removed delays after successful useWaypoint/usePortal
pickit.js - don't trigger automule when there's no actual items to mule
prototypes - added Array.shuffle, getPrefix/getSuffix can now use string as arg, changed how itemskillonhit and itemchargedskill work - now all that's needed is skill id (ie. [itemchargedskill] == 96 for sacrifice charges)
storage - added lock chec function for inventory items
town.js - added clearScrolls at the end of town chores, go to act 4 for potions in normal (if possible), changed getCorpse function - it will stop the profile if it doesn't get the corpse
antihostile - fixed a bug with hostile trigger at the beginning of a game
heartbeat.js - added restart on double script load bug
toolsthread - ping quit activates only after 5 seconds have passed in game, fixed chicken monster reporting, don't use potions on a dead merc, added d2bot console print for revived viper quit

added attacks/wereform - all characters can shapeshift now
updated templates/attacks.txt with wereform info
updated shopbot.nip with more items and information

updated character config files - make sure to remake configs
fixed invalid recipe format bug
more hotfixes
Pather.js - added back delay to useportal to prevent the walking bug, checkspot can use cached data
AutoMule.js - fixed a bug where automule could get the wrong mule account, dropStuff respects inventory lock
TorchSystem.js - fixed a typo in key drop func
Attack.js - improved getIntoPosition and buildGrid/deploy performance by precaching rooms
CollMap.js - added 3x3 room caching func, added cacheOnly option for collision checks
Misc.js - fixed openChest function that could cause pathing errors
Storage.js - added owner check to IsLocked function
cubing fix
D2Bot -
Fixed some crashes, thread issues, fswatch issues

D2BS -
Fixed GetLevel crash
fixes
D2BotChannel.dbj, D2BotFollow.dbj - fixed join request from other d2botfollow profiles, changed mule trigger, added torchTrigger exception from join game requests
D2BotFollow.dbj - added torchTrigger exception from join game requests
AutoMule.js, TorchSystem.js - fixed a bug where follow profiles could join mule game
Attack.js - tweaked Attack.kill code not to throw errors when boss unit is invalidated
Wereform.js - changed to proper filename and description
CollMap.js - fixed getNearbyRooms error
Misc.js - added a simple text-based item log which logs sold, kept, stashed, dropped and skipped (due to no inventory space) items.

added item txt logger settings to char configs
unit fname error fix
added drop info log to Cubing.js
fixes
fixed a runeword/cubing conflict
optimized preattack code in Baal.js and added it to BaalHelper.js
Gamble.js - break loop when full with gold
Cubing.js - added item on cursor check before making recipes
Pather.js - telekinesis retry fix
ToolsThread.js - added stopDefault to hopefully prevent game not ready warnings
tweaks n fixes
D2BotChannel.dbj/D2BotFollow.dbj - added gambling system support, consolidated mule/torch/gambling trigger code
D2BotLead.dbj - consolidated mule/torch/gambling trigger code, removed an extra min game time call
D2BotMule.dbj - added info whether normal or torch mule game is joined
AutoMule.js - moved mule triggers to AutoMule object, code cleanup
Gambling.js - added support for multiple teams (and thus realms), configurable gold trigger and gold reserve, moved all triggers to Gambling object
MuleLogger.js - added support for sockets
TorchSystem.js - moved triggers to TorchSystem object
Follower.js - move to portalspot only if the character is in town
Gamble.js - synced with changes to Gambling.js
OrgTorch.js - synced with changes to TorchSystem.js
Questing.js - stop profile when quests are done
Attack.js - experimental change to melee attack positioning
Cubing.js - fixed a bug where cubing will keep adding pgem recipes to the list (making the bot pick up more flawless gems than needed), getCube will now stash the cube after getting it
Misc.js - added quality to item logger, added more info to item logger (which function dropped an item, which item was kept for cubing or runewords)
Pickit.js - added itemQualityToName, synced with changes to AutoMule.js
ToolsThread.js - synced with changes to AutoMule.js
mini update
AutoMule.js - added stash/inventory percent trigger which is checked at the end of each game
Attack.js - added some more info to Attack.kill errors
Cubing.js - fixed a bug where a recipe would stay enabled causing the bot to keep excessive gems and jewels
Misc.js - added some more info to item logger, changed how Packet.buyItem checks for shift-bought items (fixes extra scrolls issue)
Pickit.js - item pickup check is now based on quantity of owned items - it shouldn't skip logging items now
Prototypes.js - changed how Item.buy checks for shift-bought items, plusmax/mindamage no longer uses item description, plusdefense no longer uses item description for jewels and charms
Storage.js - added UsedSpacePercent, added TradeScreen container
Town.js - added clearInventory call to town chores, don't shop in act 4 in normal if already in act 5, Town.identify now only parses unid items, added cubing list refresh when a cubing ingredient is identified and kept, packet gambling speedup and overhead info for which items are bought and sold
Merge branch 'Temp' of https://github.com/cuss/d2bot-with-kolbot into Temp