Nobody Phantom Thief
- Card ID:
120273005 - Format: Rush Duel
- Script:
Rush/Scripts/c120273005.lua
Stats
| Field | Value |
|---|---|
| Type | 0x4 |
| ATK | 0 |
| DEF | 0 |
| Level/Rank/Link | 0x0 |
| Race | 0x0 |
| Attribute | 0x0 |
| Category | 0x108 |
Card Text
text
[REQUIREMENT]
When a monster on your field is destroyed by an opponent's attack or their card effect.
[EFFECT]
Draw 3 cards. Then, send 1 or more cards from your hand to the Graveyard. If you have no monsters on your field, you also take no battle damage from your opponent's Level 8 or lower monsters' attacks this turn.Detected API Calls
Auxiliary.StringidCard.IsAbleToGraveCard.IsControlerCard.IsLevelBelowCard.IsPreviousControlerCard.IsPreviousLocationCard.IsReasonCard.RegisterEffectDuel.BreakEffectDuel.GetAttackTargetDuel.GetAttackerDuel.GetFieldGroupCountDuel.IsPlayerCanDrawDuel.RegisterEffectEffect.CreateEffectEffect.GetHandlerEffect.GetHandlerPlayerEffect.SetCategoryEffect.SetCodeEffect.SetConditionEffect.SetDescriptionEffect.SetOperationEffect.SetPropertyEffect.SetResetEffect.SetTargetEffect.SetTargetRangeEffect.SetTypeEffect.SetValueGroup.IsExistsRushDuel.DrawRushDuel.SelectAndDoActionRushDuel.SendToGraveAndExistsRushDuel.TargetDraw
Script
lua
local cm,m=GetID()
cm.name="无人衬词演唱猫盗贼"
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_DESTROYED)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_PLAYER_TARGET)
e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
--Activate
function cm.confilter(c,tp,rp)
return c:IsPreviousControler(tp) and c:IsPreviousLocation(LOCATION_MZONE)
and ((rp==1-tp and c:IsReason(REASON_EFFECT)) or c==Duel.GetAttackTarget())
end
function cm.filter(c)
return c:IsAbleToGrave()
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.confilter,1,nil,tp,rp)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,3) end
RD.TargetDraw(tp,3)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if RD.Draw()~=0 then
RD.SelectAndDoAction(HINTMSG_TOGRAVE,cm.filter,tp,LOCATION_HAND,0,1,99,nil,function(g)
Duel.BreakEffect()
if RD.SendToGraveAndExists(g) and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(1,0)
e1:SetCondition(cm.damcon)
e1:SetValue(1)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end)
end
end
function cm.damcon(e)
local tc=Duel.GetAttacker()
local tp=e:GetHandlerPlayer()
return tc and tc:IsControler(1-tp) and tc:IsLevelBelow(8)
end