| | Author | Message |
---|
TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: List of requests Mon Nov 24, 2014 3:10 am | |
| I'm making a list of requests thread cause I have too many to put in separate threads. I'm hoping to get help with one or so at a time, not all at once so as not to feel overwhelming, and I'll update these as they get resolved (here in the OP, by changing the font color or something). I can provide the entire (failed) script for a card upon request (might just post them here in the OP) if any collaborators need them, or if I know it's just a minor syntax issue that someone else might know how to fix. I'll put green, orange or red (depending on how much work might need to be put into it, I'll organize them), the card text, underline the problem within the effect, make a short reiteration of all problems in bold and (maybe) the current problem script as text inside the spoiler. Once one of these is resolves, I'll remove them. EDIT: Fixed one by myself. No replies yet . No one can help? Maybe I went into too much detail for some of these. I have more and I'll try to fix those myself but some are just too difficult. ---------------------------------------------------------------------------- Green- Power Up!:
Target 1 face-up monster on the field you control named "MLP- Princess Twilight Sparkle", "MLP- Rainbow Dash", "MLP- Applejack", "MLP- Fluttershy", "MLP- Rarity" or "MLP- Pinkie Pie"; that target's ATK is doubled, until your opponent's next end phase. You can only activate 1 "Power Up!" per turn.
Problem: I just want to have the option to double defense as well, nothing too much (not both ATK and DEF, the option to pick DEF instead of ATK, I guess I should've made that more clear). Also wondering if there's a way to clean up the cfilter function, putting in c:IsFaceup() before each of them was pretty annoying, it also makes the script look sloppy. I had c:IsFaceup only before 60000001 and when I tested the rest of them, it didn't matter if they were face-down.
function c60000095.initial_effect(c) --Activate local e1=Effect.CreateEffect(c) e1:SetCategory(CATEGORY_ATKCHANGE) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetCode(EVENT_FREE_CHAIN) e1:SetCost(c60000095.cost) e1:SetTarget(c60000095.target) e1:SetOperation(c60000095.activate) c:RegisterEffect(e1) end function c60000095.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetFlagEffect(tp,60000095)==0 end Duel.RegisterFlagEffect(tp,60000095,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) end function c60000095.cfilter(c) return c:IsFaceup() and c:IsCode(60000001) or c:IsFaceup() and c:IsCode(60000002) or c:IsFaceup() and c:IsCode(60000003) or c:IsFaceup() and c:IsCode(60000004) or c:IsFaceup() and c:IsCode(60000005) or c:IsFaceup() and c:IsCode(60000006) end function c60000095.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c60000095.cfilter(chkc) end if chk==0 then return Duel.IsExistingTarget(c60000095.cfilter,tp,LOCATION_MZONE,0,1,nil) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.SelectTarget(tp,c60000095.cfilter,tp,LOCATION_MZONE,0,1,1,nil) end function c60000095.activate(e,tp,eg,ep,ev,re,r,rp) local tc=Duel.GetFirstTarget() if tc:IsRelateToEffect(e) and tc:IsFaceup() then local e1=Effect.CreateEffect(e:GetHandler()) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_SET_ATTACK) e1:SetValue(tc:GetAttack()*2) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END,2) tc:RegisterEffect(e1) end end
OrangeNone Red- MLP- Sprite Bot:
Pendulum Scale= 6 Pendulum Effect: The controller of this card cannot pendulum summon. Once per turn: you can pay 1,000 life points; add 1 spell card from your deck to your hand. When this card in the pendulum zone is destroyed: the controller of this card (when it was destroyed) takes 1000 damage. -------------------------------------------- Monster Effect: During your main phase: you can place this card from your hand to your opponent's pendulum zone OR set this card in your opponent's spell and trap zone as a trap card with the following effect: When this set card you control is destroyed: the controller of this card (when it was destroyed) takes 1000 damage, and this card returns to the hand.
Problem: Where to start? If I try to place it in the opponent's pendulum zone, nothing happens and it remains in my hand. If I change the place in opponent's pendulum zone effect from ignition to activate, it activates on my pendulum zone. I can't use the search effect unless I use the "archetypal" effect for activating spell cards so I think even if I get it to be placed on my opponent's pendulum zone, they couldn't use the search effect. At least you can't pendulum summon under it but that's because I omitted the pendulum summon mechanic from the script.
Another thing to note: the burn damage happens no matter where this card was destroyed from. I'll need to fix that.
Script: function c60000114.initial_effect(c) --splimit local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_FIELD) e1:SetRange(LOCATION_PZONE) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e1:SetTargetRange(1,0) e1:SetTarget(c60000114.splimit) c:RegisterEffect(e1) --tohand local e2=Effect.CreateEffect(c) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetType(EFFECT_TYPE_IGNITION) e2:SetRange(LOCATION_PZONE) e2:SetCountLimit(1) e2:SetCost(c60000114.thcost) e2:SetTarget(c60000114.thtg) e2:SetOperation(c60000114.thop) c:RegisterEffect(e2) --set local e3=Effect.CreateEffect(c) e3:SetDescription(aux.Stringid(60000114,0)) e3:SetType(EFFECT_TYPE_IGNITION) e3:SetRange(LOCATION_HAND) e3:SetCode(EFFECT_MONSTER_SSET) e3:SetValue(TYPE_TRAP) e3:SetOperation(c60000114.msop) c:RegisterEffect(e3) --place in opp's pzone local e4=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(60000114,1)) e4:SetType(EFFECT_TYPE_IGNITION) e4:SetCode(EVENT_FREE_CHAIN) e4:SetRange(LOCATION_HAND) e4:SetOperation(c60000114.pzop) c:RegisterEffect(e4) --damage local e5=Effect.CreateEffect(c) e5:SetCategory(CATEGORY_DAMAGE) e5:SetProperty(EFFECT_FLAG_CARD_TARGET) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e5:SetCode(EVENT_DESTROYED) e5:SetCondition(c60000114.dmgcon) e5:SetTarget(c60000114.dmgtg) e5:SetOperation(c60000114.dmgop) c:RegisterEffect(e5) end function c60000114.splimit(e,c,tp,sumtp,sumpos) return not bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM end function c60000114.thcost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.CheckLPCost(tp,1000) end Duel.PayLPCost(tp,1000) end function c60000114.thfilter(c) return c:IsType(TYPE_SPELL) and c:IsAbleToHand() end function c60000114.thtg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(c60000114.thfilter,tp,LOCATION_DECK,0,1,nil) end Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) end function c60000114.thop(e,tp,eg,ep,ev,re,r,rp) if not e:GetHandler():IsRelateToEffect(e) then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local g=Duel.SelectMatchingCard(tp,c60000114.thfilter,tp,LOCATION_DECK,0,1,1,nil) if g:GetCount()>0 then Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.ConfirmCards(1-tp,g) end end function c60000114.msop(e,tp,eg,ep,ev,re,r,rp,chk) local c=e:GetHandler() Duel.MoveToField(c,tp,1-tp,LOCATION_SZONE,POS_FACEDOWN,true) local e1=Effect.CreateEffect(c) e1:SetCode(EFFECT_CHANGE_TYPE) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetReset(RESET_EVENT+0x1fc0000) e1:SetValue(TYPE_TRAP) c:RegisterEffect(e1) end function c60000114.pzop(e,tp,eg,ep,ev,re,r,rp,chk) local c=e:GetHandler() Duel.MoveToField(c,tp,1-tp,LOCATION_PZONE,POS_FACEUP,true) local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetReset(RESET_EVENT+0x1fc0000) c:RegisterEffect(e1) end function c60000114.dmgcon(e,tp,eg,ep,ev,re,r,rp) return e:GetHandler():IsReason(REASON_DESTROY) and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) end function c60000114.dmgtg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return true end Duel.SetTargetPlayer(1-tp) Duel.SetTargetParam(1000) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1000) end function c60000114.dmgop(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
Last edited by TGAP-Trixie on Fri Jan 23, 2015 10:07 pm; edited 5 times in total (Reason for editing : Fixed a few) |
| | | TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: Re: List of requests Fri Jan 02, 2015 4:31 am | |
| So I know why sprite bot can't be placed on the opponent's pzone. Pzone is for setrange, which just checks if the card is there for effects (like how scout has to remain in the pzone to get the search effect). It's not a viable location for other things, for now anyways.
So until Komoney makes a card that can be placed in the opponent's pzone (even if it's just until the opp next ep), it's not possible to script it.
I'm keeping it here anyways in case I need it.
I'll be updating the list in the op with some more green ones (most of these are just cards that work 100% as intended but function kinda... oddly. For example, one seems to "destroy" my banished monsters and send them to the graveyard as part of its summoning condition) |
| | | StormWing0
Member Title : Over Creative Card Ideas Posts : 451 Join date : 2013-07-14 Age : 32 Location : Tacoma, WA
| Subject: Re: List of requests Fri Jan 02, 2015 6:02 pm | |
| hmm there are cards that get placed in the opponents zones so couldn't we just add to the list of selections to include their pzones? |
| | | TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: Re: List of requests Fri Jan 02, 2015 10:36 pm | |
| I've thought of doing that, but I haven't bothered. Even if it works for me though, it won't for other people unless they add in that code themselves (which shouldn't take 30 seconds tbh but most ppl probably wouldn't know where to look).
I think cards in the pendulum zone HAVE to be activated first as well, so simply placing it won't work, at least I think. I was trying to add it to the opponent's hand and forcing them to activate it as a way to workaround but I couldn't figure out how to do that xD |
| | | StormWing0
Member Title : Over Creative Card Ideas Posts : 451 Join date : 2013-07-14 Age : 32 Location : Tacoma, WA
| Subject: Re: List of requests Sat Jan 03, 2015 2:05 am | |
| If I remember right Pendulums are activated like spells. So if we hunt through the spell card activation code, the pendulum activation code and the cards that change sides like Lava Golem since it starts out on the opponent's side of the field. |
| | | TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: Re: List of requests Sat Jan 03, 2015 3:57 am | |
| Ah I was thinking of just adding in LOCATION_PZONE in the constant file xD That sounds like a better idea though, I'll try that out real quick |
| | | StormWing0
Member Title : Over Creative Card Ideas Posts : 451 Join date : 2013-07-14 Age : 32 Location : Tacoma, WA
| Subject: Re: List of requests Sat Jan 03, 2015 4:11 am | |
| I'd test it with a simple spell card first to see if you can activate it to your opponent's side of the field than try and figure out how to activate a pendulum to the opponent's pendulum zone from that.
Here's a simple tester based off of what I've seen so far.
Slow Curse Continuous Spell When this card is first activated it is activated to your opponent's side of the field. The controller of this card takes 1000 life points of damage each standby phase.
It's simple and easy to work with. No idea what to do for an image though but the effect itself is what is needed more than anything and simple enough to work with too. The first part activates it to the opponent's field and the second part does something useful when it gets there. If the first part is able to be gotten working than it could be reworked for pendulums.
Also in the pendulum activation isn't there something that sets what side of the field it is for? There should be for the lava golem effect. Not sure if it can be reworked to other cards though. |
| | | TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: Re: List of requests Sun Jan 04, 2015 2:46 am | |
| I think you're thinking I know more than I do xD. No for the pendulum activation; it's the exact same as activating a field spell or a continuous spell that does nothing upon activation, the system just knows it must be placed in your pzone due to it being a pendulum monster. I think it's also the same as your own cards getting sent back to your graveyard. Lava golem wasn't good because it has to tribute monsters. I tried it but it was confusing. So I used wilent wobby instead but now I don't even have the option to activate it (If i press activate, it just sets it in the opps s/t zone for the other effect). But yes, lava golem did have a settargetrange set as (FACEUP,0) I believe. Wobby doesn't. Both of these cards also special summon, so instead of duel.specialsummon I used duel.movetofield but it still doesn't work. Here's what I have now for that effect - Code:
--place in opp's pzone local e4=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(60000114,1)) e4:SetType(EFFECT_TYPE_ACTIVATE) e4:SetCode(EVENT_FREE_CHAIN) e4:SetRange(LOCATION_HAND) e4:SetTargetRange(POS_FACEUP,1) e4:SetTarget(c60000114.pztg) e4:SetOperation(c60000114.pzop) c:RegisterEffect(e4) function c60000114.pztg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetLocationCount(1-tp,LOCATION_PZONE,tp)>0 and e:GetHandler():GetActivateEffect(e,1,tp,false,false,POS_FACEUP,1-tp) end Duel.SetOperationInfo(0,CATEGORY_ACTIVATE,e:GetHandler(),1,0,0) end function c60000114.pzop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() if c:IsRelateToEffect(e) then Duel.MoveToField(c,1,tp,1-tp,false,false,POS_FACEUP) end end
|
| | | TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: Re: List of requests Fri Jan 23, 2015 10:13 pm | |
| Knocked off two, one of which (Enigma) I'm not 100% sure works. It needs to destroy as cost and I don't know of any cards that do so I wasn't able to word the destruction part as a cost in the script... though it's part of the cost function. It works well enough I guess, hopefully there's no problems.
As for big mac, it seems like it sometimes makes the destruction sound when cards are returned from the banished zone to the graveyard.
Not enough examples for Power up for me to know how to make it give an option to increase DEF instead of ATK, hopefully someone else knows.
And sprite bot I just don't think will be possible for quite a while unfortunately. Ideas are still nice. I might just make it add itself to the opponent's hand and forcefully activate itself as a workaround if that's easier to do. |
| | | StormWing0
Member Title : Over Creative Card Ideas Posts : 451 Join date : 2013-07-14 Age : 32 Location : Tacoma, WA
| Subject: Re: List of requests Sat Jan 24, 2015 3:25 am | |
| Need someone to help test the cards? |
| | | TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: Re: List of requests Sat Jan 24, 2015 8:03 pm | |
| I've done testing within the archetypes, but not extensive testing to see if the card wouldn't work in some bizarre situation. I've retested many other cards as well and keep finding something wrong with them but I never list them here because they're easy fixes. Like right now there's one that's part of the radical archetype (Tenebrous) but because it's always treated as an MLP Divine monster, I can't use the archetypal honest card with it, since it requires a DARK "Radical" monster to be battling. But instead of dealing with that I just fixed the text to say it's not treated as a "Radical" monster on field. The new script for Orcus and enigma I'll list below. In a little bit, I'll probably also update the mlp archetype for hopefully the final time in a while (I'll give it to like halfway into season 5 of mlp before I make more mlp stuff ) so if you want to test orcus and enigma within their archetypes, you can. Orcus (Yes you can use his effect to get around oni raigeki if that's one thing you were gonna test): - Code:
-
function c60000131.initial_effect(c) c:EnableReviveLimit() --Negate local e1=Effect.CreateEffect(c) e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_QUICK_O) e1:SetCode(EVENT_CHAINING) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e1:SetRange(LOCATION_MZONE) e1:SetCondition(c60000131.discon) e1:SetCost(c60000131.discost) e1:SetTarget(c60000131.distg) e1:SetOperation(c60000131.disop) c:RegisterEffect(e1) --copy spell local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_IGNITION+EFFECT_TYPE_FIELD) e2:SetRange(LOCATION_MZONE) e2:SetCode(EVENT_FREE_CHAIN) e2:SetHintTiming(0,0x1e1) e2:SetCountLimit(1) e2:SetCost(c60000131.copcost) e2:SetTarget(c60000131.coptg) e2:SetOperation(c60000131.copop) c:RegisterEffect(e2) end function c60000131.discon(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() if ep==tp or c:IsStatus(STATUS_BATTLE_DESTROYED) then return false end return (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(ev) end function c60000131.costfilter(c) return c:IsSetCard(0x202) and c:IsType(TYPE_MONSTER) and c:IsAbleToGraveAsCost() end function c60000131.discost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(c60000131.costfilter,tp,LOCATION_HAND,0,1,nil) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) local g=Duel.SelectMatchingCard(tp,c60000131.costfilter,tp,LOCATION_HAND,0,1,1,nil) Duel.SendtoGrave(g,REASON_COST) end function c60000131.distg(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():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0) end end function c60000131.disop(e,tp,eg,ep,ev,re,r,rp) Duel.NegateActivation(ev) if re:GetHandler():IsRelateToEffect(re) then Duel.Destroy(eg,REASON_EFFECT) end end function c60000131.copfilter(c) return c:GetType()==0x2 and c:IsAbleToRemoveAsCost() and c:CheckActivateEffect(false,true,false)~=nil end function c60000131.copcost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(c60000131.copfilter,tp,LOCATION_GRAVE,0,1,nil) end Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(58242947,0)) local g=Duel.SelectMatchingCard(tp,c60000131.copfilter,tp,LOCATION_GRAVE,0,1,1,nil) local te=g:GetFirst():CheckActivateEffect(false,true,true) c60000131[Duel.GetCurrentChain()]=te Duel.Remove(g,POS_FACEUP,REASON_COST) end function c60000131.coptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) local te=c60000131[Duel.GetCurrentChain()] if chkc then local tg=te:GetTarget() return tg(e,tp,eg,ep,ev,re,r,rp,0,true) end if chk==0 then return true end if not te then return end e:SetCategory(te:GetCategory()) e:SetProperty(te:GetProperty()) local tg=te:GetTarget() if tg then tg(e,tp,eg,ep,ev,re,r,rp,1) end end function c60000131.copop(e,tp,eg,ep,ev,re,r,rp) local te=c60000131[Duel.GetCurrentChain()] if not te then return end local op=te:GetOperation() if op then op(e,tp,eg,ep,ev,re,r,rp) end end Recap of effect:Can only be ritual summoned with the ritual spell "Underworld Offering". When your opponent activates a spell card, trap card or effect monster's effect: you can send 1 "Radical" monster from your hand to the graveyard; negate the activation and if you do, destroy that card. Once per turn: you can banish 1 normal spell card in your graveyard, and if you do; activate that card's effect. Enigma: - Code:
-
function c60000072.initial_effect(c) c:SetUniqueOnField(1,0,60000072) --fusion material c:EnableReviveLimit() aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsSetCard,0x206),aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_EARTH),true) --spsummon condition local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetCode(EFFECT_SPSUMMON_CONDITION) c:RegisterEffect(e1) --special summon rule local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_FIELD) e2:SetCode(EFFECT_SPSUMMON_PROC) e2:SetProperty(EFFECT_FLAG_UNCOPYABLE) e2:SetRange(LOCATION_EXTRA) e2:SetCondition(c60000072.spcon) e2:SetOperation(c60000072.spop) c:RegisterEffect(e2) --equip local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_IGNITION) e3:SetDescription(aux.Stringid(60000072,0)) e3:SetCategory(CATEGORY_EQUIP) e3:SetRange(LOCATION_MZONE) e3:SetCountLimit(1) e3:SetTarget(c60000072.eqtg) e3:SetOperation(c60000072.eqop) c:RegisterEffect(e3) --desequip/reequip local e4=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(60000072,1)) e4:SetCategory(CATEGORY_EQUIP) e4:SetType(EFFECT_TYPE_IGNITION) e4:SetProperty(EFFECT_FLAG_CARD_TARGET) e4:SetRange(LOCATION_MZONE) e4:SetCountLimit(1) e4:SetCost(c60000072.recost) e4:SetTarget(c60000072.retg) e4:SetOperation(c60000072.reop) c:RegisterEffect(e4) --cannot spsummon from extra local e5=Effect.CreateEffect(c) e5:SetType(EFFECT_TYPE_FIELD) e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e5:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e5:SetRange(LOCATION_MZONE) e5:SetTargetRange(0,1) e5:SetTarget(c60000072.sumlimit) c:RegisterEffect(e5) end function c60000072.spfilter1(c,tp) return c:IsSetCard(0x206) and c:IsCanBeFusionMaterial() and Duel.CheckReleaseGroup(tp,c60000072.spfilter2,1,c) end function c60000072.spfilter2(c) return c:IsAttribute(ATTRIBUTE_EARTH) and c:IsCanBeFusionMaterial() end function c60000072.spcon(e,c) if c==nil then return true end local tp=c:GetControler() return Duel.GetLocationCount(tp,LOCATION_MZONE)>-2 and Duel.CheckReleaseGroup(tp,c60000072.spfilter1,1,nil,tp) end function c60000072.spop(e,tp,eg,ep,ev,re,r,rp,c) local g1=Duel.SelectReleaseGroup(tp,c60000072.spfilter1,1,1,nil,tp) local g2=Duel.SelectReleaseGroup(tp,c60000072.spfilter2,1,1,g1:GetFirst()) g1:Merge(g2) c:SetMaterial(g1) Duel.Release(g1,REASON_COST) end function c60000072.eqfilter(c) return c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_MONSTER) and not c:IsHasEffect(EFFECT_NECRO_VALLEY) end function c60000072.eqtg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(c60000072.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED) end function c60000072.eqop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if c:IsFacedown() or not c:IsRelateToEffect(e) then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) local g=Duel.SelectMatchingCard(tp,c60000072.eqfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil) local tc=g:GetFirst() if tc then if not Duel.Equip(tp,tc,c,true) then return end local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_EQUIP_LIMIT) e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetValue(c60000072.eqlimit) tc:RegisterEffect(e1) end end function c60000072.eqlimit(e,c) return e:GetOwner()==c and not c:IsDisabled() end function c60000072.refilter(c) return c:IsFaceup() and c:IsType(TYPE_EQUIP) and c:IsDestructable() end function c60000072.recost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(c60000072.refilter,tp,LOCATION_SZONE,0,1,nil) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local g=Duel.SelectMatchingCard(tp,c60000072.refilter,tp,LOCATION_SZONE,0,1,1,nil) Duel.Destroy(g,REASON_COST) end function c60000072.reeqfilter(c) return c:IsFaceup() and c:IsType(TYPE_MONSTER) and c:IsAbleToChangeControler() end function c60000072.retg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c60000072.reeqfilter(chkc) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(c60000072.reeqfilter,tp,0,LOCATION_MZONE,1,nil) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) local g=Duel.SelectTarget(tp,c60000072.reeqfilter,tp,0,LOCATION_MZONE,1,1,nil) Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0) end function c60000072.reeqlimit(e,c) return e:GetOwner()==c and not c:IsDisabled() end function c60000072.reop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local tc=Duel.GetFirstTarget() if tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsFaceup() and c:IsRelateToEffect(e) then local atk=tc:GetTextAttack() if atk<0 then atk=0 end if not Duel.Equip(tp,tc,c,false) then return end --Add Equip limit local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_COPY_INHERIT) e1:SetCode(EFFECT_EQUIP_LIMIT) e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetValue(c60000072.reeqlimit) tc:RegisterEffect(e1) end end end function c60000072.sumlimit(e,c,sump,sumtype,sumpos,targetp,se) return c:IsLocation(LOCATION_EXTRA) end Recap of effect:1 "Timberwolf" monster + 1 EARTH monster Must be special summoned (from your extra deck) by tributing the above cards you control, and cannot be special summoned by other ways. (You do not use "Polymerization") Once per turn: you can equip 1 EARTH monster in your graveyard or banished zone to this card. Once per turn: You can destroy 1 equip card you control; equip 1 monster your opponent controls to this card. Your opponent cannot special summon from the extra deck. You can only control 1 "MLP Timberwolf- Enigma". One thing I did not test was destroying an equip card you control but not equipped to this card. Also a trap card equipped to this card that you control like fiendish chain on itself. It should be able to destroy fiendish chain since it is a cost to destroy, but idk if it even can destroy trap cards. It does destroy monsters equipped to it though. |
| | | TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: Re: List of requests Sat Jan 31, 2015 6:04 am | |
| K so enigma does work 100%, and I'm wrong about fiendish chain. It's not treated as an equip card. With Enimga under fiendish chain I can destroy equip cards, even trap cards that equip, as a cost, without the effect of equipping an opponent's monster resolving. So if anybody needs anything that destroys as a cost, you can use enigma's destroy and requip effect for that I guess Orcus I'm also confident works 100% as intended now finally. I need help on another card, the effect I need is for a continuous trap card that reads "After resolving a counter trap card(s) you control, you can set that card(s) instead of sending it to the graveyard." Here's what I have so far - Code:
function c60000121.initial_effect(c) --set counter traps local e2=Effect.CreateEffect(c) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetCode(EVENT_CHAIN_SOLVED) e2:SetRange(LOCATION_SZONE) e2:SetCondition(c60000121.setcon) e2:SetTarget(c60000121.settg) e2:SetOperation(c60000121.setop) c:RegisterEffect(e2) end function c60000121.setcon(e,tp,eg,ep,ev,re,r,rp) return re:IsActiveType(TYPE_COUNTER) and re:IsHasType(EFFECT_TYPE_ACTIVATE) end function c60000121.settg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return e:GetHandler():IsRelateToEffect(e) and e:GetHandler():IsFaceup() end Duel.SetTargetPlayer(tp) Duel.SetTargetParam(1) Duel.SetTargetCard(e) end function c60000121.setop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() if c:IsRelateToEffect(e) and c:IsCanTurnSet() then Duel.BreakEffect() c:CancelToGrave() Duel.SSet(tp,c) end end
|
| | | TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: Re: List of requests Tue Feb 03, 2015 8:25 pm | |
| Figured it out myself. For anyone else who's interested (I know I'm gonna do one for traptrix), here's the code. - Code:
function cxxxxxxxx.initial_effect(c) --set counter traps local e2=Effect.CreateEffect(c) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetCode(EVENT_CHAIN_SOLVED) e2:SetRange(LOCATION_SZONE) e2:SetCondition(cxxxxxxxx.setcon) e2:SetOperation(cxxxxxxxx.setop) c:RegisterEffect(e2) end function cxxxxxxxx.setcon(e,tp,eg,ep,ev,re,r,rp) return re and re:IsActiveType(TYPE_COUNTER) and re:IsHasType(EFFECT_TYPE_ACTIVATE) end function cxxxxxxxx.setop(e,tp,eg,ep,ev,re,r,rp) local c=re:GetHandler() if not re:GetHandler():IsType(TYPE_COUNTER) then return end Duel.Hint(HINT_CARD,0,xxxxxxxx) Duel.BreakEffect() c:CancelToGrave() if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_EFFECT) end if Duel.SelectYesNo(tp,aux.Stringid(xxxxxxxx,0)) then Duel.ChangePosition(c,POS_FACEDOWN) return true else return Duel.SendtoGrave(c,REASON_RULE) end end
Not 100% sure it's coded right but it does work as intended. I had to add that last bit about sending it to grave because it would just linger on the field face-up without it |
| | | TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: Re: List of requests Thu Feb 12, 2015 6:12 am | |
| |
| | | TGAP-Trixie
Member Title : Trixie does not even... Posts : 273 Join date : 2014-04-17
| Subject: Re: List of requests Sun Mar 22, 2015 12:36 am | |
| I need help with a card, its effect is: 2 Level 4 Spellcaster-type monsters When this card is Xyz summoned: target 1 monster on the field, except "MLP Unicorn- Starlight Glimmer"; as long as this card remains face-up on the field, the ATK, DEF, level, attribute, monster type, name and effect(s) of all other monsters on the field become that of the targeted monster. If this face-up card would be destroyed, you can detach 1 Xyz material from this card instead. - code:
- Code:
-
function c60000107.initial_effect(c) --xyz summon aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_SPELLCASTER),4,2) c:EnableReviveLimit() --equalizer local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCondition(c60000107.equcon) e1:SetTarget(c60000107.equtg) e1:SetOperation(c60000107.equop) c:RegisterEffect(e1) --destroy replace local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetCode(EFFECT_DESTROY_REPLACE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetRange(LOCATION_MZONE) e2:SetTarget(c60000107.reptg) c:RegisterEffect(e2) end function c60000107.equcon(e,tp,eg,ep,ev,re,r,rp) return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ end function c60000107.equfilter(c) return c:IsFaceup() and c:GetCode()~=60000107 end function c60000107.equfilter2(c) return c:IsFaceup() and not c:IsType(TYPE_XYZ) end function c60000107.equtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsLocation(LOCATION_MZONE) and c60000107.equfilter(chkc) and chkc~=e:GetHandler() end if chk==0 then return Duel.IsExistingTarget(c60000107.equfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler()) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.SelectTarget(tp,c60000107.equfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,e:GetHandler()) end function c60000107.equop(e,tp,eg,ep,ev,re,r,rp) --equalizer effect local c=e:GetHandler() local tc=Duel.GetFirstTarget() if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then local g=Duel.GetMatchingGroup(c60000107.equfilter2,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local code=tc:GetOriginalCode() local lc=g:GetFirst() local lv=tc:GetLevel() local rc=tc:GetRace() local atk=tc:GetAttack() local def=tc:GetDefence() local att=tc:GetAttribute() while lc do local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_FIELD) e1:SetProperty(EFFECT_FLAG_COPY_INHERIT) e1:SetCode(EFFECT_CHANGE_RACE) e1:SetValue(rc) c:RegisterEffect(e1) lc=g:GetNext() local e2=e1:Clone() e2:SetCode(EFFECT_SET_BASE_ATTACK) e2:SetValue(atk) c:RegisterEffect(e2) lc=g:GetNext() local e3=e1:Clone() e3:SetCode(EFFECT_SET_BASE_DEFENCE) e3:SetValue(def) c:RegisterEffect(e3) lc=g:GetNext() local e4=e1:Clone() e4:SetCode(EFFECT_CHANGE_ATTRIBUTE) e4:SetValue(att) c:RegisterEffect(e4) lc=g:GetNext() local e5=e1:Clone() e5:SetCode(EFFECT_CHANGE_LEVEL) e5:SetValue(lv) c:RegisterEffect(e5) lc=g:GetNext() local e6=Effect.CreateEffect(c) e6:SetType(EFFECT_TYPE_FIELD) e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e6:SetCode(EFFECT_CHANGE_CODE) e6:SetValue(code) c:RegisterEffect(e6) lc=g:GetNext() end end end function c60000107.reptg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_EFFECT) end if Duel.SelectYesNo(tp,aux.Stringid(60000107,0)) then e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_EFFECT) return true else return false end end
I swear I've messed around and done it before where I messed around and changed all kinds stuff for other monsters on the field but what i've tried doesn't work. Any help? It's not the same as copying dna transplant/surgery since you declare for that and here you target a monster already on the field |
| | | Sponsored content
| Subject: Re: List of requests | |
| |
| | | |
Similar topics | |
|
| Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| Who is online? | In total there are 2 users online :: 0 Registered, 0 Hidden and 2 Guests None Most users ever online was 270 on Sun Apr 11, 2021 4:35 pm |
Latest topics | » Goodbye allMon Aug 08, 2016 7:53 pm by Zenas» [PLEASE READ] [VERY IMPORTANT] MACKPRO REVIVALMon Aug 08, 2016 7:47 pm by Zenas» D.D. Dragons vs KozmosSun Jul 10, 2016 11:02 pm by cane_63106» Where's everyone?!Sat May 28, 2016 2:58 am by cane_63106» Mech Archetype (crappy it be, maybe you guys would like it)Sun May 15, 2016 1:11 pm by barti02» My Assassin ArchetypeSun May 15, 2016 1:10 pm by barti02» SO I have a "NEW ARCHETYPE THE "WolfPack"Sun May 15, 2016 12:35 pm by barti02» Fusion monster doesn't appear in extra deck? Sat Apr 30, 2016 9:02 pm by Marc1» Mackpro update 10/6/2015Sat Apr 02, 2016 6:36 pm by Hulkty» Bionicle Cards AKA Japanese Children's Cardgames on Swedish Toy RobotsSun Mar 06, 2016 9:37 am by Utso |
|