const int GANON_ROOM_SCREEN_D = 8; //Run on screen init. Probably won't work due to triforce animation. ffc script CukeManGanon{ void run(){ int q; npc ganon; while(true) { if ( Screen->D[GANON_ROOM_SCREEN_D] ) { for ( q = 1; q < Screen->NumNPCs(); q++ ) { ganon = Screen->LoadNPC(q); if ( ganon->Type == NCPT_GANON ) { n->SFX = 0; ganon->DrawXOffset = -4000; ganon->DrawYOffset = -4000; ganon->HP = -9999; } } } else { for ( q = 1; q < Screen->NumNPCs(); q++ ) { ganon = Screen->LoadNPC(q); if ( ganon->Type == NCPT_GANON ) { if ( ganon->HP <= 0 ) { Screen->D[GANON_ROOM_SCREEN_D] = 1; } } } } Waitframe(); } } } const int GANON_NEWSCREEN = 0; //Set to screen on the DMap with the ganon room to treat as the new ganon room, after Ganon is dead. //Run on screen init. //Warps Link to a new screen. Make this look like the ganon room, set its sidewarps to the same screens that the ganon room used. ffc script CukeManGanonWarp{ void run(){ int q; npc ganon; while(true) { if ( Screen->D[GANON_ROOM_SCREEN_D] ) { for ( q = 1; q < Screen->NumNPCs(); q++ ) { ganon = Screen->LoadNPC(q); if ( ganon->Type == NCPT_GANON ) { Link->PitWarp(Game->GetCurDMap(), GANON_NEWSCREEN); n->SFX = 0; ganon->DrawXOffset = -4000; ganon->DrawYOffset = -4000; ganon->HP = -9999; } } } else { for ( q = 1; q < Screen->NumNPCs(); q++ ) { ganon = Screen->LoadNPC(q); if ( ganon->Type == NCPT_GANON ) { if ( ganon->HP <= 0 ) { Screen->D[GANON_ROOM_SCREEN_D] = 1; } } } } Waitframe(); } } }