public override bool OnPreActivate(ClientCard card) { ClientCard LastChainCard = Util.GetLastChainCard(); if (LastChainCard != null && Duel.Phase == DuelPhase.Standby && LastChainCard.IsCode( _CardId.SandaionTheTimelord, _CardId.GabrionTheTimelord, _CardId.MichionTheTimelord, _CardId.ZaphionTheTimelord, _CardId.HailonTheTimelord, _CardId.RaphionTheTimelord, _CardId.SadionTheTimelord, _CardId.MetaionTheTimelord, _CardId.KamionTheTimelord, _CardId.LazionTheTimelord )) { return(false); } if ((card.Location == CardLocation.Hand || card.Location == CardLocation.SpellZone && card.IsFacedown()) && (card.IsSpell() && DefaultSpellWillBeNegated() || card.IsTrap() && DefaultTrapWillBeNegated())) { return(false); } return(true); }
public bool SpellNegatable(bool isCounter = false, ClientCard target = null) { // target default set if (target == null) { target = this.Card; } // won't negate if not on field if (target.Location != CardLocation.SpellZone && target.Location != CardLocation.Hand) { return(false); } // negate judge if (this.Enemy.HasInMonstersZone(CardId.NaturalExterio, true) && !isCounter) { return(true); } if (target.IsSpell()) { if (this.Enemy.HasInMonstersZone(CardId.NaturalBeast, true)) { return(true); } if (this.Enemy.HasInSpellZone(CardId.ImperialOrder, true) || this.Bot.HasInSpellZone(CardId.ImperialOrder, true)) { return(true); } if (this.Enemy.HasInMonstersZone(CardId.SwordsmanLV7, true) || this.Bot.HasInMonstersZone(CardId.SwordsmanLV7, true)) { return(true); } } if (target.IsTrap()) { if (this.Enemy.HasInSpellZone(CardId.RoyalDecreel, true) || this.Bot.HasInSpellZone(CardId.RoyalDecreel, true)) { return(true); } } // how to get here? return(false); }
public bool spell_trap_activate(bool isCounter = false, ClientCard target = null) { if (target == null) { target = Card; } if (target.Location != CardLocation.SpellZone && target.Location != CardLocation.Hand) { return(true); } if (Enemy.HasInMonstersZone(CardId.NaturalExterio, true) && !Bot.HasInHandOrHasInMonstersZone(CardId.GO_SR) && !isCounter && !Bot.HasInSpellZone(CardId.SolemnStrike)) { return(false); } if (target.IsSpell()) { if (Enemy.HasInMonstersZone(CardId.NaturalBeast, true) && !Bot.HasInHandOrHasInMonstersZone(CardId.GO_SR) && !isCounter && !Bot.HasInSpellZone(CardId.SolemnStrike)) { return(false); } if (Enemy.HasInSpellZone(CardId.ImperialOrder, true) || Bot.HasInSpellZone(CardId.ImperialOrder, true)) { return(false); } if (Enemy.HasInMonstersZone(CardId.SwordsmanLV7, true) || Bot.HasInMonstersZone(CardId.SwordsmanLV7, true)) { return(false); } return(true); } if (target.IsTrap()) { if (Enemy.HasInSpellZone(CardId.RoyalDecreel, true) || Bot.HasInSpellZone(CardId.RoyalDecreel, true)) { return(false); } return(true); } // how to get here? return(false); }