Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Handle switches that must be held down.
- ffc script Partner_Plate{
- void run(int DMap_Mirror, int DMap_Labrynna){
- int i;
- int Combo_Array[176];
- int loc;
- int loc_2;
- int PressCount;
- int SwitchCount;
- for(i= 0;i<=175;i++){
- Combo_Array[i]= -1;
- if(ComboFI(i,CF_BLOCKTRIGGER)){
- Combo_Array[i]= Screen->ComboD[i];
- SwitchCount++;
- }
- }
- int Labrynna_Switch;
- int Mirror_Switch;
- while(!Screen->State[ST_SECRET]){
- if(DestinyVars[CURRENT_OVERWORLD]==LABRYNNA_OVERWORLD){
- loc= ComboAt(DestinyVars[LINK_X_LABRYNNA]+8,
- DestinyVars[LINK_Y_LABRYNNA]+8);
- if(Is_Switch(loc)){
- Screen->ComboD[loc]++;
- Labrynna_Switch= loc;
- }
- else{
- if(loc!=Labrynna_Switch){
- if(Combo_Array[Labrynna_Switch]!=-1){
- Screen->ComboD[Labrynna_Switch]=Combo_Array[Labrynna_Switch];
- loc=0;
- Labrynna_Switch= 0;
- }
- }
- }
- if(Game->GetCurDMapScreen()==DestinyVars[SCREEN_MIRROR]
- && DestinyVars[DMAP_MIRROR]==DMap_Mirror){
- loc_2=ComboAt(DestinyVars[LINK_X_MIRROR]+8,
- DestinyVars[LINK_Y_MIRROR]+8);
- if(Is_Switch(loc_2)){
- Screen->ComboD[loc_2]++;
- Mirror_Switch= loc_2;
- }
- else{
- if(loc_2!=Mirror_Switch){
- if(Combo_Array[Mirror_Switch]!=-1){
- Screen->ComboD[Mirror_Switch]=Combo_Array[Mirror_Switch];
- loc_2=0;
- Mirror_Switch= 0;
- }
- }
- }
- }
- }
- else if(DestinyVars[CURRENT_OVERWORLD]==MIRROR_OVERWORLD){
- loc= ComboAt(DestinyVars[LINK_X_LABRYNNA]+8,
- DestinyVars[LINK_Y_LABRYNNA]+8);
- if(Is_Switch(loc)){
- Screen->ComboD[loc]++;
- Labrynna_Switch= loc;
- }
- else{
- if(loc!=Labrynna_Switch){
- if(Combo_Array[Labrynna_Switch]!=-1){
- Screen->ComboD[Labrynna_Switch]=Combo_Array[Labrynna_Switch];
- loc=0;
- Labrynna_Switch= 0;
- }
- }
- }
- if(Game->GetCurDMapScreen()==DestinyVars[SCREEN_MIRROR]
- && DestinyVars[DMAP_MIRROR]==DMap_Mirror){
- loc_2=ComboAt(DestinyVars[LINK_X_MIRROR]+8,
- DestinyVars[LINK_Y_MIRROR]+8);
- if(Is_Switch(loc_2)){
- Screen->ComboD[loc_2]++;
- Mirror_Switch= loc_2;
- }
- else{
- if(loc_2!=Mirror_Switch){
- if(Combo_Array[Mirror_Switch]!=-1){
- Screen->ComboD[Mirror_Switch]=Combo_Array[Mirror_Switch];
- loc_2=0;
- Mirror_Switch= 0;
- }
- }
- }
- }
- }
- PressCount= 0;
- for(i= 0;i<=175;i++){
- if(loc==i){
- if(Combo_Array[i]!=-1){
- if(Combo_Array[i]!=Screen->ComboD[loc]){
- PressCount++;
- Game->PlaySound(SFX_SWITCH_PUSH);
- }
- }
- }
- if(loc_2==i){
- if(Combo_Array[i]!=-1){
- if(Combo_Array[i]!=Screen->ComboD[loc_2]){
- PressCount++;
- Game->PlaySound(SFX_SWITCH_PUSH);
- }
- }
- }
- if(PressCount>=SwitchCount){
- Screen->State[ST_SECRET]=true;
- Screen->TriggerSecrets();
- Game->PlaySound(SFX_SECRET);
- break;
- }
- }
- Waitframe();
- }
- }
- }
- bool Is_Switch(int loc){
- return ComboFIT(loc,CF_BLOCKTRIGGER,CT_NONE);
- }
- const int SFX_SWITCH_PUSH= 91;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement