Hmmm... where do I start.
Well I just started this whole coding thing yesterday so I'm not very good at it as I'm self taught.
I've managed to make 7 cards from the Doll Part Archtype so far which are:
Doll Part RedDoll Part GoldDoll Part BlueDoll Part PinkAlice the Wandering DollDoll ChimeraMarionette BurialNecro Doll MeisterThe first 4 are normal monsters so they were easy to make.
Alice is tricky, I have her first 2 effects working. (She can't be destroyed by battle and deals 500 damage when targeted) But her third effect isn't. (She is meant to change control after the damage step.
Doll Chimera I can't test yet as it can't be Normal Summoned or Set and Marionette Burial isn't working at all.
I'll put the codes for Alice, Chimera and Marionette here along with there effects, so you guys can help me pick out what's wrong with it. (Probably a lot)
Alice the Wandering Doll (FIXED Thanks to Eps, though the control effect triggers if she attacks due to the way I wrote it, I'll try and change it so that it only activates if she is attacked.)
This card cannot be destroyed by battle. When this card is selected as an attack target, inflict 500 damage to your opponent, then switch control of this card at the end of the Damage Step.
--Alice the Wandering Doll
function c16943293.initial_effect(c)
--battle indestructable
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(1)
c:RegisterEffect(e1)
--damage
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(16943293,0))
e2:SetCategory(CATEGORY_DAMAGE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_BE_BATTLE_TARGET)
e2:SetTarget(c16943293.damtg)
e2:SetOperation(c16943293.damop)
c:RegisterEffect(e2)
--Switch
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(16943293,0))
e3:SetCategory(CATEGORY_CONTROL)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_DAMAGE_STEP_END)
e3:SetTarget(c16943293.ctltg)
e3:SetOperation(c16943293.ctlop)
c:RegisterEffect(e3)
end
function c16943293.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(500)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,500)
end
function c16943293.damop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
end
function c16943293.ctltg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_CONTROL,e:GetHandler(),1,0,0)
end
function c16943293.ctlop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if not Duel.GetControl(c,1-tp) and not c:IsImmuneToEffect(e) and c:IsAbleToChangeControler() then
Duel.Destroy(c,REASON_EFFECT)
end
end
Doll Chimera
This card cannot be Normal Summoned or Set. This card cannot be Special Summoned except by its own effect or with "Marionette Burial". This card gains 400 ATK for each "Doll Part" monster in your Graveyard. When this card is destroyed and sent to the Graveyard, you can send 2 "Doll Part" monsters from your Deck to the Graveyard to Special Summon it.
--Doll Chimera
function c42005395.initial_effect(c)
c:EnableReviveLimit()
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAF_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
c:RegisterEffect(e1)
--atkup
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SerValue(c42005395.val)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(42005395,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SIGNLE+EFFECT_TYPE_TRIGGER_C)
e3:SetCode(EVENT_DESTROYED)
e3:SetCondition(c42005395.condition)
e3:SetCost(c42005395.cost)
e3:SetTarget(c42005395.target)
e3:SetOperation(c42005395.operation)
c:RegisterEffect(e3)
end
function c42005395.val(e,c)
return Duel.GetMatchingGroupCount(Card.IsSetcode,c:GetControler(),LOCATION_GRAVE,0,nil,SETCODE_1200)*400
end
function c42005395.condition(e,tp,eg,ep,ev,re,r,rp)
return e: GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_DESTROY)
end
function c42005395.cfilter(c)
return c:IsSetcode(SETCODE_1200) and c:IsAbleToGraveAsCost()
end
function c42005395.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c42005395.cfilter,tp,LOCATION_DECK,0,2,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c42005395.cfilter,tp,LOCATION_DECK,0,2,2,e:GetHandler())
Duel.SendtoGrave(g,REASON_COST)
end
function c42005395.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c42005395.operation(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
end
Marionette Burial (This one I had no idea how to make =/)
Activate only while you control a face-up "Alice the Wandering Doll". Send 1 face-up "Doll Part Blue", "Doll Part Red", "Doll Part Gold" and "Doll Part Pink" you control to the Graveyard. Special Summon 1 "Doll Chimera" from your Deck.
--Marionette Burial
function c62407465.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory)CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c62407465.condition)
e1:SetCost(c62407465.cost)
e1:SetTarget(c62407465.target)
e1:SetOperation(c62407465.operation)
c:RegisterEffect(e1)
end
function c62407465.cfilter(c)
return c:IsFaceup() and c:IdCode(16943293)
end
function c62407465.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c62407465.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
end
function c62407465.cost(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.IsExistingMatchingCard(c17751193+24505458+30290500+52927808.cfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c17751193+24505458+30290500+52927808.cfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c62407465.filter(c,e,tp)
return c:IsCode(42005395) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function c62407465.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c62407465.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end
function c62407465.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c62407465.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
end
end
ARTWORK! (These are heavily edited due to the only available pictures for the cards were either covered up or at odd angles, making the pictures having the borders of the cards in, that need covering. Necro Doll Meister is the card I had to edit the most, though I think it turned out the best.)
Doll Part Blue
Doll Part Pink
Doll Part Gold
Doll Part Red
Alice the Wandering Doll
Doll Chimera
Marionette Burial
Necro Doll Meister
Edited by user
2013-06-12T20:31:25Z
|
Reason: Not specified