So I reverted psm_melee back to how it originally was, so it looks like this:
statecntr++
if(statecntr < atkwarmup){
skelani_set_animation(atkanimation,0)
}
else if(statecntr < atkwarmup + atkduration){
skelani_set_animation(atkanimation,(statecntr-atkwarmup)/atkduration)
}
else if(statecntr == atkwarmup + atkduration){
skelani_set_animation(atkanimation,1)
n = instance_create(x,y,atkhitboxobj)
n.image_xscale = skelani_xscale
n.sprite_index = atkhitboxspr
with(n){
player_weapon_get_stat_block_current()
//Heavy attacks are 30% stronger, but only for melee weaposn, so this code is only here.
if(other.atk_isheavy){
rpg_adjust_atk_stat_block_uniformly(1.3,0)
}
//When winded, lower power of attack
if(other.atk_winded){
rpg_adjust_atk_stat_block_uniformly(0.7,0)
}
//When wielding a weapon without proper stats, power is reduced greatly.
var str, dex, int, fth;
str = db_read_stat(itemtype_WEAPON,other.atk_weapon,wd_REQUIREMENT_STR)
dex = db_read_stat(itemtype_WEAPON,other.atk_weapon,wd_REQUIREMENT_DEX)
int = db_read_stat(itemtype_WEAPON,other.atk_weapon,wd_REQUIREMENT_INT)
fth = db_read_stat(itemtype_WEAPON,other.atk_weapon,wd_REQUIREMENT_FTH)
if(!player_meets_requirements(str,dex,int,fth)){
rpg_adjust_atk_stat_block_uniformly(0.1,0)
}
}
n.lifetime = atkduration
n.blockbreaker = player_weapon_get_stat(wd_BLOCKBREAKER)
}
else if(statecntr < atkwarmup + atkduration + atkcooldown){
skelani_set_animation(atkanimation,1)
}
else{
state = psm_ordinary
}
So from there, where should I be making these changes? Trying to go back through your instructions from the previous comment and then altering them with the new information doesn't seem to be working, unless I'm just putting something in the wrong place :/