approved by Deck Knight :)
Move Information
Have you ever had to open up the data audit thread when you just wanted to check the energy cost of Mega Drain? Have you wanted to clarify the priority of Wide Guard, but didn't want to open a whole tab for it? Have you ever wanted to see how many actions Encore takes up, but didn't have the time?
If the answer to any of those questions is yes, this script is for you!
Usage
The usage of this script is uncomfortably easy. Simple type:
Replace <move> with the move you want to look up. Then, a socket will connect to Smogon via awesomeness and pull the data right in front of you!
For example, if I type:
It should return:
Setting it Up
All you need to do is add this script to your remote tab via Scripts Editor. In clients other than mIRC, it might have a slightly different name. You need to paste this into remote. Make sure to add this to the Remote tab! This can be done by opening Scripts Editor, or you can press Alt+r. (Note: This is done in mIRC Scripting Language (MSL), which means clients that don't support it can't use it. No, it doesn't work on Mibbit.
Also, give a ton of appreciation to MewMaster. He may seem like a random, but he's actually an amazing dude, and he helped a lot with this script. Catch him on IRC as DragonKnight!
Damage Calculator
There is also an ASB damage calculator. There is the syntax:
/calc base_attack_power Attack Rank Defense Rank STAB[Yes or No] Weakness Critical Hit [If Critical Hit, type crit here. If not, leave blank
Here are some example calculations.
Syclant using Blizzard on Dragonite: /calc 12 4 4 yes 4
Salamence using Brick Break on Dragonite: /calc 8 5 3 no .5
Machamp using Critical Hit Cross Chop on Serperior: /calc 10 5 3 yes 1 crit
The calculations should look like this:
Speed Calculator
There IS an easier way to find the Base Speed of your new +Spe Pokemon! Not only that, but this will tell you the accuracy boost by the +Spe nature! (NOTE: I have added the divisors that were proposed in the June 26 SotG vote. There is already a majority vote choosing to allow them, so don't bitch about it please.)
Here is the syntax:
/+Spe <c_stage> <m_stage> <s_spe>
<c_stage> is the Pokemon's current stage in their evolution line. For example, Shelgon would be 2, Volcarona would be 2, Bagon would be 1, Larvesta would be 1, Spiritomb would be 1, Jolteon would be 2, etc.
<m_stage> is the Pokemon's max stage in their evolution line. For example, Shelgon would be 3, Volcarona would be 2, Bagon would be 3, Larvesta would be 2, Spiritomb would be 1, and Jolteon would be 2.
<s_spe> is the standard Speed for each Pokemon, which is their Base Speed without any modifications. For example, Shelgon would be 50, Volcarona would be 100, Jolteon would be 130, etc.
Examples:
Volcarona: /+Spe 2 2 100
Roserade: /+Spe 3 3 90
Bagon: /+Spe 1 3 50
Jolteon: /+Spe 2 2 130
Here is what it'll return:
[TIMESTAMP] <CharScript> Old Speed: <original Speed>. New Speed: <new Speed> [<unrounded new Speed>].
[TIMESTAMP] <CharScript> Accuracy Boost: <accuracy boost>% [<unrounded accuracy boost>%].
For example, it'll return this for Bagon:
[18:15:31] <CharScript> Old Speed: 50. New Speed: 58 [57.5].
[18:15:31] <CharScript> Accuracy Boost: 12% [11.6%].
Finally, here is the code! As usual, open up Remote (Alt+r) and paste the script into a new file. Save the file!
Move Information
Have you ever had to open up the data audit thread when you just wanted to check the energy cost of Mega Drain? Have you wanted to clarify the priority of Wide Guard, but didn't want to open a whole tab for it? Have you ever wanted to see how many actions Encore takes up, but didn't have the time?
If the answer to any of those questions is yes, this script is for you!
Usage
The usage of this script is uncomfortably easy. Simple type:
Code:
/socks <move>
For example, if I type:
Code:
/socks Thunder Wave
Code:
[COLOR=DarkRed][20:36:50] <CharScript> Thunder Wave: The Pokemon releases blue sparks that target the opponent’s muscle nerves, making them have a chance not to respond to any commands, effectively paralyzing them. Pokemon with a Ground typing or the abilities Lightningrod, Limber, Motor Drive, or Volt Absorb are immune to Thunder Wave.
[20:36:50] <CharScript> Attack Power: -- | Accuracy: 100% | Energy Cost: 7 | Effect Chance: -- | Typing: Electric | Priority: 0[/COLOR]
All you need to do is add this script to your remote tab via Scripts Editor. In clients other than mIRC, it might have a slightly different name. You need to paste this into remote. Make sure to add this to the Remote tab! This can be done by opening Scripts Editor, or you can press Alt+r. (Note: This is done in mIRC Scripting Language (MSL), which means clients that don't support it can't use it. No, it doesn't work on Mibbit.
Also, give a ton of appreciation to MewMaster. He may seem like a random, but he's actually an amazing dude, and he helped a lot with this script. Catch him on IRC as DragonKnight!
Code:
alias socks {
sockopen Smogon www.smogon.com 80
set %move $$1-
}
on *:sockopen:Smogon: {
sockwrite -nt Smogon GET /forums/showpost.php?p=3290502&postcount=3 HTTP/1.0
sockwrite -nt Smogon Host: www.smogon.com
sockwrite -nt Smogon $crlf
}
on *:sockread:Smogon: {
var %text
sockread %text
if (%found == 2) {
unset %found
unset %move
echo -a 5[ $+ $time $+ ] <CharScript> $nohtml(%text)
sockclose Smogon
}
if (%found == 1) inc %found 1
if (($+(*<b>,%move,$chr(58),*</b>*) iswm %text) || ($+(*<b>,%move,</b>,$chr(58),*) iswm %text)) {
inc %found 1
echo -a 5[ $+ $time $+ ] <CharScript> $nohtml(%text)
}
}
alias -l nohtml {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, )
return %x
}
There is also an ASB damage calculator. There is the syntax:
/calc base_attack_power Attack Rank Defense Rank STAB[Yes or No] Weakness Critical Hit [If Critical Hit, type crit here. If not, leave blank
Here are some example calculations.
Syclant using Blizzard on Dragonite: /calc 12 4 4 yes 4
Salamence using Brick Break on Dragonite: /calc 8 5 3 no .5
Machamp using Critical Hit Cross Chop on Serperior: /calc 10 5 3 yes 1 crit
The calculations should look like this:
Calc 1 said:------
Base Power: 12
Attack: Rank 4
Defense: Rank 4
STAB: yes
Weakness: 4x
Damage: 33.75
------
Calc 2 said:------
Base Power: 8
Attack: Rank 5
Defense: Rank 3
STAB: no
Weakness: .5x
Damage: 7.37
------
And the code for the damage calculator:Calc 3 said:------
Base Power: 10
Attack: Rank 5
Defense: Rank 3
STAB: yes
Weakness: 1x
Critical Hit: yes
Damage: 19
------
Code:
[/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]alias calc {
if ($6 == crit) { set %crit 3
}
elseif ($6 == $null) set %critlevel $r(1,10000)
if (%critlevel < 626) { set %crit 3
}
elseif (%critlevel > 625) { set %crit 0
}
if ($2 > 5) { set %atk $calc(($2 - 5) + 7.5)
}
elseif ($2 == 0) { set %atk 1
}
else { set %atk $calc($2 + ($2 * 0.5))
}
if ($3 > 5) { set %def $calc(($3 - 5) + 7.5)
}
elseif ($3 == 0) { set %def 1
}
else { set %def $calc($3 + ($3 * 0.5))
}
set %dif $calc(%atk - %def)
if ($4 == yes) { set %stab 3
}
elseif ($4 == no) { set %stab 0
}
if ($5 == .25) { set %se .44
}
elseif ($5 == .5) { set %se .67
}
elseif ($5 == 1) { set %se 1
}
elseif ($5 == 2) { set %se 1.5
}
elseif ($5 == 4) { set %se 2.25
}
set %calc $calc(($1 + %dif + %stab + %crit) * %se)
echo -a <CharScript> ------
echo -a [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]<CharScript> [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]Base Power: $1
echo -a [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]<CharScript> [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]Attack: Rank $2
echo -a [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]<CharScript> [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]Defense: Rank $3
echo -a [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]<CharScript> [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]STAB: $4
echo -a [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]<CharScript> [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]Weakness: $5 $+ x
if (%crit == 0) { echo -a Critical Hit: no
}
elseif (%crit === 3) { echo -a [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]<CharScript> [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]Critical Hit: yes
}
echo -a Damage: [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]<CharScript> [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]%calc
echo -a [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]<CharScript> [/COLOR][/COLOR][/SIZE][/SIZE][SIZE=3][SIZE=2][COLOR=Red][COLOR=Black]------
unset %crit %critlevel %atk %def %stab %dif %se
}
There IS an easier way to find the Base Speed of your new +Spe Pokemon! Not only that, but this will tell you the accuracy boost by the +Spe nature! (NOTE: I have added the divisors that were proposed in the June 26 SotG vote. There is already a majority vote choosing to allow them, so don't bitch about it please.)
Here is the syntax:
/+Spe <c_stage> <m_stage> <s_spe>
<c_stage> is the Pokemon's current stage in their evolution line. For example, Shelgon would be 2, Volcarona would be 2, Bagon would be 1, Larvesta would be 1, Spiritomb would be 1, Jolteon would be 2, etc.
<m_stage> is the Pokemon's max stage in their evolution line. For example, Shelgon would be 3, Volcarona would be 2, Bagon would be 3, Larvesta would be 2, Spiritomb would be 1, and Jolteon would be 2.
<s_spe> is the standard Speed for each Pokemon, which is their Base Speed without any modifications. For example, Shelgon would be 50, Volcarona would be 100, Jolteon would be 130, etc.
Examples:
Volcarona: /+Spe 2 2 100
Roserade: /+Spe 3 3 90
Bagon: /+Spe 1 3 50
Jolteon: /+Spe 2 2 130
Here is what it'll return:
[TIMESTAMP] <CharScript> Old Speed: <original Speed>. New Speed: <new Speed> [<unrounded new Speed>].
[TIMESTAMP] <CharScript> Accuracy Boost: <accuracy boost>% [<unrounded accuracy boost>%].
For example, it'll return this for Bagon:
[18:15:31] <CharScript> Old Speed: 50. New Speed: 58 [57.5].
[18:15:31] <CharScript> Accuracy Boost: 12% [11.6%].
Finally, here is the code! As usual, open up Remote (Alt+r) and paste the script into a new file. Save the file!
Code:
alias +Spe {
set %b $calc($$1 / $$2)
if (%b == 1) {
set %c 870
}
elseif (%b == 0.333333) {
set %c 290
}
elseif (%b == 0.5) {
set %c 435
}
elseif (%b == 0.666667) {
set %c 580
}
set %a $calc($$3 * 1.15)
set %d $calc($ceil(%a) * $ceil(%a) / %c)
if ($round(%d,0) > 30) {
set %e 30
}
elseif ($round(%d,0) < 5) {
set %e 5
}
else {
set %e $round(%d,0)
}
echo -a 4[ $+ $time $+ ] <CharScript> Old Speed: $$3 $+ . New Speed: $ceil(%a) [ $+ %a $+ ].
echo -a 4[ $+ $time $+ ] <CharScript> Accuracy Boost: %e $+ % [ $+ %d $+ % $+ ].
unset %a %b %c %d %e
}