private void TryApplyDereBonus(Dere dere, ref double atk, ref double def, BodereBonus bodere) { if (dere == Dere.Bodere) { switch (bodere) { case BodereBonus.Minus: atk -= atk / 10; break; case BodereBonus.Plus: atk += atk / 10; break; default: break; } } else if (Fun.TakeATry(5)) { var tenAtk = atk / 10; var tenDef = def / 10; switch (dere) { case Dere.Yandere: atk += tenAtk; break; case Dere.Dandere: def += tenDef; break; case Dere.Kuudere: atk -= tenAtk; def += tenAtk; break; case Dere.Mayadere: def -= tenDef; atk += tenDef; break; default: break; } } }
public static bool IsResistTo(this Card card, Dere dere) { if (card.Dere == dere && dere != Dere.Yato) { return(true); } switch (card.Dere) { case Dere.Tsundere: return(false); case Dere.Kamidere: if (dere == Dere.Yandere) { return(true); } return(false); case Dere.Deredere: if (dere == Dere.Dandere) { return(true); } return(false); case Dere.Yandere: if (dere == Dere.Kuudere) { return(true); } return(false); case Dere.Dandere: if (dere == Dere.Mayadere) { return(true); } return(false); case Dere.Kuudere: if (dere == Dere.Bodere) { return(true); } return(false); case Dere.Mayadere: if (dere == Dere.Kamidere) { return(true); } return(false); case Dere.Bodere: if (dere == Dere.Deredere) { return(true); } return(false); case Dere.Yami: return(false); case Dere.Raito: if (dere != Dere.Yami) { return(true); } return(false); case Dere.Yato: return(true); default: return(false); } }