oh boy... i made a mistake...
the right formula : resultdmg = (spbasedmg*heroSP+spadddmg)*orbcoef*(1+sorccoef*(1+speccoef*herolvl))
the result is rounded down
where: for armageddon spbasedmg=50 spadddmg=120(expertfiremagic)
orbcoef is 1,5 when orb worn , 1 when no orb worn (for each type of spells own orb - i.e. fireorb for armageddon, waterorb for frostring, any orb for magicarrow)
sorccoef is 0,05 for basic, 0,1 for advanced , 0,15 for expert Sorcery
speccoef is 0,05 for sorcery specialist and 0 for non-sorcery specialist
herosp is hero spell power and herolvl is hero level
Armageddon damage = (50*99+120)*1,5*(1+0,15*(1+0,05*32767)) = 1877693
maximum damage ever(SoD): Implosion damage = (75*99+300)*1,5*(1+0,15*(1+0,05*32767)) = 2860982
I made an excel-document for calculating all the stuff.
http://phomm.narod.ru/spdmgclc.zip