Duel.SpecialSummon
Signature
Duel.SpecialSummon(Card|Group targets, int sumtype, int sumplayer, int target_player, bool nocheck, bool nolimit, int pos, [int zone]) -> intDescription
Special Summons targets to target_player's field in position pos and returns the number of cards successfully Summoned. sumplayer is the player performing the Summon and sumtype records the Summon type. nocheck skips Summoning-condition checks; nolimit skips revive-limit checks. Check zone availability and Card.IsCanBeSpecialSummoned before activation, then recheck needed zones during resolution if the Chain can change them. For revive-limit monsters, a successful Duel.SpecialSummon does not automatically mark the card as properly Summoned. Call Card.CompleteProcedure only when this resolving effect is intended to be that card's proper Summon method.
How To Use It
targets can be one Card or a Group. The return value is the number of cards actually Special Summoned, so check it if later steps depend on success.
sumplayer is the player performing the Summon. target_player is the player whose field receives the monster. For most simple effects, both are tp.
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if #g>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
endUse nocheck=true only when the effect intentionally ignores the monster's usual Summoning condition. Use nolimit=true only when the effect intentionally ignores the proper Summon/revive limit.
Related Functions
Parameters
targetsCard|Group- Card or Group to Special Summon.sumtypeint- Summon type value recorded for the Summon.sumplayerint- Player treated as performing the Special Summon.target_playerint- Player whose field receives the Summoned cards.nocheckbool- If true, skips Summoning-condition checks, including EFFECT_SPSUMMON_CONDITION-style restrictions.nolimitbool- If true, skips revive-limit and proper-Summon completion checks.posint- POS_* position mask for the Summon.zoneintoptional - Allowed Monster Zone bitmask; default: 0xff.
Returns
int- Number of cards successfully Special Summoned.
Source
D:\Programs\GitHub\ygopro-core\libduel.cpp:4873
Guided Examples
Learn how to use this function in context:
- Methods for Affecting Cards
- Fusion Procedure Guide
- Functions That Move Cards Across Locations
- Pendulum Procedure Guide
- Ritual Procedure Guide
- Special Summon-Only Monster Guide
More guided lessons (1)
Used By
Generated from the local Scripts/ folder and cards.cdb.
- Detected in 4684 indexed script(s).
- Search this function in the Script Explorer with
Duel.SpecialSummon.
Script Examples
Salamandra with Chain (62091148)
Source: Scripts/c62091148.lua
Duel.SendtoDeck(mat1,nil,SEQ_DECKSHUFFLE,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)Astrograph Sorcerer, the Starfrost Magician (48171151)
Source: Scripts/c48171151.lua
local c=e:GetHandler()
if not c:IsRelateToChain() then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)==0 then return end
local desg=Duel.GetTargetsRelateToChain():Filter(s.spfilter1,nil,e,tp)
if #desg>0 and Duel.SelectYesNo(tp,aux.Stringid(id,3)) thenArtmage Non-Finito (74631897)
Source: Scripts/c74631897.lua
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
elseif ce then
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)