ah... that makes MORE sense.
Here ya go, the ondoattack.c code:
void main()
{
void self;
void other;
int which;
int hit_by_id;
int attack_id;
void vAniID = getentityproperty(self,"animationID");
int attacktype1 = getlocalvar("attacktype");
self = getlocalvar("self");
other = getlocalvar("other");
which = getlocalvar("which");
if(which && getentityproperty(other,"exists") && vAniID == openborconstant("ANI_FALL31")){
if(which == openborconstant("EXCHANGE_RECIPIANT") && vAniID == openborconstant("ANI_FALL31") && attacktype1 == openborconstant("ATK_NORMAL31")){
hit_by_id = getentityproperty(self, "hitbyid");
attack_id = getlocalvar("attackid");
if(hit_by_id != attack_id){
changeopenborvariant("lasthitc", 0);
}
}
}
}
AND here's the Pinododge.c code:
void main()
{// Dodges runattack
// Only performed if enemy is in IDLE or WALK
// When he/she dodges, he/she will perform FOLLOW1 animation
void self = getlocalvar("self"); //Get calling entity.
void Anim = getentityproperty(self, "animationID");
if(Anim == openborconstant("ANI_IDLE") || Anim == openborconstant("ANI_WALK")){
void target = findtarget(self);
void EAnim = getentityproperty(target, "animationID");
if(EAnim == openborconstant("ANI_RUNATTACK") || EAnim == openborconstant("ANI_JUMPATTACK") || EAnim == openborconstant("ANI_JUMPATTACK2") || EAnim == openborconstant("ANI_RUNJUMPATTACK")){
changeopenborvariant("lasthitc", 0);
changeentityproperty(self, "velocity", 0, 0);
performattack(self, openborconstant("ANI_FOLLOW1"));
}
}
}