@@ -2708,8 +2708,10 @@ int32_t field::special_summon_rule(uint16_t step, uint8_t sumplayer, card* targe
27082708 info.limit_link_maxc = core.limit_link_maxc ;
27092709 target->filter_spsummon_procedure (sumplayer, &eset, summon_type, info);
27102710 target->filter_spsummon_procedure_g (sumplayer, &eset);
2711- if (!eset.size ())
2712- return TRUE ;
2711+ if (!eset.size ()) {
2712+ core.units .begin ()->step = 17 ;
2713+ return FALSE ;
2714+ }
27132715 core.select_effects .clear ();
27142716 core.select_options .clear ();
27152717 for (effect_set::size_type i = 0 ; i < eset.size (); ++i) {
@@ -2759,8 +2761,10 @@ int32_t field::special_summon_rule(uint16_t step, uint8_t sumplayer, card* targe
27592761 return FALSE ;
27602762 }
27612763 case 2 : {
2762- if (!returns.ivalue [0 ])
2763- return TRUE ;
2764+ if (!returns.ivalue [0 ]) {
2765+ core.units .begin ()->step = 17 ;
2766+ return FALSE ;
2767+ }
27642768 effect_set eset;
27652769 target->filter_effect (EFFECT_SPSUMMON_COST , &eset);
27662770 if (eset.size ()) {
@@ -2982,6 +2986,27 @@ int32_t field::special_summon_rule(uint16_t step, uint8_t sumplayer, card* targe
29822986 }
29832987 return TRUE ;
29842988 }
2989+ case 18 : {
2990+ if (core.limit_tuner ) {
2991+ core.limit_tuner = 0 ;
2992+ }
2993+ if (core.limit_syn ) {
2994+ pduel->delete_group (core.limit_syn );
2995+ core.limit_syn = 0 ;
2996+ }
2997+ if (core.limit_xyz ) {
2998+ pduel->delete_group (core.limit_xyz );
2999+ core.limit_xyz = 0 ;
3000+ }
3001+ if (core.limit_link_card ) {
3002+ core.limit_link_card = 0 ;
3003+ }
3004+ if (core.limit_link ) {
3005+ pduel->delete_group (core.limit_link );
3006+ core.limit_link = 0 ;
3007+ }
3008+ return TRUE ;
3009+ }
29853010 case 20 : {
29863011 // EFFECT_SPSUMMON_PROC_G (Pendulum Summon)
29873012 effect* peffect = core.units .begin ()->peffect ;
0 commit comments