//Causes sword to destroy slashable combos.
void SlashSlashableCombos(lweapon sword){
//Array of slashable combo types.
int slashable[] = {24, // CT_SLASH
132, // CT_SLASHC
25, // CT_SLASHITEM
133, // CT_SLASHITEMC
29, // CT_SLASHNEXT
137, // CT_SLASHNEXTC
130, // CT_SLASHNEXTITEM
138, // CT_SLASHNEXTITEMC
57, // CT_TALLGRASS
136, // CT_TALLGRASSC
141, // CT_TALLGRASSNEXT
55, // CT_BUSH
134, // CT_BUSHC
131, // CT_BUSHNEXT
139, // CT_BUSHNEXTC
56, // CT_FLOWERS
135}; // CT_FLOWERSC
//Slash -> Next or Slash->Undercombo?
bool slashnext[] = {false,false,false,false,true,true,true,true,false,false,true,false,false,true,true,false,false};
//bool continious[] = {false,true,false,true,false,true,false,true,false,true,false,false,true,false,true,false,true};
// Drop item or not?
bool dropitem[] = {false,false,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true};
int sprites[] = {0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,3,3}; //Slashed stuff sprite assignment array.
for (int cmb=0; cmb<176; cmb++){
   int type = Screen->ComboT[cmb];
   if(ComboCollision (cmb, sword)){
    int arrm = ArrayMatch(slashable, type);
    if (arrm>=0){
   int cx = ComboX(cmb);
   int cy = ComboY(cmb);
   if (slashnext[arrm]) Screen->ComboD[cmb]++;
   else {
    Screen->ComboD[cmb] = Screen->UnderCombo;
    Screen->ComboC[cmb] = Screen->UnderCSet;
   }
   if (arrm>7) Game->PlaySound(SFX_GRASSCUT);
   if (dropitem[arrm]){
    npc drop = Screen->CreateNPC(116);
    drop->X = cx;
    drop->Y = cy;
    drop->CollDetection = false;
    drop->ItemSet = SLASH_ITEM_DROP_SET;
    drop->HP = 0;
   }
   if (sprites[arrm] == 1){
    int angle = -135;
    for (int i = 1; i<=3; i++){
    lweapon clippings = CreateAnimation (cx, cy, SPR_GRASS_CLIPPINGS, 0, 0, 0, 0, 15, false);
    SetAngularMovement(clippings, angle, 0.5);
    angle = angle+45;
    }
   }
   if (sprites[arrm] == 2){
    int angle = -135;
    for (int i = 1; i<=4; i++){
    lweapon clippings = CreateAnimation (cx, cy, SPR_BUSH_CLIPPINGS, 0, 0, 0, 0, 30, false);
    SetAngularMovement(clippings, angle, 0.5);
    angle = angle+90;
    }
   }
   if (sprites[arrm] == 3){
    int angle = -135;
    for (int i = 1; i<=4; i++){
    lweapon clippings = CreateAnimation (cx, cy, SPR_FLOWER_CLIPPINGS, 0, 0, 0, 0, 30, false);
    SetAngularMovement(clippings, angle, 0.5);
    angle = angle+90;
    }
   }
   }
  }
}
}

//Returns Number of first position of element in the given array that matches given variable, or -1, if no match.
int ArrayMatch(int array, int in){
for (int i=0; i<SizeOfArray(array); i++){
  if (in == array[i]) return i;
}
return -1;
}