Created
June 1, 2012 20:21
-
-
Save anonymous/2854909 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#SingleInstance force | |
ComObjError(0) | |
;<<==========================================================>> | |
;<<===================<<[ Demon Hunter ]>>===================>> | |
;<<==========================================================>> | |
DH_Primary := ["Hungering Arrow","Entangling Shot","Bola Shot","Grenades"] | |
DH_Secondary := ["Impale","Rapid Fire","Chakram","Elemental Arrow"] | |
DH_Defensive := ["Caltrops","Smoke Screen","Shadow Power"] | |
Hunting := ["Vault","Preparation","Companion","Marked for Death"] | |
Devices := ["Evasive Fire","Fan of Knives","Spike Trap","Sentry"] | |
Archery := ["Strafe","Multishot","Cluster Arrow","Rain of Vengeance"] | |
HungeringArrow := ["","Puncturing Arrow","Cinder Arrow","Shatter Shot","Devouring Arrow","Spray of Teeth"] | |
Impale := ["","Impact","Chemical Burn","Overpenetration","Awareness","Grievous Wounds"] | |
EntanglingShot := ["","Chain Gang","Shock Collar","Heavy Burden","Justice is Served","Bounty Hunter"] | |
Caltrops := ["","Hooked Spines","Torturous Ground","Jagged Spikes","Carved Stakes","Bait the Trap"] | |
RapidFire := ["","Withering Fire","Web Shot","Fire Support","High Velocity","Bombardment"] | |
SmokeScreen := ["","Displacement","Lingering Fog","Breathe Deep","Special Recipe","Choking Gas"] | |
Vault :=["","Action Shot","Rattling Roll","Tumble","Acrobatics","Trail of Cinders"] | |
BolaShot := ["","Volatile Explosives","Thunder Ball","Acid Strike","Bitter Pill","Imminent Doom"] | |
Chakram := ["","Twin Chakrams","Serpentine","Razor Disk","Boomerang","Shuriken Cloud"] | |
Preparation := ["","Invigoration","Punishment","Battle Scars","Focused Mind","Backup Plan"] | |
EvasiveFire := ["","Shrapnel","Parting Gift","Covering Fire","Displace","Surge"] | |
Grenades := ["","Tinkerer","Cluster Grenades","Fire Bomb","Stun Grenades","Gas Grenades"] | |
ShadowPower := ["","Night Bane","Blood Moon","Well of Darkness","Gloom","Shadow Glide"] | |
Companion := ["","Spider Companion","Bat Companion","Boar Companion","Ferret Companion","Wolf Companion"] | |
FanofKnives := ["","Crippling Razors","Retaliate","Hail of Knives","Fan of Daggers","Assassin's Knives"] | |
SpikeTrap := ["","Bandolier","Sticky Trap","Long Fuse","Lightning Rod","Scatter"] | |
Strafe := ["","Equilibrium","Drifting Shadow","Stinging Steel","Rocket Storm","Demolition"] | |
ElementalArrow :=["","Ball Lightning","Frost Arrow","Screaming Skull","Lightning Bolts","Nether Tentacles"] | |
MarkedforDeath := ["","Contagion","Valley of Death","Grim Reaper","Mortal Enemy","Death Toll"] | |
Multishot := ["","Fire at Will","Burst Fire","Suppression Fire","Full Broadside","Arsenal"] | |
Sentry := ["","Spitfire Turret","Vigilant Watcher","Chain of Torment","Aid Station","Guardian Turret"] | |
ClusterArrow := ["","Dazzling Arrow","Shooting Stars","Maelstrom","Cluster Bombs","Loaded for Bear"] | |
RainofVengeance := ["","Dark Cloud","Beastly Bombs","Stampede","Anathema","Flying Strike"] | |
DH_Passive := ["Tactical Advantage","Thrill of the Hunt","Vengeance","Steady Aim","Cull the Weak","Night Stalker","Brooding","Hot Pursuit","Archery","Numbing Traps","Perfectionist","Custom Engineering","Grenadier","Sharpshooter","Ballistics"] | |
;<<==========================================================>> | |
;<<====================<<[ Barbarian ]>>=====================>> | |
;<<==========================================================>> | |
B_Primary := ["Bash", "Cleave", "Frenzy"] | |
B_Secondary := ["Hammer of the Ancients", "Rend", "Seismic Slam", "Whirlwind"], | |
B_Defensive := ["Ground Stomp", "Leap", "Sprint", "Ignore Pain"] | |
Might := ["Ancient Spear", "Revenge", "Furious Charge", "Overpower"] | |
Tactics := ["Weapon Throw", "Threatening Shout", "Battle Rage", "War Cry"] | |
Rage := ["Earthquake", "Call of the Ancients", "Wrath of the Berserker"] | |
Bash := ["","Clobber","Onslaught","Punish","Instigation","Pulverize"] | |
Cleave := ["","Rupture","Reaping Swing","Scattering Blast","Broad Sweep","Gathering Storm"] | |
Frenzy := ["","Sidearm","Triumph","Vanguard","Smite","Maniac"] | |
HammeroftheAncients := ["","Rolling Thunder","Smash","The Devil's Anvil","Thunderstrike","Birthright"] | |
Rend := ["","Ravage","Blood Lust","Lacerate","Mutilate","Bloodbath"] | |
SeismicSlam := ["","Stagger","Shattered Ground","Rumble","Strength from Earth","Cracking Rift"] | |
Whirlwind := ["","Dust Devils","Hurricane","Blood Funnel","Wind Shear","Volcanic Eruption"] | |
GroundStomp := ["","Deafening Crash","Wrenching Smash","Trembling Stomp","Foot of the Mountain","Avalanche"] | |
Leap := ["","Iron Impact","Launch","Toppling Impact","Call of Arreat","Death from Above"] | |
Sprint := ["","Rush","Run Like the Wind","Marathon","Gangway","Forced March"] | |
IgnorePain := ["","Bravado","Iron Hide","Ignorance is Bliss","Mob Rule","Contempt for Weakness"] | |
AncientSpear := ["","Grappling Hooks","Skirmish","Dread Spear","Harpoon","Rage Flip"] | |
Revenge := ["","Vengeance Is Mine","Best Served Cold","Retribution","Grudge","Provocation"] | |
FuriousCharge := ["","Battering Ram","Merciless Assault","Stamina","Bull Rush","Dreadnought"] | |
Overpower := ["","Storm of Steel","Killing Spree","Crushing Advance","Momentum","Revel"] | |
WeaponThrow := ["","Mighty Throw","Ricochet","Throwing Hammer","Stupefy","Dread Bomb"] | |
ThreateningShout := ["","Intimidate","Falter","Grim Harvest","Demoralize","Terrify"] | |
BattleRage := ["","Marauder's Rage","Ferocity","Swords to Ploughshares","Into the Fray","Bloodshed"] | |
WarCry := ["","Hardened Wrath","Charge!","Invigorate","Veteran's Warning","Impunity"] | |
Earthquake := ["","Giant's Stride","Chilling Earth","The Mountain's Call","Aftershocks","Path of Fire"] | |
CalloftheAncients := ["","The Council Rises","Duty to the Clan","Korlic's Might","Madawc's Madness","Talic's Anger"] | |
WrathoftheBerserker := ["","Arreat's Wail","Insanity","Slaughter","Striding Giant","Thrive on Chaos"] | |
B_Passive := ["Pound of Flesh","Ruthless","Nerves Of Steel","Weapons Master","Berserker Rage","Inspiring Presence","Bloodthirst","Animosity","Superstition","Tough as Nails","No Escape","Relentless","Brawler","Juggernaut","Unforgiving","Boon of Bul-Kathos"] | |
;<<==========================================================>> | |
;<<=======================<<[ Monk ]>>=======================>> | |
;<<==========================================================>> | |
M_Primary := ["Fists of Thunder","Deadly Reach","Crippling Wave","Way of the Hundred Fists"] | |
M_Secondary := ["Lashing Tail Kick","Tempest Rush","Wave of Light"] | |
M_Defensive := ["Blinding Flash","Breath of Heaven","Serenity","Inner Sanctuary"] | |
Techniques := ["Dashing Strike","Exploding Palm","Sweeping Wind"] | |
Focus := ["Cyclone Strike","Seven-Sided Strike","Mystic Ally"] | |
Mantras := ["Mantra of Evasion","Mantra of Retribution","Mantra of Healing","Mantra of Conviction"] | |
FistsofThunder := ["","Thunderclap","Lightning Flash","Static Charge","Quickening","Bounding Light"] | |
LashingTailKick := ["","Vulture Claw Kick","Sweeping Armada","Spinning Flame Kick","Scorpion Sting","Hand of Ytar"] | |
DeadlyReach := ["","Piercing Trident","Keen Eye","Scattered Blows","Strike from Beyond","Foresight"] | |
BlindingFlash := ["","Self Reflection","Blinded and Confused","Blinding Echo","Searing Light","Faith in the Light"] | |
TempestRush := ["","Northern Breeze","Tailwind","Flurry","Slipstream","Bluster"] | |
BreathofHeaven := ["","Circle of Scorn","Circle of Life","Blazing Wrath","Infused with Light","Penitent Flame"] | |
DashingStrike := ["","Way of the Falling Star","Flying Side Kick","Quicksilver","Soaring Skull","Blinding Speed"] | |
CripplingWave := ["","Mangle","Concussion","Rising Tide","Tsunami","Breaking Wave"] | |
WaveofLight := ["","Wall of Light","Explosive Light","Empowered Wave","Blinding Light","Pillar of the Ancients"] | |
ExplodingPalm := ["","The Flesh is Weak","Strong Spirit","Creeping Demise","Impending Doom","Essence Burn"] | |
CycloneStrike := ["","Eye of the Storm","Implosion","Sunburst","Wall of Wind","Soothing Breeze"] | |
WayoftheHundredFists := ["","Hands of Lightning","Blazing Fists","Fists of Fury","Spirited Salvo","Windforce Flurry"] | |
Serenity := ["","Peaceful Repose","Reap What Is Sown","Tranquility","Ascension","Instant Karma"] | |
SevenSidedStrike := ["","Sudden Assault","Several-Sided Strike","Pandemonium","Sustained Attack","Fulminating Onslaught"] | |
MantraofEvasion := ["","Hard Target","Divine Protection","Wind through the Reeds","Perseverance","Backlash"] | |
MantraofRetribution := ["","Retaliation","Transgression","Indignation","Against All Odds","Collateral Damage"] | |
SweepingWind := ["","Master of Wind","Blade Storm","Fire Storm","Inner Storm","Cyclone"] | |
InnerSanctuary := ["","Safe Haven","Sanctified Ground","Consecration","Circle of Protection","Forbidden Palace"] | |
MysticAlly := ["","Water Ally","Fire Ally","Air Ally","Eternal Ally","Earth Ally"] | |
MantraofHealing := ["","Sustenance","Circular Breathing","Boon of Protection","Heavenly Body","Time of Need"] | |
M_Passive := ["Fleet Footed","Resolve","Exalted Soul","Transcendence","Chant of Resonance","Seize the Initiative","The Guardian's Path","Sixth Sense","Pacifism","Beacon of Ytar","Guiding Light","One With Everything","Combination Strike","Near Death Experience"] | |
;<<==========================================================>> | |
;<<===================<<[ Witch Doktor ]>>===================>> | |
;<<==========================================================>> | |
WD_Primary := ["Poison Dart","Corpse Spiders","Plague of Toads","Firebomb"] | |
WD_Secondary := ["Grasp of the Dead","Firebats","Haunt","Locust Swarm"] | |
WD_Defensive := ["Summon Zombie Dogs","Horrify","Spirit Walk","Hex"] | |
Terror := ["Soul Harvest","Sacrifice","Mass Confusion"] | |
Decay := ["Zombie Charger","Spirit Barrage","Acid Cloud","Wall of Zombies"] | |
Voodoo := ["Gargantuan","Big Bad Voodoo","Fetish Army"] | |
AcidCloud := ["","Acid Rain","Lob Blob Bomb","Slow Burn","Kiss of Death","Corpse Bomb"] | |
BigBadVoodoo := ["","Jungle Drums","Rain Dance","Slam Dance","Ghost Trance","Boogie Man"] | |
CorpseSpiders := ["","Leaping Spiders","Spider Queen","Widowmakers","Medusa Spiders","Blazing Spiders"] | |
Firebats := ["","Dire Bats","Vampire Bats","Plague Bats","Hungry Bats","Cloud of Bats"] | |
Firebomb := ["","Flash Fire","Roll the Bones","Fire Pit","Pyrogeist","Ghost Bomb"] | |
Gargantuan := ["","Humongoid","Restless Giant","Wrathful Protector","Big Stinker","Bruiser"] | |
GraspoftheDead := ["","Unbreakable Grasp","Groping Eels","Death Is Life","Desperate Grasp","Rain of Corpses"] | |
Haunt := ["","Consuming Spirit","Resentful Spirit","Lingering Spirit","Grasping Spirit","Draining Spirit"] | |
Hex := ["","Hedge Magic","Jinx","Angry Chicken","Painful Transformation","Unstable Form"] | |
Horrify := ["","Phobia","Stalker","Face of Death","Frightening Aspect","Ruthless Terror"] | |
LocustSwarm := ["","Pestilence","Devouring Swarm","Cloud of Insects","Diseased Swarm","Searing Locusts"] | |
MassConfusion := ["","Unstable Realm","Devolution","Mass Hysteria","Paranoia","Mass Hallucination"] | |
PlagueofToads := ["","Explosive Toads","Toad of Hugeness","Rain of Toads","Addling Toads","Toad Affinity"] | |
PoisonDart := ["","Splinters","Numbing Dart","Spined Dart","Flaming Dart","Snake to the Face"] | |
Sacrifice := ["","Black Blood","Next of Kin","Pride","For the Master","Provoke the Pack"] | |
SoulHarvest := ["","Swallow Your Soul","Siphon","Languish","Soul to Waste","Vengeful Spirit"] | |
SpiritBarrage := ["","The Spirit Is Willing","Well of Souls","Phantasm","Phlebotomize","Manitou"] | |
SpiritWalk := ["","Jaunt","Honored Guest","Umbral Shock","Severance","Healing Journey"] | |
SummonZombieDogs := ["","Rabid Dogs","Final Gift","Life Link","Burning Dogs","Leeching Beasts"] | |
WallofZombies := ["","Barricade","Unrelenting Grip","Creepers","Pile On","Dead Rush"] | |
ZombieCharger := ["","Leperous Zombie","Undeath","Wave of Zombies","Explosive Beast","Zombie Bears"] | |
WD_Passive := ["Circle of Life","Jungle Fortitude","Spiritual Attunement","Gruesome Feast","Bad Medicine","Blood Ritual","Zombie Handler","Pierce the Veil","Fetish Sycophants","Spirit Vessel","Rush of Essence","Vision Quest","Fierce Loyalty","Grave Injustice","Tribal Rites"] | |
;<<==========================================================>> | |
;<<======================<<[ Wizard ]>>======================>> | |
;<<==========================================================>> | |
;ennek a buzeransnak meg van 2 olyan categoryja ahol 5 skill van | |
W_Primary := ["Magic Missile","Shock Pulse","Spectral Blade","Electrocute"] | |
W_Secondary := ["Ray of Frost","Arcane Orb","Arcane Torrent","Disintegrate"] | |
W_Defensive := ["Frost Nova","Diamond Skin","Slow Time","Teleport"] | |
Force := ["Wave of Force","Energy Twister","Hydra","Meteor","Blizzard"] | |
Conjuration := ["Ice Armor","Storm Armor","Magic Weapon","Familiar","Energy Armor"] | |
Mastery := ["Explosive Blast","Mirror Image","Archon"] | |
ArcaneOrb := ["","Obliteration","Arcane Orbit","Arcane Nova","Tap the Source","Celestial Orb"] | |
ArcaneTorrent := ["","Disruption","Death Blossom","Arcane Mines","Power Stone","Cascade"] | |
Blizzard := ["","Grasping Chill","Frozen Solid","Snowbound","Stark Winter","Unrelenting Storm"] | |
DiamondSkin := ["","Crystal Shell","Prism","Mirror Skin","Enduring Skin","Diamond Shards"] | |
Disintegrate := ["","Convergence","Chaos Nexus","Volatility","Entropy","Intensify"] | |
Electrocute := ["","Chain Lightning","Forked Lightning","Lightning Blast","Surge of Power","Arc Lightning"] | |
EnergyArmor := ["","Absorption","Pinpoint Barrier","Energy Tap","Force Armor","Prismatic Armor"] | |
EnergyTwister := ["","Mistral Breeze","Gale Force","Raging Storm","Wicked Wind","Storm Chaser"] | |
ExplosiveBlast := ["","Unleashed","Time Bomb","Short Fuse","Obliterate","Chain Reaction"] | |
Familiar := ["","Sparkflint","Dartling","Ancient Guardian","Arcanot","Cannoneer"] | |
FrostNova := ["","Shatter","Cold Snap","Frozen Mist","Deep Freeze","Bone Chill"] | |
Hydra := ["","Arcane Hydra","Lightning Hydra","Venom Hydra","Frost Hydra","Mammoth Hydra"] | |
IceArmor := ["","Chilling Aura","Crystallize","Jagged Ice","Ice Reflect","Frozen Storm"] | |
MagicMissile := ["","Charged Blast","Split","Penetrating Blast","Attunement","Seeker"] | |
MagicWeapon := ["","Electrify","Force Weapon","Conduit","Venom","Blood Magic"] | |
Meteor := ["","Molten Impact","Star Pact","Meteor Shower","Comet","Liquefy"] | |
MirrorImage := ["","Simulacrum","Duplicates","Mocking Demise","Extension of Will","Mirror Mimics"] | |
RayofFrost := ["","Numb","Snow Blast","Cold Blood","Sleet Storm","Black Ice"] | |
ShockPulse := ["","Explosive Bolts","Fire Bolts","Piercing Orb","Lightning Affinity","Living Lightning"] | |
SlowTime := ["","Miasma","Time Warp","Time Shell","Perpetuity","Stretch Time"] | |
SpectralBlade := ["","Deep Cuts","Impactful Blades","Siphoning Blade","Healing Blades","Thrown Blade"] | |
StormArmor := ["","Reactive Armor","Power of the Storm","Strike Back","Scramble","Shocking Aspect"] | |
Teleport := ["","Safe Passage","Wormhole","Reversal","Fracture","Calamity"] | |
WaveofForce := ["","Impactful Wave","Force Affinity","Forceful Wave","Teleporting Wave","Exploding Wave"] | |
W_Passive := ["Blur","Power Hungry","Evocation","Glass Cannon","Prodigy","Astral Presence","Illusionist","Cold Blooded","Conflagration","Paralysis","Galvanizing Ward","Temporal Flux","Critical Mass","Arcane Dynamo","Unstable Anomaly"] | |
^!Numpad7:: | |
;urlinput := "http://us.battle.net/d3/en/calculator/witch-doctor#hcUdkT!cTe!babaca" | |
build := | |
InputBox, urlinput, Paste your build's URL,,, 500, 100 | |
if ErrorLevel | |
return | |
if !RegExMatch(urlinput, "http://us.battle.net/d3/en/calculator/") | |
{ | |
MsgBox, 0x10, Error!, This is not a valid build url! | |
return | |
} | |
IE := COmObjCreate("InternetExplorer.Application") | |
IE.visible := false | |
IE.Toolbar := false | |
IE.navigate(urlinput) | |
while IE.ReadyState != 4 | |
sleep 100 | |
Sleep, 2000 | |
out := IE.document.querySelectorAll("div.calculator-frame")[0].innerhtml | |
IE.quit() | |
class := Which_Class(urlinput) | |
index := 1 | |
passive_index := 1 | |
Loop, parse, out, `n, `r | |
{ | |
IF A_loopfield is space | |
continue | |
IF RegExMatch(A_loopfield, "skill-name") | |
{ | |
RegExMatch(A_loopfield, "[A-Za-z0-9_\s\'\-]+(?=</span>)", skillname) | |
Continue | |
} | |
IF RegExMatch(A_loopfield, "skill-rune") | |
RegExMatch(A_loopfield, "[A-Za-z0-9_\s\'\-]+(?=</span>)", runename) | |
IF (skillname) | |
{ | |
build .= Build_Generator(class,skillname,runename,index) "`n" | |
OutputDebug % build | |
skillname= | |
runename= | |
} | |
IF RegExMatch(A_loopfield, "trait-name") | |
{ | |
IF RegExMatch(A_loopfield, "[A-Za-z0-9_\s\'\-]+(?=</span>)", passiveskill) | |
build .= Build_Generator_Passive(class,passiveskill,passive_index) "`n" | |
OutputDebug % build | |
} | |
} | |
Gui, Add, Edit, x2 y0 w240 h140 veditcontrol, %build% | |
Gui, Add, Button, x42 y150 w150 h50 gCopyBuild, Copy Build and Exit | |
Gui, Show, x261 y204 h220 w257, New GUI Window | |
Return | |
Copybuild: | |
clipboard := | |
clipboard := build | |
gui, destroy | |
return | |
Build_Generator(class,skillname,rune,byref index) | |
{ | |
global | |
command = | |
IF class = barbarian | |
{ | |
For sKey,sValue in B_Primary | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",1,Ability3_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in B_Secondary | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",2,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in B_Defensive | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",3,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Might | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",4,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Tactics | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",5,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Rage | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",6,Ability3_" sKey ",Rune_" rKey ")" | |
} | |
} | |
} | |
IF class = demonhunter | |
{ | |
For sKey,sValue in DH_Primary | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",1,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in DH_Secondary | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",2,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in DH_Defensive | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",3,Ability3_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Hunting | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",4,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Devices | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",5,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Archery | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",6,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
} | |
IF class = monk | |
{ | |
For sKey,sValue in M_Primary | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
StringReplace, skillname, skillname, -,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",1,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in M_Secondary | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
StringReplace, skillname, skillname, -,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",2,Ability3_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in M_Defensive | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
StringReplace, skillname, skillname, -,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",3,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Techniques | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
StringReplace, skillname, skillname, -,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",4,Ability3_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Focus | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
StringReplace, skillname, skillname, -,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",5,Ability3_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Mantras | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
StringReplace, skillname, skillname, -,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",6,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
} | |
IF class = witchdoctor | |
{ | |
For sKey,sValue in WD_Primary | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",1,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in WD_Secondary | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",2,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in WD_Defensive | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",3,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Terror | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",4,Ability3_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Decay | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",5,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Voodoo | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",6,Ability3_" sKey ",Rune_" rKey ")" | |
} | |
} | |
} | |
IF class = wizard | |
{ | |
For sKey,sValue in W_Primary | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",1,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in W_Secondary | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",2,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in W_Defensive | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",3,Ability4_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Force | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",4,Ability5_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Conjuration | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",5,Ability5_" sKey ",Rune_" rKey ")" | |
} | |
} | |
For sKey,sValue in Mastery | |
{ | |
IF (sValue = skillname) | |
{ | |
StringReplace, skillname, skillname, %A_Space%,,All | |
For rKey, rValue in %skillname% | |
IF (rValue = rune) | |
command .= "Switch_Skill(Skill_" index ",6,Ability3_" sKey ",Rune_" rKey ")" | |
} | |
} | |
} | |
index ++ | |
return, command | |
} | |
Build_Generator_Passive(class,passiveskill,byref passive_index) | |
{ | |
global | |
command = | |
IF class = barbarian | |
{ | |
For pKey,pValue in B_Passive | |
IF (pValue = passiveskill) | |
{ | |
IF pKey < 12 | |
command := "Switch_Passive(PSkill_" passive_index ",PassiveAb_" pKey ")" | |
Else | |
command := "Switch_Passive(PSkill_" passive_index ",PassiveAbBarb_" pKey ")" | |
} | |
} | |
IF class = demonhunter | |
{ | |
For pKey,pValue in DH_Passive | |
IF (pValue = passiveskill) | |
command := "Switch_Passive(PSkill_" passive_index ",PassiveAb_" pKey ")" | |
} | |
IF class = monk | |
{ | |
For pKey,pValue in M_Passive | |
IF (pValue = passiveskill) | |
{ | |
IF pKey < 12 | |
command := "Switch_Passive(PSkill_" passive_index ",PassiveAb_" pKey ")" | |
Else | |
command := "Switch_Passive(PSkill_" passive_index ",PassiveAbMonk_" pKey ")" | |
} | |
} | |
IF class = witchdoctor | |
{ | |
For pKey,pValue in WD_Passive | |
IF (pValue = passiveskill) | |
command := "Switch_Passive(PSkill_" passive_index ",PassiveAb_" pKey ")" | |
} | |
IF class = wizard | |
{ | |
For pKey,pValue in W_Passive | |
IF (pValue = passiveskill) | |
command := "Switch_Passive(PSkill_" passive_index ",PassiveAb_" pKey ")" | |
} | |
passive_index ++ | |
return, command | |
} | |
Which_Class(input) | |
{ | |
IF RegExMatch(input, "barbarian") | |
return, "barbarian" | |
IF RegExMatch(input, "demon-hunter") | |
return, "demonhunter" | |
IF RegExMatch(input, "monk") | |
return, "monk" | |
IF RegExMatch(input, "witch-doctor") | |
return, "witchdoctor" | |
IF RegExMatch(input, "wizard") | |
return, "wizard" | |
} | |
return | |
guiclose: | |
gui, destroy | |
return | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment