Once again pulled from slime.ash. Not all skills are accounted for, only major ones used in aftercore. It shouldn't be THAT hard to add in new skills, though.
Code:
int attack_damage_dealt()
{
int weapon_damage = max( 1 , floor( .1 * get_power( equipped_item( $slot[weapon] ) ).to_float() ) );
int offhand_damage = 0;
if( weapon_type( equipped_item( $slot[offhand] ) ) != $stat[none] )
offhand_damage = max( 1 , floor( .1 * get_power( equipped_item( $slot[offhand] ) ).to_float() ) );
int elem_damage = numeric_modifier( "Hot Damage" ) + numeric_modifier( "Cold Damage" ) + numeric_modifier( "Spooky Damage" ) + numeric_modifier( "Sleaze Damage" ) + numeric_modifier( "Stench Damage" );
int bonus_damage = numeric_modifier( "Weapon Damage" ) + elem_damage;
int lts_factor = 1;
int damage;
float spell_per;
boolean shieldbutt = false;
boolean noisemaker = false;
boolean blowout = false;
boolean sillystring = false;
boolean saucegeyser = false;
boolean wotpl = false;
boolean ff = false;
for i from 0 upto 30
{
switch ( get_ccs_action( i ) )
{
case "skill lunging thrust-smack":
lts_factor = 3;
break;
case "skill thrust-smack":
lts_factor = 2;
break;
case "skill shieldbutt":
shieldbutt = true;
break;
case "item divine noisemaker":
noisemaker = true;
break;
case "item divine blowout":
blowout = true;
break;
case "item divine can of silly string":
sillystring = true;
break;
case "skill saucegeyser":
saucegeyser = true;
break;
case "skill weapon of the pastalord":
wotpl = true;
break;
case "skill fearful fettucini":
ff = true;
}
}
int musc_dam = max( 0 , ( my_buffedstat( $stat[muscle] ) ) - monster_defense() );
if( have_skill( $skill[Eye of the Stoat] ) && lts_factor == 3 )
{
if( my_class() == $class[Seal Clubber] )
musc_dam = max( 0 , ( my_buffedstat( $stat[muscle] ) * 1.3 ) - monster_defense() );
else musc_dam = max( 0 , ( my_buffedstat( $stat[muscle] ) * 1.25 ) - monster_defense() );
}
if( weapon_type( equipped_item( $slot[weapon] ) ) == $stat[none] ) musc_dam = musc_dam * .25;
if( shieldbutt ) offhand_damage = get_power( equipped_item( $slot[offhand] ) ) * .1;
switch
{
case noisemaker:
damage = my_buffedstat( $stat[muscle] );
break;
case blowout:
damage = my_buffedstat( $stat[moxie] );
break;
case sillystring:
damage = my_buffedstat( $stat[mysticality] );
case saucegeyser:
spell_per = ( 1 + numeric_modifier( "Spell Damage Percent" ) ) / 100;
damage = floor( spell_per * ( 35 + ( .35 * my_buffedstat( $stat[mysticality] ) ) + numeric_modifier( "Spell Damage" ) ) );
break;
case wotpl:
case ff:
spell_per = ( 1 + numeric_modifier( "Spell Damage Percent" ) ) / 100;
damage = floor( spell_per * ( 32 + ( .35 * my_buffedstat( $stat[mysticality] ) ) + numeric_modifier( "Spell Damage" ) ) );
break;
default:
damage = musc_dam + bonus_damage + ( weapon_damage * lts_factor ) + offhand_damage;
}
return damage;
Last edited: