int SetupGoro(short SpriteNum) { SPRITEp sp = &sprite[SpriteNum]; USERp u; ANIMATOR DoActorDecide; if (TEST(sp->cstat, CSTAT_SPRITE_RESTORE)) { u = User[SpriteNum]; ASSERT(u); } else { User[SpriteNum] = u = SpawnUser(SpriteNum,GORO_RUN_R0,s_GoroRun[0]); u->Health = HEALTH_GORO; } ChangeState(SpriteNum, s_GoroRun[0]); u->Attrib = &GoroAttrib; DoActorSetSpeed(SpriteNum, NORM_SPEED); u->StateEnd = s_GoroDie; u->Rot = sg_GoroRun; EnemyDefaults(SpriteNum, &GoroActionSet, &GoroPersonality); sp->clipdist = 512 >> 2; SET(u->Flags, SPR_XFLIP_TOGGLE); return(0); }
int SetupSerp(short SpriteNum) { SPRITEp sp = &sprite[SpriteNum]; USERp u; ANIMATOR DoActorDecide; if (TEST(sp->cstat, CSTAT_SPRITE_RESTORE)) { u = User[SpriteNum]; ASSERT(u); } else { User[SpriteNum] = u = SpawnUser(SpriteNum,SERP_RUN_R0,s_SerpRun[0]); u->Health = HEALTH_SERP_GOD; } if (Skill == 0) u->Health = 1100; if (Skill == 1) u->Health = 2200; ChangeState(SpriteNum, s_SerpRun[0]); u->Attrib = &SerpAttrib; DoActorSetSpeed(SpriteNum, NORM_SPEED); u->StateEnd = s_SerpDie; u->Rot = sg_SerpRun; EnemyDefaults(SpriteNum, &SerpActionSet, &SerpPersonality); // Mini-Boss Serp if (sp->pal == 16) { u->Health = 1000; sp->yrepeat = 74; sp->xrepeat = 74; } else { sp->yrepeat = 100; sp->xrepeat = 128; } sp->clipdist = (512) >> 2; SET(u->Flags, SPR_XFLIP_TOGGLE|SPR_ELECTRO_TOLERANT); u->loz = sp->z; // amount to move up for clipmove u->zclip = Z(80); // size of step can walk off of u->lo_step = Z(40); u->floor_dist = u->zclip - u->lo_step; u->ceiling_dist = SPRITEp_SIZE_Z(sp) - u->zclip; return 0; }
int SetupZilla(short SpriteNum) { SPRITEp sp = &sprite[SpriteNum]; USERp u; ANIMATOR DoActorDecide; if (TEST(sp->cstat, CSTAT_SPRITE_RESTORE)) { u = User[SpriteNum]; ASSERT(u); } else { User[SpriteNum] = u = SpawnUser(SpriteNum,ZILLA_RUN_R0,s_ZillaRun[0]); u->Health = 6000; } if (Skill == 0) u->Health = 2000; if (Skill == 1) u->Health = 4000; ChangeState(SpriteNum,s_ZillaRun[0]); u->Attrib = &ZillaAttrib; DoActorSetSpeed(SpriteNum, NORM_SPEED); u->StateEnd = s_ZillaDie; u->Rot = sg_ZillaRun; EnemyDefaults(SpriteNum, &ZillaActionSet, &ZillaPersonality); sp->clipdist = (512) >> 2; sp->xrepeat = 97; sp->yrepeat = 79; //SET(u->Flags, SPR_XFLIP_TOGGLE); return 0; }