--Conjoint Archfiend local cid,id=GetID() function cid.initial_effect(c) aux.AddOrigEvoluteType(c) c:EnableReviveLimit() aux.AddEvoluteProc(c,nil,7,cid.filter,1,99) --Conjoint Procedure aux.AddOrigConjointType(c) aux.EnableConjointAttribute(c,1) --actlimit local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_FIELD) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetTargetRange(0,1) e1:SetValue(1) e1:SetCondition(cid.actcon) c:RegisterEffect(e1) --disable local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_CONTINUOUS) e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetOperation(cid.disop) c:RegisterEffect(e2) local e3=e2:Clone() e3:SetCode(EVENT_BE_BATTLE_TARGET) c:RegisterEffect(e3) local e6=Effect.CreateEffect(c) e6:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_FIELD) e6:SetCode(EFFECT_DISABLE) e6:SetTargetRange(0,LOCATION_MZONE) e6:SetTarget(cid.distg) c:RegisterEffect(e6) local e7=e6:Clone() e7:SetCode(EFFECT_DISABLE_EFFECT) c:RegisterEffect(e7) end function cid.filter1(c,ec,tp) return c:IsAttribute(ATTRIBUTE_DARK) or c:IsRace(RACE_FIEND) end function cid.actcon(e) local c=e:GetHandler() return (Duel.GetAttacker()==c and c:GetBattleTarget()) or Duel.GetAttackTarget()==c end function cid.disop(e,tp,eg,ep,ev,re,r,rp) local tc=e:GetHandler():GetBattleTarget() if not tc then return end tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1) end function cid.distg(e,c) return c:GetFlagEffect(id)~=0 end