|
|
|
@ -49,31 +49,59 @@ void fireWeapon(struct Weapon *weaponRef, char *direction){ |
|
|
|
|
projectile.curYpos=allEntities[0].curYpos; |
|
|
|
|
projectile.curXpos=allEntities[0].curXpos; |
|
|
|
|
projectile.lastMoveClock=clock(); |
|
|
|
|
if(!strcmp(direction,"up")){ |
|
|
|
|
projectile.range*=.4; |
|
|
|
|
projectile.direction='w'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[2]; |
|
|
|
|
if(allEntities[0].curWeapon==0){ |
|
|
|
|
if(!strcmp(direction,"up")){ |
|
|
|
|
projectile.direction='w'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[2]; |
|
|
|
|
} |
|
|
|
|
if(!strcmp(direction,"left")){ |
|
|
|
|
projectile.direction='a'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[0]; |
|
|
|
|
}
|
|
|
|
|
if(!strcmp(direction,"down")){ |
|
|
|
|
projectile.direction='s'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[6]; |
|
|
|
|
}
|
|
|
|
|
if(!strcmp(direction,"right")){ |
|
|
|
|
projectile.direction='d'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[4]; |
|
|
|
|
}
|
|
|
|
|
int i; |
|
|
|
|
for(i=0;i<MAX_PROJECTILES;i++){ |
|
|
|
|
if(!allProjectiles[i].isAlive && !allProjectiles[i+1].isAlive){ |
|
|
|
|
allEntities[0].projectilesFired++; |
|
|
|
|
allProjectiles[i]=projectile; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
}
|
|
|
|
|
} |
|
|
|
|
if(!strcmp(direction,"left")){ |
|
|
|
|
projectile.direction='a'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[0]; |
|
|
|
|
}
|
|
|
|
|
if(!strcmp(direction,"down")){ |
|
|
|
|
projectile.range*=.4; |
|
|
|
|
projectile.direction='s'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[6]; |
|
|
|
|
}
|
|
|
|
|
if(!strcmp(direction,"right")){ |
|
|
|
|
projectile.direction='d'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[4]; |
|
|
|
|
}
|
|
|
|
|
int i; |
|
|
|
|
for(i=0;i<MAX_PROJECTILES;i++){ |
|
|
|
|
if(!allProjectiles[i].isAlive && !allProjectiles[i+1].isAlive){ |
|
|
|
|
allEntities[0].projectilesFired++; |
|
|
|
|
allProjectiles[i]=projectile; |
|
|
|
|
allEntities[0].weapons[allEntities[0].curWeapon].curCapacity--; |
|
|
|
|
break; |
|
|
|
|
else{
|
|
|
|
|
if(!strcmp(direction,"up")){ |
|
|
|
|
projectile.range*=.4; |
|
|
|
|
projectile.direction='w'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[2]; |
|
|
|
|
} |
|
|
|
|
if(!strcmp(direction,"left")){ |
|
|
|
|
projectile.direction='a'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[0]; |
|
|
|
|
}
|
|
|
|
|
if(!strcmp(direction,"down")){ |
|
|
|
|
projectile.range*=.4; |
|
|
|
|
projectile.direction='s'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[6]; |
|
|
|
|
}
|
|
|
|
|
if(!strcmp(direction,"right")){ |
|
|
|
|
projectile.direction='d'; |
|
|
|
|
projectile.symbol=weaponRef->symbols[4]; |
|
|
|
|
}
|
|
|
|
|
int i; |
|
|
|
|
for(i=0;i<MAX_PROJECTILES;i++){ |
|
|
|
|
if(!allProjectiles[i].isAlive && !allProjectiles[i+1].isAlive){ |
|
|
|
|
allEntities[0].projectilesFired++; |
|
|
|
|
allProjectiles[i]=projectile; |
|
|
|
|
allEntities[0].weapons[allEntities[0].curWeapon].curCapacity--; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}
|
|
|
|
|
} |
|
|
|
|