ffc script Big_Gohma{ void run(int enemyID){ npc n = Ghost_InitAutoGhost(this, enemyID); int modetimer = 600; Ghost_X = 123; Ghost_Y = 80; n->Extend = 3; Ghost_TileWidth = 2; Ghost_TileHeight = 2; int closed = n->Attributes[10]; int open = closed+4; int combo = closed; int mode = 1; float counter = -1; eweapon fireball; Ghost_Transform(this,n,combo,-1,2,2); while(n->HP > 0){ if(mode == 1)n->Defense[NPCD_ARROW] =NPCDT_IGNORE; else if (mode ==2)n->Defense[NPCD_ARROW] =NPCDT_NONE; if(n->Dir == DIR_UP && mode == 1)combo = closed; else if(n->Dir == DIR_DOWN && mode == 1)combo = closed+1; else if(n->Dir == DIR_LEFT && mode == 1)combo = closed+2; else if(n->Dir == DIR_RIGHT && mode == 1)combo = closed+3; else if(n->Dir ==DIR_UP && mode == 2)combo = open; else if(n->Dir == DIR_DOWN && mode == 2)combo = open+1; else if(n->Dir ==DIR_LEFT && mode == 2)combo = open+2; else if(n->Dir == DIR_RIGHT && mode == 2)combo = open+3; if(modetimer >0 && mode ==1){ modetimer--; if(modetimer<=0){ modetimer = 300; if(n->Dir == DIR_UP || n->Dir == DIR_DOWN){ fireball = FireAimedEWeapon(n->Weapon, n->X+16, n->Y, 0, 300, n->WeaponDamage, 40, 40, EWF_ROTATE); SetEWeaponLifespan(fireball,EWL_TIMER, 60); SetEWeaponDeathEffect(fireball,EWD_VANISH, 0); } else{ fireball = FireAimedEWeapon(n->Weapon, n->X, n->Y+16, 0, 300, n->WeaponDamage, 40, 40, EWF_ROTATE); SetEWeaponLifespan(fireball,EWL_TIMER, 60); SetEWeaponDeathEffect(fireball,EWD_VANISH, 0); } mode = 2; } } else if(modetimer >0 && mode ==2){ modetimer--; if(modetimer<=0){ modetimer = 300; if(n->Dir == DIR_UP || n->Dir == DIR_DOWN){ fireball = FireAimedEWeapon(n->Weapon, n->X+16, n->Y, 0, 300, n->WeaponDamage, 40, 40, EWF_ROTATE); SetEWeaponLifespan(fireball,EWL_TIMER, 60); SetEWeaponDeathEffect(fireball,EWD_VANISH, 0); } else{ fireball = FireAimedEWeapon(n->Weapon, n->X, n->Y+16, 0, 300, n->WeaponDamage, 40, 40, EWF_ROTATE); SetEWeaponLifespan(fireball,EWL_TIMER, 60); SetEWeaponDeathEffect(fireball,EWD_VANISH, 0); } mode = 1; } } if(n->HP <=10){ Ghost_DeathAnimation(this,n, 2); Waitframes(60); n->HP = 0; Quit(); } counter = Ghost_HaltingWalk4(counter, n->Step, n->Rate, n->Homing, 2, n->Haltrate, 45); Ghost_Data = combo; Ghost_Waitframe(this, n, true, true); } } }