|
15 | 15 | \(quick effect\):| |
16 | 16 | from your deck to your hand| |
17 | 17 | except "| |
18 | | -special summon | |
19 | 18 | you cannot special summon for the rest of this turn, except| |
20 | | -draw| |
| 19 | +special summon | |
| 20 | +draw | |
21 | 21 | cannot be normal summoned| |
22 | 22 | must be special summoned by its own effect| |
23 | 23 | must be special summoned by a card effect| |
24 | 24 | must first be special summoned by| |
25 | 25 | must first be special summoned by its own effect| |
| 26 | +<contemp>| |
| 27 | +<targettemp>| |
| 28 | +<opertemp>| |
26 | 29 | 1 | |
27 | 30 | 2 | |
28 | 31 | 3 | |
@@ -113,15 +116,24 @@ def scriptranslate(psct): |
113 | 116 | case 'except "': |
114 | 117 | return (res[0],1,'<filter>','not c:IsCode(id) and <filter>','<add func>','s.listed_names={id}\n<add func>') |
115 | 118 |
|
116 | | - case 'special summon ': |
117 | | - return (res[0],1,'<add func>',base_filter)+add_target+add_operation+('<expand effect>','e1:SetCategory(CATEGORY_SPECIAL_SUMMON)\n <expand effect>','<edit target>','if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0\n and Duel.IsExistingMatchingCard(s.filter,tp,<from>,0,1,nil,e,tp) end\n Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,<from>)\n <edit target>','<edit operation>','if Duel.GetLocationCount(tp,LOCATION_MZONE)<<amount> then return end\n Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)\n local g=Duel.SelectMatchingCard(tp,s.filter,tp,<from>,0,1,<amount>,nil,e,tp)\n if #g>Duel.GetLocationCount(tp,LOCATION_MZONE) then\n Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)\n <edit operation>') |
118 | | - |
119 | 119 | case 'you cannot special summon for the rest of this turn, except': |
120 | 120 | return (res[0],1)+add_operation+('<edit operation>','local e1=Effect.CreateEffect(c)\n e1:SetDescription(aux.Stringid(id,2))\n e1:SetType(EFFECT_TYPE_FIELD)\n e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)\n e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)\n e1:SetTargetRange(1,0)\n e1:SetTarget(s.splimit)\n e1:SetReset(RESET_PHASE+PHASE_END)\n Duel.RegisterEffect(e1,tp)\n <edit operation>','<add func>','function s.splimit(e,c)\n return not <filter>\nend\n<add func>') |
121 | 121 |
|
| 122 | + case 'special summon ': |
| 123 | + return (res[0],1,'<add func>',base_filter)+add_target+add_operation+('<expand effect>','e1:SetCategory(CATEGORY_SPECIAL_SUMMON)\n <expand effect>','<edit target>','if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0\n and Duel.IsExistingMatchingCard(s.filter,tp,<from>,0,1,nil,e,tp) end\n Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,<from>)\n <edit target>','<edit operation>','if Duel.GetLocationCount(tp,LOCATION_MZONE)<<amount> then return end\n Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)\n local g=Duel.SelectMatchingCard(tp,s.filter,tp,<from>,0,1,<amount>,nil,e,tp)\n if #g>Duel.GetLocationCount(tp,LOCATION_MZONE) then\n Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)\n <edit operation>') |
| 124 | + |
122 | 125 | case 'draw': |
123 | 126 | return (res[0],1,'<expand effect>','e1:SetCategory(CATEGORY_DRAW)\n e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)\n <expand effect>')+add_target+add_operation+('<edit target>','if chk==0 then return Duel.IsPlayerCanDraw(tp,<amount>) end\n Duel.SetTargetPlayer(tp)\n Duel.SetTargetParam(<amount>)\n Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)\n <edit target>','<edit operation>','local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)\n Duel.Draw(p,d,REASON_EFFECT)\n <edit operation>') |
124 | 127 |
|
| 128 | + case '<contemp>': |
| 129 | + return (res[0],1)+add_condition |
| 130 | + |
| 131 | + case '<targettemp>': |
| 132 | + return (res[0],1)+add_target |
| 133 | + |
| 134 | + case '<opertemp>': |
| 135 | + return (res[0],1)+add_operation |
| 136 | + |
125 | 137 | case '1 ': |
126 | 138 | return (res[0],99,'<amount>','1') |
127 | 139 | case '2 ': |
|
0 commit comments