--Archfiend's Paralysis function c155285.initial_effect(c) --Activate local e1=Effect.CreateEffect(c) e1:SetCategory(CATEGORY_NEGATE+CATEGORY_REMOVE) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetCode(EVENT_CHAINING) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e1:SetCondition(c155285.condition) e1:SetTarget(c155285.target) e1:SetOperation(c155285.activate) c:RegisterEffect(e1) --Activate 2 local e2=Effect.CreateEffect(c) e2:SetCategory(CATEGORY_NEGATE+CATEGORY_CONTROL) e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetCode(EVENT_CHAINING) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e2:SetCondition(c155285.condition2) e2:SetTarget(c155285.target2) e2:SetOperation(c155285.activate2) c:RegisterEffect(e2) end function c155285.cfilter(c) return c:IsFaceup() and c:IsSetCard(0x45) end function c155285.condition(e,tp,eg,ep,ev,re,r,rp) return rp~=tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev) and Duel.IsExistingMatchingCard(c155285.cfilter,tp,LOCATION_ONFIELD,0,1,nil) end function c155285.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return true end if re:GetHandler():IsRelateToEffect(re) and re:GetHandler():IsAbleToRemove() then Duel.SetOperationInfo(0,CATEGORY_REMOVE,re:GetHandler(),1,0,0) end end function c155285.activate(e,tp,eg,ep,ev,re,r,rp) Duel.NegateActivation(ev) if re:GetHandler():IsRelateToEffect(re) then Duel.Remove(re:GetHandler(),POS_FACEUP,REASON_EFFECT) end end function c155285.condition2(e,tp,eg,ep,ev,re,r,rp) local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION) return rp~=tp and re:IsActiveType(TYPE_MONSTER) and Duel.IsExistingMatchingCard(c155285.cfilter,tp,LOCATION_ONFIELD,0,1,nil) and Duel.IsChainNegatable(ev) and loc==LOCATION_MZONE end function c155285.target2(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return true end Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) if re:GetHandler():IsControlerCanBeChanged() and re:GetHandler():IsCanBeEffectTarget(e) and re:GetHandler():IsRelateToEffect(re) then Duel.SetTargetCard(eg) Duel.SetOperationInfo(0,CATEGORY_CONTROL,eg,1,0,0) end end function c155285.activate2(e,tp,eg,ep,ev,re,r,rp) Duel.NegateActivation(ev) local c=e:GetHandler() local tc=Duel.GetFirstTarget() if tc:IsRelateToEffect(e) and Duel.GetControl(tc,tp,nil,1)~=0 then local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetCode(EFFECT_ADD_SETCODE) e1:SetReset(RESET_EVENT+0x1fc0000) e1:SetValue(0x45) tc:RegisterEffect(e1) end end