player[participantfocus[whichdialogue][j]].yaw=participantyaw[whichdialogue][participantfocus[whichdialogue][j]];
player[participantfocus[whichdialogue][j]].targetyaw=participantyaw[whichdialogue][participantfocus[whichdialogue][j]];
player[participantfocus[whichdialogue][j]].velocity=0;
- player[participantfocus[whichdialogue][j]].targetanimation=player[participantfocus[whichdialogue][j]].getIdle();
- player[participantfocus[whichdialogue][j]].targetframe=0;
+ player[participantfocus[whichdialogue][j]].animTarget=player[participantfocus[whichdialogue][j]].getIdle();
+ player[participantfocus[whichdialogue][j]].frameTarget=0;
}
directing=0;
indialogue=0;
player[participantfocus[whichdialogue][i]].yaw=participantyaw[whichdialogue][participantfocus[whichdialogue][i]];
player[participantfocus[whichdialogue][i]].targetyaw=participantyaw[whichdialogue][participantfocus[whichdialogue][i]];
player[participantfocus[whichdialogue][i]].velocity=0;
- player[participantfocus[whichdialogue][i]].targetanimation=player[participantfocus[whichdialogue][i]].getIdle();
- player[participantfocus[whichdialogue][i]].targetframe=0;
+ player[participantfocus[whichdialogue][i]].animTarget=player[participantfocus[whichdialogue][i]].getIdle();
+ player[participantfocus[whichdialogue][i]].frameTarget=0;
}
directing=0;
player[i].DoMipmaps();
}
- player[i].currentanimation=bounceidleanim;
- player[i].targetanimation=bounceidleanim;
- player[i].currentframe=0;
- player[i].targetframe=1;
+ player[i].animCurrent=bounceidleanim;
+ player[i].animTarget=bounceidleanim;
+ player[i].frameCurrent=0;
+ player[i].frameTarget=1;
player[i].target=0;
player[i].speed=1+(float)(Random()%100)/1000;
if(difficulty==0)
break; case 4: if(player[0].forwardkeydown||player[0].backkeydown||player[0].leftkeydown||player[0].rightkeydown)tutorialsuccess+=multiplier;
break; case 5: if(player[0].jumpkeydown)tutorialsuccess=1;
break; case 6: if(player[0].isCrouch())tutorialsuccess=1;
- break; case 7: if(player[0].targetanimation==rollanim)tutorialsuccess=1;
- break; case 8: if(player[0].targetanimation==sneakanim)tutorialsuccess+=multiplier;
- break; case 9: if(player[0].targetanimation==rabbitrunninganim||player[0].targetanimation==wolfrunninganim)tutorialsuccess+=multiplier;
+ break; case 7: if(player[0].animTarget==rollanim)tutorialsuccess=1;
+ break; case 8: if(player[0].animTarget==sneakanim)tutorialsuccess+=multiplier;
+ break; case 9: if(player[0].animTarget==rabbitrunninganim||player[0].animTarget==wolfrunninganim)tutorialsuccess+=multiplier;
break; case 11: if(player[0].isWallJump())tutorialsuccess=1;
- break; case 12: if(player[0].targetanimation==flipanim)tutorialsuccess=1;
- break; case 15: if(player[0].targetanimation==upunchanim||player[0].targetanimation==winduppunchanim)tutorialsuccess=1;
- break; case 16: if(player[0].targetanimation==winduppunchanim)tutorialsuccess=1;
- break; case 17: if(player[0].targetanimation==spinkickanim)tutorialsuccess=1;
- break; case 18: if(player[0].targetanimation==sweepanim)tutorialsuccess=1;
- break; case 19: if(player[0].targetanimation==dropkickanim)tutorialsuccess=1;
- break; case 20: if(player[0].targetanimation==rabbitkickanim)tutorialsuccess=1;
+ break; case 12: if(player[0].animTarget==flipanim)tutorialsuccess=1;
+ break; case 15: if(player[0].animTarget==upunchanim||player[0].animTarget==winduppunchanim)tutorialsuccess=1;
+ break; case 16: if(player[0].animTarget==winduppunchanim)tutorialsuccess=1;
+ break; case 17: if(player[0].animTarget==spinkickanim)tutorialsuccess=1;
+ break; case 18: if(player[0].animTarget==sweepanim)tutorialsuccess=1;
+ break; case 19: if(player[0].animTarget==dropkickanim)tutorialsuccess=1;
+ break; case 20: if(player[0].animTarget==rabbitkickanim)tutorialsuccess=1;
break; case 21: if(bonus==cannon)tutorialsuccess=1;
break; case 22: if(bonus==spinecrusher)tutorialsuccess=1;
- break; case 23: if(player[0].targetanimation==walljumprightkickanim||player[0].targetanimation==walljumpleftkickanim)tutorialsuccess=1;
- break; case 24: if(player[0].targetanimation==rabbittacklinganim)tutorialsuccess=1;
- break; case 25: if(player[0].targetanimation==backhandspringanim)tutorialsuccess=1;
- break; case 28: if(animation[player[0].targetanimation].attack==reversed&&player[0].feint)tutorialsuccess=1;
+ break; case 23: if(player[0].animTarget==walljumprightkickanim||player[0].animTarget==walljumpleftkickanim)tutorialsuccess=1;
+ break; case 24: if(player[0].animTarget==rabbittacklinganim)tutorialsuccess=1;
+ break; case 25: if(player[0].animTarget==backhandspringanim)tutorialsuccess=1;
+ break; case 28: if(animation[player[0].animTarget].attack==reversed&&player[0].feint)tutorialsuccess=1;
break; case 29:
if(player[0].escapednum==2) {
tutorialsuccess=1;
cananger=0;
player[1].aitype=passivetype;
}
- break; case 33: if(animation[player[0].targetanimation].attack==reversal)tutorialsuccess=1;
- break; case 34: if(animation[player[0].targetanimation].attack==reversal)tutorialsuccess=1;
+ break; case 33: if(animation[player[0].animTarget].attack==reversal)tutorialsuccess=1;
+ break; case 34: if(animation[player[0].animTarget].attack==reversal)tutorialsuccess=1;
break; case 35:
- if(animation[player[0].targetanimation].attack==reversal){
+ if(animation[player[0].animTarget].attack==reversal){
tutorialsuccess=1;
reversaltrain=0;
cananger=0;
}
break; case 40: if(player[0].num_weapons>0)tutorialsuccess=1;
break; case 41: if(player[0].weaponactive==-1&&player[0].num_weapons>0)tutorialsuccess=1;
- break; case 43: if(player[0].targetanimation==knifeslashstartanim)tutorialsuccess=1;
- break; case 44: if(animation[player[0].targetanimation].attack==reversal)tutorialsuccess=1;
- break; case 45: if(animation[player[0].targetanimation].attack==reversal)tutorialsuccess=1;
- break; case 46: if(animation[player[0].targetanimation].attack==reversal)tutorialsuccess=1;
+ break; case 43: if(player[0].animTarget==knifeslashstartanim)tutorialsuccess=1;
+ break; case 44: if(animation[player[0].animTarget].attack==reversal)tutorialsuccess=1;
+ break; case 45: if(animation[player[0].animTarget].attack==reversal)tutorialsuccess=1;
+ break; case 46: if(animation[player[0].animTarget].attack==reversal)tutorialsuccess=1;
break; case 49: if(player[1].weaponstuck!=-1)tutorialsuccess=1;
break; default: break;
}
player[numplayers].skeleton.drawmodelclothes.textureptr.load(":Data:Textures:Belt.png",1,1);
player[numplayers].power=1;
player[numplayers].speedmult=1;
- player[numplayers].currentanimation=bounceidleanim;
- player[numplayers].targetanimation=bounceidleanim;
- player[numplayers].currentframe=0;
- player[numplayers].targetframe=1;
+ player[numplayers].animCurrent=bounceidleanim;
+ player[numplayers].animTarget=bounceidleanim;
+ player[numplayers].frameCurrent=0;
+ player[numplayers].frameTarget=1;
player[numplayers].target=0;
player[numplayers].bled=0;
player[numplayers].speed=1+(float)(Random()%100)/1000;
if(i==k)continue;
if( player[k].skeleton.free==0&&
player[i].skeleton.oldfree==0&&
- (player[i].targetanimation==jumpupanim||
- player[k].targetanimation==jumpupanim)&&
+ (player[i].animTarget==jumpupanim||
+ player[k].animTarget==jumpupanim)&&
(player[i].aitype==playercontrolled||
player[k].aitype==playercontrolled)&&
(player[i].aitype==attacktypecutoff&&player[i].stunned<=0||
if( distsq(&player[i].coords,&player[k].coords)<10*sq((player[i].scale+player[k].scale)*2.5)&&
distsqflat(&player[i].coords,&player[k].coords)<2*sq((player[i].scale+player[k].scale)*2.5)){
//TODO: refactor two huge similar ifs
- if(player[i].targetanimation==jumpupanim&&
- player[k].targetanimation!=getupfrombackanim&&
- player[k].targetanimation!=getupfromfrontanim&&
- animation[player[k].targetanimation].height==middleheight&&
+ if(player[i].animTarget==jumpupanim&&
+ player[k].animTarget!=getupfrombackanim&&
+ player[k].animTarget!=getupfromfrontanim&&
+ animation[player[k].animTarget].height==middleheight&&
normaldotproduct(player[i].velocity,player[k].coords-player[i].coords)<0&&
(player[k].aitype==playercontrolled&&player[k].attackkeydown||
player[k].aitype!=playercontrolled)){
player[i].victim=&player[k];
player[i].velocity=0;
- player[i].currentanimation=jumpreversedanim;
- player[i].targetanimation=jumpreversedanim;
- player[i].currentframe=0;
- player[i].targetframe=1;
+ player[i].animCurrent=jumpreversedanim;
+ player[i].animTarget=jumpreversedanim;
+ player[i].frameCurrent=0;
+ player[i].frameTarget=1;
player[i].targettilt2=0;
player[k].victim=&player[i];
player[k].velocity=0;
- player[k].currentanimation=jumpreversalanim;
- player[k].targetanimation=jumpreversalanim;
- player[k].currentframe=0;
- player[k].targetframe=1;
+ player[k].animCurrent=jumpreversalanim;
+ player[k].animTarget=jumpreversalanim;
+ player[k].frameCurrent=0;
+ player[k].frameTarget=1;
player[k].targettilt2=0;
if(player[i].coords.y<player[k].coords.y+1){
- player[i].currentanimation=rabbitkickreversedanim;
- player[i].targetanimation=rabbitkickreversedanim;
- player[i].currentframe=1;
- player[i].targetframe=2;
- player[k].currentanimation=rabbitkickreversalanim;
- player[k].targetanimation=rabbitkickreversalanim;
- player[k].currentframe=1;
- player[k].targetframe=2;
+ player[i].animCurrent=rabbitkickreversedanim;
+ player[i].animTarget=rabbitkickreversedanim;
+ player[i].frameCurrent=1;
+ player[i].frameTarget=2;
+ player[k].animCurrent=rabbitkickreversalanim;
+ player[k].animTarget=rabbitkickreversalanim;
+ player[k].frameCurrent=1;
+ player[k].frameTarget=2;
}
player[i].target=0;
player[k].oldcoords=player[k].coords;
if(player[k].aitype==attacktypecutoff)
player[k].stunned=.5;
}
- if(player[k].targetanimation==jumpupanim&&
- player[i].targetanimation!=getupfrombackanim&&
- player[i].targetanimation!=getupfromfrontanim&&
- animation[player[i].targetanimation].height==middleheight&&
+ if(player[k].animTarget==jumpupanim&&
+ player[i].animTarget!=getupfrombackanim&&
+ player[i].animTarget!=getupfromfrontanim&&
+ animation[player[i].animTarget].height==middleheight&&
normaldotproduct(player[k].velocity,player[i].coords-player[k].coords)<0&&
((player[i].aitype==playercontrolled&&player[i].attackkeydown)||
player[i].aitype!=playercontrolled)){
player[k].victim=&player[i];
player[k].velocity=0;
- player[k].currentanimation=jumpreversedanim;
- player[k].targetanimation=jumpreversedanim;
- player[k].currentframe=0;
- player[k].targetframe=1;
+ player[k].animCurrent=jumpreversedanim;
+ player[k].animTarget=jumpreversedanim;
+ player[k].frameCurrent=0;
+ player[k].frameTarget=1;
player[k].targettilt2=0;
player[i].victim=&player[k];
player[i].velocity=0;
- player[i].currentanimation=jumpreversalanim;
- player[i].targetanimation=jumpreversalanim;
- player[i].currentframe=0;
- player[i].targetframe=1;
+ player[i].animCurrent=jumpreversalanim;
+ player[i].animTarget=jumpreversalanim;
+ player[i].frameCurrent=0;
+ player[i].frameTarget=1;
player[i].targettilt2=0;
if(player[k].coords.y<player[i].coords.y+1){
- player[k].targetanimation=rabbitkickreversedanim;
- player[k].currentanimation=rabbitkickreversedanim;
- player[i].currentanimation=rabbitkickreversalanim;
- player[i].targetanimation=rabbitkickreversalanim;
- player[k].currentframe=1;
- player[k].targetframe=2;
- player[i].currentframe=1;
- player[i].targetframe=2;
+ player[k].animTarget=rabbitkickreversedanim;
+ player[k].animCurrent=rabbitkickreversedanim;
+ player[i].animCurrent=rabbitkickreversalanim;
+ player[i].animTarget=rabbitkickreversalanim;
+ player[k].frameCurrent=1;
+ player[k].frameTarget=2;
+ player[i].frameCurrent=1;
+ player[i].frameTarget=2;
}
player[k].target=0;
player[i].oldcoords=player[i].coords;
if((player[k].isRun()&&
((player[k].targetyaw!=rabbitrunninganim&&
player[k].targetyaw!=wolfrunninganim)||
- player[k].targetframe==4))||
- player[k].targetanimation==removeknifeanim||
- player[k].targetanimation==crouchremoveknifeanim||
- player[k].targetanimation==flipanim||
- player[k].targetanimation==fightsidestep||
- player[k].targetanimation==walkanim){
+ player[k].frameTarget==4))||
+ player[k].animTarget==removeknifeanim||
+ player[k].animTarget==crouchremoveknifeanim||
+ player[k].animTarget==flipanim||
+ player[k].animTarget==fightsidestep||
+ player[k].animTarget==walkanim){
player[k].yaw=stepTowardf(player[k].yaw, player[k].targetyaw, multiplier*player[k].turnspeed);
}
if(player[k].isStop()||
player[k].isLanding()||
- player[k].targetanimation==staggerbackhighanim||
- (player[k].targetanimation==sneakanim&&player[k].currentanimation==sneakanim)||
- player[k].targetanimation==staggerbackhardanim||
- player[k].targetanimation==backhandspringanim||
- player[k].targetanimation==dodgebackanim||
- player[k].targetanimation==rollanim||
- (animation[player[k].targetanimation].attack&&
- player[k].targetanimation!=rabbitkickanim&&
- (player[k].targetanimation!=crouchstabanim||player[k].hasvictim)&&
- (player[k].targetanimation!=swordgroundstabanim||player[k].hasvictim))){
+ player[k].animTarget==staggerbackhighanim||
+ (player[k].animTarget==sneakanim&&player[k].animCurrent==sneakanim)||
+ player[k].animTarget==staggerbackhardanim||
+ player[k].animTarget==backhandspringanim||
+ player[k].animTarget==dodgebackanim||
+ player[k].animTarget==rollanim||
+ (animation[player[k].animTarget].attack&&
+ player[k].animTarget!=rabbitkickanim&&
+ (player[k].animTarget!=crouchstabanim||player[k].hasvictim)&&
+ (player[k].animTarget!=swordgroundstabanim||player[k].hasvictim))){
player[k].yaw=stepTowardf(player[k].yaw, player[k].targetyaw, multiplier*player[k].turnspeed*2);
}
- if(player[k].targetanimation==sneakanim&&player[k].currentanimation!=sneakanim){
+ if(player[k].animTarget==sneakanim&&player[k].animCurrent!=sneakanim){
player[k].yaw=stepTowardf(player[k].yaw, player[k].targetyaw, multiplier*player[k].turnspeed*4);
}
//if player's position has changed (?)
if(distsq(&player[k].coords,&player[k].realoldcoords)>0&&
!player[k].skeleton.free&&
- player[k].targetanimation!=climbanim&&
- player[k].targetanimation!=hanganim){
+ player[k].animTarget!=climbanim&&
+ player[k].animTarget!=hanganim){
XYZ lowpoint,lowpointtarget,lowpoint2,lowpointtarget2,lowpoint3,lowpointtarget3,lowpoint4,lowpointtarget4,lowpoint5,lowpointtarget5,lowpoint6,lowpointtarget6,lowpoint7,lowpointtarget7,colpoint,colpoint2;
int whichhit;
bool tempcollide=0;
objects.scale[i]>.5&&player[k].aitype==playercontrolled||
objects.position[i].y>player[k].coords.y){
lowpoint=player[k].coords;
- if(player[k].targetanimation!=jumpupanim&&
- player[k].targetanimation!=jumpdownanim&&
+ if(player[k].animTarget!=jumpupanim&&
+ player[k].animTarget!=jumpdownanim&&
!player[k].isFlip())
lowpoint.y+=1.25;
else
//wall jumps
//TODO: refactor four similar blocks
if(player[k].aitype==playercontrolled&&
- (player[k].targetanimation==jumpupanim||
- player[k].targetanimation==jumpdownanim||
+ (player[k].animTarget==jumpupanim||
+ player[k].animTarget==jumpdownanim||
player[k].isFlip())&&
!player[k].jumptogglekeydown&&
player[k].jumpkeydown){
player[k].collide=1;
tempcollide=1;
- if(player[k].targetanimation==jumpdownanim||player[k].isFlip()){
+ if(player[k].animTarget==jumpdownanim||player[k].isFlip()){
//flipped into a rock
- if(player[k].isFlip()&&animation[player[k].targetanimation].label[player[k].targetframe]==7)
+ if(player[k].isFlip()&&animation[player[k].animTarget].label[player[k].frameTarget]==7)
player[k].RagDoll(0);
- if(player[k].targetanimation==jumpupanim){
+ if(player[k].animTarget==jumpupanim){
player[k].jumppower=-4;
- player[k].targetanimation=player[k].getIdle();
+ player[k].animTarget=player[k].getIdle();
}
player[k].target=0;
- player[k].targetframe=0;
+ player[k].frameTarget=0;
player[k].onterrain=1;
if(player[k].id==0){
}
//landing
- if((player[k].targetanimation==jumpdownanim||player[k].isFlip())&&!player[k].wasLanding()){
+ if((player[k].animTarget==jumpdownanim||player[k].isFlip())&&!player[k].wasLanding()){
if(player[k].isFlip())
player[k].jumppower=-4;
- player[k].targetanimation=player[k].getLanding();
+ player[k].animTarget=player[k].getLanding();
emit_sound_at(landsound, player[k].coords, 128.);
if(k==0){
envsound[numenvsounds]=player[k].coords;
lowpoint.y+=1.35;
if(objects.type[i]!=rocktype)
if(player[k].SphereCheck(&lowpoint,1.33,&colpoint,&objects.position[i],&objects.yaw[i],&objects.model[i])!=-1){
- if(player[k].targetanimation!=jumpupanim&&
- player[k].targetanimation!=jumpdownanim&&
+ if(player[k].animTarget!=jumpupanim&&
+ player[k].animTarget!=jumpdownanim&&
player[k].onterrain)
player[k].avoidcollided=1;
player[k].coords=lowpoint;
player[k].collide=1;
if((player[k].grabdelay<=0||player[k].aitype!=playercontrolled)&&
- (player[k].currentanimation!=climbanim&&
- player[k].currentanimation!=hanganim&&
+ (player[k].animCurrent!=climbanim&&
+ player[k].animCurrent!=hanganim&&
!player[k].isWallJump()||
- player[k].targetanimation==jumpupanim||
- player[k].targetanimation==jumpdownanim)){
+ player[k].animTarget==jumpupanim||
+ player[k].animTarget==jumpdownanim)){
lowpoint=player[k].coords;
objects.model[i].SphereCheckPossible(&lowpoint, 1.5, &objects.position[i], &objects.yaw[i]);
lowpoint=player[k].coords;
whichhit=objects.model[i].LineCheckPossible(&lowpoint,&lowpointtarget,&colpoint,&objects.position[i],&objects.yaw[i]);
if(objects.friction[i]>.5)
if(whichhit!=-1){
- if(whichhit!=-1&&player[k].targetanimation!=jumpupanim&&player[k].targetanimation!=jumpdownanim)
+ if(whichhit!=-1&&player[k].animTarget!=jumpupanim&&player[k].animTarget!=jumpdownanim)
player[k].collided=1;
if(checkcollide(lowpoint7,lowpointtarget7)==-1)
if(checkcollide(lowpoint6,lowpointtarget6)==-1)
lowpointtarget=lowpoint+facing*1.4;
if(objects.model[i].LineCheckPossible(&lowpoint,&lowpointtarget,
&colpoint2,&objects.position[i],&objects.yaw[i])==-1){
- if(j<=6||j<=25&&player[k].targetanimation==jumpdownanim)
+ if(j<=6||j<=25&&player[k].animTarget==jumpdownanim)
break;
- if(player[k].targetanimation==jumpupanim||player[k].targetanimation==jumpdownanim){
+ if(player[k].animTarget==jumpupanim||player[k].animTarget==jumpdownanim){
lowpoint=DoRotation(objects.model[i].facenormals[whichhit],0,objects.yaw[k],0);
lowpoint=player[k].coords;
lowpoint.y+=(float)j/13;
player[k].currentoffset=(flatfacing-player[k].coords)/player[k].scale;
if(j>10||!player[k].isRun()){
- if(player[k].targetanimation==jumpdownanim||player[k].targetanimation==jumpupanim){
+ if(player[k].animTarget==jumpdownanim||player[k].animTarget==jumpupanim){
if(k==0)
pause_sound(whooshsound);
}
player[k].velocity=0;
//climb ledge (?)
- if(player[k].targetanimation==jumpupanim){
- player[k].targetanimation=climbanim;
+ if(player[k].animTarget==jumpupanim){
+ player[k].animTarget=climbanim;
player[k].jumppower=0;
player[k].jumpclimb=1;
}
player[k].transspeed=6;
player[k].target=0;
- player[k].targetframe=1;
+ player[k].frameTarget=1;
//hang ledge (?)
if(j>25){
player[k].setAnimation(hanganim);
if(player[k].collide<=0){
//in the air
if(!player[k].onterrain&&
- player[k].targetanimation!=jumpupanim&&
- player[k].targetanimation!=jumpdownanim&&
- player[k].targetanimation!=climbanim&&
- player[k].targetanimation!=hanganim&&
+ player[k].animTarget!=jumpupanim&&
+ player[k].animTarget!=jumpdownanim&&
+ player[k].animTarget!=climbanim&&
+ player[k].animTarget!=hanganim&&
!player[k].isWallJump()&&
!player[k].isFlip()){
- if(player[k].currentanimation!=climbanim&&
- player[k].currentanimation!=tempanim&&
- player[k].targetanimation!=backhandspringanim&&
- (player[k].targetanimation!=rollanim||
- player[k].targetframe<2||
- player[k].targetframe>6)){
+ if(player[k].animCurrent!=climbanim&&
+ player[k].animCurrent!=tempanim&&
+ player[k].animTarget!=backhandspringanim&&
+ (player[k].animTarget!=rollanim||
+ player[k].frameTarget<2||
+ player[k].frameTarget>6)){
//stagger off ledge (?)
- if(player[k].targetanimation==staggerbackhighanim||player[k].targetanimation==staggerbackhardanim)
+ if(player[k].animTarget==staggerbackhighanim||player[k].animTarget==staggerbackhardanim)
player[k].RagDoll(0);
player[k].setAnimation(jumpdownanim);
!oldattackkey&&
!player[0].backkeydown){
for(int k=0;k<numplayers;k++){
- if((player[k].targetanimation==swordslashanim||
- player[k].targetanimation==staffhitanim||
- player[k].targetanimation==staffspinhitanim)&&
- player[0].currentanimation!=dodgebackanim&&
+ if((player[k].animTarget==swordslashanim||
+ player[k].animTarget==staffhitanim||
+ player[k].animTarget==staffspinhitanim)&&
+ player[0].animCurrent!=dodgebackanim&&
!player[k].skeleton.free)
player[k].Reverse();
}
for(int k=0;k<numplayers;k++){
if(indialogue!=-1)player[k].attackkeydown=0;
- if(player[k].targetanimation!=rabbitrunninganim&&player[k].targetanimation!=wolfrunninganim){
+ if(player[k].animTarget!=rabbitrunninganim&&player[k].animTarget!=wolfrunninganim){
if(player[k].aitype!=playercontrolled)
player[k].victim=&player[0];
//attack key pressed
if(player[k].attackkeydown){
//dodge backward
if(player[k].backkeydown&&
- player[k].targetanimation!=backhandspringanim&&
+ player[k].animTarget!=backhandspringanim&&
(player[k].isIdle()||
player[k].isStop()||
player[k].isRun()||
- player[k].targetanimation==walkanim)){
+ player[k].animTarget==walkanim)){
if(player[k].jumppower<=1){
player[k].jumppower-=2;
}else{
for(int i=0;i<numplayers;i++){
if(i==k)continue;
- if(player[i].targetanimation==swordslashanim||
- player[i].targetanimation==knifeslashstartanim||
- player[i].targetanimation==staffhitanim||
- player[i].targetanimation==staffspinhitanim)
+ if(player[i].animTarget==swordslashanim||
+ player[i].animTarget==knifeslashstartanim||
+ player[i].animTarget==staffhitanim||
+ player[i].animTarget==staffspinhitanim)
if(distsq(&player[k].coords,&player[i].coords)<6.5&&!player[i].skeleton.free){
player[k].setAnimation(dodgebackanim);
player[k].targetyaw=roughDirectionTo(player[k].coords,player[i].coords);
player[k].targettilt2=pitchTo(player[k].coords,player[i].coords);
}
}
- if(player[k].targetanimation!=dodgebackanim){
+ if(player[k].animTarget!=dodgebackanim){
if(k==0)numflipped++;
player[k].setAnimation(backhandspringanim);
player[k].targetyaw=-yaw+180;
}
}
//attack
- if(!animation[player[k].targetanimation].attack&&
+ if(!animation[player[k].animTarget].attack&&
!player[k].backkeydown&&
(player[k].isIdle()||
player[k].isRun()||
- player[k].targetanimation==walkanim||
- player[k].targetanimation==sneakanim||
+ player[k].animTarget==walkanim||
+ player[k].animTarget==sneakanim||
player[k].isCrouch())){
const int attackweapon=player[k].weaponactive==-1?0:weapons[player[k].weaponids[player[k].weaponactive]].getType();
//normal attacks (?)
for(int i=0;i<numplayers;i++){
if(i==k||!(k==0||i==0))continue;
if(!player[k].hasvictim)
- if(animation[player[k].targetanimation].attack!=reversal){
+ if(animation[player[k].animTarget].attack!=reversal){
//choose an attack
const float distance=distsq(&player[k].coords,&player[i].coords);
if(distance<4.5&&
!player[i].skeleton.free&&
player[i].howactive<typedead1&&
- player[i].targetanimation!=jumpreversedanim&&
- player[i].targetanimation!=rabbitkickreversedanim&&
- player[i].targetanimation!=rabbitkickanim&&
- player[k].targetanimation!=rabbitkickanim&&
- player[i].targetanimation!=getupfrombackanim&&
- (player[i].targetanimation!=staggerbackhighanim&&
- (player[i].targetanimation!=staggerbackhardanim||
- animation[staggerbackhardanim].label[player[i].targetframe]==6))&&
- player[i].targetanimation!=jumpdownanim&&
- player[i].targetanimation!=jumpupanim&&
- player[i].targetanimation!=getupfromfrontanim){
+ player[i].animTarget!=jumpreversedanim&&
+ player[i].animTarget!=rabbitkickreversedanim&&
+ player[i].animTarget!=rabbitkickanim&&
+ player[k].animTarget!=rabbitkickanim&&
+ player[i].animTarget!=getupfrombackanim&&
+ (player[i].animTarget!=staggerbackhighanim&&
+ (player[i].animTarget!=staggerbackhardanim||
+ animation[staggerbackhardanim].label[player[i].frameTarget]==6))&&
+ player[i].animTarget!=jumpdownanim&&
+ player[i].animTarget!=jumpupanim&&
+ player[i].animTarget!=getupfromfrontanim){
player[k].victim=&player[i];
player[k].hasvictim=1;
if(player[k].aitype==playercontrolled){ //human player
//sweep
if(distance<2.5*sq(player[k].scale*5)&&
player[k].crouchkeydown&&
- animation[player[i].targetanimation].height!=lowheight)
- player[k].targetanimation=sweepanim;
+ animation[player[i].animTarget].height!=lowheight)
+ player[k].animTarget=sweepanim;
//winduppunch
else if(distance<1.5*sq(player[k].scale*5)&&
- animation[player[i].targetanimation].height!=lowheight&&
+ animation[player[i].animTarget].height!=lowheight&&
!player[k].forwardkeydown&&
!player[k].leftkeydown&&
!player[k].rightkeydown&&
!player[k].crouchkeydown&&
!attackweapon&&
!reversaltrain)
- player[k].targetanimation=winduppunchanim;
+ player[k].animTarget=winduppunchanim;
//upunch
else if(distance<2.5*sq(player[k].scale*5)&&
- animation[player[i].targetanimation].height!=lowheight&&
+ animation[player[i].animTarget].height!=lowheight&&
!player[k].forwardkeydown&&
!player[k].leftkeydown&&
!player[k].rightkeydown&&
!player[k].crouchkeydown&&
!attackweapon)
- player[k].targetanimation=upunchanim;
+ player[k].animTarget=upunchanim;
//knifefollow
else if(distance<2.5*sq(player[k].scale*5)&&
player[i].staggerdelay>0&&
attackweapon==knife&&
player[i].bloodloss>player[i].damagetolerance/2)
- player[k].targetanimation=knifefollowanim;
+ player[k].animTarget=knifefollowanim;
//knifeslashstart
else if(distance<2.5*sq(player[k].scale*5)&&
- animation[player[i].targetanimation].height!=lowheight&&
+ animation[player[i].animTarget].height!=lowheight&&
!player[k].forwardkeydown&&
!player[k].leftkeydown&&
!player[k].rightkeydown&&
!player[k].crouchkeydown&&
attackweapon==knife&&
player[k].weaponmissdelay<=0)
- player[k].targetanimation=knifeslashstartanim;
+ player[k].animTarget=knifeslashstartanim;
//swordslash
else if(distance<4.5*sq(player[k].scale*5)&&
- animation[player[i].targetanimation].height!=lowheight&&
+ animation[player[i].animTarget].height!=lowheight&&
!player[k].crouchkeydown&&
attackweapon==sword&&
player[k].weaponmissdelay<=0)
- player[k].targetanimation=swordslashanim;
+ player[k].animTarget=swordslashanim;
//staffhit
else if(distance<4.5*sq(player[k].scale*5)&&
- animation[player[i].targetanimation].height!=lowheight&&
+ animation[player[i].animTarget].height!=lowheight&&
!player[k].crouchkeydown&&
attackweapon==staff&&
player[k].weaponmissdelay<=0&&
!player[k].leftkeydown&&
!player[k].rightkeydown&&
!player[k].forwardkeydown)
- player[k].targetanimation=staffhitanim;
+ player[k].animTarget=staffhitanim;
//staffspinhit
else if(distance<4.5*sq(player[k].scale*5)&&
- animation[player[i].targetanimation].height!=lowheight&&
+ animation[player[i].animTarget].height!=lowheight&&
!player[k].crouchkeydown&&
attackweapon==staff&&
player[k].weaponmissdelay<=0)
- player[k].targetanimation=staffspinhitanim;
+ player[k].animTarget=staffspinhitanim;
//spinkick
else if(distance<2.5*sq(player[k].scale*5)&&
- animation[player[i].targetanimation].height!=lowheight)
- player[k].targetanimation=spinkickanim;
+ animation[player[i].animTarget].height!=lowheight)
+ player[k].animTarget=spinkickanim;
//lowkick
else if(distance<2.5*sq(player[k].scale*5)&&
- animation[player[i].targetanimation].height==lowheight&&
- animation[player[k].targetanimation].attack!=normalattack)
- player[k].targetanimation=lowkickanim;
+ animation[player[i].animTarget].height==lowheight&&
+ animation[player[k].animTarget].attack!=normalattack)
+ player[k].animTarget=lowkickanim;
} else { //AI player
if(distance<4.5*sq(player[k].scale*5)){
randattack=abs(Random()%5);
if(!attackweapon&&distance<2.5*sq(player[k].scale*5)){
//sweep
- if(randattack==0&&animation[player[i].targetanimation].height!=lowheight)
- player[k].targetanimation=sweepanim;
+ if(randattack==0&&animation[player[i].animTarget].height!=lowheight)
+ player[k].animTarget=sweepanim;
//upunch
- else if(randattack==1&&animation[player[i].targetanimation].height!=lowheight&&
+ else if(randattack==1&&animation[player[i].animTarget].height!=lowheight&&
!attackweapon)
- player[k].targetanimation=upunchanim;
+ player[k].animTarget=upunchanim;
//spinkick
- else if(randattack==2&&animation[player[i].targetanimation].height!=lowheight)
- player[k].targetanimation=spinkickanim;
+ else if(randattack==2&&animation[player[i].animTarget].height!=lowheight)
+ player[k].animTarget=spinkickanim;
//lowkick
- else if(animation[player[i].targetanimation].height==lowheight)
- player[k].targetanimation=lowkickanim;
+ else if(animation[player[i].animTarget].height==lowheight)
+ player[k].animTarget=lowkickanim;
}
if(attackweapon){
//sweep
if((tutoriallevel!=1||!attackweapon)&&
distance<2.5*sq(player[k].scale*5)&&
randattack==0&&
- animation[player[i].targetanimation].height!=lowheight)
- player[k].targetanimation=sweepanim;
+ animation[player[i].animTarget].height!=lowheight)
+ player[k].animTarget=sweepanim;
//knifeslashstart
else if(distance<2.5*sq(player[k].scale*5)&&
attackweapon==knife&&
player[k].weaponmissdelay<=0)
- player[k].targetanimation=knifeslashstartanim;
+ player[k].animTarget=knifeslashstartanim;
//swordslash
else if(!(player[0].victim==&player[i]&&
player[0].hasvictim&&
- player[0].targetanimation==swordslashanim)&&
+ player[0].animTarget==swordslashanim)&&
attackweapon==sword&&
player[k].weaponmissdelay<=0)
- player[k].targetanimation=swordslashanim;
+ player[k].animTarget=swordslashanim;
//staffhit
else if(!(player[0].victim==&player[i]&&
player[0].hasvictim&&
- player[0].targetanimation==swordslashanim)&&
+ player[0].animTarget==swordslashanim)&&
attackweapon==staff&&
player[k].weaponmissdelay<=0&&
randattack<3)
- player[k].targetanimation=staffhitanim;
+ player[k].animTarget=staffhitanim;
//staffspinhit
else if(!(player[0].victim==&player[i]&&
player[0].hasvictim&&
- player[0].targetanimation==swordslashanim)&&
+ player[0].animTarget==swordslashanim)&&
attackweapon==staff&&
player[k].weaponmissdelay<=0&&
randattack>=3)
- player[k].targetanimation=staffspinhitanim;
+ player[k].animTarget=staffspinhitanim;
//spinkick
else if((tutoriallevel!=1||!attackweapon)&&
distance<2.5*sq(player[k].scale*5)&&
randattack==1&&
- animation[player[i].targetanimation].height!=lowheight)
- player[k].targetanimation=spinkickanim;
+ animation[player[i].animTarget].height!=lowheight)
+ player[k].animTarget=spinkickanim;
//lowkick
else if(distance<2.5*sq(player[k].scale*5)&&
- animation[player[i].targetanimation].height==lowheight&&
- animation[player[k].targetanimation].attack!=normalattack)
- player[k].targetanimation=lowkickanim;
+ animation[player[i].animTarget].height==lowheight&&
+ animation[player[k].animTarget].attack!=normalattack)
+ player[k].animTarget=lowkickanim;
}
}
}
//upunch becomes wolfslap
- if(player[k].targetanimation==upunchanim&&player[k].creature==wolftype)
- player[k].targetanimation=wolfslapanim;
+ if(player[k].animTarget==upunchanim&&player[k].creature==wolftype)
+ player[k].animTarget=wolfslapanim;
}
//sneak attacks
if((k==0)&&(tutoriallevel!=1||tutorialstage==22)&&
player[i].howactive<typedead1&&
distance<1.5*sq(player[k].scale*5)&&
!player[i].skeleton.free&&
- player[i].targetanimation!=getupfrombackanim&&
- player[i].targetanimation!=getupfromfrontanim&&
+ player[i].animTarget!=getupfrombackanim&&
+ player[i].animTarget!=getupfromfrontanim&&
(player[i].stunned>0&&player[k].madskills||
player[i].surprised>0||
player[i].aitype==passivetype||
normaldotproduct(player[i].facing,player[i].coords-player[k].coords)>0){
//sneakattack
if(!attackweapon){
- player[k].currentanimation=sneakattackanim;
- player[k].targetanimation=sneakattackanim;
- player[i].currentanimation=sneakattackedanim;
- player[i].targetanimation=sneakattackedanim;
+ player[k].animCurrent=sneakattackanim;
+ player[k].animTarget=sneakattackanim;
+ player[i].animCurrent=sneakattackedanim;
+ player[i].animTarget=sneakattackedanim;
player[k].oldcoords=player[k].coords;
player[k].coords=player[i].coords;
}
//knifesneakattack
if(attackweapon==knife){
- player[k].currentanimation=knifesneakattackanim;
- player[k].targetanimation=knifesneakattackanim;
- player[i].currentanimation=knifesneakattackedanim;
- player[i].targetanimation=knifesneakattackedanim;
+ player[k].animCurrent=knifesneakattackanim;
+ player[k].animTarget=knifesneakattackanim;
+ player[i].animCurrent=knifesneakattackedanim;
+ player[i].animTarget=knifesneakattackedanim;
player[i].oldcoords=player[i].coords;
player[i].coords=player[k].coords;
}
//swordsneakattack
if(attackweapon==sword){
- player[k].currentanimation=swordsneakattackanim;
- player[k].targetanimation=swordsneakattackanim;
- player[i].currentanimation=swordsneakattackedanim;
- player[i].targetanimation=swordsneakattackedanim;
+ player[k].animCurrent=swordsneakattackanim;
+ player[k].animTarget=swordsneakattackanim;
+ player[i].animCurrent=swordsneakattackedanim;
+ player[i].animTarget=swordsneakattackedanim;
player[i].oldcoords=player[i].coords;
player[i].coords=player[k].coords;
}
player[k].victim=&player[i];
player[k].hasvictim=1;
player[i].targettilt2=0;
- player[i].targetframe=1;
- player[i].currentframe=0;
+ player[i].frameTarget=1;
+ player[i].frameCurrent=0;
player[i].target=0;
player[i].velocity=0;
player[k].targettilt2=player[i].targettilt2;
- player[k].currentframe=player[i].currentframe;
- player[k].targetframe=player[i].targetframe;
+ player[k].frameCurrent=player[i].frameCurrent;
+ player[k].frameTarget=player[i].frameTarget;
player[k].target=player[i].target;
player[k].velocity=0;
player[k].targetyaw=player[i].yaw;
player[i].targetyaw=player[i].yaw;
}
}
- if(animation[player[k].targetanimation].attack==normalattack&&
+ if(animation[player[k].animTarget].attack==normalattack&&
player[k].victim==&player[i]&&
(!player[i].skeleton.free)){
oldattackkey=1;
- player[k].targetframe=0;
+ player[k].frameTarget=0;
player[k].target=0;
player[k].targetyaw=roughDirectionTo(player[k].coords,player[i].coords);
player[k].targettilt2=pitchTo(player[k].coords,player[i].coords);
player[k].lastattack3=player[k].lastattack2;
player[k].lastattack2=player[k].lastattack;
- player[k].lastattack=player[k].targetanimation;
+ player[k].lastattack=player[k].animTarget;
}
- if(player[k].targetanimation==knifefollowanim&&
+ if(player[k].animTarget==knifefollowanim&&
player[k].victim==&player[i]){
oldattackkey=1;
player[k].targetyaw=roughDirectionTo(player[k].coords,player[i].coords);
player[k].targettilt2=pitchTo(player[k].coords,player[i].coords);
player[k].victim=&player[i];
player[k].hasvictim=1;
- player[i].targetanimation=knifefollowedanim;
- player[i].currentanimation=knifefollowedanim;
+ player[i].animTarget=knifefollowedanim;
+ player[i].animCurrent=knifefollowedanim;
player[i].targettilt2=0;
player[i].targettilt2=player[k].targettilt2;
- player[i].targetframe=1;
- player[i].currentframe=0;
+ player[i].frameTarget=1;
+ player[i].frameCurrent=0;
player[i].target=0;
player[i].velocity=0;
- player[k].currentanimation=knifefollowanim;
- player[k].targetanimation=knifefollowanim;
+ player[k].animCurrent=knifefollowanim;
+ player[k].animTarget=knifefollowanim;
player[k].targettilt2=player[i].targettilt2;
- player[k].currentframe=player[i].currentframe;
- player[k].targetframe=player[i].targetframe;
+ player[k].frameCurrent=player[i].frameCurrent;
+ player[k].frameTarget=player[i].frameTarget;
player[k].target=player[i].target;
player[k].velocity=0;
player[k].oldcoords=player[k].coords;
for(int i=0;i<numplayers;i++){
if(i==k)continue;
if((playerrealattackkeydown||player[i].dead||!hasstaff)&&
- animation[player[k].targetanimation].attack==neutral){
+ animation[player[k].animTarget].attack==neutral){
const float distance=distsq(&player[k].coords,&player[i].coords);
if(!player[i].dead||!realthreat||(!attackweapon&&player[k].crouchkeydown))
if(player[i].skeleton.free)
if(attackweapon&&tutoriallevel!=1){
//crouchstab
if(player[k].crouchkeydown&&attackweapon==knife&&distance<1.5*sq(player[k].scale*5))
- player[k].targetanimation=crouchstabanim;
+ player[k].animTarget=crouchstabanim;
//swordgroundstab
if(player[k].crouchkeydown&&distance<1.5*sq(player[k].scale*5)&&attackweapon==sword)
- player[k].targetanimation=swordgroundstabanim;
+ player[k].animTarget=swordgroundstabanim;
//staffgroundsmash
if(distance<3.5*sq(player[k].scale*5)&&attackweapon==staff)
- player[k].targetanimation=staffgroundsmashanim;
+ player[k].animTarget=staffgroundsmashanim;
}
if(distance<2.5&&
player[k].crouchkeydown&&
- player[k].targetanimation!=crouchstabanim&&
+ player[k].animTarget!=crouchstabanim&&
!attackweapon&&
player[i].dead&&
player[i].skeleton.free&&
player[i].skeleton.longdead>1000){
- player[k].targetanimation=killanim;
+ player[k].animTarget=killanim;
//TODO: refactor this out, what does it do?
for(int j=0;j<terrain.numdecals;j++){
if((terrain.decaltype[j]==blooddecal||terrain.decaltype[j]==blooddecalslow)&&
player[k].lastattack!=spinkickanim&&
player[i].skeleton.free)&&
(!player[i].dead||musictype!=stream_fighttheme)){
- player[k].targetanimation=dropkickanim;
+ player[k].animTarget=dropkickanim;
for(int j=0;j<terrain.numdecals;j++){
if((terrain.decaltype[j]==blooddecal||terrain.decaltype[j]==blooddecalslow)&&
terrain.decalalivetime[j]<2){
}
}
}
- if(animation[player[k].targetanimation].attack==normalattack&&
+ if(animation[player[k].animTarget].attack==normalattack&&
player[k].victim==&player[i]&&
(!player[i].skeleton.free||
- player[k].targetanimation==killanim||
- player[k].targetanimation==crouchstabanim||
- player[k].targetanimation==swordgroundstabanim||
- player[k].targetanimation==staffgroundsmashanim||
- player[k].targetanimation==dropkickanim)){
+ player[k].animTarget==killanim||
+ player[k].animTarget==crouchstabanim||
+ player[k].animTarget==swordgroundstabanim||
+ player[k].animTarget==staffgroundsmashanim||
+ player[k].animTarget==dropkickanim)){
oldattackkey=1;
- player[k].targetframe=0;
+ player[k].frameTarget=0;
player[k].target=0;
XYZ targetpoint=player[i].coords;
- if(player[k].targetanimation==crouchstabanim||
- player[k].targetanimation==swordgroundstabanim||
- player[k].targetanimation==staffgroundsmashanim){
+ if(player[k].animTarget==crouchstabanim||
+ player[k].animTarget==swordgroundstabanim||
+ player[k].animTarget==staffgroundsmashanim){
targetpoint+=(player[i].getJointFor(abdomen).position+
player[i].getJointFor(neck).position)/2*
player[i].scale;
player[k].targetyaw=roughDirectionTo(player[k].coords,targetpoint);
player[k].targettilt2=pitchTo(player[k].coords,targetpoint);
- if(player[k].targetanimation==crouchstabanim||player[k].targetanimation==swordgroundstabanim){
+ if(player[k].animTarget==crouchstabanim||player[k].animTarget==swordgroundstabanim){
player[k].targetyaw+=(float)(abs(Random()%100)-50)/4;
}
- if(player[k].targetanimation==staffgroundsmashanim)
+ if(player[k].animTarget==staffgroundsmashanim)
player[k].targettilt2+=10;
player[k].lastattack3=player[k].lastattack2;
player[k].lastattack2=player[k].lastattack;
- player[k].lastattack=player[k].targetanimation;
+ player[k].lastattack=player[k].animTarget;
- if(player[k].targetanimation==swordgroundstabanim){
+ if(player[k].animTarget==swordgroundstabanim){
player[k].targetyaw+=30;
}
}
distsq(&player[k].coords,&player[k].victim->coords)<12*sq(player[k].scale*5)&&
distsq(&player[k].coords,&player[k].victim->coords)>7*sq(player[k].scale*5)&&
!player[k].victim->skeleton.free&&
- player[k].victim->targetanimation!=getupfrombackanim&&
- player[k].victim->targetanimation!=getupfromfrontanim&&
- animation[player[k].victim->targetanimation].height!=lowheight&&
+ player[k].victim->animTarget!=getupfrombackanim&&
+ player[k].victim->animTarget!=getupfromfrontanim&&
+ animation[player[k].victim->animTarget].height!=lowheight&&
player[k].aitype!=playercontrolled&& //wat???
normaldotproduct(player[k].facing,player[k].victim->coords-player[k].coords)>0&&
player[k].rabbitkickenabled)||
player[k].setAnimation(rabbitkickanim);
}
//update counts
- if(animation[player[k].targetanimation].attack&&k==0){
+ if(animation[player[k].animTarget].attack&&k==0){
numattacks++;
switch(attackweapon){
case 0: numunarmedattack++; break;
for(int k=0;k<numplayers;k++)
for(int i=k+1;i<numplayers;i++){
//neither player is part of a reversal
- if((animation[player[i].targetanimation].attack!=reversed&&
- animation[player[i].targetanimation].attack!=reversal&&
- animation[player[k].targetanimation].attack!=reversed&&
- animation[player[k].targetanimation].attack!=reversal)||(i!=0&&k!=0))
- if((animation[player[i].currentanimation].attack!=reversed&&
- animation[player[i].currentanimation].attack!=reversal&&
- animation[player[k].currentanimation].attack!=reversed&&
- animation[player[k].currentanimation].attack!=reversal)||(i!=0&&k!=0))
+ if((animation[player[i].animTarget].attack!=reversed&&
+ animation[player[i].animTarget].attack!=reversal&&
+ animation[player[k].animTarget].attack!=reversed&&
+ animation[player[k].animTarget].attack!=reversal)||(i!=0&&k!=0))
+ if((animation[player[i].animCurrent].attack!=reversed&&
+ animation[player[i].animCurrent].attack!=reversal&&
+ animation[player[k].animCurrent].attack!=reversed&&
+ animation[player[k].animCurrent].attack!=reversal)||(i!=0&&k!=0))
//neither is sleeping
if(player[i].howactive<=typesleeping&&player[k].howactive<=typesleeping)
if(player[i].howactive!=typesittingwall&&player[k].howactive!=typesittingwall)
player[i].whichpatchz==player[k].whichpatchz&&
player[k].skeleton.oldfree==player[k].skeleton.free&&
player[i].skeleton.oldfree==player[i].skeleton.free&&
- player[i].targetanimation!=climbanim&&
- player[i].targetanimation!=hanganim&&
- player[k].targetanimation!=climbanim&&
- player[k].targetanimation!=hanganim)
+ player[i].animTarget!=climbanim&&
+ player[i].animTarget!=hanganim&&
+ player[k].animTarget!=climbanim&&
+ player[k].animTarget!=hanganim)
//players are close (bounding box test)
if(player[i].coords.y>player[k].coords.y-3)
if(player[i].coords.y<player[k].coords.y+3)
tempcoords2.y+=player[k].getJointFor(abdomen).position.y*player[k].scale;
collisionradius=1.2*sq((player[i].scale+player[k].scale)*2.5);
if(player[0].hasvictim)
- if(player[0].targetanimation==rabbitkickanim&&(k==0||i==0)&&!player[0].victim->skeleton.free)
+ if(player[0].animTarget==rabbitkickanim&&(k==0||i==0)&&!player[0].victim->skeleton.free)
collisionradius=3;
if((!player[i].skeleton.oldfree||!player[k].skeleton.oldfree)&&
(distsq(&tempcoords1,&tempcoords2)<collisionradius||
//jump down on a dead body
if(k==0||i==0){
int l=i?i:k;
- if(player[0].targetanimation==jumpdownanim&&
+ if(player[0].animTarget==jumpdownanim&&
!player[0].skeleton.oldfree&&
!player[0].skeleton.free&&
player[l].skeleton.oldfree&&
(player[k].skeleton.oldfree==1&&findLengthfast(&player[k].velocity)>1)||
(player[i].skeleton.oldfree==0&&player[k].skeleton.oldfree==0)){
rotatetarget=player[k].velocity-player[i].velocity;
- if((player[i].targetanimation!=getupfrombackanim&&player[i].targetanimation!=getupfromfrontanim||
+ if((player[i].animTarget!=getupfrombackanim&&player[i].animTarget!=getupfromfrontanim||
player[i].skeleton.free)&&
- (player[k].targetanimation!=getupfrombackanim&&player[k].targetanimation!=getupfromfrontanim||
+ (player[k].animTarget!=getupfrombackanim&&player[k].animTarget!=getupfromfrontanim||
player[k].skeleton.free))
if((((k!=0&&findLengthfast(&rotatetarget)>150||
k==0&&findLengthfast(&rotatetarget)>50&&player[0].rabbitkickragdoll)&&
normaldotproduct(rotatetarget,player[k].coords-player[i].coords)>0)&&
(k==0||
- k!=0&&player[i].skeleton.oldfree==1&&animation[player[k].currentanimation].attack==neutral||
- /*i!=0&&*/player[k].skeleton.oldfree==1&&animation[player[i].currentanimation].attack==neutral))||
- (player[i].targetanimation==jumpupanim||player[i].targetanimation==jumpdownanim||player[i].isFlip())&&
- (player[k].targetanimation==jumpupanim||player[k].targetanimation==jumpdownanim||player[k].isFlip())&&
+ k!=0&&player[i].skeleton.oldfree==1&&animation[player[k].animCurrent].attack==neutral||
+ /*i!=0&&*/player[k].skeleton.oldfree==1&&animation[player[i].animCurrent].attack==neutral))||
+ (player[i].animTarget==jumpupanim||player[i].animTarget==jumpdownanim||player[i].isFlip())&&
+ (player[k].animTarget==jumpupanim||player[k].animTarget==jumpdownanim||player[k].isFlip())&&
k==0&&!player[i].skeleton.oldfree&&!player[k].skeleton.oldfree){
//If hit by body
if( (i!=0||player[i].skeleton.free)&&
(k!=0||player[k].skeleton.free)||
- (animation[player[i].targetanimation].height==highheight&&
- animation[player[k].targetanimation].height==highheight)){
+ (animation[player[i].animTarget].height==highheight&&
+ animation[player[k].animTarget].height==highheight)){
if(tutoriallevel!=1){
emit_sound_at(heavyimpactsound, player[i].coords);
}
}
}
- if( (animation[player[i].targetanimation].attack==neutral||
- animation[player[i].targetanimation].attack==normalattack)&&
- (animation[player[k].targetanimation].attack==neutral||
- animation[player[k].targetanimation].attack==normalattack)){
+ if( (animation[player[i].animTarget].attack==neutral||
+ animation[player[i].animTarget].attack==normalattack)&&
+ (animation[player[k].animTarget].attack==neutral||
+ animation[player[k].animTarget].attack==normalattack)){
//If bumped
if(player[i].skeleton.oldfree==0&&player[k].skeleton.oldfree==0){
if(distsq(&player[k].coords,&player[i].coords)<.5*sq((player[i].scale+player[k].scale)*2.5)){
}
//jump down on player
if(hostile){
- if(k==0&&i!=0&&player[k].targetanimation==jumpdownanim&&
+ if(k==0&&i!=0&&player[k].animTarget==jumpdownanim&&
!player[i].isCrouch()&&
- player[i].targetanimation!=rollanim&&
+ player[i].animTarget!=rollanim&&
!player[k].skeleton.oldfree&&!
player[k].skeleton.free&&
player[k].lastcollide<=0&&
player[k].lastcollide=1;
award_bonus(k, AboveBonus);
}
- if(i==0&&k!=0&&player[i].targetanimation==jumpdownanim&&
+ if(i==0&&k!=0&&player[i].animTarget==jumpdownanim&&
!player[k].isCrouch()&&
- player[k].targetanimation!=rollanim&&
+ player[k].animTarget!=rollanim&&
!player[i].skeleton.oldfree&&
!player[i].skeleton.free&&
player[i].lastcollide<=0&&
if(player[i].avoidcollided>.8 && !player[i].jumpkeydown && player[i].collided<.8)
player[i].targetyaw+=90*(player[i].whichdirection*2-1);
- if(player[i].collided<1||player[i].targetanimation!=jumpupanim)
+ if(player[i].collided<1||player[i].animTarget!=jumpupanim)
player[i].jumpkeydown=0;
if((player[i].collided>.8&&player[i].jumppower>=5))
player[i].jumpkeydown=1;
distsq(&player[i].coords,&player[0].coords)<400&&
player[i].occluded<25){
if(distsq(&player[i].coords,&player[0].coords)<12&&
- animation[player[0].targetanimation].height!=lowheight&&
+ animation[player[0].animTarget].height!=lowheight&&
!editorenabled&&
(player[0].coords.y<player[i].coords.y+5||player[0].onterrain))
player[i].aitype=attacktypecutoff;
if(distsq(&player[i].coords,&player[0].coords)<30&&
- animation[player[0].targetanimation].height==highheight&&
+ animation[player[0].animTarget].height==highheight&&
!editorenabled)
player[i].aitype=attacktypecutoff;
player[i].losupdatedelay=.2;
for(int j=0;j<numplayers;j++)
if(j==0||player[j].skeleton.free||player[j].aitype!=passivetype)
- if(abs(Random()%2)||animation[player[j].targetanimation].height!=lowheight||j!=0)
+ if(abs(Random()%2)||animation[player[j].animTarget].height!=lowheight||j!=0)
if(distsq(&player[i].coords,&player[j].coords)<400)
if(normaldotproduct(player[i].facing,player[j].coords-player[i].coords)>0)
if(player[j].coords.y<player[i].coords.y+5||player[j].onterrain)
*player[i].scale+player[i].coords,
DoRotation(player[j].getJointFor(head).position,0,player[j].yaw,0)
*player[j].scale+player[j].coords)||
- (player[j].targetanimation==hanganim&&
+ (player[j].animTarget==hanganim&&
normaldotproduct(player[j].facing,player[i].coords-player[j].coords)<0)){
player[i].aitype=searchtype;
player[i].lastchecktime=12;
}
}
}
- if(player[i].collided<1||player[i].targetanimation!=jumpupanim)
+ if(player[i].collided<1||player[i].animTarget!=jumpupanim)
player[i].jumpkeydown=0;
if((player[i].collided>.8&&player[i].jumppower>=5))
player[i].jumpkeydown=1;
distsq(&player[i].coords,&player[0].coords)<400&&
player[i].occluded<25){
if(distsq(&player[i].coords,&player[0].coords)<12&&
- animation[player[0].targetanimation].height!=lowheight&&!editorenabled)
+ animation[player[0].animTarget].height!=lowheight&&!editorenabled)
player[i].aitype=attacktypecutoff;
if(distsq(&player[i].coords,&player[0].coords)<30&&
- animation[player[0].targetanimation].height==highheight&&!editorenabled)
+ animation[player[0].animTarget].height==highheight&&!editorenabled)
player[i].aitype=attacktypecutoff;
//wolf smell
player[i].losupdatedelay=.2;
for(int j=0;j<numplayers;j++){
if(j==0||player[j].skeleton.free||player[j].aitype!=passivetype){
- if(abs(Random()%2)||animation[player[j].targetanimation].height!=lowheight||j!=0)
+ if(abs(Random()%2)||animation[player[j].animTarget].height!=lowheight||j!=0)
if(distsq(&player[i].coords,&player[j].coords)<400)
if(normaldotproduct(player[i].facing,player[j].coords-player[i].coords)>0)
if((-1==checkcollide(
DoRotation(player[j].getJointFor(head).position,0,player[j].yaw,0)*
player[j].scale+player[j].coords)&&
!player[j].isWallJump())||
- (player[j].targetanimation==hanganim&&
+ (player[j].animTarget==hanganim&&
normaldotproduct(player[j].facing,player[i].coords-player[j].coords)<0)){
player[i].lastseentime-=.2;
- if(j==0&&animation[player[j].targetanimation].height==lowheight)
+ if(j==0&&animation[player[j].animTarget].height==lowheight)
player[i].lastseentime-=.4;
else
player[i].lastseentime-=.6;
}
}
}
- if(player[i].collided<1||player[i].targetanimation!=jumpupanim)
+ if(player[i].collided<1||player[i].animTarget!=jumpupanim)
player[i].jumpkeydown=0;
if((player[i].collided>.8&&player[i].jumppower>=5))
player[i].jumpkeydown=1;
player[i].occluded<2&&
((tutoriallevel!=1||cananger)&&hostile)){
player[i].losupdatedelay=.2;
- if(distsq(&player[i].coords,&player[0].coords)<4&&animation[player[i].targetanimation].height!=lowheight){
+ if(distsq(&player[i].coords,&player[0].coords)<4&&animation[player[i].animTarget].height!=lowheight){
player[i].aitype=attacktypecutoff;
player[i].lastseentime=1;
}
- if(abs(Random()%2)||animation[player[i].targetanimation].height!=lowheight)
+ if(abs(Random()%2)||animation[player[i].animTarget].height!=lowheight)
//TODO: factor out canSeePlayer()
if(distsq(&player[i].coords,&player[0].coords)<400)
if(normaldotproduct(player[i].facing,player[0].coords-player[i].coords)>0)
player[i].scale+player[i].coords,
DoRotation(player[0].getJointFor(head).position,0,player[0].yaw,0)*
player[0].scale+player[0].coords)==-1)||
- (player[0].targetanimation==hanganim&&normaldotproduct(
+ (player[0].animTarget==hanganim&&normaldotproduct(
player[0].facing,player[i].coords-player[0].coords)<0)){
/* //TODO: changed j to 0 on a whim, make sure this is correct
- (player[j].targetanimation==hanganim&&normaldotproduct(
+ (player[j].animTarget==hanganim&&normaldotproduct(
player[j].facing,player[i].coords-player[j].coords)<0)
*/
player[i].aitype=attacktypecutoff;
player[i].crouchkeydown=0;
player[i].attackkeydown=0;
}
- if(player[i].collided<1||player[i].targetanimation!=jumpupanim)
+ if(player[i].collided<1||player[i].animTarget!=jumpupanim)
player[i].jumpkeydown=0;
if(player[i].collided>.8&&player[i].jumppower>=5)
player[i].jumpkeydown=1;
player[i].attackkeydown=0;
player[i].throwkeydown=1;
player[i].crouchkeydown=0;
- if(player[i].targetanimation!=crouchremoveknifeanim&&
- player[i].targetanimation!=removeknifeanim)
+ if(player[i].animTarget!=crouchremoveknifeanim&&
+ player[i].animTarget!=removeknifeanim)
player[i].throwtogglekeydown=0;
player[i].drawkeydown=0;
}
- if(player[i].collided<1||player[i].targetanimation!=jumpupanim)
+ if(player[i].collided<1||player[i].animTarget!=jumpupanim)
player[i].jumpkeydown=0;
if((player[i].collided>.8&&player[i].jumppower>=5))
player[i].jumpkeydown=1;
player[i].aiupdatedelay-=multiplier;
//dodge or reverse rabbit kicks, knife throws, flips
if(player[i].damage<player[i].damagetolerance*2/3)
- if((player[0].targetanimation==rabbitkickanim||
- player[0].targetanimation==knifethrowanim||
+ if((player[0].animTarget==rabbitkickanim||
+ player[0].animTarget==knifethrowanim||
(player[0].isFlip()&&
normaldotproduct(player[0].facing,player[0].coords-player[i].coords)<0))&&
!player[0].skeleton.free&&
player[i].attackkeydown=0;
if(player[i].isIdle())
player[i].crouchkeydown=1;
- if(player[0].targetanimation!=rabbitkickanim&&player[0].weaponactive!=-1){
+ if(player[0].animTarget!=rabbitkickanim&&player[0].weaponactive!=-1){
if(weapons[player[0].weaponids[0]].getType()==knife){
if(player[i].isIdle()||player[i].isCrouch()||player[i].isRun()||player[i].isFlip()){
if(abs(Random()%2==0))
player[i].targetyaw+=90*(abs(Random()%2)*2-1);
player[i].wentforweapon=0;
}
- if(player[i].targetanimation==jumpupanim||player[i].targetanimation==jumpdownanim)
+ if(player[i].animTarget==jumpupanim||player[i].animTarget==jumpdownanim)
player[i].setAnimation(flipanim);
}
}
//get confused by flips
if(player[0].isFlip()&&
!player[0].skeleton.free&&
- player[0].targetanimation!=walljumprightkickanim&&
- player[0].targetanimation!=walljumpleftkickanim){
+ player[0].animTarget!=walljumprightkickanim&&
+ player[0].animTarget!=walljumpleftkickanim){
if(distsq(&player[0].coords,&player[i].coords)<25)
if((1-player[i].damage/player[i].damagetolerance)>.5)
player[i].stunned=1;
}
//dodge/reverse walljump kicks
if(player[i].damage<player[i].damagetolerance/2)
- if(animation[player[i].targetanimation].height!=highheight)
+ if(animation[player[i].animTarget].height!=highheight)
if(player[i].damage<player[i].damagetolerance*.5&&
- ((player[0].targetanimation==walljumprightkickanim||
- player[0].targetanimation==walljumpleftkickanim)&&
+ ((player[0].animTarget==walljumprightkickanim||
+ player[0].animTarget==walljumpleftkickanim)&&
((player[i].aiupdatedelay<.15&&
difficulty==2)||
(player[i].aiupdatedelay<.08&&
}
//lose sight of player in the air (?)
if(player[0].coords.y>player[i].coords.y+5&&
- animation[player[0].targetanimation].height!=highheight&&
+ animation[player[0].animTarget].height!=highheight&&
!player[0].onterrain){
player[i].aitype=pathfindtype;
player[i].finalfinaltarget=player[i].waypoints[player[i].waypoint];
}
//it's time to think (?)
if(player[i].aiupdatedelay<0&&
- !animation[player[i].targetanimation].attack&&
- player[i].targetanimation!=staggerbackhighanim&&
- player[i].targetanimation!=staggerbackhardanim&&
- player[i].targetanimation!=backhandspringanim&&
- player[i].targetanimation!=dodgebackanim){
+ !animation[player[i].animTarget].attack&&
+ player[i].animTarget!=staggerbackhighanim&&
+ player[i].animTarget!=staggerbackhardanim&&
+ player[i].animTarget!=backhandspringanim&&
+ player[i].animTarget!=dodgebackanim){
//draw weapon
if(player[i].weaponactive==-1&&player[i].num_weapons>0)
player[i].drawkeydown=Random()%2;
Random()%2==0&&difficulty==2||
Random()%4==0&&difficulty==1||
Random()%8==0&&difficulty==0||
- player[j].lastattack2==player[j].targetanimation&&
- player[j].lastattack3==player[j].targetanimation&&
+ player[j].lastattack2==player[j].animTarget&&
+ player[j].lastattack3==player[j].animTarget&&
(Random()%2==0||difficulty==2)||
(player[i].isIdle()||player[i].isRun())&&
player[j].weaponactive!=-1||
- player[j].targetanimation==swordslashanim&&
+ player[j].animTarget==swordslashanim&&
player[i].weaponactive!=-1||
- player[j].targetanimation==staffhitanim||
- player[j].targetanimation==staffspinhitanim))
+ player[j].animTarget==staffhitanim||
+ player[j].animTarget==staffspinhitanim))
if(distsq(&player[j].coords,&player[j].victim->coords)<4&&
player[j].victim==&player[i]&&
- (player[j].targetanimation==sweepanim||
- player[j].targetanimation==spinkickanim||
- player[j].targetanimation==staffhitanim||
- player[j].targetanimation==staffspinhitanim||
- player[j].targetanimation==winduppunchanim||
- player[j].targetanimation==upunchanim||
- player[j].targetanimation==wolfslapanim||
- player[j].targetanimation==knifeslashstartanim||
- player[j].targetanimation==swordslashanim&&
+ (player[j].animTarget==sweepanim||
+ player[j].animTarget==spinkickanim||
+ player[j].animTarget==staffhitanim||
+ player[j].animTarget==staffspinhitanim||
+ player[j].animTarget==winduppunchanim||
+ player[j].animTarget==upunchanim||
+ player[j].animTarget==wolfslapanim||
+ player[j].animTarget==knifeslashstartanim||
+ player[j].animTarget==swordslashanim&&
(distsq(&player[j].coords,&player[i].coords)<2||
player[i].weaponactive!=-1))){
if(target>=0)
//TODO: why are we controlling the human?
if(normaldotproduct(player[i].facing,player[0].coords-player[i].coords)>0)
player[0].jumpkeydown=0;
- if(player[0].targetanimation==jumpdownanim&&
+ if(player[0].animTarget==jumpdownanim&&
distsq(&player[0].coords,&player[i].coords)<40)
player[i].crouchkeydown=1;
if(player[i].jumpkeydown)
player[i].lastseentime=1;
}
}
- if(animation[player[0].targetanimation].height==highheight&&
+ if(animation[player[0].animTarget].height==highheight&&
(player[i].aitype==attacktypecutoff||
player[i].aitype==searchtype))
if(player[0].coords.y>terrain.getHeight(player[0].coords.x,player[0].coords.z)+10){
talkdelay=1;
talkdelay-=multiplier;
- if(talkdelay<=0&&indialogue==-1&&animation[player[0].targetanimation].height!=highheight)
+ if(talkdelay<=0&&indialogue==-1&&animation[player[0].animTarget].height!=highheight)
for(int i=0;i<numdialogues;i++){
int realdialoguetype;
bool special;
player[participantfocus[whichdialogue][j]].yaw=participantyaw[whichdialogue][participantfocus[whichdialogue][j]];
player[participantfocus[whichdialogue][j]].targetyaw=participantyaw[whichdialogue][participantfocus[whichdialogue][j]];
player[participantfocus[whichdialogue][j]].velocity=0;
- player[participantfocus[whichdialogue][j]].targetanimation=player[participantfocus[whichdialogue][j]].getIdle();
- player[participantfocus[whichdialogue][j]].targetframe=0;
+ player[participantfocus[whichdialogue][j]].animTarget=player[participantfocus[whichdialogue][j]].getIdle();
+ player[participantfocus[whichdialogue][j]].frameTarget=0;
}
directing=0;
indialogue=0;
player[0].jumptogglekeydown=0;
}
if(player[0].jumpkeydown&&
- player[0].targetanimation!=jumpupanim&&
- player[0].targetanimation!=jumpdownanim&&
+ player[0].animTarget!=jumpupanim&&
+ player[0].animTarget!=jumpdownanim&&
!player[0].isFlip())
player[0].jumptogglekeydown=1;
oldtargetyaw=player[i].targetyaw;
if(i==0&&indialogue==-1){
//TODO: refactor repetitive code
- if(!animation[player[0].targetanimation].attack&&
- player[0].targetanimation!=staggerbackhighanim&&
- player[0].targetanimation!=staggerbackhardanim&&
- player[0].targetanimation!=crouchremoveknifeanim&&
- player[0].targetanimation!=removeknifeanim&&
- player[0].targetanimation!=backhandspringanim&&
- player[0].targetanimation!=dodgebackanim&&
- player[0].targetanimation!=walljumprightkickanim&&
- player[0].targetanimation!=walljumpleftkickanim){
+ if(!animation[player[0].animTarget].attack&&
+ player[0].animTarget!=staggerbackhighanim&&
+ player[0].animTarget!=staggerbackhardanim&&
+ player[0].animTarget!=crouchremoveknifeanim&&
+ player[0].animTarget!=removeknifeanim&&
+ player[0].animTarget!=backhandspringanim&&
+ player[0].animTarget!=dodgebackanim&&
+ player[0].animTarget!=walljumprightkickanim&&
+ player[0].animTarget!=walljumpleftkickanim){
if(cameramode)
player[0].targetyaw=0;
else
player[i].targetheadpitch=pitch;
}
if(i!=0&&player[i].aitype==playercontrolled&&indialogue==-1){
- if(!animation[player[i].targetanimation].attack&&
- player[i].targetanimation!=staggerbackhighanim&&
- player[i].targetanimation!=staggerbackhardanim&&
- player[i].targetanimation!=crouchremoveknifeanim&&
- player[i].targetanimation!=removeknifeanim&&
- player[i].targetanimation!=backhandspringanim&&
- player[i].targetanimation!=dodgebackanim&&
- player[i].targetanimation!=walljumprightkickanim&&
- player[i].targetanimation!=walljumpleftkickanim){
+ if(!animation[player[i].animTarget].attack&&
+ player[i].animTarget!=staggerbackhighanim&&
+ player[i].animTarget!=staggerbackhardanim&&
+ player[i].animTarget!=crouchremoveknifeanim&&
+ player[i].animTarget!=removeknifeanim&&
+ player[i].animTarget!=backhandspringanim&&
+ player[i].animTarget!=dodgebackanim&&
+ player[i].animTarget!=walljumprightkickanim&&
+ player[i].animTarget!=walljumpleftkickanim){
player[i].targetyaw=-player[i].lookyaw+180;
}
doAI(i);
- if(animation[player[i].targetanimation].attack==reversed){
+ if(animation[player[i].animTarget].attack==reversed){
//player[i].targetyaw=player[i].yaw;
player[i].forwardkeydown=0;
player[i].leftkeydown=0;
player[i].aitype==attacktypecutoff&&
!player[i].dead&&
!player[i].skeleton.free&&
- animation[player[i].targetanimation].attack==neutral)
+ animation[player[i].animTarget].attack==neutral)
numresponded=1;
if(!player[i].throwkeydown)
player[i].num_weapons<2&&
(player[i].isIdle()||
player[i].isCrouch()||
- player[i].targetanimation==sneakanim||
- player[i].targetanimation==rollanim||
- player[i].targetanimation==backhandspringanim||
+ player[i].animTarget==sneakanim||
+ player[i].animTarget==rollanim||
+ player[i].animTarget==backhandspringanim||
player[i].isFlip()||
player[i].isFlip()||
player[i].aitype!=playercontrolled)){
if(distsqflat(&player[i].coords,&weapons[j].position)<2){
if(distsq(&player[i].coords,&weapons[j].position)<2){
if(player[i].isCrouch()||
- player[i].targetanimation==sneakanim||
+ player[i].animTarget==sneakanim||
player[i].isRun()||
player[i].isIdle()||
player[i].aitype!=playercontrolled){
player[i].targetyaw=roughDirectionTo(player[i].coords,weapons[j].position);
player[i].hasvictim=0;
}
- if(player[i].targetanimation==rollanim||player[i].targetanimation==backhandspringanim){
+ if(player[i].animTarget==rollanim||player[i].animTarget==backhandspringanim){
player[i].throwtogglekeydown=1;
player[i].hasvictim=0;
}
}
if(player[i].isCrouch()||
- player[i].targetanimation==sneakanim||
+ player[i].animTarget==sneakanim||
player[i].isRun()||
- player[i].isIdle()||player[i].targetanimation==rollanim||
- player[i].targetanimation==backhandspringanim){
+ player[i].isIdle()||player[i].animTarget==rollanim||
+ player[i].animTarget==backhandspringanim){
if(numplayers>1)
for(int j=0;j<numplayers;j++){
if(player[i].weaponactive==-1)
player[j].weaponstuckwhere==1))||
player[j].weaponstuck==-1||
player[j].num_weapons>1)){
- if(player[i].targetanimation!=rollanim&&player[i].targetanimation!=backhandspringanim){
+ if(player[i].animTarget!=rollanim&&player[i].animTarget!=backhandspringanim){
player[i].throwtogglekeydown=1;
player[i].victim=&player[j];
player[i].hasvictim=1;
player[i].setAnimation(crouchremoveknifeanim);
player[i].targetyaw=roughDirectionTo(player[i].coords,player[j].coords);
}
- if(player[i].targetanimation==rollanim||player[i].targetanimation==backhandspringanim){
+ if(player[i].animTarget==rollanim||player[i].animTarget==backhandspringanim){
player[i].throwtogglekeydown=1;
player[i].victim=&player[j];
player[i].hasvictim=1;
if(player[i].isIdle()||
player[i].isRun()||
player[i].isCrouch()||
- player[i].targetanimation==sneakanim||
+ player[i].animTarget==sneakanim||
player[i].isFlip())
if(numplayers>1)
for(int j=0;j<numplayers;j++){
}
}
if(player[i].weaponactive!=-1&&player[i].aitype==playercontrolled){
- if(player[i].isCrouch()||player[i].targetanimation==sneakanim){
+ if(player[i].isCrouch()||player[i].animTarget==sneakanim){
player[i].throwtogglekeydown=1;
weapons[player[i].weaponids[0]].owner=-1;
weapons[player[i].weaponids[0]].velocity=player[i].velocity*.2;
}
movekey=0;
//Do controls
- if(!animation[player[i].targetanimation].attack&&
- player[i].targetanimation!=staggerbackhighanim&&
- player[i].targetanimation!=staggerbackhardanim&&
- player[i].targetanimation!=backhandspringanim&&
- player[i].targetanimation!=dodgebackanim){
+ if(!animation[player[i].animTarget].attack&&
+ player[i].animTarget!=staggerbackhighanim&&
+ player[i].animTarget!=staggerbackhardanim&&
+ player[i].animTarget!=backhandspringanim&&
+ player[i].animTarget!=dodgebackanim){
if(!player[i].forwardkeydown)
player[i].forwardstogglekeydown=0;
if(player[i].crouchkeydown){
if(j!=i&&!player[j].skeleton.free&&player[j].victim&&player[i].lowreversaldelay<=0){
if(distsq(&player[j].coords,&player[j].victim->coords)<3&&
player[j].victim==&player[i]&&
- (player[j].targetanimation==sweepanim||
- player[j].targetanimation==upunchanim||
- player[j].targetanimation==wolfslapanim||
- ((player[j].targetanimation==swordslashanim||
- player[j].targetanimation==knifeslashstartanim||
- player[j].targetanimation==staffhitanim||
- player[j].targetanimation==staffspinhitanim)&&
+ (player[j].animTarget==sweepanim||
+ player[j].animTarget==upunchanim||
+ player[j].animTarget==wolfslapanim||
+ ((player[j].animTarget==swordslashanim||
+ player[j].animTarget==knifeslashstartanim||
+ player[j].animTarget==staffhitanim||
+ player[j].animTarget==staffspinhitanim)&&
distsq(&player[j].coords,&player[i].coords)<2))){
if(target>=0)
target=-1;
}
if(!player[i].crouchkeydown){
//Uncrouch
- if(!player[i].isRun()&&player[i].targetanimation!=sneakanim&&i==0)player[i].superruntoggle=0;
+ if(!player[i].isRun()&&player[i].animTarget!=sneakanim&&i==0)player[i].superruntoggle=0;
target=-2;
if(player[i].isCrouch()){
if(numplayers>1)
player[i].highreversaldelay<=0){
if(distsq(&player[j].coords,&player[j].victim->coords)<3&&
player[j].victim==&player[i]&&
- (player[j].targetanimation==spinkickanim)&&
+ (player[j].animTarget==spinkickanim)&&
player[i].isCrouch()){
if(target>=0)
target=-1;
if(player[i].isCrouch()){
if(!player[i].wasCrouch()){
- player[i].currentanimation=player[i].getCrouch();
- player[i].currentframe=0;
+ player[i].animCurrent=player[i].getCrouch();
+ player[i].frameCurrent=0;
}
player[i].setAnimation(player[i].getIdle());
player[i].transspeed=10;
}
}
- if(player[i].targetanimation==sneakanim){
+ if(player[i].animTarget==sneakanim){
player[i].setAnimation(player[i].getIdle());
player[i].transspeed=10;
}
(player[i].isStop()&&
player[i].targetyaw==player[i].yaw)||
(player[i].isLanding()&&
- player[i].targetframe>0&&
+ player[i].frameTarget>0&&
!player[i].jumpkeydown)||
(player[i].isLandhard()&&
- player[i].targetframe>0&&
+ player[i].frameTarget>0&&
!player[i].jumpkeydown&&
player[i].crouchkeydown)){
if(player[i].aitype==passivetype)
player[i].setAnimation(player[i].getRun());
}
if(player[i].isCrouch()){
- player[i].targetanimation=sneakanim;
+ player[i].animTarget=sneakanim;
if(player[i].wasCrouch())
player[i].target=0;
- player[i].targetframe=0;
+ player[i].frameTarget=0;
}
- if(player[i].targetanimation==hanganim/*&&(!player[i].forwardstogglekeydown||player[i].aitype!=playercontrolled)*/){
+ if(player[i].animTarget==hanganim/*&&(!player[i].forwardstogglekeydown||player[i].aitype!=playercontrolled)*/){
player[i].setAnimation(climbanim);
- player[i].targetframe=1;
+ player[i].frameTarget=1;
player[i].jumpclimb=1;
}
- if(player[i].targetanimation==jumpupanim||player[i].targetanimation==jumpdownanim||player[i].isFlip()){
+ if(player[i].animTarget==jumpupanim||player[i].animTarget==jumpdownanim||player[i].isFlip()){
player[i].velocity+=absflatfacing*5*multiplier;
}
player[i].forwardstogglekeydown=1;
(player[i].isStop()&&
player[i].targetyaw==player[i].yaw)||
(player[i].isLanding()&&
- player[i].targetframe>0&&
+ player[i].frameTarget>0&&
!player[i].jumpkeydown)||
(player[i].isLandhard()&&
- player[i].targetframe>0&&
+ player[i].frameTarget>0&&
!player[i].jumpkeydown&&
player[i].crouchkeydown)){
player[i].setAnimation(player[i].getRun());
}
if(player[i].isCrouch()){
- player[i].targetanimation=sneakanim;
+ player[i].animTarget=sneakanim;
if(player[i].wasCrouch())
player[i].target=0;
- player[i].targetframe=0;
+ player[i].frameTarget=0;
}
- if(player[i].targetanimation==jumpupanim||player[i].targetanimation==jumpdownanim||player[i].isFlip()){
+ if(player[i].animTarget==jumpupanim||player[i].animTarget==jumpdownanim||player[i].isFlip()){
player[i].velocity+=DoRotation(absflatfacing*5*multiplier,0,-90,0);
}
player[i].targetyaw-=90;
(player[i].isStop()&&
player[i].targetyaw==player[i].yaw)||
(player[i].isLanding()&&
- player[i].targetframe>0&&
+ player[i].frameTarget>0&&
!player[i].jumpkeydown)||
(player[i].isLandhard()&&
- player[i].targetframe>0&&
+ player[i].frameTarget>0&&
!player[i].jumpkeydown&&
player[i].crouchkeydown)){
player[i].setAnimation(player[i].getRun());
}
if(player[i].isCrouch()){
- player[i].targetanimation=sneakanim;
+ player[i].animTarget=sneakanim;
if(player[i].wasCrouch())
player[i].target=0;
- player[i].targetframe=0;
+ player[i].frameTarget=0;
}
- if(player[i].targetanimation==jumpupanim||player[i].targetanimation==jumpdownanim||player[i].isFlip()){
+ if(player[i].animTarget==jumpupanim||player[i].animTarget==jumpdownanim||player[i].isFlip()){
player[i].velocity-=DoRotation(absflatfacing*5*multiplier,0,-90,0);
}
player[i].targetyaw+=90;
(player[i].isStop()&&
player[i].targetyaw==player[i].yaw)||
(player[i].isLanding()&&
- player[i].targetframe>0&&
+ player[i].frameTarget>0&&
!player[i].jumpkeydown)||
(player[i].isLandhard()&&
- player[i].targetframe>0&&
+ player[i].frameTarget>0&&
!player[i].jumpkeydown&&
player[i].crouchkeydown)){
player[i].setAnimation(player[i].getRun());
}
if(player[i].isCrouch()){
- player[i].targetanimation=sneakanim;
+ player[i].animTarget=sneakanim;
if(player[i].wasCrouch())
player[i].target=0;
- player[i].targetframe=0;
+ player[i].frameTarget=0;
}
- if(player[i].targetanimation==jumpupanim||player[i].targetanimation==jumpdownanim||player[i].isFlip()){
+ if(player[i].animTarget==jumpupanim||player[i].animTarget==jumpdownanim||player[i].isFlip()){
player[i].velocity-=absflatfacing*5*multiplier;
}
- if(player[i].targetanimation==hanganim){
- player[i].currentanimation=jumpdownanim;
- player[i].targetanimation=jumpdownanim;
+ if(player[i].animTarget==hanganim){
+ player[i].animCurrent=jumpdownanim;
+ player[i].animTarget=jumpdownanim;
player[i].target=0;
- player[i].currentframe=0;
- player[i].targetframe=1;
+ player[i].frameCurrent=0;
+ player[i].frameTarget=1;
player[i].velocity=0;
player[i].velocity.y+=gravity;
player[i].coords.y-=1.4;
movekey=1;
}
if((player[i].jumpkeydown&&!player[i].jumpclimb)||player[i].jumpstart){
- if((((player[i].isLanding()&&player[i].targetframe>=3)||
+ if((((player[i].isLanding()&&player[i].frameTarget>=3)||
player[i].isRun()||
- player[i].targetanimation==walkanim||
+ player[i].animTarget==walkanim||
player[i].isCrouch()||
- player[i].targetanimation==sneakanim)&&
+ player[i].animTarget==sneakanim)&&
player[i].jumppower>1)&&
- ((player[i].targetanimation!=rabbitrunninganim&&
- player[i].targetanimation!=wolfrunninganim)||i!=0)){
+ ((player[i].animTarget!=rabbitrunninganim&&
+ player[i].animTarget!=wolfrunninganim)||i!=0)){
player[i].jumpstart=0;
player[i].setAnimation(jumpupanim);
player[i].yaw=player[i].targetyaw;
if(j!=i&&!player[j].skeleton.free&&player[j].victim){
if(distsq(&player[j].coords,&player[j].victim->coords)<3&&
player[j].victim==&player[i]&&
- (player[j].targetanimation==sweepanim)){
+ (player[j].animTarget==sweepanim)){
if(target>=0)target=-1;
else target=j;
}
}
if((player[i].isIdle())&&player[i].jumppower>1){
player[i].setAnimation(player[i].getLanding());
- player[i].targetframe=2;
+ player[i].frameTarget=2;
player[i].landhard=0;
player[i].jumpstart=1;
player[i].tempdeltav=deltav;
}
- if(player[i].targetanimation==jumpupanim&&
+ if(player[i].animTarget==jumpupanim&&
(((!floatjump&&
!editorenabled)||
!debugmode)||
}
if(!movekey){
- if(player[i].isRun()||player[i].targetanimation==walkanim)
+ if(player[i].isRun()||player[i].animTarget==walkanim)
player[i].setAnimation(player[i].getStop());
- if(player[i].targetanimation==sneakanim){
- player[i].targetanimation=player[i].getCrouch();
- if(player[i].currentanimation==sneakanim)
+ if(player[i].animTarget==sneakanim){
+ player[i].animTarget=player[i].getCrouch();
+ if(player[i].animCurrent==sneakanim)
player[i].target=0;
- player[i].targetframe=0;
+ player[i].frameTarget=0;
}
}
- if(player[i].targetanimation==walkanim&&
+ if(player[i].animTarget==walkanim&&
(player[i].aitype==attacktypecutoff||
player[i].aitype==searchtype||
(player[i].aitype==passivetype&&
player[i].setAnimation(player[i].getStop());
}
}
- if(player[i].targetanimation==rollanim)
+ if(player[i].animTarget==rollanim)
player[i].targetyaw=oldtargetyaw;
}
}
//stop to turn in right direction
- if(fabs(player[k].yaw-player[k].targetyaw)>90&&(player[k].isRun()||player[k].targetanimation==walkanim))
+ if(fabs(player[k].yaw-player[k].targetyaw)>90&&(player[k].isRun()||player[k].animTarget==walkanim))
player[k].setAnimation(player[k].getStop());
- if(player[k].targetanimation==backhandspringanim||player[k].targetanimation==dodgebackanim)
+ if(player[k].animTarget==backhandspringanim||player[k].animTarget==dodgebackanim)
player[k].targettilt=0;
- if(player[k].targetanimation!=jumpupanim&&
- player[k].targetanimation!=backhandspringanim&&
- player[k].targetanimation!=jumpdownanim&&
+ if(player[k].animTarget!=jumpupanim&&
+ player[k].animTarget!=backhandspringanim&&
+ player[k].animTarget!=jumpdownanim&&
!player[k].isFlip()){
player[k].targettilt=0;
if(player[k].jumppower<0&&!player[k].jumpkeydown)
player[i].aitype==gethelptype||
player[i].aitype==searchtype)&&
!player[i].dead/*&&player[i].surprised<=0*/&&
- (player[i].targetanimation!=sneakattackedanim&&
- player[i].targetanimation!=knifesneakattackedanim&&
- player[i].targetanimation!=swordsneakattackedanim)){
+ (player[i].animTarget!=sneakattackedanim&&
+ player[i].animTarget!=knifesneakattackedanim&&
+ player[i].animTarget!=swordsneakattackedanim)){
musictype=stream_fighttheme;
realthreat=1;
}
viewerfacing=facing;
if(!cameramode){
- if((animation[player[0].targetanimation].attack!=3&&animation[player[0].currentanimation].attack!=3)||player[0].skeleton.free)target=player[0].coords+player[0].currentoffset*(1-player[0].target)*player[0].scale+player[0].targetoffset*player[0].target*player[0].scale-player[0].facing*.05;
+ if((animation[player[0].animTarget].attack!=3&&animation[player[0].animCurrent].attack!=3)||player[0].skeleton.free)target=player[0].coords+player[0].currentoffset*(1-player[0].target)*player[0].scale+player[0].targetoffset*player[0].target*player[0].scale-player[0].facing*.05;
else target=player[0].oldcoords+player[0].currentoffset*(1-player[0].target)*player[0].scale+player[0].targetoffset*player[0].target*player[0].scale-player[0].facing*.05;
target.y+=.1;
if(player[0].skeleton.free){
if(findLengthfast(&player[0].velocity)>400){
cameraspeed=20+(findLength(&player[0].velocity)-20)*.96;
}
- if(player[0].skeleton.free==0&&player[0].targetanimation!=hanganim&&player[0].targetanimation!=climbanim)target.y+=1.4;
+ if(player[0].skeleton.free==0&&player[0].animTarget!=hanganim&&player[0].animTarget!=climbanim)target.y+=1.4;
coltarget=target-cameraloc;
if(findLengthfast(&coltarget)<multiplier*multiplier*400)cameraloc=target;
else {
Normalise(&coltarget);
- if(player[0].targetanimation!=hanganim&&player[0].targetanimation!=climbanim&&player[0].currentanimation!=climbanim&&player[0].currentoffset.x==0)cameraloc=cameraloc+coltarget*multiplier*cameraspeed;
+ if(player[0].animTarget!=hanganim&&player[0].animTarget!=climbanim&&player[0].animCurrent!=climbanim&&player[0].currentoffset.x==0)cameraloc=cameraloc+coltarget*multiplier*cameraspeed;
else cameraloc=cameraloc+coltarget*multiplier*8;
}
if(editorenabled)cameraloc=target;
if(findLengthfast(&player[0].velocity)>400){
cameraspeed=20+(findLength(&player[0].velocity)-20)*.96;
}
- if(player[0].skeleton.free==0&&player[0].targetanimation!=hanganim&&player[0].targetanimation!=climbanim)target.y+=1.4;
+ if(player[0].skeleton.free==0&&player[0].animTarget!=hanganim&&player[0].animTarget!=climbanim)target.y+=1.4;
cameradist+=multiplier*5;
if(cameradist>3.3)cameradist=3.3;
coltarget=target-cameraloc;
else if(findLengthfast(&coltarget)>1)
{
Normalise(&coltarget);
- if(player[0].targetanimation!=hanganim&&player[0].targetanimation!=climbanim&&player[0].currentanimation!=climbanim&&player[0].currentoffset.x==0)cameraloc=cameraloc+coltarget*multiplier*cameraspeed;
+ if(player[0].animTarget!=hanganim&&player[0].animTarget!=climbanim&&player[0].animCurrent!=climbanim&&player[0].currentoffset.x==0)cameraloc=cameraloc+coltarget*multiplier*cameraspeed;
else cameraloc=cameraloc+coltarget*multiplier*8;
}
if(editorenabled)cameraloc=target;
void Person::CheckKick()
{
if (!(hasvictim
- && (targetanimation == rabbitkickanim
+ && (animTarget == rabbitkickanim
&& victim
&& victim != this
- && currentframe >= 2
- && currentanimation == rabbitkickanim)
+ && frameCurrent >= 2
+ && animCurrent == rabbitkickanim)
&& (distsq(&coords,&victim->coords) < 1.2)
&& (!victim->skeleton.free)))
return;
- if (animation[victim->targetanimation].height!=lowheight)
+ if (animation[victim->animTarget].height!=lowheight)
{
float damagemult = (creature == wolftype ? 2.5 : 1.) * power * power;
XYZ relative = velocity;
if(id==0)camerashake+=.4;
target=0;
- currentframe=3;
- targetanimation=backflipanim;
- targetframe=4;
+ frameCurrent=3;
+ animTarget=backflipanim;
+ frameTarget=4;
velocity=facing*-10;
velocity.y=5;
skeleton.free=0;
}
else if (victim->isCrouch())
{
- targetanimation=rabbitkickreversedanim;
- currentanimation=rabbitkickreversedanim;
- victim->currentanimation=rabbitkickreversalanim;
- victim->targetanimation=rabbitkickreversalanim;
+ animTarget=rabbitkickreversedanim;
+ animCurrent=rabbitkickreversedanim;
+ victim->animCurrent=rabbitkickreversalanim;
+ victim->animTarget=rabbitkickreversalanim;
targettilt2=0;
- currentframe=0;
- targetframe=1;
+ frameCurrent=0;
+ frameTarget=1;
target=0;
velocity=0;
victim->oldcoords=victim->coords;
if (!((victim->aitype == playercontrolled
|| hostiletime > 1
|| staggerdelay <= 0)
- && victim->targetanimation != jumpupanim
- && victim->targetanimation != jumpdownanim
+ && victim->animTarget != jumpupanim
+ && victim->animTarget != jumpdownanim
&& (tutoriallevel != 1 || cananger)
&& hostile))
return;
&& (creature != wolftype || victim->creature == wolftype))
return;
- if(targetanimation==sweepanim){
- targetanimation=sweepreversedanim;
- currentanimation=sweepreversedanim;
- victim->currentanimation=sweepreversalanim;
- victim->targetanimation=sweepreversalanim;
+ if(animTarget==sweepanim){
+ animTarget=sweepreversedanim;
+ animCurrent=sweepreversedanim;
+ victim->animCurrent=sweepreversalanim;
+ victim->animTarget=sweepreversalanim;
}
- if(targetanimation==spinkickanim){
- targetanimation=spinkickreversedanim;
- currentanimation=spinkickreversedanim;
- victim->currentanimation=spinkickreversalanim;
- victim->targetanimation=spinkickreversalanim;
+ if(animTarget==spinkickanim){
+ animTarget=spinkickreversedanim;
+ animCurrent=spinkickreversedanim;
+ victim->animCurrent=spinkickreversalanim;
+ victim->animTarget=spinkickreversalanim;
}
- if(targetanimation==upunchanim||targetanimation==rabbittacklinganim){
- if(targetanimation==rabbittacklinganim){
- currentframe=6;
- targetframe=7;
- victim->currentframe=6;
- victim->targetframe=7;
+ if(animTarget==upunchanim||animTarget==rabbittacklinganim){
+ if(animTarget==rabbittacklinganim){
+ frameCurrent=6;
+ frameTarget=7;
+ victim->frameCurrent=6;
+ victim->frameTarget=7;
}
- targetanimation=upunchreversedanim;
- currentanimation=upunchreversedanim;
- victim->currentanimation=upunchreversalanim;
- victim->targetanimation=upunchreversalanim;
+ animTarget=upunchreversedanim;
+ animCurrent=upunchreversedanim;
+ victim->animCurrent=upunchreversalanim;
+ victim->animTarget=upunchreversalanim;
}
- if(targetanimation==staffhitanim&&distsq(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%4==0)){
+ if(animTarget==staffhitanim&&distsq(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%4==0)){
if(victim->weaponactive!=-1){
victim->throwtogglekeydown=1;
weapons[victim->weaponids[0]].owner=-1;
}
}
- targetanimation=staffhitreversedanim;
- currentanimation=staffhitreversedanim;
- victim->currentanimation=staffhitreversalanim;
- victim->targetanimation=staffhitreversalanim;
+ animTarget=staffhitreversedanim;
+ animCurrent=staffhitreversedanim;
+ victim->animCurrent=staffhitreversalanim;
+ victim->animTarget=staffhitreversalanim;
}
- if(targetanimation==staffspinhitanim&&distsq(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%2==0)){
+ if(animTarget==staffspinhitanim&&distsq(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%2==0)){
if(victim->weaponactive!=-1){
victim->throwtogglekeydown=1;
weapons[victim->weaponids[0]].owner=-1;
player[j].wentforweapon=0;
}
}
- targetanimation=staffspinhitreversedanim;
- currentanimation=staffspinhitreversedanim;
- victim->currentanimation=staffspinhitreversalanim;
- victim->targetanimation=staffspinhitreversalanim;
+ animTarget=staffspinhitreversedanim;
+ animCurrent=staffspinhitreversedanim;
+ victim->animCurrent=staffspinhitreversalanim;
+ victim->animTarget=staffspinhitreversalanim;
}
- if(targetanimation==swordslashanim&&distsq(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%4==0)){
+ if(animTarget==swordslashanim&&distsq(&victim->coords,&coords)<2&&((victim->id==0&&victim->crouchkeydown)||Random()%4==0)){
if(victim->weaponactive!=-1){
victim->throwtogglekeydown=1;
weapons[victim->weaponids[0]].owner=-1;
player[j].wentforweapon=0;
}
}
- targetanimation=swordslashreversedanim;
- currentanimation=swordslashreversedanim;
- victim->currentanimation=swordslashreversalanim;
- victim->targetanimation=swordslashreversalanim;
+ animTarget=swordslashreversedanim;
+ animCurrent=swordslashreversedanim;
+ victim->animCurrent=swordslashreversalanim;
+ victim->animTarget=swordslashreversalanim;
}
- if(targetanimation==knifeslashstartanim&&distsq(&victim->coords,&coords)<2&&(victim->id==0||Random()%4==0)){
+ if(animTarget==knifeslashstartanim&&distsq(&victim->coords,&coords)<2&&(victim->id==0||Random()%4==0)){
if(victim->weaponactive!=-1){
victim->throwtogglekeydown=1;
weapons[victim->weaponids[0]].owner=-1;
player[j].wentforweapon=0;
}
}
- targetanimation=knifeslashreversedanim;
- currentanimation=knifeslashreversedanim;
- victim->currentanimation=knifeslashreversalanim;
- victim->targetanimation=knifeslashreversalanim;
+ animTarget=knifeslashreversedanim;
+ animCurrent=knifeslashreversedanim;
+ victim->animCurrent=knifeslashreversalanim;
+ victim->animTarget=knifeslashreversalanim;
}
- if(targetanimation!=knifeslashstartanim&&targetanimation!=staffhitanim&&targetanimation!=staffspinhitanim&&targetanimation!=winduppunchanim&&targetanimation!=wolfslapanim&&targetanimation!=swordslashanim&&targetanimation!=swordslashanim){
+ if(animTarget!=knifeslashstartanim&&animTarget!=staffhitanim&&animTarget!=staffspinhitanim&&animTarget!=winduppunchanim&&animTarget!=wolfslapanim&&animTarget!=swordslashanim&&animTarget!=swordslashanim){
victim->targettilt2=targettilt2;
- victim->currentframe=currentframe;
- victim->targetframe=targetframe;
+ victim->frameCurrent=frameCurrent;
+ victim->frameTarget=frameTarget;
victim->target=target;
victim->velocity=0;
victim->oldcoords=victim->coords;
victim->yaw=targetyaw;
victim->victim=this;
}
- if(targetanimation==winduppunchanim){
- targetanimation=winduppunchblockedanim;
- victim->targetanimation=blockhighleftanim;
- victim->targetframe=1;
+ if(animTarget==winduppunchanim){
+ animTarget=winduppunchblockedanim;
+ victim->animTarget=blockhighleftanim;
+ victim->frameTarget=1;
victim->target=.5;
victim->victim=this;
victim->targetyaw=targetyaw+180;
}
- if(targetanimation==wolfslapanim){
- targetanimation=winduppunchblockedanim;
- victim->targetanimation=blockhighleftanim;
- victim->targetframe=1;
+ if(animTarget==wolfslapanim){
+ animTarget=winduppunchblockedanim;
+ victim->animTarget=blockhighleftanim;
+ victim->frameTarget=1;
victim->target=.5;
victim->victim=this;
victim->targetyaw=targetyaw+180;
}
- if((targetanimation==swordslashanim||targetanimation==staffhitanim||targetanimation==staffspinhitanim)&&victim->weaponactive!=-1){
- targetanimation=swordslashparriedanim;
+ if((animTarget==swordslashanim||animTarget==staffhitanim||animTarget==staffspinhitanim)&&victim->weaponactive!=-1){
+ animTarget=swordslashparriedanim;
parriedrecently=.4;
victim->parriedrecently=0;
- victim->targetanimation=swordslashparryanim;
- victim->targetframe=1;
+ victim->animTarget=swordslashparryanim;
+ victim->frameTarget=1;
victim->target=.5;
victim->victim=this;
victim->targetyaw=targetyaw+180;
XYZ aim;
victim->Puff(righthand);
victim->target=0;
- victim->targetframe=0;
- victim->targetanimation=staggerbackhighanim;
+ victim->frameTarget=0;
+ victim->animTarget=staggerbackhighanim;
victim->targetyaw=targetyaw+180;
victim->target=0;
weapons[victim->weaponids[0]].owner=-1;
XYZ aim;
Puff(righthand);
target=0;
- targetframe=0;
- targetanimation=staggerbackhighanim;
+ frameTarget=0;
+ animTarget=staggerbackhighanim;
targetyaw=targetyaw+180;
target=0;
weapons[weaponids[0]].owner=-1;
}
}
if(hasvictim)
- if(targetanimation==knifeslashstartanim||targetanimation==swordslashanim||targetanimation==staffhitanim||targetanimation==staffspinhitanim){
- if((targetanimation!=staffhitanim&&targetanimation!=staffspinhitanim)||distsq(&coords,&victim->coords)>.2){
- victim->targetanimation=dodgebackanim;
- victim->targetframe=0;
+ if(animTarget==knifeslashstartanim||animTarget==swordslashanim||animTarget==staffhitanim||animTarget==staffspinhitanim){
+ if((animTarget!=staffhitanim&&animTarget!=staffspinhitanim)||distsq(&coords,&victim->coords)>.2){
+ victim->animTarget=dodgebackanim;
+ victim->frameTarget=0;
victim->target=0;
XYZ rotatetarget;
victim->lastattack3=victim->lastattack2;
victim->lastattack2=victim->lastattack;
- victim->lastattack=victim->targetanimation;
+ victim->lastattack=victim->animTarget;
}
else
{
- victim->targetanimation=sweepanim;
- victim->targetframe=0;
+ victim->animTarget=sweepanim;
+ victim->frameTarget=0;
victim->target=0;
XYZ rotatetarget;
victim->lastattack3=victim->lastattack2;
victim->lastattack2=victim->lastattack;
- victim->lastattack=victim->targetanimation;
+ victim->lastattack=victim->animTarget;
}
}
if(aitype!=playercontrolled&&Random()%5==0&&escapednum<2&&difficulty==1)feint=1;
if(aitype!=playercontrolled&&Random()%10==0&&escapednum<2&&difficulty==0)feint=1;
- if(victim->id==0&&animation[victim->targetanimation].attack==reversal)numreversals++;
+ if(victim->id==0&&animation[victim->animTarget].attack==reversal)numreversals++;
}
void Person::DoDamage(float howmuch){
facing=0;
facing.z=-1;
- if(targetanimation!=bounceidleanim&&targetanimation!=fightidleanim&&targetanimation!=wolfidle&&targetanimation!=knifefightidleanim&&targetanimation!=drawrightanim&&targetanimation!=drawleftanim&&targetanimation!=walkanim){
+ if(animTarget!=bounceidleanim&&animTarget!=fightidleanim&&animTarget!=wolfidle&&animTarget!=knifefightidleanim&&animTarget!=drawrightanim&&animTarget!=drawleftanim&&animTarget!=walkanim){
facing=DoRotation(facing,headpitch*.4,0,0);
facing=DoRotation(facing,0,headyaw*.4,0);
}
- if(targetanimation==bounceidleanim||targetanimation==fightidleanim||targetanimation==wolfidle||targetanimation==knifefightidleanim||targetanimation==drawrightanim||targetanimation==drawleftanim){
+ if(animTarget==bounceidleanim||animTarget==fightidleanim||animTarget==wolfidle||animTarget==knifefightidleanim||animTarget==drawrightanim||animTarget==drawleftanim){
facing=DoRotation(facing,headpitch*.8,0,0);
facing=DoRotation(facing,0,headyaw*.8,0);
}
- if(targetanimation==walkanim){
+ if(animTarget==walkanim){
facing=DoRotation(facing,headpitch*.6,0,0);
facing=DoRotation(facing,0,headyaw*.6,0);
}
for(i=0;i<skeleton.num_muscles;i++){
if(skeleton.muscles[i].visible&&(skeleton.muscles[i].parent1->label==head||skeleton.muscles[i].parent2->label==head))
{
- skeleton.FindRotationMuscle(i,targetanimation);
+ skeleton.FindRotationMuscle(i,animTarget);
}
}
}
skeleton.joints[i].velchange=0;
}
skeleton.DoConstraints(&coords,&scale);
- if(animation[currentanimation].height==lowheight||animation[targetanimation].height==lowheight)
+ if(animation[animCurrent].height==lowheight||animation[animTarget].height==lowheight)
{
skeleton.DoConstraints(&coords,&scale);
skeleton.DoConstraints(&coords,&scale);
skeleton.DoConstraints(&coords,&scale);
}
- speed=animation[targetanimation].speed[targetframe]*2;
- if(animation[currentanimation].speed[currentframe]>animation[targetanimation].speed[targetframe]){
- speed=animation[currentanimation].speed[currentframe]*2;
+ speed=animation[animTarget].speed[frameTarget]*2;
+ if(animation[animCurrent].speed[frameCurrent]>animation[animTarget].speed[frameTarget]){
+ speed=animation[animCurrent].speed[frameCurrent]*2;
}
if(transspeed)speed=transspeed*2;
speed*=speedmult;
for(i=0;i<skeleton.num_joints;i++){
- if((animation[currentanimation].attack!=reversed||currentanimation==swordslashreversedanim)&¤tanimation!=rabbitkickanim&&!isLanding()&&!wasLanding()&&animation[currentanimation].height==animation[targetanimation].height)skeleton.joints[i].velocity=velocity/scale+facing*5+DoRotation(DoRotation(DoRotation((animation[targetanimation].position[i][targetframe]-animation[currentanimation].position[i][currentframe])*speed,0,0,tilt),tilt2,0,0),0,yaw,0);
+ if((animation[animCurrent].attack!=reversed||animCurrent==swordslashreversedanim)&&animCurrent!=rabbitkickanim&&!isLanding()&&!wasLanding()&&animation[animCurrent].height==animation[animTarget].height)skeleton.joints[i].velocity=velocity/scale+facing*5+DoRotation(DoRotation(DoRotation((animation[animTarget].position[i][frameTarget]-animation[animCurrent].position[i][frameCurrent])*speed,0,0,tilt),tilt2,0,0),0,yaw,0);
else skeleton.joints[i].velocity=velocity/scale+facing*5;
change.x=(float)(Random()%100)/100;
change.y=(float)(Random()%100)/100;
velocity/=skeleton.num_joints;
if(Random()%2==0){
- if(weaponactive!=-1&&targetanimation!=rabbitkickanim&&num_weapons>0){
+ if(weaponactive!=-1&&animTarget!=rabbitkickanim&&num_weapons>0){
weapons[weaponids[0]].owner=-1;
weapons[weaponids[0]].hitsomething=0;
weapons[weaponids[0]].velocity=skeleton.joints[skeleton.jointlabels[righthand]].velocity*scale*-.3;
}
}
- targetanimation=bounceidleanim;
- currentanimation=bounceidleanim;
- targetframe=0;
- currentframe=0;
+ animTarget=bounceidleanim;
+ animCurrent=bounceidleanim;
+ frameTarget=0;
+ frameCurrent=0;
}
}
if(distsq(&footpoint,&viewer)<viewdistance*viewdistance/4)Sprite::MakeSprite(cloudsprite, footpoint,footvel*.6, terrainlight.x*190/255,terrainlight.y*170/255,terrainlight.z*108/255, .5, .7*opacity);
if(opacity>=1||detail==2)if(detail==2)if(distsq(&footpoint,&viewer)<viewdistance*viewdistance/4)terrain.MakeDecal(footprintdecal,footpoint,.2,.25*opacity,yaw);
}
- else if(isLanding()||targetanimation==jumpupanim||isLandhard())
+ else if(isLanding()||animTarget==jumpupanim||isLandhard())
{
footvel=velocity/5;
if(footvel.y<.8)footvel.y=.8;
}
void Person::setAnimation(int animation) {
- targetanimation=animation;
- targetframe=0;
+ animTarget=animation;
+ frameTarget=0;
target=0;
}
int i = 0;
static float oldtarget;
- if(isIdle()&¤tanimation!=getIdle())normalsupdatedelay=0;
+ if(isIdle()&&animCurrent!=getIdle())normalsupdatedelay=0;
- if(targetanimation==tempanim||currentanimation==tempanim){
+ if(animTarget==tempanim||animCurrent==tempanim){
animation[tempanim]=tempanimation;
}
- if(targetanimation==jumpupanim||targetanimation==jumpdownanim||isFlip()){
+ if(animTarget==jumpupanim||animTarget==jumpdownanim||isFlip()){
float gLoc[3];
float vel[3];
gLoc[0]=coords.x;
if(((velocity.y<-15)||(crouchkeydown&&velocity.y<-8))&&abs(velocity.y)*4>fast_sqrt(velocity.x*velocity.x*velocity.z*velocity.z))landhard=1;
if(!crouchkeydown&&velocity.y>=-15)landhard=0;
}
- if((currentanimation==jumpupanim||targetanimation==jumpdownanim)/*&&velocity.y<40*/&&!isFlip()&&(!isLanding()&&!isLandhard())&&((crouchkeydown&&!crouchtogglekeydown))){
+ if((animCurrent==jumpupanim||animTarget==jumpdownanim)/*&&velocity.y<40*/&&!isFlip()&&(!isLanding()&&!isLandhard())&&((crouchkeydown&&!crouchtogglekeydown))){
XYZ targfacing;
targfacing=0;
targfacing.z=1;
targfacing=DoRotation(targfacing,0,targetyaw,0);
- if(normaldotproduct(targfacing,velocity)>=-.3)targetanimation=flipanim;
- else targetanimation=backflipanim;
+ if(normaldotproduct(targfacing,velocity)>=-.3)animTarget=flipanim;
+ else animTarget=backflipanim;
crouchtogglekeydown=1;
- targetframe=0;
+ frameTarget=0;
target=0;
if(id==0)numflipped++;
}
- if(animation[targetanimation].attack!=reversed)feint=0;
+ if(animation[animTarget].attack!=reversed)feint=0;
if(!crouchkeydown||(isLanding()||isLandhard())||(wasLanding()||wasLandhard())){
crouchtogglekeydown=0;
if(aitype==playercontrolled)feint=0;
}
else
{
- if(!crouchtogglekeydown&&animation[targetanimation].attack==reversed&&aitype==playercontrolled&&(escapednum<2||reversaltrain))feint=1;
+ if(!crouchtogglekeydown&&animation[animTarget].attack==reversed&&aitype==playercontrolled&&(escapednum<2||reversaltrain))feint=1;
if(!isFlip())crouchtogglekeydown=1;
}
- if(animation[targetanimation].attack||currentanimation==getupfrombackanim||currentanimation==getupfromfrontanim){
+ if(animation[animTarget].attack||animCurrent==getupfrombackanim||animCurrent==getupfromfrontanim){
if(detail)normalsupdatedelay=0;
}
if(target>=1){
- if(targetanimation==rollanim&&targetframe==3&&onfire){
+ if(animTarget==rollanim&&frameTarget==3&&onfire){
onfire=0;
emit_sound_at(fireendsound, coords);
pause_sound(stream_firesound);
deathbleeding=0;
}
- if(targetanimation==rabbittacklinganim&&targetframe==1){
- //if(victim->aitype==attacktypecutoff&&Random()%2==0&&victim->stunned<=0&&animation[victim->targetanimation].attack==neutral&&victim->id!=0)Reverse();
+ if(animTarget==rabbittacklinganim&&frameTarget==1){
+ //if(victim->aitype==attacktypecutoff&&Random()%2==0&&victim->stunned<=0&&animation[victim->animTarget].attack==neutral&&victim->id!=0)Reverse();
if(victim->aitype==attacktypecutoff&&victim->stunned<=0&&victim->surprised<=0&&victim->id!=0)Reverse();
- if(targetanimation==rabbittacklinganim&&targetframe==1&&!victim->isCrouch()&&victim->targetanimation!=backhandspringanim){
- if(normaldotproduct(victim->facing,facing)>0)victim->targetanimation=rabbittackledbackanim;
- else victim->targetanimation=rabbittackledfrontanim;
- victim->targetframe=2;
+ if(animTarget==rabbittacklinganim&&frameTarget==1&&!victim->isCrouch()&&victim->animTarget!=backhandspringanim){
+ if(normaldotproduct(victim->facing,facing)>0)victim->animTarget=rabbittackledbackanim;
+ else victim->animTarget=rabbittackledfrontanim;
+ victim->frameTarget=2;
victim->target=0;
victim->yaw=yaw;
victim->targetyaw=yaw;
}
}
- if(!drawtogglekeydown&&drawkeydown&&(weaponactive==-1||num_weapons==1)&&(animation[targetanimation].label[targetframe]||(targetanimation!=currentanimation&¤tanimation==rollanim))&&num_weapons>0&&creature!=wolftype){
+ if(!drawtogglekeydown&&drawkeydown&&(weaponactive==-1||num_weapons==1)&&(animation[animTarget].label[frameTarget]||(animTarget!=animCurrent&&animCurrent==rollanim))&&num_weapons>0&&creature!=wolftype){
if(weapons[weaponids[0]].getType()==knife){
if(weaponactive==-1)weaponactive=0;
else if(weaponactive==0)weaponactive=-1;
}
//Footstep sounds
if(tutoriallevel!=1||id==0)
- if((animation[targetanimation].label[targetframe]&&(animation[targetanimation].label[targetframe]<5||animation[targetanimation].label[targetframe]==8))/*||(targetanimation==rollanim&&targetframe==animation[rollanim].numframes-1)*/){
+ if((animation[animTarget].label[frameTarget]&&(animation[animTarget].label[frameTarget]<5||animation[animTarget].label[frameTarget]==8))/*||(animTarget==rollanim&&frameTarget==animation[rollanim].numframes-1)*/){
int whichsound;
if(onterrain){
if(terrain.getOpacity(coords.x,coords.z)<.2){
- if(animation[targetanimation].label[targetframe]==1)whichsound=footstepsound;
+ if(animation[animTarget].label[frameTarget]==1)whichsound=footstepsound;
else whichsound=footstepsound2;
- if(animation[targetanimation].label[targetframe]==1)FootLand(0,1);
- if(animation[targetanimation].label[targetframe]==2)FootLand(1,1);
- if(animation[targetanimation].label[targetframe]==3&&isRun()){
+ if(animation[animTarget].label[frameTarget]==1)FootLand(0,1);
+ if(animation[animTarget].label[frameTarget]==2)FootLand(1,1);
+ if(animation[animTarget].label[frameTarget]==3&&isRun()){
FootLand(1,1);
FootLand(0,1);
}
}
if(terrain.getOpacity(coords.x,coords.z)>=.2){
- if(animation[targetanimation].label[targetframe]==1)whichsound=footstepsound3;
+ if(animation[animTarget].label[frameTarget]==1)whichsound=footstepsound3;
else whichsound=footstepsound4;
}
}
if(!onterrain){
- if(animation[targetanimation].label[targetframe]==1)whichsound=footstepsound3;
+ if(animation[animTarget].label[frameTarget]==1)whichsound=footstepsound3;
else whichsound=footstepsound4;
}
- if(animation[targetanimation].label[targetframe]==4&&(weaponactive==-1||(targetanimation!=knifeslashstartanim&&targetanimation!=knifethrowanim&&targetanimation!=crouchstabanim&&targetanimation!=swordgroundstabanim&&targetanimation!=knifefollowanim))){
- if(animation[targetanimation].attack!=neutral){
+ if(animation[animTarget].label[frameTarget]==4&&(weaponactive==-1||(animTarget!=knifeslashstartanim&&animTarget!=knifethrowanim&&animTarget!=crouchstabanim&&animTarget!=swordgroundstabanim&&animTarget!=knifefollowanim))){
+ if(animation[animTarget].attack!=neutral){
i=abs(Random()%3);
if(i==0)whichsound=lowwhooshsound;
if(i==1)whichsound=midwhooshsound;
if(i==2)whichsound=highwhooshsound;
}
- if(animation[targetanimation].attack==neutral)whichsound=movewhooshsound;
+ if(animation[animTarget].attack==neutral)whichsound=movewhooshsound;
}
- else if(animation[targetanimation].label[targetframe]==4)whichsound=knifeswishsound;
- if(animation[targetanimation].label[targetframe]==8&&tutoriallevel!=1)whichsound=landsound2;
+ else if(animation[animTarget].label[frameTarget]==4)whichsound=knifeswishsound;
+ if(animation[animTarget].label[frameTarget]==8&&tutoriallevel!=1)whichsound=landsound2;
emit_sound_at(whichsound, coords, 256.);
if(id==0)
if(whichsound==footstepsound||whichsound==footstepsound2||whichsound==footstepsound3||whichsound==footstepsound4){
envsound[numenvsounds]=coords;
- if(targetanimation==wolfrunninganim||targetanimation==rabbitrunninganim)envsoundvol[numenvsounds]=15;
+ if(animTarget==wolfrunninganim||animTarget==rabbitrunninganim)envsoundvol[numenvsounds]=15;
else envsoundvol[numenvsounds]=6;
envsoundlife[numenvsounds]=.4;
numenvsounds++;
}
- if(animation[targetanimation].label[targetframe]==3){
+ if(animation[animTarget].label[frameTarget]==3){
whichsound--;
emit_sound_at(whichsound, coords, 128.);
}
//Combat sounds
if(tutoriallevel!=1||id==0)
if(speechdelay<=0)
- if(targetanimation!=crouchstabanim&&targetanimation!=swordgroundstabanim&&targetanimation!=staffgroundsmashanim)
- if((animation[targetanimation].label[targetframe]&&(animation[targetanimation].label[targetframe]<5||animation[targetanimation].label[targetframe]==8))/*||(targetanimation==rollanim&&targetframe==animation[rollanim].numframes-1)*/){
+ if(animTarget!=crouchstabanim&&animTarget!=swordgroundstabanim&&animTarget!=staffgroundsmashanim)
+ if((animation[animTarget].label[frameTarget]&&(animation[animTarget].label[frameTarget]<5||animation[animTarget].label[frameTarget]==8))/*||(animTarget==rollanim&&frameTarget==animation[rollanim].numframes-1)*/){
int whichsound=-1;
- if(animation[targetanimation].label[targetframe]==4&&aitype!=playercontrolled){
- if(animation[targetanimation].attack!=neutral){
+ if(animation[animTarget].label[frameTarget]==4&&aitype!=playercontrolled){
+ if(animation[animTarget].attack!=neutral){
i=abs(Random()%4);
if(creature==rabbittype){
if(i==0)whichsound=rabbitattacksound;
}
speechdelay=.3;
}
- //if(animation[targetanimation].attack==neutral)whichsound=movewhooshsound;
+ //if(animation[animTarget].attack==neutral)whichsound=movewhooshsound;
}
- //else if(animation[targetanimation].label[targetframe]==4)whichsound=knifeswishsound;
- //if(animation[targetanimation].label[targetframe]==8)whichsound=landsound2;
+ //else if(animation[animTarget].label[frameTarget]==4)whichsound=knifeswishsound;
+ //if(animation[animTarget].label[frameTarget]==8)whichsound=landsound2;
if(whichsound!=-1){
emit_sound_at(whichsound, coords);
- if((!wasLanding()&&!wasLandhard())&¤tanimation!=getIdle()&&(isLanding()||isLandhard())){
+ if((!wasLanding()&&!wasLandhard())&&animCurrent!=getIdle()&&(isLanding()||isLandhard())){
FootLand(0,1);
FootLand(1,1);
}
transspeed=0;
currentoffset=targetoffset;
- targetframe=currentframe;
- currentanimation=targetanimation;
- targetframe++;
+ frameTarget=frameCurrent;
+ animCurrent=animTarget;
+ frameTarget++;
- if(targetanimation==removeknifeanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==removeknifeanim&&animation[animTarget].label[frameCurrent]==5){
for(i=0;i<weapons.size();i++){
if(weapons[i].owner==-1)
if(distsqflat(&coords,&weapons[i].position)<4&&weaponactive==-1){
}
}
- if(targetanimation==crouchremoveknifeanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==crouchremoveknifeanim&&animation[animTarget].label[frameCurrent]==5){
for(i=0;i<weapons.size();i++){
bool willwork=true;
if(weapons[i].owner!=-1)
}
}
- if(currentanimation==drawleftanim&&animation[targetanimation].label[currentframe]==5){
+ if(animCurrent==drawleftanim&&animation[animTarget].label[frameCurrent]==5){
if(weaponactive==-1)weaponactive=0;
else if(weaponactive==0){
weaponactive=-1;
}
- if((currentanimation==walljumprightkickanim&&targetanimation==walljumprightkickanim)||(currentanimation==walljumpleftkickanim&&targetanimation==walljumpleftkickanim)){
+ if((animCurrent==walljumprightkickanim&&animTarget==walljumprightkickanim)||(animCurrent==walljumpleftkickanim&&animTarget==walljumpleftkickanim)){
XYZ rotatetarget=DoRotation(skeleton.forward,0,yaw,0);
Normalise(&rotatetarget);
targetyaw=-asin(0-rotatetarget.x);
targetyaw*=360/6.28;
if(rotatetarget.z<0)targetyaw=180-targetyaw;
- if(targetanimation==walljumprightkickanim)targetyaw+=40;
- if(targetanimation==walljumpleftkickanim)targetyaw-=40;
+ if(animTarget==walljumprightkickanim)targetyaw+=40;
+ if(animTarget==walljumpleftkickanim)targetyaw-=40;
}
bool dojumpattack;
dojumpattack=0;
- if((targetanimation==rabbitrunninganim||targetanimation==wolfrunninganim)&&targetframe==3&&(jumpkeydown||attackkeydown||id!=0))dojumpattack=1;
+ if((animTarget==rabbitrunninganim||animTarget==wolfrunninganim)&&frameTarget==3&&(jumpkeydown||attackkeydown||id!=0))dojumpattack=1;
if(hasvictim)
if(distsq(&victim->coords,&/*player[i].*/coords)<5&&victim->aitype==gethelptype&&(attackkeydown)&&!victim->skeleton.free&&victim->isRun()&&victim->runninghowlong>=1)dojumpattack=1; if(!hostile)dojumpattack=0;
if(dojumpattack){
- if((targetanimation==rabbitrunninganim||targetanimation==wolfrunninganim)&&id==0){
- targetanimation=rabbittackleanim;
- targetframe=0;
+ if((animTarget==rabbitrunninganim||animTarget==wolfrunninganim)&&id==0){
+ animTarget=rabbittackleanim;
+ frameTarget=0;
emit_sound_at(jumpsound, coords);
}
}
}
if(closestid!=-1)
- if(closestdist<5&&!player[closestid].dead&&animation[player[closestid].targetanimation].height!=lowheight&&player[closestid].targetanimation!=backhandspringanim){
+ if(closestdist<5&&!player[closestid].dead&&animation[player[closestid].animTarget].height!=lowheight&&player[closestid].animTarget!=backhandspringanim){
hasvictim=1;
victim=&player[closestid];
coords=victim->coords;
- currentanimation=rabbittacklinganim;
- targetanimation=rabbittacklinganim;
- currentframe=0;
- targetframe=1;
+ animCurrent=rabbittacklinganim;
+ animTarget=rabbittacklinganim;
+ frameCurrent=0;
+ frameTarget=1;
XYZ rotatetarget;
if(coords.z!=victim->coords.z||coords.x!=victim->coords.x){
rotatetarget=coords-victim->coords;
targetyaw*=360/6.28;
if(rotatetarget.z<0)targetyaw=180-targetyaw;
}
- if(targetanimation!=rabbitrunninganim){
+ if(animTarget!=rabbitrunninganim){
emit_sound_at(jumpsound, coords, 128.);
}
}
if(creature==wolftype)damagemult=2.5*power;
if(hasvictim){damagemult/=victim->damagetolerance/200;}
//if(onfire)damagemult=3;
- if((animation[targetanimation].attack==normalattack||targetanimation==walljumprightkickanim||targetanimation==walljumpleftkickanim)&&(!feint)&&(victim->skeleton.free!=2||targetanimation==killanim||targetanimation==dropkickanim||targetanimation==crouchstabanim||targetanimation==swordgroundstabanim||targetanimation==staffgroundsmashanim)){
- if(targetanimation==spinkickanim&&animation[targetanimation].label[currentframe]==5){
- if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&3&&animation[victim->targetanimation].height!=lowheight){
+ if((animation[animTarget].attack==normalattack||animTarget==walljumprightkickanim||animTarget==walljumpleftkickanim)&&(!feint)&&(victim->skeleton.free!=2||animTarget==killanim||animTarget==dropkickanim||animTarget==crouchstabanim||animTarget==swordgroundstabanim||animTarget==staffgroundsmashanim)){
+ if(animTarget==spinkickanim&&animation[animTarget].label[frameCurrent]==5){
+ if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&3&&animation[victim->animTarget].height!=lowheight){
escapednum=0;
if(id==0)camerashake+=.4;
if(Random()%2||creature==wolftype){
}
}
- if(targetanimation==wolfslapanim&&animation[targetanimation].label[currentframe]==5){
- if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&3&&animation[victim->targetanimation].height!=lowheight){
+ if(animTarget==wolfslapanim&&animation[animTarget].label[frameCurrent]==5){
+ if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&3&&animation[victim->animTarget].height!=lowheight){
escapednum=0;
if(id==0)camerashake+=.4;
if(Random()%2||creature==wolftype){
}
}
- if(targetanimation==walljumprightkickanim&&animation[targetanimation].label[currentframe]==5){
- if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&animation[victim->targetanimation].height!=lowheight){
+ if(animTarget==walljumprightkickanim&&animation[animTarget].label[frameCurrent]==5){
+ if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&animation[victim->animTarget].height!=lowheight){
escapednum=0;
if(id==0)camerashake+=.4;
victim->spurt=1;
}
}
- if(targetanimation==walljumpleftkickanim&&animation[targetanimation].label[currentframe]==5){
- if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&animation[victim->targetanimation].height!=lowheight){
+ if(animTarget==walljumpleftkickanim&&animation[animTarget].label[frameCurrent]==5){
+ if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&animation[victim->animTarget].height!=lowheight){
escapednum=0;
if(id==0)camerashake+=.4;
victim->spurt=1;
}
}
- if(targetanimation==blockhighleftstrikeanim&&animation[targetanimation].label[currentframe]==5){
- if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&animation[victim->targetanimation].height!=lowheight){
+ if(animTarget==blockhighleftstrikeanim&&animation[animTarget].label[frameCurrent]==5){
+ if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&animation[victim->animTarget].height!=lowheight){
escapednum=0;
if(id==0)camerashake+=.4;
if(Random()%2){
}
}
- if(targetanimation==killanim&&animation[targetanimation].label[currentframe]==8){
+ if(animTarget==killanim&&animation[animTarget].label[frameCurrent]==8){
if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&victim->dead){
escapednum=0;
if(id==0)camerashake+=.2;
}
}
- if(targetanimation==killanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==killanim&&animation[animTarget].label[frameCurrent]==5){
if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*9&&victim->dead){
escapednum=0;
if(id==0)camerashake+=.4;
}
}
- if(targetanimation==dropkickanim&&animation[targetanimation].label[currentframe]==7){
+ if(animTarget==dropkickanim&&animation[animTarget].label[frameCurrent]==7){
if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*9&&victim->skeleton.free){
escapednum=0;
if(id==0)camerashake+=.4;
}
}
- if((targetanimation==crouchstabanim||targetanimation==swordgroundstabanim)&&animation[targetanimation].label[currentframe]==5){
+ if((animTarget==crouchstabanim||animTarget==swordgroundstabanim)&&animation[animTarget].label[frameCurrent]==5){
//if(id==0)camerashake+=.4;
if(hasvictim)
}
}
- if((targetanimation==crouchstabanim||targetanimation==swordgroundstabanim)&&animation[targetanimation].label[currentframe]==6){
+ if((animTarget==crouchstabanim||animTarget==swordgroundstabanim)&&animation[animTarget].label[frameCurrent]==6){
if(!hasvictim){
emit_sound_at(knifedrawsound, coords, 128);
}
}
}
- if(targetanimation==upunchanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==upunchanim&&animation[animTarget].label[frameCurrent]==5){
if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3){
escapednum=0;
if(id==0)camerashake+=.4;
}
victim->skeleton.joints[victim->skeleton.jointlabels[head]].velocity+=relative*damagemult*150;
- victim->targetframe=0;
- victim->targetanimation=staggerbackhardanim;
+ victim->frameTarget=0;
+ victim->animTarget=staggerbackhardanim;
victim->targetyaw=targetyaw+180;
victim->target=0;
victim->stunned=1;
}
- if(targetanimation==winduppunchanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==winduppunchanim&&animation[animTarget].label[frameCurrent]==5){
if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*2){
escapednum=0;
if(id==0)camerashake+=.4;
- if(victim->damage<=victim->damagetolerance-60&&normaldotproduct(victim->facing,victim->coords-coords)<(scale*5)*(scale*5)*0&&animation[victim->targetanimation].height!=lowheight){
+ if(victim->damage<=victim->damagetolerance-60&&normaldotproduct(victim->facing,victim->coords-coords)<(scale*5)*(scale*5)*0&&animation[victim->animTarget].height!=lowheight){
if(tutoriallevel!=1){
emit_sound_at(thudsound, victim->coords);
}
}
- else if(victim->damage<=victim->damagetolerance-60&&normaldotproduct(victim->facing,victim->coords-coords)<(scale*5)*(scale*5)*0&&animation[victim->targetanimation].height==lowheight){
+ else if(victim->damage<=victim->damagetolerance-60&&normaldotproduct(victim->facing,victim->coords-coords)<(scale*5)*(scale*5)*0&&animation[victim->animTarget].height==lowheight){
if(tutoriallevel!=1){
emit_sound_at(whooshhitsound, victim->coords);
}
}
}
- if(victim->damage>victim->damagetolerance-60||normaldotproduct(victim->facing,victim->coords-coords)>0||animation[victim->targetanimation].height==lowheight)
+ if(victim->damage>victim->damagetolerance-60||normaldotproduct(victim->facing,victim->coords-coords)>0||animation[victim->animTarget].height==lowheight)
victim->RagDoll(0);
XYZ relative;
relative=victim->coords-coords;
}
victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].velocity+=relative*damagemult*400;
- victim->targetframe=0;
- victim->targetanimation=staggerbackhardanim;
+ victim->frameTarget=0;
+ victim->animTarget=staggerbackhardanim;
victim->targetyaw=targetyaw+180;
victim->target=0;
victim->stunned=1;
}
}
- if(targetanimation==blockhighleftanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==blockhighleftanim&&animation[animTarget].label[frameCurrent]==5){
if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*4){
if(victim->id==0)camerashake+=.4;
emit_sound_at(landsound2, victim->coords);
}
}
- if(targetanimation==swordslashparryanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==swordslashparryanim&&animation[animTarget].label[frameCurrent]==5){
if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*4){
if(victim->id==0)camerashake+=.4;
}
}
- if(targetanimation==knifethrowanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==knifethrowanim&&animation[animTarget].label[frameCurrent]==5){
if(weaponactive!=-1){
escapednum=0;
XYZ aim;
weapons[weaponids[0]].owner=-1;
aim=victim->coords+DoRotation(victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].position,0,victim->yaw,0)*victim->scale+victim->velocity*findDistance(&victim->coords,&coords)/50-(coords+DoRotation(skeleton.joints[skeleton.jointlabels[righthand]].position,0,yaw,0)*scale);
Normalise(&aim);
- /*if(victim->targetanimation==jumpupanim||victim->targetanimation==jumpdownanim){
+ /*if(victim->animTarget==jumpupanim||victim->animTarget==jumpdownanim){
aim=DoRotation(aim,(float)abs(Random()%15)-7,(float)abs(Random()%15)-7,0);
}*/
weapons[weaponids[0]].velocity=aim*50;
}
}
- if(targetanimation==knifeslashstartanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==knifeslashstartanim&&animation[animTarget].label[frameCurrent]==5){
if(hasvictim)
- if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*4.5&&/*animation[victim->targetanimation].height!=lowheight&&*/victim->targetanimation!=dodgebackanim&&victim->targetanimation!=rollanim){
+ if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*4.5&&/*animation[victim->animTarget].height!=lowheight&&*/victim->animTarget!=dodgebackanim&&victim->animTarget!=rollanim){
escapednum=0;
if(tutoriallevel!=1)victim->DoBloodBig(1.5/victim->armorhigh,225);
emit_sound_at(knifeslicesound, victim->coords);
}
//victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].velocity+=relative*damagemult*200;
- if(animation[victim->targetanimation].attack&&(victim->aitype!=playercontrolled||victim->targetanimation==knifeslashstartanim)&&(victim->creature==rabbittype||victim->deathbleeding<=0)){
+ if(animation[victim->animTarget].attack&&(victim->aitype!=playercontrolled||victim->animTarget==knifeslashstartanim)&&(victim->creature==rabbittype||victim->deathbleeding<=0)){
if(victim->id != 0 || difficulty==2){
- victim->targetframe=0;
- victim->targetanimation=staggerbackhardanim;
+ victim->frameTarget=0;
+ victim->animTarget=staggerbackhardanim;
victim->targetyaw=targetyaw+180;
victim->target=0;
}
victim->DoDamage(damagemult*0);
}
}
- if(targetanimation==swordslashanim&&animation[targetanimation].label[currentframe]==5&&victim->targetanimation!=rollanim){
- if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*6.5&&victim->targetanimation!=dodgebackanim){
+ if(animTarget==swordslashanim&&animation[animTarget].label[frameCurrent]==5&&victim->animTarget!=rollanim){
+ if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*6.5&&victim->animTarget!=dodgebackanim){
if(victim->weaponactive==-1||normaldotproduct(victim->facing,victim->coords-coords)>0||(Random()%2==0)){
award_bonus(id, Slashbonus);
escapednum=0;
}
//victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].velocity+=relative*damagemult*200;
if(tutoriallevel!=1){
- victim->targetframe=0;
- victim->targetanimation=staggerbackhardanim;
+ victim->frameTarget=0;
+ victim->animTarget=staggerbackhardanim;
victim->targetyaw=targetyaw+180;
victim->target=0;
}
XYZ aim;
victim->Puff(righthand);
victim->target=0;
- victim->targetframe=0;
- victim->targetanimation=staggerbackhighanim;
+ victim->frameTarget=0;
+ victim->animTarget=staggerbackhighanim;
victim->targetyaw=targetyaw+180;
victim->target=0;
weapons[victim->weaponids[0]].owner=-1;
}
}
- if(targetanimation==staffhitanim&&animation[targetanimation].label[currentframe]==5&&victim->targetanimation!=rollanim){
- if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*6.5&&victim->targetanimation!=dodgebackanim&&victim->targetanimation!=sweepanim){
+ if(animTarget==staffhitanim&&animation[animTarget].label[frameCurrent]==5&&victim->animTarget!=rollanim){
+ if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*6.5&&victim->animTarget!=dodgebackanim&&victim->animTarget!=sweepanim){
if(tutoriallevel!=1){
weapons[weaponids[0]].damage+=.4+float(abs(Random()%100)-50)/250;
escapednum=0;
}
}
- if(targetanimation==staffspinhitanim&&animation[targetanimation].label[currentframe]==5&&victim->targetanimation!=rollanim){
- if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*6.5&&victim->targetanimation!=dodgebackanim&&victim->targetanimation!=sweepanim){
+ if(animTarget==staffspinhitanim&&animation[animTarget].label[frameCurrent]==5&&victim->animTarget!=rollanim){
+ if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*6.5&&victim->animTarget!=dodgebackanim&&victim->animTarget!=sweepanim){
if(tutoriallevel!=1){
weapons[weaponids[0]].damage+=.6+float(abs(Random()%100)-50)/250;
escapednum=0;
}
}
- if(targetanimation==staffgroundsmashanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==staffgroundsmashanim&&animation[animTarget].label[frameCurrent]==5){
if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*6.5){
escapednum=0;
if(tutoriallevel!=1){
}
}
- if(targetanimation==lowkickanim&&animation[targetanimation].label[currentframe]==5){
- if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&animation[victim->targetanimation].height!=highheight){
+ if(animTarget==lowkickanim&&animation[animTarget].label[frameCurrent]==5){
+ if(distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&animation[victim->animTarget].height!=highheight){
escapednum=0;
if(id==0)camerashake+=.4;
XYZ relative;
SolidHitBonus(id);
- if(animation[victim->targetanimation].height==lowheight){
+ if(animation[victim->animTarget].height==lowheight){
if(Random()%2){
victim->spurt=1;
DoBlood(.2,250);
victim->skeleton.joints[i].velocity+=relative*damagemult*10;
}
victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].velocity+=relative*damagemult*200;
- victim->targetframe=0;
- victim->targetanimation=staggerbackhighanim;
+ victim->frameTarget=0;
+ victim->animTarget=staggerbackhighanim;
victim->targetyaw=targetyaw+180;
victim->target=0;
if(tutoriallevel!=1){
}
}
- if(targetanimation==sweepanim&&animation[targetanimation].label[currentframe]==5){
- if(victim->targetanimation!=jumpupanim&&distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&victim!=this){
+ if(animTarget==sweepanim&&animation[animTarget].label[frameCurrent]==5){
+ if(victim->animTarget!=jumpupanim&&distsq(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&victim!=this){
escapednum=0;
if(id==0)camerashake+=.2;
if(tutoriallevel!=1){
relative.y=0;
Normalise(&relative);
- if(animation[victim->targetanimation].height==middleheight||animation[victim->currentanimation].height==middleheight||victim->damage>=victim->damagetolerance-40){
+ if(animation[victim->animTarget].height==middleheight||animation[victim->animCurrent].height==middleheight||victim->damage>=victim->damagetolerance-40){
victim->RagDoll(0);
for(i=0;i<victim->skeleton.num_joints;i++){
victim->skeleton.joints[i].velocity+=relative*damagemult*80;
}
victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].velocity+=relative*damagemult*200;
- victim->targetframe=0;
- victim->targetanimation=staggerbackhighanim;
+ victim->frameTarget=0;
+ victim->animTarget=staggerbackhighanim;
victim->targetyaw=targetyaw+180;
victim->target=0;
if(tutoriallevel!=1){
}
}
}
- if(animation[targetanimation].attack==reversal&&(!victim->feint||(victim->lastattack==victim->lastattack2&&victim->lastattack2==victim->lastattack3&&Random()%2)||targetanimation==knifefollowanim)){
- if(targetanimation==spinkickreversalanim&&animation[targetanimation].label[currentframe]==7){
+ if(animation[animTarget].attack==reversal&&(!victim->feint||(victim->lastattack==victim->lastattack2&&victim->lastattack2==victim->lastattack3&&Random()%2)||animTarget==knifefollowanim)){
+ if(animTarget==spinkickreversalanim&&animation[animTarget].label[frameCurrent]==7){
escapednum=0;
if(id==0)camerashake+=.4;
if(Random()%2){
award_bonus(id, Reversal);
}
- if((targetanimation==swordslashreversalanim||targetanimation==knifeslashreversalanim||targetanimation==staffhitreversalanim||targetanimation==staffspinhitreversalanim)&&animation[targetanimation].label[currentframe]==5){
+ if((animTarget==swordslashreversalanim||animTarget==knifeslashreversalanim||animTarget==staffhitreversalanim||animTarget==staffspinhitreversalanim)&&animation[animTarget].label[frameCurrent]==5){
if(victim->weaponactive!=-1&&victim->num_weapons>0){
if(weapons[victim->weaponids[victim->weaponactive]].owner==victim->id){
weapons[victim->weaponids[victim->weaponactive]].owner=id;
}
}
- if(targetanimation==staffhitreversalanim&&animation[targetanimation].label[currentframe]==5){
+ if(animTarget==staffhitreversalanim&&animation[animTarget].label[frameCurrent]==5){
escapednum=0;
if(id==0)camerashake+=.4;
if(Random()%2){
victim->DoDamage(damagemult*70/victim->protectionhigh);
}
- if(targetanimation==staffspinhitreversalanim&&animation[targetanimation].label[currentframe]==7){
+ if(animTarget==staffspinhitreversalanim&&animation[animTarget].label[frameCurrent]==7){
escapednum=0;
if(id==0)camerashake+=.4;
if(Random()%2){
victim->DoDamage(damagemult*70/victim->protectionhigh);
}
- if(targetanimation==upunchreversalanim&&animation[targetanimation].label[currentframe]==7){
+ if(animTarget==upunchreversalanim&&animation[animTarget].label[frameCurrent]==7){
escapednum=0;
victim->RagDoll(1);
XYZ relative;
- if(targetanimation==swordslashreversalanim&&animation[targetanimation].label[currentframe]==7){
+ if(animTarget==swordslashreversalanim&&animation[animTarget].label[frameCurrent]==7){
escapednum=0;
victim->RagDoll(1);
XYZ relative;
award_bonus(id, swordreversebonus);
}
- if(hasvictim&&targetanimation==knifeslashreversalanim&&animation[targetanimation].label[currentframe]==7){
+ if(hasvictim&&animTarget==knifeslashreversalanim&&animation[animTarget].label[frameCurrent]==7){
escapednum=0;
if(id==0)camerashake+=.4;
if(Random()%2){
award_bonus(id, Reversal);
}
- if(hasvictim&&targetanimation==sneakattackanim&&animation[targetanimation].label[currentframe]==7){
+ if(hasvictim&&animTarget==sneakattackanim&&animation[animTarget].label[frameCurrent]==7){
escapednum=0;
victim->RagDoll(0);
victim->skeleton.spinny=0;
award_bonus(id, spinecrusher);
}
- if(hasvictim&&(targetanimation==knifefollowanim||targetanimation==knifesneakattackanim)&&animation[targetanimation].label[currentframe]==5){
+ if(hasvictim&&(animTarget==knifefollowanim||animTarget==knifesneakattackanim)&&animation[animTarget].label[frameCurrent]==5){
if(weaponactive!=-1&&victim->bloodloss<victim->damagetolerance){
escapednum=0;
- if(targetanimation==knifefollowanim)victim->DoBloodBig(200,210);
- if(targetanimation==knifesneakattackanim){
+ if(animTarget==knifefollowanim)victim->DoBloodBig(200,210);
+ if(animTarget==knifesneakattackanim){
/*victim->DoBloodBig(200,195);
XYZ bloodvel;
bloodvel=0;
victim->DoBloodBig(200,195);
award_bonus(id, tracheotomy);
}
- if(targetanimation==knifefollowanim){
+ if(animTarget==knifefollowanim){
award_bonus(id, Stabbonus);
XYZ footvel,footpoint;
footvel=0;
}
}
- if(hasvictim&&(targetanimation==knifefollowanim||targetanimation==knifesneakattackanim)&&animation[targetanimation].label[currentframe]==6){
+ if(hasvictim&&(animTarget==knifefollowanim||animTarget==knifesneakattackanim)&&animation[animTarget].label[frameCurrent]==6){
escapednum=0;
victim->velocity=0;
for(i=0;i<victim->skeleton.num_joints;i++){
victim->skeleton.joints[i].velocity=0;
}
- if(targetanimation==knifefollowanim){
+ if(animTarget==knifefollowanim){
victim->RagDoll(0);
for(i=0;i<victim->skeleton.num_joints;i++){
victim->skeleton.joints[i].velocity=0;
}
}
- if(weaponactive!=-1&&animation[victim->targetanimation].attack!=reversal){
+ if(weaponactive!=-1&&animation[victim->animTarget].attack!=reversal){
emit_sound_at(fleshstabremovesound, victim->coords);
if(bloodtoggle)weapons[weaponids[weaponactive]].bloody=2;
weapons[weaponids[weaponactive]].blooddrip+=5;
}
}
- if(hasvictim&&(targetanimation==swordsneakattackanim)&&animation[targetanimation].label[currentframe]==5){
+ if(hasvictim&&(animTarget==swordsneakattackanim)&&animation[animTarget].label[frameCurrent]==5){
if(weaponactive!=-1&&victim->bloodloss<victim->damagetolerance){
award_bonus(id, backstab);
}
}
- if(hasvictim&&targetanimation==swordsneakattackanim&&animation[targetanimation].label[currentframe]==6){
+ if(hasvictim&&animTarget==swordsneakattackanim&&animation[animTarget].label[frameCurrent]==6){
escapednum=0;
victim->velocity=0;
for(i=0;i<victim->skeleton.num_joints;i++){
}
}
- if(targetanimation==sweepreversalanim&&animation[targetanimation].label[currentframe]==7){
+ if(animTarget==sweepreversalanim&&animation[animTarget].label[frameCurrent]==7){
escapednum=0;
if(id==0)camerashake+=.4;
if(Random()%2){
victim->velocity=0;
}
- if(targetanimation==sweepreversalanim&&((animation[targetanimation].label[currentframe]==9&&victim->damage<victim->damagetolerance)||(animation[targetanimation].label[currentframe]==7&&victim->damage>victim->damagetolerance))){
+ if(animTarget==sweepreversalanim&&((animation[animTarget].label[frameCurrent]==9&&victim->damage<victim->damagetolerance)||(animation[animTarget].label[frameCurrent]==7&&victim->damage>victim->damagetolerance))){
escapednum=0;
victim->RagDoll(0);
XYZ relative;
victim->skeleton.joints[victim->skeleton.jointlabels[head]].velocity+=relative*damagemult*200;
}
- if(hasvictim&&(targetanimation==spinkickreversalanim||targetanimation==sweepreversalanim||targetanimation==rabbitkickreversalanim||targetanimation==upunchreversalanim||targetanimation==jumpreversalanim||targetanimation==swordslashreversalanim||targetanimation==knifeslashreversalanim||targetanimation==rabbittacklereversal||targetanimation==wolftacklereversal||targetanimation==staffhitreversalanim||targetanimation==staffspinhitreversalanim))
+ if(hasvictim&&(animTarget==spinkickreversalanim||animTarget==sweepreversalanim||animTarget==rabbitkickreversalanim||animTarget==upunchreversalanim||animTarget==jumpreversalanim||animTarget==swordslashreversalanim||animTarget==knifeslashreversalanim||animTarget==rabbittacklereversal||animTarget==wolftacklereversal||animTarget==staffhitreversalanim||animTarget==staffspinhitreversalanim))
if(victim->damage>victim->damagetolerance&&bonus!=reverseko){
award_bonus(id, reverseko);
}
//Animation end
- if(targetframe>animation[currentanimation].numframes-1){
- targetframe=0;
+ if(frameTarget>animation[animCurrent].numframes-1){
+ frameTarget=0;
if(wasStop()){
- targetanimation=getIdle();
+ animTarget=getIdle();
FootLand(0,1);
FootLand(1,1);
}
- if(currentanimation==rabbittackleanim||currentanimation==rabbittacklinganim){
- targetanimation=rollanim;
- targetframe=3;
+ if(animCurrent==rabbittackleanim||animCurrent==rabbittacklinganim){
+ animTarget=rollanim;
+ frameTarget=3;
emit_sound_at(movewhooshsound, coords, 128.);
}
- if(currentanimation==staggerbackhighanim){
- targetanimation=getIdle();
+ if(animCurrent==staggerbackhighanim){
+ animTarget=getIdle();
}
- if(currentanimation==staggerbackhardanim){
- targetanimation=getIdle();
+ if(animCurrent==staggerbackhardanim){
+ animTarget=getIdle();
}
- if(currentanimation==removeknifeanim){
- targetanimation=getIdle();
+ if(animCurrent==removeknifeanim){
+ animTarget=getIdle();
}
- if(currentanimation==crouchremoveknifeanim){
- targetanimation=getCrouch();
+ if(animCurrent==crouchremoveknifeanim){
+ animTarget=getCrouch();
}
- if(currentanimation==backhandspringanim){
- targetanimation=getIdle();
+ if(animCurrent==backhandspringanim){
+ animTarget=getIdle();
}
- if(currentanimation==dodgebackanim){
- targetanimation=getIdle();
+ if(animCurrent==dodgebackanim){
+ animTarget=getIdle();
}
- if(currentanimation==drawleftanim){
- targetanimation=getIdle();
+ if(animCurrent==drawleftanim){
+ animTarget=getIdle();
}
- if(currentanimation==drawrightanim||currentanimation==crouchdrawrightanim){
- targetanimation=getIdle();
- if(currentanimation==crouchdrawrightanim){
- targetanimation=getCrouch();
+ if(animCurrent==drawrightanim||animCurrent==crouchdrawrightanim){
+ animTarget=getIdle();
+ if(animCurrent==crouchdrawrightanim){
+ animTarget=getCrouch();
}
if(weaponactive==-1)weaponactive=0;
else if(weaponactive==0){
emit_sound_at(knifedrawsound, coords, 128.);
}
}
- if(currentanimation==rollanim){
- targetanimation=getCrouch();
+ if(animCurrent==rollanim){
+ animTarget=getCrouch();
FootLand(0,1);
FootLand(1,1);
}
if(isFlip()){
- if(targetanimation==walljumprightkickanim){
+ if(animTarget==walljumprightkickanim){
targetrot=-190;
}
- if(targetanimation==walljumpleftkickanim){
+ if(animTarget==walljumpleftkickanim){
targetrot=190;
}
- targetanimation=jumpdownanim;
+ animTarget=jumpdownanim;
}
- if(currentanimation==climbanim){
- targetanimation=getCrouch();
- targetframe=1;
+ if(animCurrent==climbanim){
+ animTarget=getCrouch();
+ frameTarget=1;
coords+=facing*.1;
if(!isnormal(coords.x))
coords=oldcoords;
collided=0;
avoidcollided=0;
}
- if(targetanimation==rabbitkickreversalanim){
- targetanimation=getCrouch();
+ if(animTarget==rabbitkickreversalanim){
+ animTarget=getCrouch();
lastfeint=0;
}
- if(targetanimation==jumpreversalanim){
- targetanimation=getCrouch();
+ if(animTarget==jumpreversalanim){
+ animTarget=getCrouch();
lastfeint=0;
}
- if(targetanimation==walljumprightanim||targetanimation==walljumpbackanim||targetanimation==walljumpfrontanim){
- if(attackkeydown&&targetanimation!=walljumpfrontanim){
+ if(animTarget==walljumprightanim||animTarget==walljumpbackanim||animTarget==walljumpfrontanim){
+ if(attackkeydown&&animTarget!=walljumpfrontanim){
int closest=-1;
float closestdist=-1;
float distance;
}
if(closestdist>0&&closest>=0&&closestdist<16){
victim=&player[closest];
- targetanimation=walljumprightkickanim;
- targetframe=0;
+ animTarget=walljumprightkickanim;
+ frameTarget=0;
XYZ rotatetarget=victim->coords-coords;
Normalise(&rotatetarget);
yaw=-asin(0-rotatetarget.x);
transspeed=40;
}
}
- if(targetanimation==walljumpbackanim){
- targetanimation=backflipanim;
- targetframe=3;
+ if(animTarget==walljumpbackanim){
+ animTarget=backflipanim;
+ frameTarget=3;
velocity=facing*-8;
velocity.y=4;
if(id==0)
resume_stream(whooshsound);
}
- if(targetanimation==walljumprightanim){
- targetanimation=rightflipanim;
- targetframe=4;
+ if(animTarget==walljumprightanim){
+ animTarget=rightflipanim;
+ frameTarget=4;
targetyaw-=90;
yaw-=90;
velocity=DoRotation(facing,0,30,0)*-8;
velocity.y=4;
}
- if(targetanimation==walljumpfrontanim){
- targetanimation=frontflipanim;
- targetframe=2;
+ if(animTarget==walljumpfrontanim){
+ animTarget=frontflipanim;
+ frameTarget=2;
//targetyaw-=180;
////yaw-=180;
velocity=facing*8;
if(id==0)
resume_stream(whooshsound);
}
- if(targetanimation==walljumpleftanim){
+ if(animTarget==walljumpleftanim){
if(attackkeydown){
int closest=-1;
float closestdist=-1;
}
if(closestdist>0&&closest>=0&&closestdist<16){
victim=&player[closest];
- targetanimation=walljumpleftkickanim;
- targetframe=0;
+ animTarget=walljumpleftkickanim;
+ frameTarget=0;
XYZ rotatetarget=victim->coords-coords;
Normalise(&rotatetarget);
yaw=-asin(0-rotatetarget.x);
transspeed=40;
}
}
- if(targetanimation!=walljumpleftkickanim){
- targetanimation=leftflipanim;
- targetframe=4;
+ if(animTarget!=walljumpleftkickanim){
+ animTarget=leftflipanim;
+ frameTarget=4;
targetyaw+=90;
yaw+=90;
velocity=DoRotation(facing,0,-30,0)*-8;
if(id==0)
resume_stream(whooshsound);
}
- if(targetanimation==sneakattackanim){
- currentanimation=getCrouch();
- targetanimation=getCrouch();
- targetframe=1;
- currentframe=0;
+ if(animTarget==sneakattackanim){
+ animCurrent=getCrouch();
+ animTarget=getCrouch();
+ frameTarget=1;
+ frameCurrent=0;
targetyaw+=180;
yaw+=180;
targettilt2*=-1;
lastfeint=0;
}
- if(targetanimation==knifesneakattackanim||targetanimation==swordsneakattackanim){
- targetanimation=getIdle();
- targetframe=0;
+ if(animTarget==knifesneakattackanim||animTarget==swordsneakattackanim){
+ animTarget=getIdle();
+ frameTarget=0;
if(onterrain)coords.y=terrain.getHeight(coords.x,coords.z);
lastfeint=0;
}
- if(currentanimation==knifefollowanim){
- targetanimation=getIdle();
+ if(animCurrent==knifefollowanim){
+ animTarget=getIdle();
lastfeint=0;
}
- if(animation[targetanimation].attack==reversal&¤tanimation!=sneakattackanim&¤tanimation!=knifesneakattackanim&¤tanimation!=swordsneakattackanim&¤tanimation!=knifefollowanim){
+ if(animation[animTarget].attack==reversal&&animCurrent!=sneakattackanim&&animCurrent!=knifesneakattackanim&&animCurrent!=swordsneakattackanim&&animCurrent!=knifefollowanim){
float ycoords=oldcoords.y;
- targetanimation=getStop();
+ animTarget=getStop();
targetyaw+=180;
yaw+=180;
targettilt2*=-1;
targetheadyaw+=180;
if(!isnormal(coords.x))
coords=oldcoords;
- if(currentanimation==spinkickreversalanim||currentanimation==swordslashreversalanim)
+ if(animCurrent==spinkickreversalanim||animCurrent==swordslashreversalanim)
oldcoords=coords+facing*.5;
- else if(currentanimation==sweepreversalanim)
+ else if(animCurrent==sweepreversalanim)
oldcoords=coords+facing*1.1;
- else if(currentanimation==upunchreversalanim){
+ else if(animCurrent==upunchreversalanim){
oldcoords=coords+facing*1.5;
targetyaw+=180;
yaw+=180;
targettilt2*=-1;
tilt2*=-1;
}
- else if(currentanimation==knifeslashreversalanim){
+ else if(animCurrent==knifeslashreversalanim){
oldcoords=coords+facing*.5;
targetyaw+=90;
yaw+=90;
targettilt2=0;
tilt2=0;
}
- else if(currentanimation==staffspinhitreversalanim){
+ else if(animCurrent==staffspinhitreversalanim){
targetyaw+=180;
yaw+=180;
targetheadyaw+=180;
lastfeint=0;
}
- if(currentanimation==knifesneakattackedanim||currentanimation==swordsneakattackedanim){
+ if(animCurrent==knifesneakattackedanim||animCurrent==swordsneakattackedanim){
velocity=0;
velocity.y=-5;
RagDoll(0);
}
- if(animation[targetanimation].attack==reversed){
+ if(animation[animTarget].attack==reversed){
escapednum++;
- if(targetanimation==sweepreversedanim)targetyaw+=90;
- targetanimation=backhandspringanim;
- targetframe=2;
+ if(animTarget==sweepreversedanim)targetyaw+=90;
+ animTarget=backhandspringanim;
+ frameTarget=2;
emit_sound_at(landsound, coords, 128);
- if(currentanimation==upunchreversedanim||currentanimation==swordslashreversedanim){
- targetanimation=rollanim;
- targetframe=5;
+ if(animCurrent==upunchreversedanim||animCurrent==swordslashreversedanim){
+ animTarget=rollanim;
+ frameTarget=5;
oldcoords=coords;
coords+=(DoRotation(skeleton.joints[skeleton.jointlabels[leftfoot]].position,0,yaw,0)+DoRotation(skeleton.joints[skeleton.jointlabels[rightfoot]].position,0,yaw,0))/2*scale;
coords.y=oldcoords.y;
}
- if(currentanimation==knifeslashreversedanim){
- targetanimation=rollanim;
- targetframe=0;
+ if(animCurrent==knifeslashreversedanim){
+ animTarget=rollanim;
+ frameTarget=0;
targetyaw+=90;
yaw+=90;
oldcoords=coords;
}
}
if(wasFlip()){
- targetanimation=jumpdownanim;
+ animTarget=jumpdownanim;
}
- if(wasLanding())targetanimation=getIdle();
- if(wasLandhard())targetanimation=getIdle();
- if(currentanimation==spinkickanim||currentanimation==getupfrombackanim||currentanimation==getupfromfrontanim||currentanimation==lowkickanim){
- targetanimation=getIdle();
+ if(wasLanding())animTarget=getIdle();
+ if(wasLandhard())animTarget=getIdle();
+ if(animCurrent==spinkickanim||animCurrent==getupfrombackanim||animCurrent==getupfromfrontanim||animCurrent==lowkickanim){
+ animTarget=getIdle();
oldcoords=coords;
coords+=(DoRotation(skeleton.joints[skeleton.jointlabels[leftfoot]].position,0,yaw,0)+DoRotation(skeleton.joints[skeleton.jointlabels[rightfoot]].position,0,yaw,0))/2*scale;
coords.y=oldcoords.y;
- //coords+=DoRotation(animation[currentanimation].offset,0,yaw,0)*scale;
+ //coords+=DoRotation(animation[animCurrent].offset,0,yaw,0)*scale;
targetoffset.y=coords.y;
if(onterrain)targetoffset.y=terrain.getHeight(coords.x,coords.z);
- currentoffset=DoRotation(animation[currentanimation].offset*-1,0,yaw,0)*scale;
+ currentoffset=DoRotation(animation[animCurrent].offset*-1,0,yaw,0)*scale;
currentoffset.y-=(coords.y-targetoffset.y);
coords.y=targetoffset.y;
targetoffset=0;
normalsupdatedelay=0;
}
- if(currentanimation==upunchanim){
- targetanimation=getStop();
+ if(animCurrent==upunchanim){
+ animTarget=getStop();
normalsupdatedelay=0;
lastfeint=0;
}
- if(currentanimation==rabbitkickanim&&targetanimation!=backflipanim){
+ if(animCurrent==rabbitkickanim&&animTarget!=backflipanim){
targetyaw=yaw;
bool hasstaff;
hasstaff=0;
lastfeint=0;
rabbitkickragdoll=1;
}
- if(currentanimation==rabbitkickreversedanim){
+ if(animCurrent==rabbitkickreversedanim){
if(!feint){
velocity=0;
velocity.y=-10;
}
if(feint){
escapednum++;
- targetanimation=rollanim;
+ animTarget=rollanim;
coords+=facing;
if(id==0)pause_sound(whooshsound);
}
lastfeint=0;
}
- if(currentanimation==rabbittackledbackanim||currentanimation==rabbittackledfrontanim){
+ if(animCurrent==rabbittackledbackanim||animCurrent==rabbittackledfrontanim){
velocity=0;
velocity.y=-10;
RagDoll(0);
skeleton.spinny=0;
}
- if(currentanimation==jumpreversedanim){
+ if(animCurrent==jumpreversedanim){
if(!feint){
velocity=0;
velocity.y=-10;
}
if(feint){
escapednum++;
- targetanimation=rollanim;
+ animTarget=rollanim;
coords+=facing*2;
if(id==0)pause_sound(whooshsound);
}
lastfeint=0;
}
- if(animation[currentanimation].attack==normalattack&&!victim->skeleton.free&&victim->targetanimation!=staggerbackhighanim&&victim->targetanimation!=staggerbackhardanim&&targetanimation!=winduppunchblockedanim&&targetanimation!=blockhighleftanim&&targetanimation!=swordslashparryanim&&targetanimation!=swordslashparriedanim&&targetanimation!=crouchstabanim&&targetanimation!=swordgroundstabanim){
- targetanimation=getupfromfrontanim;
+ if(animation[animCurrent].attack==normalattack&&!victim->skeleton.free&&victim->animTarget!=staggerbackhighanim&&victim->animTarget!=staggerbackhardanim&&animTarget!=winduppunchblockedanim&&animTarget!=blockhighleftanim&&animTarget!=swordslashparryanim&&animTarget!=swordslashparriedanim&&animTarget!=crouchstabanim&&animTarget!=swordgroundstabanim){
+ animTarget=getupfromfrontanim;
lastfeint=0;
}
- else if(animation[currentanimation].attack==normalattack){
- targetanimation=getIdle();
+ else if(animation[animCurrent].attack==normalattack){
+ animTarget=getIdle();
lastfeint=0;
}
- if(currentanimation==blockhighleftanim&&aitype!=playercontrolled){
- targetanimation=blockhighleftstrikeanim;
+ if(animCurrent==blockhighleftanim&&aitype!=playercontrolled){
+ animTarget=blockhighleftstrikeanim;
}
- if(currentanimation==knifeslashstartanim||currentanimation==knifethrowanim||currentanimation==swordslashanim||currentanimation==staffhitanim||currentanimation==staffgroundsmashanim||currentanimation==staffspinhitanim){
- targetanimation=getIdle();
+ if(animCurrent==knifeslashstartanim||animCurrent==knifethrowanim||animCurrent==swordslashanim||animCurrent==staffhitanim||animCurrent==staffgroundsmashanim||animCurrent==staffspinhitanim){
+ animTarget=getIdle();
lastfeint=0;
}
- if(currentanimation==spinkickanim&&victim->skeleton.free){
- if(creature==rabbittype)targetanimation=fightidleanim;
+ if(animCurrent==spinkickanim&&victim->skeleton.free){
+ if(creature==rabbittype)animTarget=fightidleanim;
}
}
target=0;
if(isIdle()&&!wasIdle())normalsupdatedelay=0;
- if(currentanimation==jumpupanim&&velocity.y<0&&!isFlip()){
- targetanimation=jumpdownanim;
+ if(animCurrent==jumpupanim&&velocity.y<0&&!isFlip()){
+ animTarget=jumpdownanim;
}
}
if(!skeleton.free){
oldtarget=target;
- if(!transspeed&&animation[targetanimation].attack!=2&&animation[targetanimation].attack!=3){
+ if(!transspeed&&animation[animTarget].attack!=2&&animation[animTarget].attack!=3){
if(!isRun()||!wasRun()){
- if(animation[targetanimation].speed[targetframe]>animation[currentanimation].speed[currentframe])
- target+=multiplier*animation[targetanimation].speed[targetframe]*speed*2;
- if(animation[targetanimation].speed[targetframe]<=animation[currentanimation].speed[currentframe])
- target+=multiplier*animation[currentanimation].speed[currentframe]*speed*2;
+ if(animation[animTarget].speed[frameTarget]>animation[animCurrent].speed[frameCurrent])
+ target+=multiplier*animation[animTarget].speed[frameTarget]*speed*2;
+ if(animation[animTarget].speed[frameTarget]<=animation[animCurrent].speed[frameCurrent])
+ target+=multiplier*animation[animCurrent].speed[frameCurrent]*speed*2;
}
if(isRun()&&wasRun()){
float tempspeed;
tempspeed=velspeed;
if(tempspeed<10*speedmult)tempspeed=10*speedmult;
- target+=multiplier*animation[targetanimation].speed[currentframe]*speed*1.7*tempspeed/(speed*45*scale);
+ target+=multiplier*animation[animTarget].speed[frameCurrent]*speed*1.7*tempspeed/(speed*45*scale);
}
}
else if(transspeed)target+=multiplier*transspeed*speed*2;
else{
if(!isRun()||!wasRun()){
- if(animation[targetanimation].speed[targetframe]>animation[currentanimation].speed[currentframe])
- target+=multiplier*animation[targetanimation].speed[targetframe]*2;
- if(animation[targetanimation].speed[targetframe]<=animation[currentanimation].speed[currentframe])
- target+=multiplier*animation[currentanimation].speed[currentframe]*2;
+ if(animation[animTarget].speed[frameTarget]>animation[animCurrent].speed[frameCurrent])
+ target+=multiplier*animation[animTarget].speed[frameTarget]*2;
+ if(animation[animTarget].speed[frameTarget]<=animation[animCurrent].speed[frameCurrent])
+ target+=multiplier*animation[animCurrent].speed[frameCurrent]*2;
}
}
- if(currentanimation!=targetanimation)target=(target+oldtarget)/2;
+ if(animCurrent!=animTarget)target=(target+oldtarget)/2;
- if(target>1){currentframe=targetframe; target=1;}
+ if(target>1){frameCurrent=frameTarget; target=1;}
oldrot=rot;
rot=targetrot*target;
yaw+=rot-oldrot;
oldrot=0;
targetrot=0;
}
- if(currentanimation!=oldcurrentanimation||targetanimation!=oldtargetanimation||((currentframe!=oldcurrentframe||targetframe!=oldtargetframe)&&!calcrot)){
+ if(animCurrent!=oldanimCurrent||animTarget!=oldanimTarget||((frameCurrent!=oldframeCurrent||frameTarget!=oldframeTarget)&&!calcrot)){
//Old rotates
for(i=0;i<skeleton.num_joints;i++){
- skeleton.joints[i].position=animation[currentanimation].position[i][currentframe];
+ skeleton.joints[i].position=animation[animCurrent].position[i][frameCurrent];
}
skeleton.FindForwards();
for(i=0;i<skeleton.num_muscles;i++){
if(skeleton.muscles[i].visible)
{
- skeleton.FindRotationMuscle(i,targetanimation);
+ skeleton.FindRotationMuscle(i,animTarget);
}
}
for(i=0;i<skeleton.num_muscles;i++){
//New rotates
for(i=0;i<skeleton.num_joints;i++){
- skeleton.joints[i].position=animation[targetanimation].position[i][targetframe];
+ skeleton.joints[i].position=animation[animTarget].position[i][frameTarget];
}
skeleton.FindForwards();
for(i=0;i<skeleton.num_muscles;i++){
if(skeleton.muscles[i].visible)
{
- skeleton.FindRotationMuscle(i,targetanimation);
+ skeleton.FindRotationMuscle(i,animTarget);
}
}
for(i=0;i<skeleton.num_muscles;i++){
}
}
}
- if(currentframe>=animation[currentanimation].numframes)currentframe=animation[currentanimation].numframes-1;
+ if(frameCurrent>=animation[animCurrent].numframes)frameCurrent=animation[animCurrent].numframes-1;
- oldcurrentanimation=currentanimation;
- oldtargetanimation=targetanimation;
- oldtargetframe=targetframe;
- oldcurrentframe=currentframe;
+ oldanimCurrent=animCurrent;
+ oldanimTarget=animTarget;
+ oldframeTarget=frameTarget;
+ oldframeCurrent=frameCurrent;
for(i=0;i<skeleton.num_joints;i++){
- skeleton.joints[i].velocity=(animation[currentanimation].position[i][currentframe]*(1-target)+animation[targetanimation].position[i][targetframe]*(target)-skeleton.joints[i].position)/multiplier;
- skeleton.joints[i].position=animation[currentanimation].position[i][currentframe]*(1-target)+animation[targetanimation].position[i][targetframe]*(target);
+ skeleton.joints[i].velocity=(animation[animCurrent].position[i][frameCurrent]*(1-target)+animation[animTarget].position[i][frameTarget]*(target)-skeleton.joints[i].position)/multiplier;
+ skeleton.joints[i].position=animation[animCurrent].position[i][frameCurrent]*(1-target)+animation[animTarget].position[i][frameTarget]*(target);
}
offset=currentoffset*(1-target)+targetoffset*target;
for(i=0;i<skeleton.num_muscles;i++){
if(isLanding()&&landhard){
if(id==0)camerashake+=.4;
- targetanimation=getLandhard();
- targetframe=0;
+ animTarget=getLandhard();
+ frameTarget=0;
target=0;
landhard=0;
transspeed=15;
superruntoggle=0;
if(aitype!=passivetype){
superruntoggle=1;
- if(aitype==attacktypecutoff&&(player[0].isIdle()||player[0].isCrouch()||player[0].skeleton.free||player[0].targetanimation==getupfrombackanim||player[0].targetanimation==getupfromfrontanim||player[0].targetanimation==sneakanim)&&distsq(&coords,&player[0].coords)<16){
+ if(aitype==attacktypecutoff&&(player[0].isIdle()||player[0].isCrouch()||player[0].skeleton.free||player[0].animTarget==getupfrombackanim||player[0].animTarget==getupfromfrontanim||player[0].animTarget==sneakanim)&&distsq(&coords,&player[0].coords)<16){
superruntoggle=0;
}
}
if(scale<0.2)superruntoggle=0;
- if(targetanimation==wolfrunninganim&&!superruntoggle){
- targetanimation=getRun();
- targetframe=0;
+ if(animTarget==wolfrunninganim&&!superruntoggle){
+ animTarget=getRun();
+ frameTarget=0;
}
}
if(weaponactive==-1&&num_weapons>0){
if(burnt>.6)burnt=.6;
OPENAL_SetVolume(channels[stream_firesound], 256+256*findLength(&velocity)/3);
- if(targetanimation==jumpupanim||targetanimation==jumpdownanim||isFlip()){
+ if(animTarget==jumpupanim||animTarget==jumpdownanim||isFlip()){
float gLoc[3];
float vel[3];
gLoc[0]=coords.x;
deathbleeding-=multiplier*1.6;
//if(id==0)deathbleeding-=multiplier*.2;
if(deathbleeding<0)deathbleeding=0;
- if(bloodloss>damagetolerance&&animation[targetanimation].attack==neutral){
+ if(bloodloss>damagetolerance&&animation[animTarget].attack==neutral){
if(weaponactive!=-1){
weapons[weaponids[0]].owner=-1;
weapons[weaponids[0]].velocity=velocity*scale*-.3;
award_bonus(0, Wolfbonus);
}
dead=2;
- if(targetanimation==knifefollowedanim&&!skeleton.free){
+ if(animTarget==knifefollowedanim&&!skeleton.free){
for(i=0;i<skeleton.num_joints;i++){
skeleton.joints[i].velocity=0;
skeleton.joints[i].velocity.y=-2;
if(skeleton.free)footvel=skeleton.specialforward[0]*-1;
if(!skeleton.free)footpoint=DoRotation((skeleton.joints[skeleton.jointlabels[head]].position+skeleton.joints[skeleton.jointlabels[neck]].position)/2,0,yaw,0)*scale+coords;
if(skeleton.free)footpoint=((skeleton.joints[skeleton.jointlabels[head]].position+skeleton.joints[skeleton.jointlabels[neck]].position)/2)*scale+coords;
- if(targetanimation==sleepanim)footvel=DoRotation(footvel,0,90,0);
+ if(animTarget==sleepanim)footvel=DoRotation(footvel,0,90,0);
Sprite::MakeSprite(breathsprite, footpoint+footvel*.2,footvel*.4, 1,1,1, .4, .3);
}
}
}
if(!dead){
twitchdelay-=multiplier*1.5;
- if(targetanimation!=hurtidleanim){
+ if(animTarget!=hurtidleanim){
if(headmorphstart==0&&headmorphend==0&&twitchdelay<=0){
headmorphness=0;
targetheadmorphness=1;
headmorphend=0;
}
}
- if((isIdle()||isCrouch())&&targetanimation!=hurtidleanim){
+ if((isIdle()||isCrouch())&&animTarget!=hurtidleanim){
twitchdelay3-=multiplier*1;
if(Random()%2==0){
if(righthandmorphstart==0&&righthandmorphend==0&&twitchdelay3<=0){
if(creature==wolftype){
twitchdelay2-=multiplier*1.5;
if(tailmorphend!=0)
- if((isRun()||targetanimation==jumpupanim||targetanimation==jumpdownanim||targetanimation==backflipanim)&&!skeleton.free){
+ if((isRun()||animTarget==jumpupanim||animTarget==jumpdownanim||animTarget==backflipanim)&&!skeleton.free){
tailmorphness=0;
targettailmorphness=1;
tailmorphend=0;
twitchdelay2=.1;
}
if(tailmorphend!=5)
- if(targetanimation==flipanim||targetanimation==frontflipanim||targetanimation==rollanim||skeleton.free){
+ if(animTarget==flipanim||animTarget==frontflipanim||animTarget==rollanim||skeleton.free){
tailmorphness=0;
targettailmorphness=1;
tailmorphend=5;
if(terrainnormal.z<0)targetyaw=180-targetyaw;
yaw=targetyaw;
- targetframe=0;
- // targetframe=2;
- targetanimation=flipanim;
+ frameTarget=0;
+ // frameTarget=2;
+ animTarget=flipanim;
crouchtogglekeydown=1;
target=0;
tilt2=0;
targettilt2=0;
- currentanimation=tempanim;
- currentframe=0;
+ animCurrent=tempanim;
+ frameCurrent=0;
target=0;
//tilt2=targettilt2;
if(skeleton.forward.y<0){
- targetanimation=getupfrombackanim;
- targetframe=0;
+ animTarget=getupfrombackanim;
+ frameTarget=0;
targettilt2=0;
}
if(skeleton.forward.y>-.3){
- targetanimation=getupfromfrontanim;
+ animTarget=getupfromfrontanim;
yaw+=180;
targetyaw+=180;
targettilt2*=-1;
- targetframe=0;
+ frameTarget=0;
targettilt2=0;
}
if((Random()%8==0&&id!=0&&creature==rabbittype)||(Random()%2==0&&id!=0&&creature==wolftype)||(id==0&&crouchkeydown&&(forwardkeydown||backkeydown||leftkeydown||rightkeydown))){
- targetanimation=rollanim;
+ animTarget=rollanim;
targetyaw=lookyaw;
if(id==0){
if(rightkeydown){
}
if(abs(targettilt2)>50)targettilt2=0;
- currentanimation=tempanim;
- currentframe=0;
+ animCurrent=tempanim;
+ frameCurrent=0;
target=0;
tilt2=targettilt2;
- if(middle.y>0&&targetanimation!=rollanim)targetoffset.y=middle.y+1;
+ if(middle.y>0&&animTarget!=rollanim)targetoffset.y=middle.y+1;
for(i=0;i<skeleton.num_joints;i++){
tempanimation.position[i][0]=skeleton.joints[i].position;
skeleton.free=0;
if(dotproduct(&skeleton.forward,&tempvelocity)<0){
- targetanimation=rollanim;
- targetframe=2;
+ animTarget=rollanim;
+ frameTarget=2;
}
else{
- targetanimation=backhandspringanim;
+ animTarget=backhandspringanim;
targetyaw+=180;
- targetframe=6;
+ frameTarget=6;
}
target=0;
emit_sound_at(movewhooshsound, coords, 128.);
- currentanimation=targetanimation;
- currentframe=targetframe-1;
+ animCurrent=animTarget;
+ frameCurrent=frameTarget-1;
target=0;
velocity=0;
}
}
- if(targetanimation==staggerbackhighanim)staggerdelay=1;
- if(targetanimation==staggerbackhardanim)staggerdelay=1;
+ if(animTarget==staggerbackhighanim)staggerdelay=1;
+ if(animTarget==staggerbackhardanim)staggerdelay=1;
staggerdelay-=multiplier;
- if(targetanimation!=crouchstabanim&&targetanimation!=swordgroundstabanim&&targetanimation!=staffgroundsmashanim)hasvictim=1;
- if(velocity.y<-30&&targetanimation==jumpdownanim)RagDoll(0);
- if(currentanimation!=getIdle()&&wasIdle()&&targetanimation!=getIdle()&&isIdle()){
- targetanimation=getIdle();
- targetframe=0;
+ if(animTarget!=crouchstabanim&&animTarget!=swordgroundstabanim&&animTarget!=staffgroundsmashanim)hasvictim=1;
+ if(velocity.y<-30&&animTarget==jumpdownanim)RagDoll(0);
+ if(animCurrent!=getIdle()&&wasIdle()&&animTarget!=getIdle()&&isIdle()){
+ animTarget=getIdle();
+ frameTarget=0;
target=0;
}
weaponmissdelay-=multiplier;
targetyaw=0;
}
- if(targetanimation==bounceidleanim||targetanimation==wolfidle||targetanimation==walkanim||targetanimation==drawrightanim||targetanimation==crouchdrawrightanim||targetanimation==drawleftanim||targetanimation==fightidleanim||targetanimation==fightsidestep||targetanimation==hanganim||isCrouch()||targetanimation==backhandspringanim){
+ if(animTarget==bounceidleanim||animTarget==wolfidle||animTarget==walkanim||animTarget==drawrightanim||animTarget==crouchdrawrightanim||animTarget==drawleftanim||animTarget==fightidleanim||animTarget==fightsidestep||animTarget==hanganim||isCrouch()||animTarget==backhandspringanim){
//open hands and close mouth
if(righthandmorphend!=0&&righthandmorphness==targetrighthandmorphness){
righthandmorphness=0;
}
}
- if(targetanimation==rollanim||targetanimation==dodgebackanim||targetanimation==removeknifeanim||targetanimation==knifefightidleanim||targetanimation==swordfightidleanim||targetanimation==blockhighleftstrikeanim||targetanimation==crouchremoveknifeanim||targetanimation==sneakanim||targetanimation==sweepanim||targetanimation==spinkickreversedanim||targetanimation==jumpdownanim||isWallJump()||isFlip()||targetanimation==climbanim||isRun()||targetanimation==getupfrombackanim||targetanimation==getupfromfrontanim){
+ if(animTarget==rollanim||animTarget==dodgebackanim||animTarget==removeknifeanim||animTarget==knifefightidleanim||animTarget==swordfightidleanim||animTarget==blockhighleftstrikeanim||animTarget==crouchremoveknifeanim||animTarget==sneakanim||animTarget==sweepanim||animTarget==spinkickreversedanim||animTarget==jumpdownanim||isWallJump()||isFlip()||animTarget==climbanim||isRun()||animTarget==getupfrombackanim||animTarget==getupfromfrontanim){
//open hands and mouth
if(righthandmorphend!=0&&righthandmorphness==targetrighthandmorphness){
righthandmorphness=0;
}
}
- if(targetanimation==jumpupanim||targetanimation==crouchstabanim||targetanimation==swordgroundstabanim||targetanimation==swordfightidlebothanim||targetanimation==blockhighleftanim||targetanimation==blockhighleftanim){
+ if(animTarget==jumpupanim||animTarget==crouchstabanim||animTarget==swordgroundstabanim||animTarget==swordfightidlebothanim||animTarget==blockhighleftanim||animTarget==blockhighleftanim){
//close hands and mouth
if(righthandmorphend!=1&&righthandmorphness==targetrighthandmorphness){
righthandmorphness=0;
}
}
- if(targetanimation==spinkickanim||targetanimation==staffspinhitreversalanim||targetanimation==staffspinhitreversedanim||targetanimation==staffhitreversalanim||targetanimation==staffhitreversedanim||targetanimation==hurtidleanim||targetanimation==winduppunchanim||targetanimation==swordslashreversalanim||targetanimation==swordslashreversedanim||targetanimation==knifeslashreversalanim||targetanimation==knifeslashreversedanim||targetanimation==knifethrowanim||targetanimation==knifefollowanim||targetanimation==knifefollowedanim||targetanimation==killanim||targetanimation==dropkickanim||targetanimation==upunchanim||targetanimation==knifeslashstartanim||targetanimation==swordslashanim||targetanimation==staffhitanim||targetanimation==staffspinhitanim||targetanimation==staffgroundsmashanim||targetanimation==spinkickreversalanim||targetanimation==sweepreversalanim||targetanimation==lowkickanim||targetanimation==sweepreversedanim||targetanimation==rabbitkickreversalanim||targetanimation==rabbitkickreversedanim||targetanimation==jumpreversalanim||targetanimation==jumpreversedanim){
+ if(animTarget==spinkickanim||animTarget==staffspinhitreversalanim||animTarget==staffspinhitreversedanim||animTarget==staffhitreversalanim||animTarget==staffhitreversedanim||animTarget==hurtidleanim||animTarget==winduppunchanim||animTarget==swordslashreversalanim||animTarget==swordslashreversedanim||animTarget==knifeslashreversalanim||animTarget==knifeslashreversedanim||animTarget==knifethrowanim||animTarget==knifefollowanim||animTarget==knifefollowedanim||animTarget==killanim||animTarget==dropkickanim||animTarget==upunchanim||animTarget==knifeslashstartanim||animTarget==swordslashanim||animTarget==staffhitanim||animTarget==staffspinhitanim||animTarget==staffgroundsmashanim||animTarget==spinkickreversalanim||animTarget==sweepreversalanim||animTarget==lowkickanim||animTarget==sweepreversedanim||animTarget==rabbitkickreversalanim||animTarget==rabbitkickreversedanim||animTarget==jumpreversalanim||animTarget==jumpreversedanim){
//close hands and yell
if(righthandmorphend!=1&&righthandmorphness==targetrighthandmorphness){
righthandmorphness=0;
}
}
- if(!dead&&targetanimation!=hurtidleanim)
- if(behind||targetanimation==killanim||targetanimation==knifethrowanim||targetanimation==knifefollowanim||targetanimation==spinkickreversalanim||targetanimation==rabbitkickreversedanim||targetanimation==jumpreversedanim){
+ if(!dead&&animTarget!=hurtidleanim)
+ if(behind||animTarget==killanim||animTarget==knifethrowanim||animTarget==knifefollowanim||animTarget==spinkickreversalanim||animTarget==rabbitkickreversedanim||animTarget==jumpreversedanim){
if(headmorphend!=4||headmorphness==targetheadmorphness){
headmorphend=4;
//headmorphness=1;
terrainnormal=terrain.getNormal(coords.x,coords.z);
- if(animation[targetanimation].attack!=reversal){
+ if(animation[animTarget].attack!=reversal){
if(!isnormal(coords.x))
coords=oldcoords;
oldcoords=coords;
ReflectVector(&facing,terrainnormal);
Normalise(&facing);
- if(isRun()||targetanimation==sneakanim||targetanimation==rollanim||targetanimation==walkanim){
+ if(isRun()||animTarget==sneakanim||animTarget==rollanim||animTarget==walkanim){
if(onterrain)targettilt2=-facing.y*20;
else targettilt2=0;
}
onterrain=0;
- if(!isRun()&&!animation[targetanimation].attack&&targetanimation!=getupfromfrontanim&&targetanimation!=getupfrombackanim&&targetanimation!=sneakanim)targettilt2=0;
- if(targetanimation==jumpupanim||targetanimation==jumpdownanim||isFlip()){
+ if(!isRun()&&!animation[animTarget].attack&&animTarget!=getupfromfrontanim&&animTarget!=getupfrombackanim&&animTarget!=sneakanim)targettilt2=0;
+ if(animTarget==jumpupanim||animTarget==jumpdownanim||isFlip()){
flatvelocity=velocity;
flatvelocity.y=0;
flatvelspeed=findLength(&flatvelocity);
else if(tilt2<targettilt2){
tilt2+=multiplier*400;
}
- if(!animation[targetanimation].attack&&targetanimation!=getupfrombackanim&&targetanimation!=getupfromfrontanim){
+ if(!animation[animTarget].attack&&animTarget!=getupfrombackanim&&animTarget!=getupfromfrontanim){
if(tilt2>25)tilt2=25;
if(tilt2<-25)tilt2=-25;
}
}
//Running velocity
- //if(!creature==wolftype||targetanimation==rabbitkickanim)
- if(targetanimation==rabbittackleanim){
+ //if(!creature==wolftype||animTarget==rabbitkickanim)
+ if(animTarget==rabbittackleanim){
velocity+=facing*multiplier*speed*700*scale;
velspeed=findLength(&velocity);
if(velspeed>speed*65*scale){
velspeed=findLength(&velocity);
velocity=flatfacing*velspeed;
}
- if(targetanimation!=rabbitrunninganim&&targetanimation!=wolfrunninganim){
- if(isRun()||targetanimation==rabbitkickanim){
+ if(animTarget!=rabbitrunninganim&&animTarget!=wolfrunninganim){
+ if(isRun()||animTarget==rabbitkickanim){
velocity+=facing*multiplier*speed*700*scale;
velspeed=findLength(&velocity);
if(velspeed>speed*45*scale){
velocity=flatfacing*velspeed;
}
- if(targetanimation==rollanim&&animation[targetanimation].label[targetframe]!=6){
+ if(animTarget==rollanim&&animation[animTarget].label[frameTarget]!=6){
velocity+=facing*multiplier*speed*700*scale;
velspeed=findLength(&velocity);
if(velspeed>speed*45*scale){
}
- /*if(currentanimation==rollanim&&(isCrouch()||isIdle())){
+ /*if(animCurrent==rollanim&&(isCrouch()||isIdle())){
velocity+=facing*multiplier*speed*700*scale;
velspeed=findLength(&velocity);
if(velspeed>speed*25*scale){
velocity=flatfacing*velspeed;
}*/
- if(targetanimation==sneakanim||targetanimation==walkanim){
+ if(animTarget==sneakanim||animTarget==walkanim){
velocity+=facing*multiplier*speed*700*scale;
velspeed=findLength(&velocity);
if(velspeed>speed*12*scale){
velocity=flatfacing*velspeed;
}
- if((targetanimation==fightidleanim||targetanimation==knifefightidleanim)&&(currentanimation==bounceidleanim||currentanimation==hurtidleanim)){
+ if((animTarget==fightidleanim||animTarget==knifefightidleanim)&&(animCurrent==bounceidleanim||animCurrent==hurtidleanim)){
velocity+=facing*multiplier*speed*700*scale;
velspeed=findLength(&velocity);
if(velspeed>speed*2*scale){
}
- if((targetanimation==bounceidleanim||currentanimation==hurtidleanim)&&(currentanimation==fightidleanim||currentanimation==knifefightidleanim)){
+ if((animTarget==bounceidleanim||animCurrent==hurtidleanim)&&(animCurrent==fightidleanim||animCurrent==knifefightidleanim)){
velocity-=facing*multiplier*speed*700*scale;
velspeed=findLength(&velocity);
if(velspeed>speed*2*scale){
velocity=flatfacing*velspeed*-1;
}
- if(targetanimation==fightsidestep){
+ if(animTarget==fightsidestep){
velocity+=DoRotation(facing*multiplier*speed*700*scale,0,-90,0);
velspeed=findLength(&velocity);
if(velspeed>speed*12*scale){
velocity=DoRotation(flatfacing*velspeed,0,-90,0);
}
- if(targetanimation==staggerbackhighanim){
+ if(animTarget==staggerbackhighanim){
coords-=facing*multiplier*speed*16*scale;
velocity=0;
}
- if(targetanimation==staggerbackhardanim&&animation[staggerbackhardanim].label[targetframe]!=6){
+ if(animTarget==staggerbackhardanim&&animation[staggerbackhardanim].label[frameTarget]!=6){
coords-=facing*multiplier*speed*20*scale;
velocity=0;
}
- if(targetanimation==backhandspringanim){
+ if(animTarget==backhandspringanim){
//coords-=facing*multiplier*50*scale;
velocity+=facing*multiplier*speed*700*scale*-1;
velspeed=findLength(&velocity);
velspeed=findLength(&velocity);
velocity=flatfacing*velspeed*-1;
}
- if(targetanimation==dodgebackanim){
+ if(animTarget==dodgebackanim){
//coords-=facing*multiplier*50*scale;
velocity+=facing*multiplier*speed*700*scale*-1;
velspeed=findLength(&velocity);
velocity=flatfacing*velspeed*-1;
}
- if(targetanimation==jumpupanim||targetanimation==jumpdownanim||isFlip()){
+ if(animTarget==jumpupanim||animTarget==jumpdownanim||isFlip()){
velspeed=findLength(&velocity);
}
- if(targetanimation==jumpupanim||targetanimation==jumpdownanim||isFlip()){
+ if(animTarget==jumpupanim||animTarget==jumpdownanim||isFlip()){
velocity.y+=gravity*multiplier;
}
- if(targetanimation!=climbanim&&targetanimation!=hanganim&&!isWallJump())coords+=velocity*multiplier;
+ if(animTarget!=climbanim&&animTarget!=hanganim&&!isWallJump())coords+=velocity*multiplier;
- if(coords.y<terrain.getHeight(coords.x,coords.z)&&(targetanimation==jumpdownanim||targetanimation==jumpupanim||isFlip())){
- if(isFlip()&&animation[targetanimation].label[targetframe]==7)RagDoll(0);
+ if(coords.y<terrain.getHeight(coords.x,coords.z)&&(animTarget==jumpdownanim||animTarget==jumpupanim||isFlip())){
+ if(isFlip()&&animation[animTarget].label[frameTarget]==7)RagDoll(0);
- if(targetanimation==jumpupanim){jumppower=-4;targetanimation=getIdle();}
+ if(animTarget==jumpupanim){jumppower=-4;animTarget=getIdle();}
target=0;
- targetframe=0;
+ frameTarget=0;
onterrain=1;
if(id==0){
OPENAL_SetVolume(channels[whooshsound], 0);
}
- if(targetanimation==jumpdownanim||isFlip()){
+ if(animTarget==jumpdownanim||isFlip()){
if(isFlip())jumppower=-4;
- targetanimation=getLanding();
+ animTarget=getLanding();
emit_sound_at(landsound, coords, 128.);
if(id==0){
}
}
- if(targetanimation!=jumpupanim&&targetanimation!=jumpdownanim&&!isFlip()&&targetanimation!=climbanim&&targetanimation!=hanganim&&!isWallJump())coords.y+=gravity*multiplier*2;
- if(targetanimation!=jumpupanim&&targetanimation!=jumpdownanim&&!isFlip()&&coords.y<terrain.getHeight(coords.x,coords.z)){
+ if(animTarget!=jumpupanim&&animTarget!=jumpdownanim&&!isFlip()&&animTarget!=climbanim&&animTarget!=hanganim&&!isWallJump())coords.y+=gravity*multiplier*2;
+ if(animTarget!=jumpupanim&&animTarget!=jumpdownanim&&!isFlip()&&coords.y<terrain.getHeight(coords.x,coords.z)){
coords.y=terrain.getHeight(coords.x,coords.z);
onterrain=1;
}
- if(isIdle()||targetanimation==drawrightanim||targetanimation==drawleftanim||targetanimation==crouchdrawrightanim||targetanimation==crouchstabanim||targetanimation==swordgroundstabanim||isStop()||targetanimation==removeknifeanim||targetanimation==crouchremoveknifeanim||isLanding()||isCrouch()||animation[targetanimation].attack||(targetanimation==rollanim&&animation[targetanimation].label[targetframe]==6)){
+ if(isIdle()||animTarget==drawrightanim||animTarget==drawleftanim||animTarget==crouchdrawrightanim||animTarget==crouchstabanim||animTarget==swordgroundstabanim||isStop()||animTarget==removeknifeanim||animTarget==crouchremoveknifeanim||isLanding()||isCrouch()||animation[animTarget].attack||(animTarget==rollanim&&animation[animTarget].label[frameTarget]==6)){
velspeed=findLength(&velocity);
velocity.y=0;
if(velspeed<multiplier*300*scale){
}
}
- if(animation[targetanimation].attack==normalattack&&targetanimation!=rabbitkickanim&&!victim->skeleton.free){
+ if(animation[animTarget].attack==normalattack&&animTarget!=rabbitkickanim&&!victim->skeleton.free){
terrainnormal=victim->coords-coords;
Normalise(&terrainnormal);
targetyaw=-asin(0-terrainnormal.x);
targettilt2=-asin(terrainnormal.y)*360/6.28;//*-70;
}
- if(animation[targetanimation].attack==reversal&&targetanimation!=rabbittacklinganim){
+ if(animation[animTarget].attack==reversal&&animTarget!=rabbittacklinganim){
targetyaw=victim->targetyaw;
}
- if(targetanimation==rabbittacklinganim){
+ if(animTarget==rabbittacklinganim){
coords=victim->coords;
}
}
static int start,endthing;
if((dead!=2||skeleton.free!=2)&&updatedelay<=0){
if(!isSleeping()&&!isSitting()){
- if(onterrain&&((isIdle()||isCrouch()||isLanding()||isLandhard()||targetanimation==drawrightanim||targetanimation==drawleftanim||targetanimation==crouchdrawrightanim)&&(wasIdle()||wasCrouch()||wasLanding()||wasLandhard()||currentanimation==drawrightanim||currentanimation==drawleftanim||currentanimation==crouchdrawrightanim))&&!skeleton.free){
+ if(onterrain&&((isIdle()||isCrouch()||isLanding()||isLandhard()||animTarget==drawrightanim||animTarget==drawleftanim||animTarget==crouchdrawrightanim)&&(wasIdle()||wasCrouch()||wasLanding()||wasLandhard()||animCurrent==drawrightanim||animCurrent==drawleftanim||animCurrent==crouchdrawrightanim))&&!skeleton.free){
XYZ point,newpoint,change,change2;
point=DoRotation(skeleton.joints[skeleton.jointlabels[leftfoot]].position,0,yaw,0)*scale+coords;
heightleft=terrain.getHeight(point.x,point.z)+.04;
skeleton.DoConstraints(&coords,&scale);
}
}
- if(onterrain&&((isIdle()||isCrouch()||isLanding()||isLandhard()||targetanimation==drawrightanim||targetanimation==drawleftanim||targetanimation==crouchdrawrightanim)&&!(wasIdle()||wasCrouch()||wasLanding()||wasLandhard()||currentanimation==drawrightanim||currentanimation==drawleftanim||currentanimation==crouchdrawrightanim))&&!skeleton.free){
+ if(onterrain&&((isIdle()||isCrouch()||isLanding()||isLandhard()||animTarget==drawrightanim||animTarget==drawleftanim||animTarget==crouchdrawrightanim)&&!(wasIdle()||wasCrouch()||wasLanding()||wasLandhard()||animCurrent==drawrightanim||animCurrent==drawleftanim||animCurrent==crouchdrawrightanim))&&!skeleton.free){
XYZ point,newpoint,change,change2;
point=DoRotation(skeleton.joints[skeleton.jointlabels[leftfoot]].position,0,yaw,0)*scale+coords;
heightleft=terrain.getHeight(point.x,point.z)+.04;
}
}
- if(onterrain&&(!(isIdle()||isCrouch()||isLanding()||isLandhard()||targetanimation==drawrightanim||targetanimation==drawleftanim||targetanimation==crouchdrawrightanim)&&(wasIdle()||wasCrouch()||wasLanding()||wasLandhard()||currentanimation==drawrightanim||currentanimation==drawleftanim||currentanimation==crouchdrawrightanim))&&!skeleton.free){
+ if(onterrain&&(!(isIdle()||isCrouch()||isLanding()||isLandhard()||animTarget==drawrightanim||animTarget==drawleftanim||animTarget==crouchdrawrightanim)&&(wasIdle()||wasCrouch()||wasLanding()||wasLandhard()||animCurrent==drawrightanim||animCurrent==drawleftanim||animCurrent==crouchdrawrightanim))&&!skeleton.free){
XYZ point,newpoint,change,change2;
point=DoRotation(skeleton.joints[skeleton.jointlabels[leftfoot]].position,0,yaw,0)*scale+coords;
heightleft=terrain.getHeight(point.x,point.z)+.04;
}
}
}
- if(!skeleton.free&&(!animation[targetanimation].attack&&targetanimation!=getupfrombackanim&&((targetanimation!=rollanim&&!isFlip())||animation[targetanimation].label[targetframe]==6)&&targetanimation!=getupfromfrontanim&&targetanimation!=wolfrunninganim&&targetanimation!=rabbitrunninganim&&targetanimation!=backhandspringanim&&targetanimation!=walljumpfrontanim&&targetanimation!=hurtidleanim&&!isLandhard()&&!isSleeping()))
+ if(!skeleton.free&&(!animation[animTarget].attack&&animTarget!=getupfrombackanim&&((animTarget!=rollanim&&!isFlip())||animation[animTarget].label[frameTarget]==6)&&animTarget!=getupfromfrontanim&&animTarget!=wolfrunninganim&&animTarget!=rabbitrunninganim&&animTarget!=backhandspringanim&&animTarget!=walljumpfrontanim&&animTarget!=hurtidleanim&&!isLandhard()&&!isSleeping()))
DoHead();
else {
targetheadyaw=-targetyaw;
targetheadpitch=0;
- if(animation[targetanimation].attack==3)targetheadyaw+=180;
+ if(animation[animTarget].attack==3)targetheadyaw+=180;
}
for(i=0;i<skeleton.drawmodel.vertexNum;i++){
skeleton.drawmodel.vertex[i]=0;
start=tailmorphstart;
endthing=tailmorphend;
}
- if(calcrot)skeleton.FindRotationMuscle(i,targetanimation);
+ if(calcrot)skeleton.FindRotationMuscle(i,animTarget);
mid=(skeleton.muscles[i].parent1->position+skeleton.muscles[i].parent2->position)/2;
glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
glPushMatrix();
}
updatedelay=1+(float)(Random()%100)/1000;
}
- if(skeleton.free!=2&&(skeleton.free==1||skeleton.free==3||id==0||(normalsupdatedelay<=0)||targetanimation==getupfromfrontanim||targetanimation==getupfrombackanim||currentanimation==getupfromfrontanim||currentanimation==getupfrombackanim)){
+ if(skeleton.free!=2&&(skeleton.free==1||skeleton.free==3||id==0||(normalsupdatedelay<=0)||animTarget==getupfromfrontanim||animTarget==getupfrombackanim||animCurrent==getupfromfrontanim||animCurrent==getupfrombackanim)){
normalsupdatedelay=1;
if(playerdetail||skeleton.free==3)skeleton.drawmodel.CalculateNormals(0);
if(!playerdetail||skeleton.free==3)skeleton.drawmodellow.CalculateNormals(0);
glEnable(GL_LIGHTING);
glEnable(GL_BLEND);
if(canattack&&cananger)
- if(animation[targetanimation].attack==normalattack||animation[targetanimation].attack==reversed){
+ if(animation[animTarget].attack==normalattack||animation[animTarget].attack==reversed){
glDisable(GL_TEXTURE_2D);
glColor4f(1,0,0,0.8);
}
else skeleton.drawmodellow.drawdifftex(skeleton.drawmodel.textureptr);
}
- if(!(animation[targetanimation].attack==normalattack||animation[targetanimation].attack==reversed))
+ if(!(animation[animTarget].attack==normalattack||animation[animTarget].attack==reversed))
if(tutoriallevel&&id!=0){
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glEnable(GL_LIGHTING);
glEnable(GL_BLEND);
if(canattack&&cananger)
- if(animation[targetanimation].attack==normalattack||animation[targetanimation].attack==reversed){
+ if(animation[animTarget].attack==normalattack||animation[animTarget].attack==reversed){
glDisable(GL_TEXTURE_2D);
glColor4f(1,0,0,0.8);
}
vec2=(skeleton.joints[skeleton.jointlabels[rightwrist]].position-skeleton.joints[skeleton.jointlabels[rightshoulder]].position);
CrossProduct(&vec1,&vec2,&tempnormthing);
Normalise(&tempnormthing);
- if(targetanimation!=staffhitanim&¤tanimation!=staffhitanim&&targetanimation!=staffgroundsmashanim&¤tanimation!=staffgroundsmashanim&&targetanimation!=staffspinhitanim&¤tanimation!=staffspinhitanim)weaponpoint+=tempnormthing*.1-skeleton.specialforward[1]*.3+(skeleton.joints[skeleton.jointlabels[rightwrist]].position-skeleton.joints[skeleton.jointlabels[rightelbow]].position);
+ if(animTarget!=staffhitanim&&animCurrent!=staffhitanim&&animTarget!=staffgroundsmashanim&&animCurrent!=staffgroundsmashanim&&animTarget!=staffspinhitanim&&animCurrent!=staffspinhitanim)weaponpoint+=tempnormthing*.1-skeleton.specialforward[1]*.3+(skeleton.joints[skeleton.jointlabels[rightwrist]].position-skeleton.joints[skeleton.jointlabels[rightelbow]].position);
}
}
if(weaponactive!=k&&weaponstuck!=k){
if(isCrouch()||wasCrouch()){
weapons[i].smallrotation2=20;
}
- if(targetanimation==hurtidleanim){
+ if(animTarget==hurtidleanim){
weapons[i].smallrotation2=50;
}
- if((currentanimation==crouchstabanim&&targetanimation==crouchstabanim)||(currentanimation==backhandspringanim&&targetanimation==backhandspringanim)){
+ if((animCurrent==crouchstabanim&&animTarget==crouchstabanim)||(animCurrent==backhandspringanim&&animTarget==backhandspringanim)){
XYZ temppoint1,temppoint2,tempforward;
float distance;
temppoint1=skeleton.joints[skeleton.jointlabels[righthand]].position;
- temppoint2=animation[currentanimation].weapontarget[currentframe]*(1-target)+animation[targetanimation].weapontarget[targetframe]*(target);
+ temppoint2=animation[animCurrent].weapontarget[frameCurrent]*(1-target)+animation[animTarget].weapontarget[frameTarget]*(target);
distance=findDistance(&temppoint1,&temppoint2);
weapons[i].rotation2=asin((temppoint1.y-temppoint2.y)/distance);
weapons[i].rotation2*=360/6.28;
weapons[i].smallrotation2=0;
if(temppoint1.x>temppoint2.x)weapons[i].rotation1=360-weapons[i].rotation1;
}
- if((currentanimation==knifeslashreversalanim&&targetanimation==knifeslashreversalanim)||(currentanimation==knifeslashreversedanim&&targetanimation==knifeslashreversedanim)){
+ if((animCurrent==knifeslashreversalanim&&animTarget==knifeslashreversalanim)||(animCurrent==knifeslashreversedanim&&animTarget==knifeslashreversedanim)){
XYZ temppoint1,temppoint2,tempforward;
float distance;
temppoint1=skeleton.joints[skeleton.jointlabels[righthand]].position;
- temppoint2=animation[currentanimation].weapontarget[currentframe]*(1-target)+animation[targetanimation].weapontarget[targetframe]*(target);
+ temppoint2=animation[animCurrent].weapontarget[frameCurrent]*(1-target)+animation[animTarget].weapontarget[frameTarget]*(target);
distance=findDistance(&temppoint1,&temppoint2);
weapons[i].rotation2=asin((temppoint1.y-temppoint2.y)/distance);
weapons[i].rotation2*=360/6.28;
weapons[i].smallrotation2=0;
if(temppoint1.x>temppoint2.x)weapons[i].rotation1=360-weapons[i].rotation1;
}
- if(targetanimation==knifethrowanim){
+ if(animTarget==knifethrowanim){
weapons[i].smallrotation=90;
//weapons[i].smallrotation2=-90;
weapons[i].smallrotation2=0;
weapons[i].rotation2=0;
weapons[i].rotation3=0;
}
- if(targetanimation==knifesneakattackanim&&targetframe<5){
+ if(animTarget==knifesneakattackanim&&frameTarget<5){
weapons[i].smallrotation=-90;
weapons[i].rotation1=0;
weapons[i].rotation2=0;
if(weapons[i].getType()==sword){
weapons[i].smallrotation=0;
weapons[i].smallrotation2=0;
- if(targetanimation==knifethrowanim){
+ if(animTarget==knifethrowanim){
weapons[i].smallrotation=-90;
weapons[i].smallrotation2=0;
weapons[i].rotation1=0;
weapons[i].rotation2=0;
weapons[i].rotation3=0;
}
- if((targetanimation==swordgroundstabanim&¤tanimation==swordgroundstabanim)||(targetanimation==swordsneakattackanim&¤tanimation==swordsneakattackanim)||(targetanimation==swordslashparryanim&¤tanimation==swordslashparryanim)||(targetanimation==swordslashparriedanim&¤tanimation==swordslashparriedanim)||(targetanimation==swordslashreversalanim&¤tanimation==swordslashreversalanim)||(targetanimation==swordslashreversedanim&¤tanimation==swordslashreversedanim)||(targetanimation==knifeslashreversalanim&¤tanimation==knifeslashreversalanim)||(targetanimation==knifeslashreversedanim&¤tanimation==knifeslashreversedanim)||(targetanimation==swordslashanim&¤tanimation==swordslashanim)||(targetanimation==drawleftanim&¤tanimation==drawleftanim)||(currentanimation==backhandspringanim&&targetanimation==backhandspringanim)){
+ if((animTarget==swordgroundstabanim&&animCurrent==swordgroundstabanim)||(animTarget==swordsneakattackanim&&animCurrent==swordsneakattackanim)||(animTarget==swordslashparryanim&&animCurrent==swordslashparryanim)||(animTarget==swordslashparriedanim&&animCurrent==swordslashparriedanim)||(animTarget==swordslashreversalanim&&animCurrent==swordslashreversalanim)||(animTarget==swordslashreversedanim&&animCurrent==swordslashreversedanim)||(animTarget==knifeslashreversalanim&&animCurrent==knifeslashreversalanim)||(animTarget==knifeslashreversedanim&&animCurrent==knifeslashreversedanim)||(animTarget==swordslashanim&&animCurrent==swordslashanim)||(animTarget==drawleftanim&&animCurrent==drawleftanim)||(animCurrent==backhandspringanim&&animTarget==backhandspringanim)){
XYZ temppoint1,temppoint2,tempforward;
float distance;
- temppoint1=animation[currentanimation].position[skeleton.jointlabels[righthand]][currentframe]*(1-target)+animation[targetanimation].position[skeleton.jointlabels[righthand]][targetframe]*(target); //skeleton.joints[skeleton.jointlabels[righthand]].position;
- temppoint2=animation[currentanimation].weapontarget[currentframe]*(1-target)+animation[targetanimation].weapontarget[targetframe]*(target);
+ temppoint1=animation[animCurrent].position[skeleton.jointlabels[righthand]][frameCurrent]*(1-target)+animation[animTarget].position[skeleton.jointlabels[righthand]][frameTarget]*(target); //skeleton.joints[skeleton.jointlabels[righthand]].position;
+ temppoint2=animation[animCurrent].weapontarget[frameCurrent]*(1-target)+animation[animTarget].weapontarget[frameTarget]*(target);
distance=findDistance(&temppoint1,&temppoint2);
weapons[i].rotation2=asin((temppoint1.y-temppoint2.y)/distance);
weapons[i].rotation2*=360/6.28;
if(weapons[i].getType()==staff){
weapons[i].smallrotation=100;
weapons[i].smallrotation2=0;
- if((targetanimation==staffhitanim&¤tanimation==staffhitanim)||(targetanimation==staffhitreversedanim&¤tanimation==staffhitreversedanim)||(targetanimation==staffspinhitreversedanim&¤tanimation==staffspinhitreversedanim)||(targetanimation==staffgroundsmashanim&¤tanimation==staffgroundsmashanim)||(targetanimation==staffspinhitanim&¤tanimation==staffspinhitanim)){
+ if((animTarget==staffhitanim&&animCurrent==staffhitanim)||(animTarget==staffhitreversedanim&&animCurrent==staffhitreversedanim)||(animTarget==staffspinhitreversedanim&&animCurrent==staffspinhitreversedanim)||(animTarget==staffgroundsmashanim&&animCurrent==staffgroundsmashanim)||(animTarget==staffspinhitanim&&animCurrent==staffspinhitanim)){
XYZ temppoint1,temppoint2,tempforward;
float distance;
- temppoint1=animation[currentanimation].position[skeleton.jointlabels[righthand]][currentframe]*(1-target)+animation[targetanimation].position[skeleton.jointlabels[righthand]][targetframe]*(target); //skeleton.joints[skeleton.jointlabels[righthand]].position;
- temppoint2=animation[currentanimation].weapontarget[currentframe]*(1-target)+animation[targetanimation].weapontarget[targetframe]*(target);
+ temppoint1=animation[animCurrent].position[skeleton.jointlabels[righthand]][frameCurrent]*(1-target)+animation[animTarget].position[skeleton.jointlabels[righthand]][frameTarget]*(target); //skeleton.joints[skeleton.jointlabels[righthand]].position;
+ temppoint2=animation[animCurrent].weapontarget[frameCurrent]*(1-target)+animation[animTarget].weapontarget[frameTarget]*(target);
distance=findDistance(&temppoint1,&temppoint2);
weapons[i].rotation2=asin((temppoint1.y-temppoint2.y)/distance);
weapons[i].rotation2*=360/6.28;
calcrot=0;
if(skeleton.free)calcrot=1;
- if(animation[targetanimation].attack||isRun()||targetanimation==staggerbackhardanim||isFlip()||targetanimation==climbanim||targetanimation==sneakanim||targetanimation==rollanim||targetanimation==walkanim||targetanimation==backhandspringanim||isFlip()||isWallJump())calcrot=1;
- if(currentanimation!=targetanimation)calcrot=1;
+ if(animation[animTarget].attack||isRun()||animTarget==staggerbackhardanim||isFlip()||animTarget==climbanim||animTarget==sneakanim||animTarget==rollanim||animTarget==walkanim||animTarget==backhandspringanim||isFlip()||isWallJump())calcrot=1;
+ if(animCurrent!=animTarget)calcrot=1;
//if(id==0)calcrot=1;
if(skeleton.free==2)calcrot=0;
end.y-=radius;
if(LineFacetd(&start,&end,&model->vertex[model->Triangles[j].vertex[0]],&model->vertex[model->Triangles[j].vertex[1]],&model->vertex[model->Triangles[j].vertex[2]],&model->facenormals[j],&point)){
p1->y=point.y+radius;
- if((targetanimation==jumpdownanim||isFlip())){
- if(isFlip()&&(targetframe<5||animation[targetanimation].label[targetframe]==7||animation[targetanimation].label[targetframe]==4))RagDoll(0);
+ if((animTarget==jumpdownanim||isFlip())){
+ if(isFlip()&&(frameTarget<5||animation[animTarget].label[frameTarget]==7||animation[animTarget].label[frameTarget]==4))RagDoll(0);
- if(targetanimation==jumpupanim){jumppower=-4;targetanimation=getIdle();}
+ if(animTarget==jumpupanim){jumppower=-4;animTarget=getIdle();}
target=0;
- targetframe=0;
+ frameTarget=0;
onterrain=1;
if(id==0){
OPENAL_SetVolume(channels[whooshsound], 0);
}
- if((targetanimation==jumpdownanim||isFlip())&&!wasLanding()&&!wasLandhard()){
+ if((animTarget==jumpdownanim||isFlip())&&!wasLanding()&&!wasLandhard()){
if(isFlip())jumppower=-4;
- targetanimation=getLanding();
+ animTarget=getLanding();
emit_sound_at(landsound, coords, 128.);
if(id==0){
p1->x, p1->y, p1->z, radius/2);
end=*p1-point;
if(dotproduct(&model->facenormals[j],&end)>0&&intersecting){
- if((targetanimation==jumpdownanim||targetanimation==jumpupanim||isFlip())){
+ if((animTarget==jumpdownanim||animTarget==jumpupanim||isFlip())){
start=velocity;
velocity-=DoRotation(model->facenormals[j],0,*rotate,0)*findLength(&velocity)*abs(normaldotproduct(velocity,DoRotation(model->facenormals[j],0,*rotate,0)));//(distance-radius*.5)/multiplier;
if(findLengthfast(&start)<findLengthfast(&velocity))velocity=start;
class Person
{
- public:
+ public:
int whichpatchx;
int whichpatchz;
- int currentframe;
- int targetframe;
- int currentanimation;
- int targetanimation;
- int oldcurrentframe;
- int oldtargetframe;
- int oldcurrentanimation;
- int oldtargetanimation;
+ // animCurrent and animTarget are used to interpolate between different animations
+ // (and for a bunch of other things).
+ // animations interpolate with one another at various speeds.
+ // animTarget seems to determine the combat state?
+ int animCurrent;
+ int animTarget;
+
+ // frameCurrent and frameTarget are used to interpolate between the frames of an animation
+ // (e.g. the crouched animation has only two frames, lerped back and forth).
+ // animations advance at various speeds.
+ int frameCurrent;
+ int frameTarget;
+
+ int oldanimCurrent;
+ int oldanimTarget;
+ int oldframeCurrent;
+ int oldframeTarget;
int howactive;
void DoBloodBig(float howmuch, int which);
bool DoBloodBigWhere(float howmuch, int which, XYZ where);
- bool wasIdle() { return animation_bits[currentanimation] & ab_idle; }
- bool isIdle() { return animation_bits[targetanimation] & ab_idle; }
+ bool wasIdle() { return animation_bits[animCurrent] & ab_idle; }
+ bool isIdle() { return animation_bits[animTarget] & ab_idle; }
int getIdle();
- bool isSitting() { return animation_bits[targetanimation] & ab_sit; }
+ bool isSitting() { return animation_bits[animTarget] & ab_sit; }
- bool isSleeping() { return animation_bits[targetanimation] & ab_sleep; }
+ bool isSleeping() { return animation_bits[animTarget] & ab_sleep; }
- bool wasCrouch() { return animation_bits[currentanimation] & ab_crouch; }
- bool isCrouch() { return animation_bits[targetanimation] & ab_crouch; }
+ bool wasCrouch() { return animation_bits[animCurrent] & ab_crouch; }
+ bool isCrouch() { return animation_bits[animTarget] & ab_crouch; }
int getCrouch();
- bool wasStop() { return animation_bits[currentanimation] & ab_stop; }
- bool isStop() { return animation_bits[targetanimation] & ab_stop; }
+ bool wasStop() { return animation_bits[animCurrent] & ab_stop; }
+ bool isStop() { return animation_bits[animTarget] & ab_stop; }
int getStop();
bool wasSneak();
bool isSneak();
int getSneak();
- bool wasRun() { return animation_bits[currentanimation] & ab_run; }
- bool isRun() { return animation_bits[targetanimation] & ab_run; }
+ bool wasRun() { return animation_bits[animCurrent] & ab_run; }
+ bool isRun() { return animation_bits[animTarget] & ab_run; }
int getRun();
- bool wasLanding() { return animation_bits[currentanimation] & ab_land; }
- bool isLanding() { return animation_bits[targetanimation] & ab_land; }
+ bool wasLanding() { return animation_bits[animCurrent] & ab_land; }
+ bool isLanding() { return animation_bits[animTarget] & ab_land; }
int getLanding();
- bool wasLandhard() { return animation_bits[currentanimation] & ab_landhard; }
- bool isLandhard() { return animation_bits[targetanimation] & ab_landhard; }
+ bool wasLandhard() { return animation_bits[animCurrent] & ab_landhard; }
+ bool isLandhard() { return animation_bits[animTarget] & ab_landhard; }
int getLandhard();
- bool wasFlip() { return animation_bits[currentanimation] & ab_flip; }
- bool isFlip() { return animation_bits[targetanimation] & ab_flip; }
+ bool wasFlip() { return animation_bits[animCurrent] & ab_flip; }
+ bool isFlip() { return animation_bits[animTarget] & ab_flip; }
- bool isWallJump() { return animation_bits[targetanimation] & ab_walljump; }
+ bool isWallJump() { return animation_bits[animTarget] & ab_walljump; }
void Reverse();
void DoDamage(float howmuch);
void DoHead();
if(owner==-1 && distsqflat(&position,&player[j].coords)<1.5 &&
distsq(&position,&player[j].coords)<4 && player[j].weaponstuck==-1 &&
!player[j].skeleton.free && j!=oldowner) {
- if((player[j].aitype!=attacktypecutoff||abs(Random()%6)==0||(player[j].targetanimation!=backhandspringanim&&player[j].targetanimation!=rollanim&&player[j].targetanimation!=flipanim&&Random()%2==0))&&!missed) {
- if( (player[j].creature==wolftype && Random()%3!=0 && player[j].weaponactive==-1 && (player[j].isIdle()||player[j].isRun()||player[j].targetanimation==walkanim))||
+ if((player[j].aitype!=attacktypecutoff||abs(Random()%6)==0||(player[j].animTarget!=backhandspringanim&&player[j].animTarget!=rollanim&&player[j].animTarget!=flipanim&&Random()%2==0))&&!missed) {
+ if( (player[j].creature==wolftype && Random()%3!=0 && player[j].weaponactive==-1 && (player[j].isIdle()||player[j].isRun()||player[j].animTarget==walkanim))||
(player[j].creature==rabbittype && Random()%2==0 && player[j].aitype==attacktypecutoff && player[j].weaponactive==-1)) {
emit_sound_at(knifedrawsound, player[j].coords, 128.);
player[j].weaponactive=0;
- player[j].targetanimation=removeknifeanim;
- player[j].targetframe=1;
+ player[j].animTarget=removeknifeanim;
+ player[j].frameTarget=1;
player[j].target=1;
owner=player[j].id;
if(player[j].num_weapons>0){
emit_sound_at(fleshstabsound, position, 128.);
- if(animation[player[0].targetanimation].height==highheight)
+ if(animation[player[0].animTarget].height==highheight)
award_bonus(0, ninja);
else
award_bonus(0, Bullseyebonus);
if((frustum.SphereInFrustum(player[owner].coords.x,player[owner].coords.y+player[owner].scale*3,player[owner].coords.z,player[owner].scale*8)&&distsq(&viewer,&player[owner].coords)<viewdistance*viewdistance)||player[owner].skeleton.free==3)
draw=true;
if (
- (player[owner].targetanimation==knifeslashstartanim||
- player[owner].targetanimation==swordsneakattackanim||
- (player[owner].currentanimation==staffhitanim && player[owner].currentframe>1)||
- (player[owner].currentanimation==staffhitreversedanim && player[owner].currentframe>1)||
- (player[owner].currentanimation==staffspinhitanim && player[owner].currentframe>1)||
- (player[owner].currentanimation==staffspinhitreversedanim && player[owner].currentframe>1)||
- (player[owner].currentanimation==staffgroundsmashanim && player[owner].currentframe>1)||
- (player[owner].targetanimation==swordslashanim && player[owner].targetframe<7)||
- player[owner].targetanimation==crouchstabanim||
- player[owner].targetanimation==swordslashreversalanim||
- player[owner].targetanimation==swordslashreversedanim||
- player[owner].targetanimation==knifefollowanim||
- player[owner].targetanimation==swordgroundstabanim||
- player[owner].targetanimation==knifethrowanim)&&
- player[owner].targetanimation==lastdrawnanim&&
+ (player[owner].animTarget==knifeslashstartanim||
+ player[owner].animTarget==swordsneakattackanim||
+ (player[owner].animCurrent==staffhitanim && player[owner].frameCurrent>1)||
+ (player[owner].animCurrent==staffhitreversedanim && player[owner].frameCurrent>1)||
+ (player[owner].animCurrent==staffspinhitanim && player[owner].frameCurrent>1)||
+ (player[owner].animCurrent==staffspinhitreversedanim && player[owner].frameCurrent>1)||
+ (player[owner].animCurrent==staffgroundsmashanim && player[owner].frameCurrent>1)||
+ (player[owner].animTarget==swordslashanim && player[owner].frameTarget<7)||
+ player[owner].animTarget==crouchstabanim||
+ player[owner].animTarget==swordslashreversalanim||
+ player[owner].animTarget==swordslashreversedanim||
+ player[owner].animTarget==knifefollowanim||
+ player[owner].animTarget==swordgroundstabanim||
+ player[owner].animTarget==knifethrowanim)&&
+ player[owner].animTarget==lastdrawnanim&&
!player[owner].skeleton.free
)
{
} else {
drawhowmany=1;
}
- if(player[owner].targetanimation==swordgroundstabanim)
+ if(player[owner].animTarget==swordgroundstabanim)
{
lastdrawnrotation1=rotation1;
lastdrawnrotation2=rotation2;
if(owner!=-1)
{
- if(player[owner].targetanimation==staffhitanim||player[owner].currentanimation==staffhitanim||player[owner].targetanimation==staffhitreversedanim||player[owner].currentanimation==staffhitreversedanim)
+ if(player[owner].animTarget==staffhitanim||player[owner].animCurrent==staffhitanim||player[owner].animTarget==staffhitreversedanim||player[owner].animCurrent==staffhitreversedanim)
{
glTranslatef(0,0,-.3);
}
- if(player[owner].targetanimation==staffgroundsmashanim||player[owner].currentanimation==staffgroundsmashanim||player[owner].targetanimation==staffspinhitreversedanim||player[owner].currentanimation==staffspinhitreversedanim||player[owner].targetanimation==staffspinhitanim||player[owner].currentanimation==staffspinhitanim)
+ if(player[owner].animTarget==staffgroundsmashanim||player[owner].animCurrent==staffgroundsmashanim||player[owner].animTarget==staffspinhitreversedanim||player[owner].animCurrent==staffspinhitreversedanim||player[owner].animTarget==staffspinhitanim||player[owner].animCurrent==staffspinhitanim)
{
glTranslatef(0,0,-.1);
}
lastdrawnbigtilt2=bigtilt2;
lastdrawnsmallrotation=smallrotation;
lastdrawnsmallrotation2=smallrotation2;
- if(owner!=-1)lastdrawnanim=player[owner].currentanimation;
+ if(owner!=-1)lastdrawnanim=player[owner].animCurrent;
}
if(owner!=-1)
{