int NullSerp(short SpriteNum) { SPRITEp sp = &sprite[SpriteNum]; USERp u = User[SpriteNum]; if (TEST(u->Flags,SPR_SLIDING)) DoActorSlide(SpriteNum); KeepActorOnFloor(SpriteNum); //DoActorSectorDamage(SpriteNum); return 0; }
int NullGoro(short SpriteNum) { SPRITEp sp = &sprite[SpriteNum]; USERp u = User[SpriteNum]; ASSERT(SpriteNum >= 0); if (TEST(u->Flags,SPR_SLIDING)) DoActorSlide(SpriteNum); KeepActorOnFloor(SpriteNum); DoActorSectorDamage(SpriteNum); return(0); }
int DoSerpMove(short SpriteNum) { SPRITEp sp = &sprite[SpriteNum]; USERp u = User[SpriteNum]; if (TEST(u->Flags,SPR_SLIDING)) DoActorSlide(SpriteNum); if (u->track >= 0) ActorFollowTrack(SpriteNum, ACTORMOVETICS); else (*u->ActorActionFunc)(SpriteNum); // serp ring if (sp->pal != 16) { switch (u->Counter2) { case 0: if (u->Health != u->MaxHealth) { NewStateGroup(SpriteNum, sg_SerpSkullSpell); u->Counter2++; } break; case 1: //if (u->Health <= DIV2(u->MaxHealth)) { if (u->Counter <= 0) NewStateGroup(SpriteNum, sg_SerpSkullSpell); } break; } } KeepActorOnFloor(SpriteNum); //DoActorSectorDamage(SpriteNum); return 0; }
int DoZillaMove(short SpriteNum) { SPRITEp sp = &sprite[SpriteNum]; USERp u = User[SpriteNum]; short choose; static int handle; //if (TEST(u->Flags,SPR_SLIDING)) //DoActorSlide(SpriteNum); // Random Zilla taunts if (!FX_SoundActive(handle)) { choose = STD_RANDOM_RANGE(1000); if (choose > 990) handle = PlaySound(DIGI_Z16004,&sp->x,&sp->y,&sp->z,v3df_none); else if (choose > 985) handle = PlaySound(DIGI_Z16004,&sp->x,&sp->y,&sp->z,v3df_none); else if (choose > 980) handle = PlaySound(DIGI_Z16004,&sp->x,&sp->y,&sp->z,v3df_none); else if (choose > 975) handle = PlaySound(DIGI_Z16004,&sp->x,&sp->y,&sp->z,v3df_none); } if (u->track >= 0) ActorFollowTrack(SpriteNum, ACTORMOVETICS); else (*u->ActorActionFunc)(SpriteNum); KeepActorOnFloor(SpriteNum); if (DoActorSectorDamage(SpriteNum)) { return 0; } return 0; }
int DoGoroMove(short SpriteNum) { SPRITEp sp = &sprite[SpriteNum]; USERp u = User[SpriteNum]; ASSERT(SpriteNum >= 0); if (TEST(u->Flags,SPR_SLIDING)) DoActorSlide(SpriteNum); if (u->track >= 0) ActorFollowTrack(SpriteNum, ACTORMOVETICS); else (*u->ActorActionFunc)(SpriteNum); ASSERT(User[SpriteNum]); KeepActorOnFloor(SpriteNum); DoActorSectorDamage(SpriteNum); return(0); }