public void CounterBlast(int n, CounterBlastDelegate fnc, boolCardFunction f = null) { _CB_num = n; _CB_CheckCard = f; if(Game.field.GetNumberOfDamageCardsFaceup() == n && f == null) { FlipCardInDamageZone(n); fnc(); } else { _CB_Active = true; _CB_fnc = fnc; EnableMouse("Choose " + _CB_num + " face-up cards from your damage zone."); } }
public bool CanSoulBlast(int n, boolCardFunction f) { int count = 0; for (int i = 0; i < Game.field.Soul.Count - 1; i++) { Card tmp = Game.field.Soul[i]; if (f(tmp)) { count++; } } return count >= n; }
public bool CB(int n, boolCardFunction f) { int count = 0; for(int i = 0; i < Game.field.DamageZone.Count; i++) { Card tmp = Game.field.DamageZone[i]; if(tmp != null && tmp.IsFaceup() && f(tmp)) { count++; } } return count >= n; }
public int NumUnitsInSoul(boolCardFunction f) { int num = 0; for(int i = 0; i < Game.field.Soul.Count - 1; i++) { if(f == null || f(Game.field.Soul[i])) { num++; } } return num; }
public void SelectInEnemyDamage(int n, bool bEnd, Void0ParamsDelegate fnc, boolCardFunction bcf = null, Void0ParamsDelegate efnc = null) { _ESID_n = n; _ESID_Active = true; _ESID_fnc = fnc; _ESID_End = bEnd; _ESID_Constraint = bcf; _ESID_EndFnc = efnc; EnableMouse("Choose a card from your opponent's damage zone."); }
public int NumUnitsDamage(boolCardFunction f = null) { int count = 0; for(int i = 0; i < Game.field.DamageZone.Count; i++) { if(f == null || f(Game.field.DamageZone[i])) { count++; } } return count; }
public int NumUnitsInBind(boolCardFunction f) { int num = 0; for(int i = 0; i < Game.field.BindZone.Count; i++) { if(f == null || f(Game.field.BindZone[i])) { num++; } } return num; }
public int NumGuardians(boolCardFunction fnc = null) { int count = 0; for(int i = 0; i < Game.guardZone.cards.Count; i++) { if(fnc == null || fnc(Game.guardZone.cards[i])) { count++; } } return count; }
public int NumUnits(boolCardFunction fnc, bool bCountVanguard = false, bool bCountLocked = false) { int cnt = 0; Game.field.InitFieldIterator(); while(Game.field.HasNextField()) { Card c = Game.field.CurrentFieldCard(); if(c != null && fnc(c) && (bCountLocked || !c.IsLocked())) { if(c.IsVanguard()) { if(bCountVanguard) { cnt++; } } else { cnt++; } } } return cnt; }
public int NumEnemyUnitsBind(boolCardFunction f = null) { int count = 0; for(int i = 0; i < Game.enemyField.BindZone.Count; i++) { if(f == null || f(Game.enemyField.BindZone[i])) { count++; } } return count; }
public int NumEnemyUnits(boolCardFunction fnc, bool bCountVanguard = false, bool bCountLockedCards = false) { int cnt = 0; for(int i = 0; i < 6; i++) { if(EnemyField(i) != null && fnc(EnemyField(i)) && (!bCountLockedCards || EnemyField(i).IsLocked())) { if(i == 0) { if(bCountVanguard) { cnt++; } } else { cnt++; } } } return cnt; }
public int HandSize(boolCardFunction f) { int count = 0; for(int i = 0; i < HandSize(); i++) { Card c = Game.playerHand.GetCardAtIndex(i); if(c != null && f(c)) count++; } return count; }
int NumRG(boolCardFunction fnc) { int cnt = 0; Game.field.InitFieldIterator(); while(Game.field.HasNextField()) { Card c = Game.field.CurrentFieldCard(); if(c != null && !c.IsVanguard() && fnc(c)) { cnt++; } } return cnt; }
int NumEnemyRG(boolCardFunction fnc) { int cnt = 0; for(int i = 0; i < 6; i++) { if(EnemyField(i) != null && fnc(EnemyField(i))) { cnt++; } } return cnt; }