YGOPRO Forum

Welcome Guest! To enable all features please try to register or login.
Options
Go to last post Go to first unread
Michael Lawrence Dee  
#1 Posted : Friday, November 03, 2017 12:18:14 AM(UTC)
Michael Lawrence Dee

Rank: Advanced Member

Joined: 1/28/2014(UTC)
Posts: 8,804

Thanks: 730 times
Was thanked: 1337 time(s) in 1077 post(s)
So here's the thing, the new update will affect your Customs if synced with the previous Percy version, and will cause tons of bugs, or simply, obsolete.

IMPORTANT! These will be bugged if not updated.
1. Main Synchro Proc -
aux.AddSynchroProcedure(c,f1,min1,max1,f2,min2,max2,sub1,sub2,req1,reqct1,req2,reqct2,reqm)
f1 - tuner filter - no need to state it's a Tuner, Procedure will handle that.
min1 - minimum number of tuners
max1 - maximum number of tuners - see Double Tuners
f2 - non-Tuner filter - you need to state being a non-Tuner due to Gottoms, Life Stream which allows Tuners to be used
min2 - minimum number of non-Tuners
max2 - maximum number of non-Tuners
sub1 - Substitute to Tuner - see Nirvana High Paladin
sub2 - Substitute to non-Tuner - for consistency
req1 - Required Material filter
reqct1 - Required number of req1
req2 - Required non-Tuners - See Anime Crystal Wing
reqct2 - Required number of req2
reqm - Required Materials - Currently used in Anime Gofu

2. Any Special Synchro Summoning may be bugged - no general solution for now, post a new topic and we'll try to answer back.

3. removal of functions - IsFusionAttribute, IsFusionType, IsSynchroType, IsXyzType, IsLinkType are now removed and as replacement, we allowed IsAttribute, IsType and IsRace to take in new parameters:
(c,val,scard,sumtype,tp) - where scard is the monster to use it as Material, Summon_type, and tp which is the player. Also note of the change concerning Auxiliary.FilterEqualFunction(f,value,a,b,c) to Auxiliary.FilterBoolFunctionEx(f,value) for Card.IsType, IsRace and IsAttribute.

4. Listed names previously used cXXX.card_code_list, which we now changed to cXXX.listed_names as it is much more obvious than the previous variable name.

If a function at the end would be left nil, you can cut it off.

Somewhat important.
1. Non-Tuner Aux Filtering - Auxiliary.NonTuner(f,a,b,c) vs Auxiliary.NonTunerEx(f,val)
Anything with Ex in the utility is used for Card.IsAttribute, Card.IsType and Card.IsRace so be wary of that to avoid errors.

2. New Fusion Proc - Auxiliary.AddFusionProcMix(c,sub,insf,...)
Backwards compatibility is still supported but I would advise updating.
sub - bool - allow Substitute for Summon
insf - bool - allow no materials such as Instant Fusion
... - any number of codes/conditions

3. New Fusion Proc * n - Auxiliary.AddFusionProcMixN(c,sub,insf,...)
same as above except by pairs since we check the code/condition and the number of each
so code/con,fixed_number
Example: 1 "Gladiator Beast some name" + 2 "Gladiator Beast" monsters.

4. New Fusion Proc - code/con * minc-maxc + ... - Auxiliary.AddFusionProcMixRep(c,sub,insf,fun1,minc,maxc,...)
Now this one, allows 1 Material to have a minimum/maximum, ... is the filters
e.g. any number (1 - 99) of Machine-Type monsters + "Cyber Dragon"

5. Card.Register hardcodes - we added functions only touched by Anime Cards however, this takes quite the space so we added it in a fashionable and shorter way. Notice cards with RegisterEffect(e1,false,1) in Xyzs for example.
the false == nil == no extra parameter. It converts to false by default.
1 == effects that detach xyz material to activate
2 == Cardian Summoning Condition
Currently, only 2 values are available, also, you can add any number of them, separated by comma so it's possible to have c:RegisterEffect(e1,false,1,2)

Further optional Stuff.
1. Majestic Synchros - Auxiliary.AddMajesticSynchroProcedure(c,f1,cbt1,f2,cbt2,f3,cbt3,...)
Majestic Synchros only require 1 Tuner for their Summon, but you can have more than 1.
f1,f2,f3 - materials - example: Majestic Dragon, Stardust Dragon and the non-Tuner for Majestic Star
cbt1,cbt2,cbt3 - bools - if the material can be the tuner for the Summon. In this case, Majestic Dragon and Stardust are set to true, using Phantom King Hydride as your Tuner is not allowed as it is set to false.
... - infinite number of parameters, by 2s. Required Material Filter, and how many are required to be used.

2. Dark Synchros - Auxiliary.AddDarkSynchroProcedure(c,f1,f2,plv,nlv,...)
f1 - non-Tuner (must be filtered)
f2 - Dark Tuner
plv - Target Level (as positive number)
nlv - Target Level (when affected by Dark Wave, as positive number)
... - infinite number of required materials

3. Xyzs with Special Requirement - Auxiliary.AddXyzProcedure(c,f,lv,ct,alterf,desc,maxct,op,mustbemat,exchk)
They can now use the same proc used by regular Xyzs
f - basic filter, which now accepts more than just the Card parameter (xyz,SUMMON_TYPE_XYZ,tp) - it now takes the Xyz Monster to be Summoned, the default Summon Type, and tp, which is the player/
lv - level, can also be nil, if it doesn't require a specific Level - example: Number F0: Utopic Future
The rest should be understood already, ask for details as comment otherwise.
mustbemat - set to true for Timestar Magician.
exchk - another check after having the Materials - e.g. Number F0 OCG's same rank check.

4. New Union Proc - Auxiliary.AddUnionProcedure(c,f,oldrule)
This will be extremely short and self-explanatory.
f - filter, target to be equipped
oldrule - See Pre-Errata Unions, should be set to true for them, unlike for the new Unions.

5. Function Token calling - Auxiliary.CallToken(code) - used to call functions such as 419 and 420 which holds a ton of functions within them, such as checking for Cardians' Summoning Condition, Anime constants and Anime Archetypes. Placed in initial_effect instead of using the long EVENT_ADJUST stuff.

6. Select Unselect Loop - Auxiliary.SelectUnselectGroup(g,e,tp,minc,maxc,rescon,chk,seltp,hintmsg,cancelcon,breakcon)
In the new version, recursion is widely used to ensure valid zones are still available when Summoning
g - group to be checked/selection
e. tp - default parameters
minc - minimum for checking/selecting - defaults to 1
maxc - maximum for checking/selecting - defaults to 99
rescon - the actual check - example: Selected Group needs to have 1 Alpha Magnet Warrior, 1 Beta, and 1 Gamma. parameters are: (sg,e,tp,mg) - where sg is the selected group and mg being the remaining group, you only place cXXX.resson or something for that parameter.
chk - set to 0 or 1. 0 for checking, 1 for selecting.
seltp - selecting player
hintmsg - The message shown on top - see constants for all HINTMSG
cancelcon - a condition to be checked if you're allowed to cancel selection, can be nil, same parameters as rescon
breakcon - a condition to be checked if you're allowed to end the loop during selection, can be nil, same parameters as rescon
SPYRAL Sleeper and Valkyrion the Magna Warrior are good examples.

7. This function thingie - Auxiliary.ChkfMMZ(sumcount)
It checks the free Main Monster Zones, and this a rescon filter.
sumcount is the number of monsters you require to Summoning, it's usually set to 1 since most cards using the loop only Summon 1 card.

8. Anime constants - well these are self-explanatory but note, do not use them in the initial_effect unless within another function, these will cause an error if used without having 419 called.
TYPE_ARMOR
TYPE_PLUS
TYPE_MINUS
RACE_YOKAI
RACE_CHARISMA
ATTRIBUTE_LAUGH
Also, TYPE_EXTRA is set in the utility by default so no need to call tokens to use this one.

NOTE: This topic will continue to be updated for the entire day. So I won't be replying when adding stuff for today.

Edited by user Friday, November 03, 2017 3:01:43 AM(UTC)  | Reason: Not specified

Now this is how I play:
thanks 5 users thanked Michael Lawrence Dee for this useful post.
Haku_Yowane  
#2 Posted : Friday, November 03, 2017 2:36:57 AM(UTC)
Haku_Yowane

Rank: Advanced Member

Joined: 10/26/2014(UTC)
Posts: 444

Thanks: 206 times
Was thanked: 491 time(s) in 269 post(s)
Oh....i didn't notice that the update was released today, thank you for this hint, it allows me to know my card's bug in advance even before i check it
Welcome to my galery
Dr. Sexy M.D.  
#3 Posted : Friday, November 03, 2017 4:11:06 AM(UTC)
Dr. Sexy M.D.

Rank: Advanced Member

Joined: 4/16/2014(UTC)
Posts: 360

Thanks: 21 times
Was thanked: 88 time(s) in 71 post(s)
Will effects that target the pendulum zones by confirming that the target card is "(c:GetSequence()==6 or c:GetSequence()==7)" still work, or should it be done a different way now?
Michael Lawrence Dee  
#4 Posted : Friday, November 03, 2017 4:18:52 AM(UTC)
Michael Lawrence Dee

Rank: Advanced Member

Joined: 1/28/2014(UTC)
Posts: 8,804

Thanks: 730 times
Was thanked: 1337 time(s) in 1077 post(s)
Originally Posted by: Dr. Sexy M.D. Go to Quoted Post
Will effects that target the pendulum zones by confirming that the target card is "(c:GetSequence()==6 or c:GetSequence()==7)" still work, or should it be done a different way now?


That's not exactly on this end, but I guess that's a change. Those can basically be removed and the ranges are changed from LOCATION_SZONE to LOCATION_PZONE.
Now this is how I play:
Dr. Sexy M.D.  
#5 Posted : Friday, November 03, 2017 3:51:53 PM(UTC)
Dr. Sexy M.D.

Rank: Advanced Member

Joined: 4/16/2014(UTC)
Posts: 360

Thanks: 21 times
Was thanked: 88 time(s) in 71 post(s)
Originally Posted by: Michael Lawrence Dee Go to Quoted Post
That's not exactly on this end, but I guess that's a change. Those can basically be removed and the ranges are changed from LOCATION_SZONE to LOCATION_PZONE.


Cool, thanks. I guess between that and the other summoning condition updates I've got a lot of stuff to change. Are these changes cross-compatible with other ygopro releases like ygopro2?
Michael Lawrence Dee  
#6 Posted : Saturday, November 04, 2017 1:34:16 AM(UTC)
Michael Lawrence Dee

Rank: Advanced Member

Joined: 1/28/2014(UTC)
Posts: 8,804

Thanks: 730 times
Was thanked: 1337 time(s) in 1077 post(s)
Originally Posted by: Dr. Sexy M.D. Go to Quoted Post
Are these changes cross-compatible with other ygopro releases like ygopro2?


Nope.
Now this is how I play:
thanks 1 user thanked Michael Lawrence Dee for this useful post.
[YOL]Edo9300  
#7 Posted : Saturday, November 04, 2017 9:20:33 PM(UTC)
[YOL]Edo9300

Rank: Advanced Member

Joined: 5/23/2014(UTC)
Posts: 490

Thanks: 5 times
Was thanked: 97 time(s) in 93 post(s)
This is what i gathered atm, i still have to explain all the new functions, and write the changed effects it's very hard to do

Card. functions


Duel. functions


Effect. functions


Group. functions


Debug. functions


Auxiliary. functions, other than the ones written by mld


also now in the filters you can use LOCATION_PZONE and LOCATION_FZONE

Edited by user Saturday, November 04, 2017 9:35:15 PM(UTC)  | Reason: Not specified

thanks 1 user thanked [YOL]Edo9300 for this useful post.
Michael Lawrence Dee  
#8 Posted : Sunday, November 05, 2017 2:09:43 AM(UTC)
Michael Lawrence Dee

Rank: Advanced Member

Joined: 1/28/2014(UTC)
Posts: 8,804

Thanks: 730 times
Was thanked: 1337 time(s) in 1077 post(s)
[YOL wrote:
Edo9300;180950]
also now in the filters you can use LOCATION_PZONE and LOCATION_FZONE


Hey, I wasn't informed about this... :sneaky
Now this is how I play:
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Notification

Icon
Error