Skip to content

Instantly share code, notes, and snippets.

Created June 1, 2012 20:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/2854909 to your computer and use it in GitHub Desktop.
Save anonymous/2854909 to your computer and use it in GitHub Desktop.
#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