Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Necrovalley + G.B. Hunter + moving Pendulum monster to Scale #2543

Open
Lyris12 opened this issue May 6, 2024 · 0 comments
Open

Necrovalley + G.B. Hunter + moving Pendulum monster to Scale #2543

Lyris12 opened this issue May 6, 2024 · 0 comments

Comments

@Lyris12
Copy link

Lyris12 commented May 6, 2024

Context

Imagine a field comprising of a face-up Necrovalley(s) and G.B. Hunter(s) with their effects active, and any Pendulum monster with an effect that includes setting a scale from the GY (including itself); I will use Majespecter Draco - Ryu for this example.

Problem

If Ryu gets destroyed or Tributed, sent to the GY (since it cannot go to the Extra Deck due to G.B. Hunter's effect), and then activates its ② monster effect, Necrovalley currently does not negate that effect, despite Ryu trying to move itself from the GY to a different place, i.e. its owner's Pendulum Zone.

Expected behavior

Necrovalley should negate that effect, as well as similar ones, provided that by the time it activates, the Pendulum Monster Card(s) to be placed into a Scale(s) is in the GY.

Suggested solutions

  • For Pendulum Monster effects which places a Scale(s) from the GY 1st, if not only:
    • Make sure each Pendulum monster's scale-placement effect script runs the below 2 lines after that effect's target, if it does not already do so (e.g. Performapal Five-Rainbow Magician already places itself into a Scale from the GY):
      • local c=e:GetHandler()
      • if c:IsLocation(LOCATION_GRAVE) then Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,c,1,0,0) end
    • i.e., in Ryu's case, the whole target function's body should look as follows:
      • if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
      • local c=e:GetHandler()
      • if c:IsLocation(LOCATION_GRAVE) then Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,c,1,0,0) end
  • Otherwise, stipulate aux.NecroValleyFilter() for the card(s) in question during the effect's operation, e.g. Odd-Eyes Venom Dragon's ② monster effect operation should look like this:
    • local c=e:GetHandler()
    • if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
    • Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
    • local g=Duel.SelectMatchingCard(tp,c45014450.penfilter,tp,LOCATION_PZONE,0,1,1,nil,e,tp)
    • if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)>0 and aux.NecroValleyFilter()(c) then
      • Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
    • end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant