Starving Venemy Dragon
- Card ID:
93729065 - Format: Standard
- Script:
Scripts/c93729065.lua
Stats
| Field | Value |
|---|---|
| Type | 0x1000061 |
| ATK | 2500 |
| DEF | 2000 |
| Level/Rank/Link | 0x1010007 |
| Race | 0x2000 |
| Attribute | 0x20 |
| Category | 0x84400000 |
Card Text
text
Pendulum Scale = 1
[ Pendulum Effect ]
Each time a card(s) is sent from the field to the GY, place 1 Venemy Counter on this card for each sent card.
All monsters on the field, except DARK Dragon monsters, lose 200 ATK for each Venemy Counter on the field.
Once per turn, you can reduce the battle damage you take to 0.
----------------------------------------
[ Monster Effect ]
1 DARK monster + 1 Pendulum Monster
You can target 1 face-up monster your opponent controls; until the End Phase, this card's name becomes that monster's original name and replace this effect with that monster's original effects, then, that monster loses 500 ATK/DEF, its effects are negated, also inflict 500 damage to your opponent.
You can only use this effect of "Starving Venemy Dragon" once per turn.
If this card in the Monster Zone is destroyed: You can place this card in your Pendulum Zone.Detected API Calls
Auxiliary.AddFusionProcFun2Auxiliary.EnablePendulumAttributeAuxiliary.FilterBoolFunctionAuxiliary.NegateMonsterFilterAuxiliary.StringidCard.CopyEffectCard.EnableReviveLimitCard.GetOriginalCodeCard.GetOriginalCodeRuleCard.IsAttributeCard.IsControlerCard.IsFaceupCard.IsFusionAttributeCard.IsFusionTypeCard.IsLocationCard.IsPreviousLocationCard.IsRaceCard.IsRelateToEffectCard.IsTypeCard.RegisterEffectCard.ResetEffectDuel.BreakEffectDuel.ChangeBattleDamageDuel.CheckLocationDuel.DamageDuel.GetCounterDuel.GetFirstTargetDuel.HintDuel.HintSelectionDuel.IsExistingTargetDuel.MoveToFieldDuel.NegateRelatedChainDuel.SelectTargetDuel.SelectYesNoDuel.SetOperationInfoEffect.CloneEffect.CreateEffectEffect.GetDescriptionEffect.GetHandlerEffect.GetLabel- ...and 21 more
Script
lua
--スターヴ・ヴェネミー・ドラゴン
function c93729065.initial_effect(c)
--fusion summon
c:EnableReviveLimit()
aux.EnablePendulumAttribute(c,false)
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_DARK),aux.FilterBoolFunction(Card.IsFusionType,TYPE_PENDULUM),true)
--counter
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetRange(LOCATION_PZONE)
e1:SetOperation(c93729065.counter)
c:RegisterEffect(e1)
--atkdown
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetTarget(c93729065.atktg)
e2:SetValue(c93729065.atkval)
c:RegisterEffect(e2)
--reduce to 0
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(93729065,0))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e3:SetRange(LOCATION_PZONE)
e3:SetCondition(c93729065.rdcon)
e3:SetOperation(c93729065.rdop)
c:RegisterEffect(e3)
--copy
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(93729065,1))
e4:SetCategory(CATEGORY_DISABLE+CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE+CATEGORY_DAMAGE)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,93729065)
e4:SetCost(c93729065.copycost)
e4:SetTarget(c93729065.copytg)
e4:SetOperation(c93729065.copyop)
c:RegisterEffect(e4)
--to pzone
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(93729065,2))
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_DESTROYED)
e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetCondition(c93729065.pencon)
e5:SetTarget(c93729065.pentg)
e5:SetOperation(c93729065.penop)
c:RegisterEffect(e5)
end
c93729065.mentioned_counter={
[0x104f]=true,
}
function c93729065.cfilter(c)
return c:IsPreviousLocation(LOCATION_ONFIELD)
end
function c93729065.counter(e,tp,eg,ep,ev,re,r,rp)
local ct=eg:FilterCount(c93729065.cfilter,nil)
if ct>0 then
e:GetHandler():AddCounter(0x104f,ct)
end
end
function c93729065.atktg(e,c)
return not (c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_DARK))
end
function c93729065.atkval(e,c)
return Duel.GetCounter(0,1,1,0x104f)*-200
end
function c93729065.rdcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and e:GetHandler():GetFlagEffect(93729066)==0
end
function c93729065.rdop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SelectYesNo(tp,aux.Stringid(93729065,3)) then
Duel.Hint(HINT_CARD,0,93729065)
Duel.ChangeBattleDamage(tp,0)
e:GetHandler():RegisterFlagEffect(93729066,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
end
function c93729065.copycost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(93729065)==0 end
e:GetHandler():RegisterFlagEffect(93729065,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c93729065.copyfilter(c)
return c:IsFaceup() and not c:IsType(TYPE_TOKEN)
end
function c93729065.copytg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and c93729065.copyfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c93729065.copyfilter,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c93729065.copyfilter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,500)
end
function c93729065.copyop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc and c:IsRelateToEffect(e) and c:IsFaceup() and tc:IsRelateToEffect(e) and tc:IsFaceup() then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local cid=0
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetValue(tc:GetOriginalCodeRule())
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
if not tc:IsType(TYPE_TRAPMONSTER) then
cid=c:CopyEffect(tc:GetOriginalCode(),RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,1)
end
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(93729065,4))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetLabelObject(e1)
e2:SetLabel(cid)
e2:SetOperation(c93729065.rstop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2)
Duel.BreakEffect()
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetValue(-500)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e4)
if aux.NegateMonsterFilter(tc) then
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_DISABLE)
e5:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_DISABLE_EFFECT)
e6:SetValue(RESET_TURN_SET)
e6:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e6)
end
Duel.Damage(1-tp,500,REASON_EFFECT)
end
end
function c93729065.rstop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local cid=e:GetLabel()
if cid~=0 then
c:ResetEffect(cid,RESET_COPY)
c:ResetEffect(RESET_DISABLE,RESET_EVENT)
end
local e1=e:GetLabelObject()
e1:Reset()
Duel.HintSelection(Group.FromCards(c))
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c93729065.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function c93729065.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function c93729065.penop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end