FS with fire within (20%) + ion sprite at 0 SP (25%)
453-471(~462)
FS with fire within (20%) + ion sprite at 5 SP (40%)
497-519(~508)
FS with fire within (20%) + ion sprite at 10 SP (55%)
537-561(~549)
LB with the fire within (20%)
127-132
Base LB
105.8-110 (107.9)
LB with fire within (20%) + ion sprite at 10 SP (110%)
246-255(250.5)
Numbers seem solid for regular spells the spell boost is 25%+3*SP but for Lightning Bolt the boost is doubled, 50%+6*SP. Patojonas 15:28, 13 June 2014 (PDT)
Damage = (19+S) - (23+3*S); Firing rate = 40% + 5*S; At 7 SP the 3rd message is unlocked, dealing electric and sonic damage. 1st and 2nd messages have equal chances. Chance of the 3rd messsage increased by max[(S-6)*5%; 0). Patojonas 08:16, 14 June 2014 (PDT)
In case you're interested in knowing how it got done (and how you could easily do it) I had the AA script use first aid till death and kept track of the round count. in the background I had this GM script working:
scripty, easier to check if you look at the source code
// ==UserScript==
// @name TH Message Tracking
// @author Patojonas, based on Sena's scripts
// @description Tracks random messages for spading purposes
// @include *twilightheroes.com/fight.php*
// @include *twilightheroes.com/journal-notes.php
// ==/UserScript==
var Body = document.getElementsByTagName("body")[0].textContent;
var AttackCheck1 = /zots them for (\d+) damage/;
var AttackCheck2 = /she shocks them for (\d+) damage/;
var AttackCheck3 = /lightning goddess for (\d+) /;
if (AttackCheck1.test(Body)) {
GM_setValue("Message1",GM_getValue("Message1",0)+1);
var value = parseInt(AttackCheck1.exec(Body)[1]);
if (value > GM_getValue("Message1High", 0)) {
GM_setValue("Message1High",value)
}
if (value < GM_getValue("Message1 Low", 1000000000)) {
GM_setValue("Message1 Low",value)
}
}
if (AttackCheck2.test(Body)) {
GM_setValue("Message2",GM_getValue("Message2",0)+1);
var value2 = parseInt(AttackCheck2.exec(Body)[1]);
if (value2 > GM_getValue("Message2High", 0)) {
GM_setValue("Message2High",value2)
}
if (value2 < GM_getValue("Message2 Low", 1000000000)) {
GM_setValue("Message2 Low",value2)
}
}
if (AttackCheck3.test(Body)) {
GM_setValue("Message3",GM_getValue("Message3",0)+1);
var value3 = parseInt(AttackCheck3.exec(Body)[1]);
if (value3 > GM_getValue("Message3High", 0)) {
GM_setValue("Message3High",value3)
}
if (value3 < GM_getValue("Message3 Low", 1000000000)) {
GM_setValue("Message3 Low",value3)
}
}