Add New Skill(Pushcart Decoration)Packet Implemented

* This feature require the client support before 2015-08-26 or newer
  user can select cart for change to new design
​  Make sure you data&lub support for this

  Special Thanks you @Lemongrass3110, @renniw
  This is a Christmas gift for the rAthena people.
This commit is contained in:
Napster 2015-12-24 16:23:57 +07:00
parent c0e6faee1b
commit 71c6896541
13 changed files with 207 additions and 35 deletions

View File

@ -2523,5 +2523,42 @@ packet_keys: 0x62C86D09,0x75944F17,0x112C133D // [YomRawr]
0x09FB,-1,dull,0 // CZ_PET_EVOLUTION
0x09FC,6 // ZC_PET_EVOLUTION_RESULT
//2015-09-16Ragexe
packet_ver: 53
packet_keys: 0x17F83A19,0x116944F4,0x1CC541E9 // [Napster]
0x0869,7,actionrequest,2:6
0x093E,10,useskilltoid,2:4:6
0x0877,5,walktoxy,2
0x08AC,6,ticksend,2
0x0936,5,changedir,2:4
0x089C,6,takeitem,2
0x092F,6,dropitem,2:4
0x0934,8,movetokafra,2:4
0x085E,8,movefromkafra,2:4
0x022D,10,useskilltopos,2:4:6:8
0x0873,90,useskilltoposinfo,2:4:6:8:10
0x095A,6,getcharnamerequest,2
0x0942,6,solvecharname,2
0x087F,12,searchstoreinfolistitemclick,2:6:10
0x0817,2,searchstoreinfonextpage,0
0x0920,-1,searchstoreinfo,2:4:5:9:13:14:15
0x0881,-1,reqtradebuyingstore,2:4:8:12
0x0835,6,reqclickbuyingstore,2
0x092E,2,reqclosebuyingstore,0
0x0948,-1,reqopenbuyingstore,2:4:8:9:89
0x089B,18,bookingregreq,2:4:6
// 0x094F,8 CZ_JOIN_BATTLE_FIELD
0x0961,-1, itemlistwindowselected,2:4:8:12
0x0969,19,wanttoconnection,2:6:10:14:18
0x0924,26,partyinvite2,2
// 0x0938,4 CZ_GANGSI_RANK
0x089E,26,friendslistadd,2
0x0960,5,hommenu,2:4
0x0941,36,storagepassword,2:4:20
// New Packet
0x097F,-1 // ZC_SELECTCART
0x0980,7,selectcart,2:6 // CZ_SELECTCART
//Add new packets here
//packet_ver: 53
//packet_ver: 54

View File

@ -1233,7 +1233,7 @@
//2541,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0, NPC_UGLYDANCE,Ugly Dance 2
//2542,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0, ALL_TETANY,Tetany
//2543,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0, ALL_RAY_OF_PROTECTION,Ray of Protection
//2544,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0, MC_CARTDECORATE,Decorate Cart
2544,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0, MC_CARTDECORATE,Decorate Cart
//****
// Rebellion

View File

@ -883,7 +883,7 @@
//2542,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_TETANY
//2543,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_RAY_OF_PROTECTION
//2544,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE
2544,0,0,40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE
//****
// Rebellion

View File

@ -80,6 +80,8 @@
5,154,1,0,0,0,0,0,0,0,0,0,0 //MC_CHANGECART#Change Cart#
5,155,1,0,0,0,0,0,0,0,0,0,0 //MC_LOUD#Crazy Uproar#
5,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
5,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
5,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Thief
6,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
6,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -229,6 +231,8 @@
10,1013,1,0,0,0,0,0,0,0,0,0,0 //BS_GREED#Greed#
10,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
10,459,1,111,5,0,0,0,0,0,0,0,0 //BS_ADRENALINE2#Full Adrenaline Rush#
10,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
10,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Hunter
11,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
11,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -492,6 +496,8 @@
18,496,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT1#Twilight Alchemy 1#
18,497,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT2#Twilight Alchemy 2#
18,498,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT3#Twilight Alchemy 3#
18,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
18,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Bard
19,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
19,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -644,6 +650,8 @@
23,52,10,0,0,0,0,0,0,0,0,0,0 //TF_POISON#Envenom#
23,53,1,52,3,0,0,0,0,0,0,0,0 //TF_DETOXIFY#Detoxify#
23,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
23,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
23,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Gunslinger
24,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
24,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -778,6 +786,8 @@
4006,154,1,0,0,0,0,0,0,0,0,0,0 //MC_CHANGECART#Change Cart#
4006,155,1,0,0,0,0,0,0,0,0,0,0 //MC_LOUD#Crazy Uproar#
4006,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
4006,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4006,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//ThiefHigh
4007,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4007,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -952,6 +962,8 @@
4011,486,5,113,5,0,0,0,0,0,0,0,0 //WS_OVERTHRUSTMAX#Maximum Power Thrust#
4011,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
4011,459,1,111,5,0,0,0,0,0,0,0,0 //BS_ADRENALINE2#Full Adrenaline Rush#
4011,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4011,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Sniper
4012,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4012,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -1258,6 +1270,8 @@
4019,496,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT1#Twilight Alchemy 1#
4019,497,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT2#Twilight Alchemy 2#
4019,498,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT3#Twilight Alchemy 3#
4019,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4019,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Clown
4020,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4020,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -1454,6 +1468,8 @@
4028,155,1,0,0,0,0,0,0,0,0,0,0 //MC_LOUD#Crazy Uproar#
4028,408,1,0,0,0,0,0,0,0,0,0,0 //WE_BABY#Baby#
4028,409,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLPARENT#Call Parent#
4028,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4028,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Thief
4029,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4029,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -1607,6 +1623,8 @@
4033,1012,1,0,0,0,0,0,0,0,0,0,0 //BS_UNFAIRLYTRICK#Unfair Trick#
4033,1013,1,0,0,0,0,0,0,0,0,0,0 //BS_GREED#Greed#
4033,459,1,111,5,0,0,0,0,0,0,0,0 //BS_ADRENALINE2#Full Adrenaline Rush#
4033,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4033,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Hunter
4034,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4034,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -1878,6 +1896,8 @@
4041,496,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT1#Twilight Alchemy 1#
4041,497,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT2#Twilight Alchemy 2#
4041,498,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT3#Twilight Alchemy 3#
4041,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4041,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Bard
4042,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4042,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -2028,6 +2048,8 @@
4045,53,1,52,3,0,0,0,0,0,0,0,0 //TF_DETOXIFY#Detoxify#
4045,408,1,0,0,0,0,0,0,0,0,0,0 //WE_BABY#Baby#
4045,409,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLPARENT#Call Parent#
4045,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4045,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Taekwon
4046,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4046,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -2634,6 +2656,8 @@
4058,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4058,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4058,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4058,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4058,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Guillotine Cross (Regular)
4059,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4059,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -2984,6 +3008,8 @@
4064,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4064,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4064,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4064,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4064,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Guillotine Cross (Trans)
4065,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4065,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -3386,6 +3412,8 @@
4071,2497,10,0,0,0,0,0,0,0,0,0,0 //GN_S_PHARMACY#Special Pharmacy#
4071,5003,5,2497,1,0,0,0,0,0,0,0,0 //GN_ILLUSIONDOOPING#Hallucination Drug#
4071,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4071,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4071,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Shadow Chaser (Regular)
4072,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4072,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -3828,6 +3856,8 @@
4078,2497,10,0,0,0,0,0,0,0,0,0,0 //GN_S_PHARMACY#Special Pharmacy#
4078,5003,5,2497,1,0,0,0,0,0,0,0,0 //GN_ILLUSIONDOOPING#Hallucination Drug#
4078,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4078,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4078,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Shadow Chaser (Trans)
4079,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4079,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -4269,6 +4299,8 @@
4086,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4086,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4086,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4086,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4086,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Mechanic (Mado) (Trans)
4087,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4087,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -4343,6 +4375,8 @@
4087,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4087,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4087,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4087,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4087,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Rune Knight
4096,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4096,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -4626,6 +4660,8 @@
4100,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4100,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4100,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4100,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4100,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Guillotine Cross
4101,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4101,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -5030,6 +5066,8 @@
4107,2497,10,0,0,0,0,0,0,0,0,0,0 //GN_S_PHARMACY#Special Pharmacy#
4107,5003,5,2497,1,0,0,0,0,0,0,0,0 //GN_ILLUSIONDOOPING#Hallucination Drug#
4107,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4107,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4107,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Shadow Chaser
4108,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4108,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -5309,6 +5347,8 @@
4112,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4112,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4112,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4112,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4112,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Super Novice (Expanded)
4190,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4190,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -5391,6 +5431,8 @@
4190,261,5,259,2,0,0,0,0,0,0,0,0 //MO_CALLSPIRITS#Summon Spirit Sphere#
4190,262,1,261,5,0,0,0,0,0,0,0,0 //MO_ABSORBSPIRITS#Absorb Spirit Sphere#
4190,365,1,9,1,0,0,0,0,0,0,0,0 //HW_MAGICCRASHER#Stave Crasher#
4190,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4190,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Super Baby (Expanded)
4191,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4191,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -5474,6 +5516,8 @@
4191,261,5,259,2,0,0,0,0,0,0,0,0 //MO_CALLSPIRITS#Summon Spirit Sphere#
4191,262,1,261,5,0,0,0,0,0,0,0,0 //MO_ABSORBSPIRITS#Absorb Spirit Sphere#
4191,365,1,9,1,0,0,0,0,0,0,0,0 //HW_MAGICCRASHER#Stave Crasher#
4191,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4191,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Kagerou
4211,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4211,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#

View File

@ -4476,7 +4476,7 @@
6603,Skin_Of_Hraesvelg,Skin Of Hraesvelg,3,0,,500,,,,,,,,,,,,,{},{},{}
6604,Essence_Rune_Magic,Essence Rune Magic,3,0,,0,,,,,,,,,,,,,{},{},{}
6605,Muspellium,Muspellium,3,0,,0,,,,,,,,,,,,,{},{},{}
6606,P_Cart_C,P Cart C,3,0,,10,,,,,,,,,,,,,{},{},{}
6606,Cute_Cart_Coupon,Cute Cart Remodel Coupon,3,0,,10,,,,,,,,,,,,,{},{},{}
6607,Temporal_Crystal,Temporal Crystal,3,20,,10,,,,,,,,,,,,,{},{},{}
6608,Coagulated_Spell,Coagulated Spell,3,0,,0,,,,,,,,,,,,,{},{},{}
6609,Glast_Decayed_Nail,Glast Decayed Nail,3,82,,10,,,,,,,,,,,,,{},{},{}

View File

@ -1232,7 +1232,7 @@
//2541,0,6,4,0,0x1,0,5,1,no,0,0x2,0,none,0,0x0, NPC_UGLYDANCE,Ugly Dance 2
//2542,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0, ALL_TETANY,Tetany
//2543,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, ALL_RAY_OF_PROTECTION,Ray of Protection
//2544,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0, MC_CARTDECORATE,Decorate Cart
2544,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0, MC_CARTDECORATE,Decorate Cart
//2545,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, GM_ITEM_ATKMAX,Maximize Attack
//2546,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, GM_ITEM_ATKMIN,Minimize Attack
//2547,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, GM_ITEM_MATKMAX,Maximize Magic Attack

View File

@ -883,7 +883,7 @@
//2542,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_TETANY
//2543,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_RAY_OF_PROTECTION
//2544,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE
2544,0,0,40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE
//2545,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GM_ITEM_ATKMAX
//2546,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GM_ITEM_ATKMIN
//2547,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GM_ITEM_MATKMAX

View File

@ -80,6 +80,8 @@
5,154,1,0,0,0,0,0,0,0,0,0,0 //MC_CHANGECART#Change Cart#
5,155,1,0,0,0,0,0,0,0,0,0,0 //MC_LOUD#Crazy Uproar#
5,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
5,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
5,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Thief
6,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
6,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -229,6 +231,8 @@
10,1013,1,0,0,0,0,0,0,0,0,0,0 //BS_GREED#Greed#
10,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
10,459,1,111,5,0,0,0,0,0,0,0,0 //BS_ADRENALINE2#Full Adrenaline Rush#
10,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
10,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Hunter
11,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
11,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -492,6 +496,8 @@
18,496,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT1#Twilight Alchemy 1#
18,497,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT2#Twilight Alchemy 2#
18,498,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT3#Twilight Alchemy 3#
18,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
18,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Bard
19,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
19,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -644,6 +650,8 @@
23,52,10,0,0,0,0,0,0,0,0,0,0 //TF_POISON#Envenom#
23,53,1,52,3,0,0,0,0,0,0,0,0 //TF_DETOXIFY#Detoxify#
23,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
23,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
23,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Gunslinger
24,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
24,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -778,6 +786,8 @@
4006,154,1,0,0,0,0,0,0,0,0,0,0 //MC_CHANGECART#Change Cart#
4006,155,1,0,0,0,0,0,0,0,0,0,0 //MC_LOUD#Crazy Uproar#
4006,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
4006,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4006,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//ThiefHigh
4007,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4007,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -952,6 +962,8 @@
4011,486,5,113,5,0,0,0,0,0,0,0,0 //WS_OVERTHRUSTMAX#Maximum Power Thrust#
4011,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
4011,459,1,111,5,0,0,0,0,0,0,0,0 //BS_ADRENALINE2#Full Adrenaline Rush#
4011,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4011,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Sniper
4012,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4012,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -1258,6 +1270,8 @@
4019,496,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT1#Twilight Alchemy 1#
4019,497,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT2#Twilight Alchemy 2#
4019,498,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT3#Twilight Alchemy 3#
4019,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4019,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Clown
4020,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4020,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -1454,6 +1468,8 @@
4028,155,1,0,0,0,0,0,0,0,0,0,0 //MC_LOUD#Crazy Uproar#
4028,408,1,0,0,0,0,0,0,0,0,0,0 //WE_BABY#Baby#
4028,409,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLPARENT#Call Parent#
4028,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4028,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Thief
4029,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4029,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -1607,6 +1623,8 @@
4033,1012,1,0,0,0,0,0,0,0,0,0,0 //BS_UNFAIRLYTRICK#Unfair Trick#
4033,1013,1,0,0,0,0,0,0,0,0,0,0 //BS_GREED#Greed#
4033,459,1,111,5,0,0,0,0,0,0,0,0 //BS_ADRENALINE2#Full Adrenaline Rush#
4033,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4033,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Hunter
4034,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4034,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -1878,6 +1896,8 @@
4041,496,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT1#Twilight Alchemy 1#
4041,497,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT2#Twilight Alchemy 2#
4041,498,1,228,10,0,0,0,0,0,0,0,0 //AM_TWILIGHT3#Twilight Alchemy 3#
4041,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4041,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Bard
4042,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4042,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -2028,6 +2048,8 @@
4045,53,1,52,3,0,0,0,0,0,0,0,0 //TF_DETOXIFY#Detoxify#
4045,408,1,0,0,0,0,0,0,0,0,0,0 //WE_BABY#Baby#
4045,409,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLPARENT#Call Parent#
4045,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4045,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Taekwon
4046,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4046,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -2634,6 +2656,8 @@
4058,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4058,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4058,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4058,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4058,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Guillotine Cross (Regular)
4059,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4059,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -2984,6 +3008,8 @@
4064,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4064,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4064,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4064,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4064,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Guillotine Cross (Trans)
4065,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4065,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -3386,6 +3412,8 @@
4071,2497,10,0,0,0,0,0,0,0,0,0,0 //GN_S_PHARMACY#Special Pharmacy#
4071,5003,5,2497,1,0,0,0,0,0,0,0,0 //GN_ILLUSIONDOOPING#Hallucination Drug#
4071,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4071,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4071,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Shadow Chaser (Regular)
4072,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4072,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -3828,6 +3856,8 @@
4078,2497,10,0,0,0,0,0,0,0,0,0,0 //GN_S_PHARMACY#Special Pharmacy#
4078,5003,5,2497,1,0,0,0,0,0,0,0,0 //GN_ILLUSIONDOOPING#Hallucination Drug#
4078,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4078,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4078,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Shadow Chaser (Trans)
4079,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4079,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -4269,6 +4299,8 @@
4086,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4086,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4086,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4086,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4086,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Mechanic (Mado) (Trans)
4087,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4087,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -4343,6 +4375,8 @@
4087,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4087,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4087,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4087,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4087,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Rune Knight
4096,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4096,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -4626,6 +4660,8 @@
4100,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4100,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4100,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4100,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4100,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Guillotine Cross
4101,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4101,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -5030,6 +5066,8 @@
4107,2497,10,0,0,0,0,0,0,0,0,0,0 //GN_S_PHARMACY#Special Pharmacy#
4107,5003,5,2497,1,0,0,0,0,0,0,0,0 //GN_ILLUSIONDOOPING#Hallucination Drug#
4107,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4107,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4107,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Baby Shadow Chaser
4108,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4108,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -5309,6 +5347,8 @@
4112,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
4112,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption#
4112,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle#
4112,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4112,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Super Novice (Expanded)
4190,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4190,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -5391,6 +5431,8 @@
4190,261,5,259,2,0,0,0,0,0,0,0,0 //MO_CALLSPIRITS#Summon Spirit Sphere#
4190,262,1,261,5,0,0,0,0,0,0,0,0 //MO_ABSORBSPIRITS#Absorb Spirit Sphere#
4190,365,1,9,1,0,0,0,0,0,0,0,0 //HW_MAGICCRASHER#Stave Crasher#
4190,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4190,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Super Baby (Expanded)
4191,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4191,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
@ -5474,6 +5516,8 @@
4191,261,5,259,2,0,0,0,0,0,0,0,0 //MO_CALLSPIRITS#Summon Spirit Sphere#
4191,262,1,261,5,0,0,0,0,0,0,0,0 //MO_ABSORBSPIRITS#Absorb Spirit Sphere#
4191,365,1,9,1,0,0,0,0,0,0,0,0 //HW_MAGICCRASHER#Stave Crasher#
4191,2535,2,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
4191,2544,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate#
//Kagerou
4211,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
4211,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#

View File

@ -849,7 +849,11 @@ enum e_pc_reg_loading {
#ifndef ENABLE_SC_SAVING
#warning "Cart won't be able to be saved for relog"
#endif
#if PACKETVER >= 20150826
#define MAX_CARTS 12 // used for 3 new cart design
#else
#define MAX_CARTS 9
#endif
#else
#define MAX_CARTS 5
#endif

View File

@ -383,7 +383,8 @@ uint32 date2version(int date) {
//else if(date < 20141016) return 48;
else if(date < 20141022) return 50;
else if(date < 20150513) return 51;
else if(date >= 20150513) return 52;
else if(date < 20150916) return 52;
else if(date >= 20150916) return 53;
else return 30; //default
}

View File

@ -9699,8 +9699,7 @@ void clif_msg_skill(struct map_session_data* sd, uint16 skill_id, int msg_id)
/// Returns true if the packet was parsed successfully.
/// Formats: 0 - <packet id>.w <packet len>.w (<name> : <message>).?B 00
/// 1 - <packet id>.w <packet len>.w <name>.24B <message>.?B 00
static bool clif_process_message(struct map_session_data* sd, int format, char** name_, int* namelen_, char** message_, int* messagelen_)
{
static bool clif_process_message(struct map_session_data* sd, int format, char** name_, int* namelen_, char** message_, int* messagelen_) {
char *text, *name, *message;
unsigned int packetlen, textlen, namelen, messagelen;
int fd = sd->fd;
@ -9713,8 +9712,7 @@ static bool clif_process_message(struct map_session_data* sd, int format, char**
packetlen = RFIFOW(fd,info->pos[0]);
// basic structure checks
if( packetlen < 4 + 1 )
{ // 4-byte header and at least an empty string is expected
if( packetlen < 4 + 1 ) { // 4-byte header and at least an empty string is expected
ShowWarning("clif_process_message: Received malformed packet from player '%s' (no message data)!\n", sd->status.name);
return false;
}
@ -9723,8 +9721,7 @@ static bool clif_process_message(struct map_session_data* sd, int format, char**
textlen = packetlen - 4;
// process <name> part of the packet
if( format == 0 )
{// name and message are separated by ' : '
if( format == 0 ) { // name and message are separated by ' : '
// validate name
name = text;
namelen = strnlen(sd->status.name, NAME_LENGTH-1); // name length (w/o zero byte)
@ -9740,16 +9737,9 @@ static bool clif_process_message(struct map_session_data* sd, int format, char**
message = name + namelen + 3;
messagelen = textlen - namelen - 3; // this should be the message length (w/ zero byte included)
#if PACKETVER >= 20150900
message[messagelen] = '\0';
messagelen++;
#endif
}
else
{// name has fixed width
if( textlen < NAME_LENGTH + 1 )
{
} else {
// name has fixed width
if( textlen < NAME_LENGTH + 1 ) {
ShowWarning("clif_process_message: Received malformed packet from player '%s' (packet length is incorrect)!\n", sd->status.name);
return false;
}
@ -9758,8 +9748,8 @@ static bool clif_process_message(struct map_session_data* sd, int format, char**
name = text;
namelen = strnlen(name, NAME_LENGTH-1); // name length (w/o zero byte)
if( name[namelen] != '\0' )
{ // only restriction is that the name must be zero-terminated
// only restriction is that the name must be zero-terminated
if( name[namelen] != '\0' ) {
ShowWarning("clif_process_message: Player '%s' sent an unterminated name!\n", sd->status.name);
return false;
}
@ -9768,19 +9758,20 @@ static bool clif_process_message(struct map_session_data* sd, int format, char**
messagelen = textlen - NAME_LENGTH; // this should be the message length (w/ zero byte included)
}
if( messagelen != strnlen(message, messagelen)+1 )
{ // the declared length must match real length
// the declared length must match real length
if( messagelen != strnlen(message, messagelen)+1 ) {
ShowWarning("clif_process_message: Received malformed packet from player '%s' (length is incorrect)!\n", sd->status.name);
return false;
}
// verify <message> part of the packet
if( message[messagelen-1] != '\0' )
{ // message must be zero-terminated
if( message[messagelen-1] != '\0' ) { // message must be zero-terminated
ShowWarning("clif_process_message: Player '%s' sent an unterminated message string!\n", sd->status.name);
return false;
}
if( messagelen > CHAT_SIZE_MAX-1 )
{ // messages mustn't be too long
// messages mustn't be too long
if( messagelen > CHAT_SIZE_MAX-1 ) {
// Normally you can only enter CHATBOX_SIZE-1 letters into the chat box, but Frost Joke / Dazzler's text can be longer.
// Also, the physical size of strings that use multibyte encoding can go multiple times over the chatbox capacity.
// Neither the official client nor server place any restriction on the length of the data in the packet,
@ -11604,6 +11595,47 @@ void clif_parse_RemoveOption(int fd,struct map_session_data *sd)
}
/// Request to select cart's visual look for new cart design (ZC_SELECTCART).
/// 097f <Length>.W <identity>.L <type>.B
void clif_SelectCart(struct map_session_data *sd) {
#if PACKETVER >= 20150826
int i = 0, carts = 3;
int fd = sd->fd;
WFIFOHEAD(fd,8 + carts);
WFIFOW(fd,0) = 0x97f;
WFIFOW(fd,2) = 8 + carts;
WFIFOL(fd,4) = sd->status.account_id;
// Right now we have 10-12, tested it you can also enable selection for all cart styles here(1-12)
for( i = 0; i < carts; i++ ) {
WFIFOB(fd,8 + i) = 10 + i;
}
WFIFOSET(fd,8 + carts);
#endif
}
/// Request to select cart's visual look for new cart design (CZ_SELECTCART).
/// 0980 <identity>.L <type>.B
void clif_parse_SelectCart(int fd,struct map_session_data *sd) {
#if PACKETVER >= 20150826
int type;
// Check identity
if( !sd || pc_checkskill(sd,MC_CARTDECORATE) < 1 || RFIFOL(fd,2) != sd->status.account_id )
return;
type = (int)RFIFOB(fd,6);
// Check type
if( type < 10 || type > MAX_CARTS )
return;
pc_setcart(sd, type);
#endif
}
/// Request to change cart's visual look (CZ_REQ_CHANGECART).
/// 01af <num>.W
void clif_parse_ChangeCart(int fd,struct map_session_data *sd)
@ -11631,7 +11663,7 @@ void clif_parse_ChangeCart(int fd,struct map_session_data *sd)
(type == 2 && sd->status.base_level > 40) ||
(type == 1))
#endif
pc_setcart(sd,type);
pc_setcart(sd, type);
}
@ -18951,9 +18983,9 @@ void packetdb_readdb(bool reload)
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 7,
0, 0, 0, 0, 2, 0, 0, 14, 6, 50, -1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2, 0, 0, 14, 6, 50, -1, 0, 0, 0, 0, -1,
//#0x0980
0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31, 0, 0, 0, 0, 0, 0, -1, 8, 11, 9, 8, 0, 0, 0, 22,
0, 0, 0, 0, 0, 0, 12, 10, 14, 10, 14, 6, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 6, 4, 6, 4, 0, 0, 0, 0, 0, 0,
@ -19209,6 +19241,8 @@ void packetdb_readdb(bool reload)
{ clif_parse_HotkeyRowShift, "hotkeyrowshift"},
// OneClick Item Identify
{ clif_parse_Oneclick_Itemidentify, "oneclick_itemidentify" },
// NewChange Cart2
{ clif_parse_SelectCart, "selectcart" },
{NULL,NULL}
};
struct {

View File

@ -35,7 +35,7 @@ struct party_booking_ad_info;
enum { // packet DB
MIN_PACKET_DB = 0x064,
MAX_PACKET_DB = 0xAFF,
MAX_PACKET_VER = 52,
MAX_PACKET_VER = 53,
MAX_PACKET_POS = 20,
};
@ -969,5 +969,6 @@ void clif_merge_item_open(struct map_session_data *sd);
void clif_broadcast_obtain_special_item(const char *char_name, unsigned short nameid, unsigned short container, enum BROADCASTING_SPECIAL_ITEM_OBTAIN type, const char *srcname);
void clif_dressing_room(struct map_session_data *sd, int view);
void clif_SelectCart(struct map_session_data *sd);
#endif /* _CLIF_H_ */

View File

@ -6437,6 +6437,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case MC_CARTDECORATE:
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
if( sd ) {
clif_SelectCart(sd);
}
break;
case TK_MISSION:
if (sd) {
int id;