Merge branch 'master' into academie
This commit is contained in:
commit
9b13351817
@ -237,3 +237,8 @@ mob_size_influence: no
|
||||
// Default (most official): mob - 220, boss - 1
|
||||
mob_icewall_walk_block: 75
|
||||
boss_icewall_walk_block: 0
|
||||
|
||||
// Should HP bars be shown for monsters?
|
||||
// 2012-04-04aRagexeRE or higher client required.
|
||||
monster_hp_bars_info: yes
|
||||
|
||||
|
@ -423,7 +423,7 @@
|
||||
404: War of Emperium SE is currently in progress.
|
||||
405: War of Emperium SE has been ended.
|
||||
406: War of Emperium SE is currently not in progress.
|
||||
407: Invalid amount of parameters.
|
||||
//407 free
|
||||
//chrif related
|
||||
408: Need disconnection to perform change-sex request...
|
||||
409: Your sex has been changed (need disconnection by the server)...
|
||||
|
@ -412,7 +412,7 @@
|
||||
404: 攻城戰第二版正在進行中
|
||||
405: 攻城戰第二版結束了
|
||||
406: 攻城戰第二版尚未開始
|
||||
407: Invalid amount of parameters.
|
||||
//407 free
|
||||
//chrif related
|
||||
408: 需要斷線以更改性別
|
||||
409: 你的性別已更改(你將會被伺服器中斷連線)
|
||||
|
@ -420,7 +420,7 @@
|
||||
404: War of Emperium SE en cours.
|
||||
405: War of Emperium SE est terminée.
|
||||
406: War of Emperium SE n'est pas en cours.
|
||||
407: Invalid amount of parameters.
|
||||
//407 free
|
||||
//chrif related
|
||||
408: Besoin de vous déconnecter pour effectuer la demande de changement de sexe...
|
||||
409: Changement de sexe (le serveur a besoin de vous déconnecter)...
|
||||
|
@ -403,7 +403,7 @@
|
||||
404: War of Emperium SE ist derzeitig im Gange.
|
||||
405: War of Emperium SE wurde Beendet.
|
||||
406: War of Emperium SE ist derzeitig nicht im Gange.
|
||||
407: Invalid amount of parameters.
|
||||
//407 free
|
||||
// Homunculus messages
|
||||
450: Du hast bereitz ein Homunculus
|
||||
|
||||
|
@ -423,7 +423,7 @@
|
||||
404: War of Emperium SE saat ini sedang berjalan.
|
||||
405: War of Emperium SE telah dimulai.
|
||||
406: War of Emperium SE saat ini sedang tidak berjalan.
|
||||
407: Invalid amount of parameters.
|
||||
//407 free
|
||||
//berkaitan dengan chrif
|
||||
408: Dibutuhkan pemutusan koneksi untuk melakukan permintaan ubah jenis kelamin ...
|
||||
409: Jenis kelaminmu telah diganti (membutuhkan pemutusan koneksi oleh server) ...
|
||||
|
@ -410,7 +410,7 @@
|
||||
404: A Guerra do Emperium SE já está em progresso.
|
||||
405: A Guerra do Emperium SE terminou!
|
||||
406: A Guerra do Emperium SE ainda não foi iniciada.
|
||||
407: Invalid amount of parameters.
|
||||
//407 free
|
||||
//Mensagens relacionadas ao chrif
|
||||
408: É preciso desconectar-se para que o pedido de mudança de sexo seja processado...
|
||||
409: O seu sexo foi alterado (é preciso desconectar-se do servidor)...
|
||||
|
@ -420,7 +420,7 @@
|
||||
404: Война за Империум 2.0 уже идёт.
|
||||
405: Война за Империум 2.0 окончена.
|
||||
406: Война за Империум 2.0 в текущее время не идёт.
|
||||
407: Invalid amount of parameters.
|
||||
//407 free
|
||||
//chrif related
|
||||
408: Необходимо отключение для выполнения запроса на смену пола...
|
||||
409: Ваш пол был изменен (необходимо отключение от сервера)...
|
||||
|
@ -411,7 +411,7 @@
|
||||
404: Hay una Guerra del Emperium de la 2ª edición en marcha.
|
||||
405: Ha finalizado la Guerra del Emperium de la 2ª edición.
|
||||
406: No hay ninguna Guerra del Emperium de la 2ª edición en marcha.
|
||||
407: Invalid amount of parameters.
|
||||
//407 free
|
||||
//Mensajes de chrif
|
||||
408: Necesitas desconectarte para realizar el cambio de sexo.
|
||||
409: Has cambiado de sexo (necesitas desconectarte y volver a entrar)
|
||||
|
@ -418,7 +418,7 @@
|
||||
404: War of Emperium SE ∂턺㎎彖拈睾撫尸∏橘旅.
|
||||
405: War of Emperium SE 芽蟯뵀<E89FAF>.
|
||||
406: War of Emperium SE 幄巍닻롭㎾믹쬔嵬묄넓밌<EB8493>.
|
||||
407: Invalid amount of parameters.
|
||||
//407 free
|
||||
//chrif related
|
||||
408: 들系둘뇟櫓夕羸皐듣滾묀櫓닒仙瀆⌒창梱뼜㏅안 ...
|
||||
409: ㅨ념닻沼큘宣휸촹쨘췌睾 (들系둘뇟櫓夕羸皐듣繫納奭惇荑璿稿<E792BF>)...
|
||||
|
161
db/packet_db.txt
161
db/packet_db.txt
@ -1895,9 +1895,10 @@ packet_keys: 0x3F094C49,0x55F86C1E,0x58AA359A // [Shakto]
|
||||
0x099b,8 //maptypeproperty2
|
||||
|
||||
// New Packets
|
||||
0x08ff,24 // ZC_EFST_SET_ENTER
|
||||
0x0984,28 // ZC_EFST_SET_ENTER2
|
||||
0x099f,22 // ZC_SKILL_ENTRY4
|
||||
0x08C8,34 // ZC_NOTIFY_ACT3
|
||||
0x08ff,24 // ZC_EFST_SET_ENTER
|
||||
0x0984,28 // ZC_EFST_SET_ENTER2
|
||||
0x099f,22 // ZC_SKILL_ENTRY4
|
||||
|
||||
//2013-05-15aRagexe (Yommy)
|
||||
packet_ver: 35
|
||||
@ -2326,7 +2327,13 @@ packet_keys: 0x631C511C,0x111C111C,0x111C111C // [Shakto]
|
||||
0x09D6,-1,npcmarketpurchase,2:4:6
|
||||
0x09D7,-1
|
||||
0x09D8,2,npcmarketclosed,0
|
||||
0x09DF,7
|
||||
|
||||
// New Packet
|
||||
0x097A,-1 // ZC_ALL_QUEST_LIST2
|
||||
0x09DB,-1 // ZC_NOTIFY_MOVEENTRY10
|
||||
0x09DC,-1 // ZC_NOTIFY_NEWENTRY10
|
||||
0x09DD,-1 // ZC_NOTIFY_STANDENTRY10
|
||||
0x09DF,7 // ZC_ACK_WHISPER02
|
||||
|
||||
//2014-10-16Ragexe
|
||||
packet_ver: 50
|
||||
@ -2361,20 +2368,24 @@ packet_keys: 0x2DFF467C,0x444B37EE,0x2C1B634F // [YomRawr]
|
||||
0x0364,5,hommenu,2:4
|
||||
0x0936,36,storagepassword,0
|
||||
0x09DF,7
|
||||
0x0A00,269
|
||||
0x0A01,3,hotkeyrowshift,2
|
||||
|
||||
// New packet
|
||||
0x0A00,269 // ZC_SHORTCUT_KEY_LIST_V3
|
||||
0x0A01,3,hotkeyrowshift,2 // CZ_SHORTCUTKEYBAR_ROTATE
|
||||
0x0A02,4 // ZC_DRESSROOM_OPEN
|
||||
0x09F7,75 // ZC_PROPERTY_HOMUN_2
|
||||
|
||||
// Roulette System [Yommy]
|
||||
0x0A19,2,rouletteopen,0 // HEADER_CZ_REQ_OPEN_ROULETTE
|
||||
0x0A1A,23 // HEADER_ZC_ACK_OPEN_ROULETTE
|
||||
0x0A1B,2,rouletteinfo,0 // HEADER_CZ_REQ_ROULETTE_INFO
|
||||
0x0A1C,-1 // HEADER_ZC_ACK_ROULETTE_INFO
|
||||
0x0A1D,2,rouletteclose,0 // HEADER_CZ_REQ_CLOSE_ROULETTE
|
||||
0x0A1E,3 // HEADER_ZC_ACK_CLOSE_ROULETTE
|
||||
0x0A1F,2,roulettegenerate,0 // HEADER_CZ_REQ_GENERATE_ROULETTE
|
||||
0x0A20,21 // HEADER_ZC_ACK_GENERATE_ROULETTE
|
||||
0x0A21,3,rouletterecvitem,2 // HEADER_CZ_RECV_ROULETTE_ITEM
|
||||
0x0A22,5 // HEADER_ZC_RECV_ROULETTE_ITEM
|
||||
0x0A19,2,rouletteopen,0 // CZ_REQ_OPEN_ROULETTE
|
||||
0x0A1A,23 // ZC_ACK_OPEN_ROULETTE
|
||||
0x0A1B,2,rouletteinfo,0 // CZ_REQ_ROULETTE_INFO
|
||||
0x0A1C,-1 // ZC_ACK_ROULETTE_INFO
|
||||
0x0A1D,2,rouletteclose,0 // CZ_REQ_CLOSE_ROULETTE
|
||||
0x0A1E,3 // ZC_ACK_CLOSE_ROULETTE
|
||||
0x0A1F,2,roulettegenerate,0 // CZ_REQ_GENERATE_ROULETTE
|
||||
0x0A20,21 // ZC_ACK_GENERATE_ROULETTE
|
||||
0x0A21,3,rouletterecvitem,2 // CZ_RECV_ROULETTE_ITEM
|
||||
0x0A22,5 // ZC_RECV_ROULETTE_ITEM
|
||||
|
||||
//2014-10-22bRagexe
|
||||
packet_ver: 51
|
||||
@ -2410,30 +2421,98 @@ packet_keys: 0x290551EA,0x2B952C75,0x2D67669B // [YomRawr]
|
||||
0x094e,6,takeitem,2
|
||||
0x0955,18,bookingregreq,2:4:6
|
||||
0x096a,6,getcharnamerequest,2
|
||||
0x09e7,3
|
||||
0x09e8,11
|
||||
0x09ea,11
|
||||
0x09eb,-1
|
||||
0x09ed,3
|
||||
0x09ee,11
|
||||
0x09f1,11
|
||||
0x09f2,12
|
||||
0x09f3,11
|
||||
0x09f9,143
|
||||
0x0a03,2
|
||||
0x0a04,6
|
||||
0x0a05,49
|
||||
0x0a06,6
|
||||
0x0a07,9
|
||||
0x0a08,26
|
||||
0x0a09,45
|
||||
0x0a0a,47
|
||||
0x0a0b,47
|
||||
0x0a0c,56
|
||||
0x0a0d,-1
|
||||
0x0a13,26
|
||||
0x0A18,14 // HEADER_ZC_ACCEPT_ENTER3
|
||||
0x0a24,66
|
||||
|
||||
// New Packet
|
||||
0x0A18,14 // ZC_ACCEPT_ENTER3
|
||||
0x0A23,-1 // ZC_ALL_ACH_LIST
|
||||
0x0A24,66 // ZC_ACH_UPDATE
|
||||
0x0A28,3 // ZC_ACK_OPENSTORE2
|
||||
0x09FD,-1 // ZC_NOTIFY_MOVEENTRY11
|
||||
0x09FE,-1 // ZC_NOTIFY_NEWENTRY11
|
||||
0x09FF,-1 // ZC_NOTIFY_STANDENTRY11
|
||||
//0x09F8,-1 // ZC_ALL_QUEST_LIST3
|
||||
|
||||
//2015-05-13aRagexe
|
||||
packet_ver: 52
|
||||
packet_keys: 0x62C86D09,0x75944F17,0x112C133D // [YomRawr]
|
||||
0x0369,7,actionrequest,2:6
|
||||
0x083C,10,useskilltoid,2:4:6
|
||||
0x0437,5,walktoxy,2
|
||||
0x035F,6,ticksend,2
|
||||
0x0924,5,changedir,2:4
|
||||
0x0958,6,takeitem,2
|
||||
0x0885,6,dropitem,2:4
|
||||
0x0879,8,movetokafra,2:4
|
||||
0x0864,8,movefromkafra,2:4
|
||||
0x0438,10,useskilltopos,2:4:6:8
|
||||
0x0366,90,useskilltoposinfo,2:4:6:8:10
|
||||
0x096A,6,getcharnamerequest,2
|
||||
0x0368,6,solvecharname,2
|
||||
0x0838,12,searchstoreinfolistitemclick,2:6:10
|
||||
0x0835,2,searchstoreinfonextpage,0
|
||||
0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15
|
||||
0x0811,-1,reqtradebuyingstore,2:4:8:12
|
||||
0x0360,6,reqclickbuyingstore,2
|
||||
0x022D,2,reqclosebuyingstore,0
|
||||
0x0815,-1,reqopenbuyingstore,2:4:8:9:89
|
||||
0x0883,18,bookingregreq,2:4:6
|
||||
// 0x02C4,8 CZ_JOIN_BATTLE_FIELD
|
||||
0x0960,-1, itemlistwindowselected,2:4:8:12
|
||||
0x0363,19,wanttoconnection,2:6:10:14:18
|
||||
0x094A,26,partyinvite2,2
|
||||
// 0x0927,4 CZ_GANGSI_RANK
|
||||
0x08A8,26,friendslistadd,2
|
||||
0x0817,5,hommenu,2:4
|
||||
0x0923,36,storagepassword,2:4:20
|
||||
|
||||
// RODEX Mail system
|
||||
0x09E7,3 // ZC_NOTIFY_UNREADMAIL
|
||||
0x09E8,11,dull,0 // CZ_OPEN_MAILBOX
|
||||
0x09E9,2,dull,0 // CZ_CLOSE_MAILBOX
|
||||
0x09EA,11,dull,0 // CZ_REQ_READ_MAIL
|
||||
0x09EB,-1 // ZC_ACK_READ_MAIL
|
||||
0x09EC,-1,dull,0 // CZ_REQ_WRITE_MAIL
|
||||
0x0A2E,6,dull,0 // CZ_REQ_CHANGE_TITLE
|
||||
0x09ED,3 // ZC_ACK_WRITE_MAIL
|
||||
0x09EE,11,dull,0 // CZ_REQ_NEXT_MAIL_LIST
|
||||
0x09EF,11,dull,0 // CZ_REQ_REFRESH_MAIL_LIST
|
||||
0x09F0,-1 // ZC_ACK_MAIL_LIST
|
||||
0x09F1,11,dull,0 // CZ_REQ_ZENY_FROM_MAIL
|
||||
0x09F2,12 // ZC_ACK_ZENY_FROM_MAIL
|
||||
0x09F3,11,dull,0 // CZ_REQ_ITEM_FROM_MAIL
|
||||
0x09F4,12 // ZC_ACK_ITEM_FROM_MAIL
|
||||
0x09F5,11,dull,0 // CZ_REQ_DELETE_MAIL
|
||||
0x09F6,11 // ZC_ACK_DELETE_MAIL
|
||||
0x0A03,2,dull,0 // CZ_REQ_CANCEL_WRITE_MAIL
|
||||
0x0A04,6,dull,0 // CZ_REQ_ADD_ITEM_TO_MAIL
|
||||
0x0A05,53 // ZC_ACK_ADD_ITEM_TO_MAIL
|
||||
0x0A06,6,dull,0 // CZ_REQ_REMOVE_ITEM_MAIL
|
||||
0x0A07,9 // ZC_ACK_REMOVE_ITEM_MAIL
|
||||
0x0A08,26,dull,0 // CZ_REQ_OPEN_WRITE_MAIL
|
||||
0x0A12,27 // ZC_ACK_OPEN_WRITE_MAIL
|
||||
0x0A32,2 // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
|
||||
|
||||
0x0A13,26,dull,0 // CZ_CHECK_RECEIVE_CHARACTER_NAME
|
||||
0x0A14,10 // ZC_CHECK_RECEIVE_CHARACTER_NAME
|
||||
|
||||
// New EquipPackets Support
|
||||
0x0A09,45 // ZC_ADD_EXCHANGE_ITEM3
|
||||
0x0A0A,47 // ZC_ADD_ITEM_TO_STORE3
|
||||
0x0A0B,47 // ZC_ADD_ITEM_TO_CART3
|
||||
0x0A0C,56 // ZC_ITEM_PICKUP_ACK_V6
|
||||
0x0A0D,-1 // ZC_INVENTORY_ITEMLIST_EQUIP_V6
|
||||
0x0A0F,-1 // ZC_CART_ITEMLIST_EQUIP_V6
|
||||
0x0A10,-1 // ZC_STORE_ITEMLIST_EQUIP_V6
|
||||
0x0A2D,-1 // ZC_EQUIPWIN_MICROSCOPE_V6
|
||||
|
||||
// Title System
|
||||
0x0A2E,6,dull,0 // CZ_REQ_CHANGE_TITLE
|
||||
0x0A2F,7 // ZC_ACK_CHANGE_TITLE
|
||||
0x0A30,106 // ZC_ACK_REQNAMEALL2
|
||||
|
||||
// Pet Evolution System
|
||||
0x09FB,-1,dull,0 // CZ_PET_EVOLUTION
|
||||
0x09FC,6 // ZC_PET_EVOLUTION_RESULT
|
||||
|
||||
//Add new packets here
|
||||
//packet_ver: 52
|
||||
//packet_ver: 53
|
||||
|
@ -9803,7 +9803,7 @@
|
||||
19751,C_Light_Darkness_Crown,Costume Light Darkness Crown,4,10,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,988,{},{},{}
|
||||
19752,C_Shelter_Wing_Ears,Costume Shelter Wing Ears,4,10,,300,,3,,0,0xFFFFFFFF,63,2,2048,,1,,990,{},{},{}
|
||||
19764,C_Monster_Card,Costume Monster Card,4,10,,0,,,,0,0xFFFFFFFF,63,2,4096,,,,526,{ bonus2 bExpAddRace,RC_All,10; },{},{}
|
||||
19765,C_Wing_Angels_Ears,Costume Wing Angels Ears,4,10,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,158,{ bonus2 bExpAddRace,RC_All,10; },{},{}
|
||||
19765,C_Wing_Angels_Ears,Costume Wing Angels Ears,4,10,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,158,{ bonus2 bExpAddRace,RC_All,10; },{},{}
|
||||
19767,C_Home_Cherry_Blossom,Costume Home Cherry Blossom,4,0,,0,,0,,0,0xFFFFFFFF,63,2,1024,,1,0,602,{},{},{}
|
||||
19768,C_Sakura_Coronet,Costume Sakura Coronet,4,0,,0,,0,,0,0xFFFFFFFF,63,2,1024,,1,0,645,{},{},{}
|
||||
19772,C_Honeybee_Hat,Costume Honeybee Hat,4,0,,0,,0,,0,0xFFFFFFFF,63,2,1024,,1,0,709,{},{},{}
|
||||
|
@ -9834,7 +9834,7 @@ REPLACE INTO `item_db_re` VALUES (19750,'C_Saint_Frill_Ribbon','Costume Saint Fr
|
||||
REPLACE INTO `item_db_re` VALUES (19751,'C_Light_Darkness_Crown','Costume Light Darkness Crown',4,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,988,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19752,'C_Shelter_Wing_Ears','Costume Shelter Wing Ears',4,10,NULL,300,NULL,3,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',NULL,990,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19764,'C_Monster_Card','Costume Monster Card',4,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,NULL,NULL,526,'bonus2 bExpAddRace,RC_All,10;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19765,'C_Wing_Angels_Ears','Costume Wing Angels Ears',4,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,158,'bonus2 bExpAddRace,RC_All,10;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19765,'C_Wing_Angels_Ears','Costume Wing Angels Ears',4,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,158,'bonus2 bExpAddRace,RC_All,10;',NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19767,'C_Home_Cherry_Blossom','Costume Home Cherry Blossom',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',0,602,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19768,'C_Sakura_Coronet','Costume Sakura Coronet',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',0,645,NULL,NULL,NULL);
|
||||
REPLACE INTO `item_db_re` VALUES (19772,'C_Honeybee_Hat','Costume Honeybee Hat',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',0,709,NULL,NULL,NULL);
|
||||
|
@ -5,6 +5,30 @@ UPDATE `inventory` SET `card0` = 256 WHERE `card0` = -256;
|
||||
UPDATE `mail` SET `card0` = 256 WHERE `card0` = -256;
|
||||
UPDATE `storage` SET `card0` = 256 WHERE `card0` = -256;
|
||||
|
||||
UPDATE `auction` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `auction` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `auction` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
||||
|
||||
UPDATE `cart_inventory` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `cart_inventory` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `cart_inventory` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
||||
|
||||
UPDATE `guild_storage` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `guild_storage` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `guild_storage` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
||||
|
||||
UPDATE `inventory` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `inventory` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `inventory` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
||||
|
||||
UPDATE `mail` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `mail` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `mail` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
||||
|
||||
UPDATE `storage` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `storage` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `storage` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
||||
|
||||
ALTER TABLE `auction` MODIFY `nameid` smallint(5) unsigned NOT NULL default '0';
|
||||
ALTER TABLE `auction` MODIFY `card0` smallint(5) unsigned NOT NULL default '0';
|
||||
ALTER TABLE `auction` MODIFY `card1` smallint(5) unsigned NOT NULL default '0';
|
||||
|
@ -1,5 +1,9 @@
|
||||
UPDATE `picklog` SET `card0` = 256 WHERE `card0` = -256;
|
||||
|
||||
UPDATE `picklog` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `picklog` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
||||
UPDATE `picklog` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
||||
|
||||
ALTER TABLE `picklog` MODIFY `nameid` smallint(5) unsigned NOT NULL default '0';
|
||||
ALTER TABLE `picklog` MODIFY `card0` smallint(5) unsigned NOT NULL default '0';
|
||||
ALTER TABLE `picklog` MODIFY `card1` smallint(5) unsigned NOT NULL default '0';
|
||||
|
@ -369,11 +369,13 @@ void chclif_mmo_char_send(int fd, struct char_session_data* sd){
|
||||
ShowInfo("sd->version = %d\n",sd->version);
|
||||
if(sd->version >= date2version(20130000) ){
|
||||
chclif_mmo_send082d(fd,sd);
|
||||
chclif_mmo_send006b(fd,sd);
|
||||
chclif_charlist_notify(fd,sd);
|
||||
chclif_block_character(fd,sd);
|
||||
}
|
||||
} else
|
||||
chclif_mmo_send006b(fd,sd);
|
||||
//@FIXME dump from kro doesn't show 6b transmission
|
||||
chclif_mmo_send006b(fd,sd);
|
||||
if(sd->version >= date2version(20060819) )
|
||||
chclif_block_character(fd,sd);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -382,7 +382,8 @@ uint32 date2version(int date) {
|
||||
//else if(date < 20140613) return 47;
|
||||
//else if(date < 20141016) return 48;
|
||||
else if(date < 20141022) return 50;
|
||||
else if(date >= 20141022) return 51;
|
||||
else if(date < 20150513) return 51;
|
||||
else if(date >= 20150513) return 52;
|
||||
|
||||
else return 30; //default
|
||||
}
|
||||
|
@ -578,10 +578,7 @@ ACMD_FUNC(jump)
|
||||
|
||||
memset(atcmd_output, '\0', sizeof(atcmd_output));
|
||||
|
||||
if (sscanf(message, "%6hd %6hd", &x, &y) != 2) {
|
||||
clif_displaymessage(fd, msg_txt(sd,407));
|
||||
return -1;
|
||||
}
|
||||
sscanf(message, "%6hd %6hd", &x, &y);
|
||||
|
||||
if (map[sd->bl.m].flag.noteleport && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) {
|
||||
clif_displaymessage(fd, msg_txt(sd,248)); // You are not authorized to warp from your current map.
|
||||
@ -1145,10 +1142,7 @@ ACMD_FUNC(heal)
|
||||
int hp = 0, sp = 0; // [Valaris] thanks to fov
|
||||
nullpo_retr(-1, sd);
|
||||
|
||||
if (sscanf(message, "%11d %11d", &hp, &sp) != 2) {
|
||||
clif_displaymessage(fd, msg_txt(sd,407));
|
||||
return -1;
|
||||
}
|
||||
sscanf(message, "%11d %11d", &hp, &sp);
|
||||
|
||||
// some overflow checks
|
||||
if( hp == INT_MIN ) hp++;
|
||||
|
@ -8175,6 +8175,7 @@ static const struct _battle_data {
|
||||
{ "homunculus_evo_intimacy_reset", &battle_config.homunculus_evo_intimacy_reset, 1000, 0, INT_MAX, },
|
||||
{ "monster_loot_search_type", &battle_config.monster_loot_search_type, 1, 0, 1, },
|
||||
{ "feature.roulette", &battle_config.feature_roulette, 1, 0, 1, },
|
||||
{ "monster_hp_bars_info", &battle_config.monster_hp_bars_info, 1, 0, 1, },
|
||||
};
|
||||
|
||||
#ifndef STATS_OPT_OUT
|
||||
|
@ -591,6 +591,7 @@ extern struct Battle_Config
|
||||
int homunculus_evo_intimacy_reset;
|
||||
int monster_loot_search_type;
|
||||
int feature_roulette;
|
||||
int monster_hp_bars_info;
|
||||
} battle_config;
|
||||
|
||||
void do_init_battle(void);
|
||||
|
564
src/map/clif.c
564
src/map/clif.c
File diff suppressed because it is too large
Load Diff
@ -35,7 +35,7 @@ struct party_booking_ad_info;
|
||||
enum { // packet DB
|
||||
MIN_PACKET_DB = 0x064,
|
||||
MAX_PACKET_DB = 0xAFF,
|
||||
MAX_PACKET_VER = 51,
|
||||
MAX_PACKET_VER = 52,
|
||||
MAX_PACKET_POS = 20,
|
||||
};
|
||||
|
||||
@ -968,4 +968,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);
|
||||
|
||||
#endif /* _CLIF_H_ */
|
||||
|
@ -514,6 +514,11 @@ int hom_levelup(struct homun_data *hd)
|
||||
|
||||
APPLY_HOMUN_LEVEL_STATWEIGHT();
|
||||
|
||||
// Needed to update skill list for mutated homunculus so unlocked skills will appear when the needed level is reached.
|
||||
status_calc_homunculus(hd,0);
|
||||
clif_hominfo(hd->master,hd,0);
|
||||
clif_homskillinfoblock(hd->master);
|
||||
|
||||
if ( hd->master && battle_config.homunculus_show_growth ) {
|
||||
char output[256] ;
|
||||
sprintf(output,
|
||||
|
@ -1783,6 +1783,11 @@ int map_quit(struct map_session_data *sd) {
|
||||
status_change_end(&sd->bl, SC_READYCOUNTER, INVALID_TIMER);
|
||||
status_change_end(&sd->bl, SC_CBC, INVALID_TIMER);
|
||||
status_change_end(&sd->bl, SC_EQC, INVALID_TIMER);
|
||||
// Remove visuals effect from headgear
|
||||
status_change_end(&sd->bl, SC_MOONSTAR, INVALID_TIMER);
|
||||
status_change_end(&sd->bl, SC_SUPER_STAR, INVALID_TIMER);
|
||||
status_change_end(&sd->bl, SC_STRANGELIGHTS, INVALID_TIMER);
|
||||
status_change_end(&sd->bl, SC_DECORATION_OF_MUSIC, INVALID_TIMER);
|
||||
if (battle_config.debuff_on_logout&1) { //Remove negative buffs
|
||||
status_change_end(&sd->bl, SC_ORCISH, INVALID_TIMER);
|
||||
status_change_end(&sd->bl, SC_STRIPWEAPON, INVALID_TIMER);
|
||||
|
@ -2176,7 +2176,7 @@ void mob_damage(struct mob_data *md, struct block_list *src, int damage)
|
||||
return;
|
||||
|
||||
#if PACKETVER >= 20120404
|
||||
if( !(md->status.mode&MD_BOSS) ){
|
||||
if( !(md->status.mode&MD_BOSS) && battle_config.monster_hp_bars_info){
|
||||
int i;
|
||||
for(i = 0; i < DAMAGELOG_SIZE; i++){ // must show hp bar to all char who already hit the mob.
|
||||
struct map_session_data *sd = map_charid2sd(md->dmglog[i].id);
|
||||
@ -2957,7 +2957,7 @@ void mob_heal(struct mob_data *md,unsigned int heal)
|
||||
if (battle_config.show_mob_info&3)
|
||||
clif_charnameack (0, &md->bl);
|
||||
#if PACKETVER >= 20120404
|
||||
if( !(md->status.mode&MD_BOSS) ){
|
||||
if( !(md->status.mode&MD_BOSS) && battle_config.monster_hp_bars_info){
|
||||
int i;
|
||||
for(i = 0; i < DAMAGELOG_SIZE; i++)// must show hp bar to all char who already hit the mob.
|
||||
if( md->dmglog[i].id ) {
|
||||
|
@ -107,7 +107,7 @@ enum actor_classes
|
||||
#define MAX_NPC_CLASS 1000
|
||||
// New NPC range
|
||||
#define MAX_NPC_CLASS2_START 10000
|
||||
#define MAX_NPC_CLASS2_END 10114
|
||||
#define MAX_NPC_CLASS2_END 10174
|
||||
|
||||
//Checks if a given id is a valid npc id. [Skotlex]
|
||||
//Since new npcs are added all the time, the max valid value is the one before the first mob (Scorpion = 1001)
|
||||
|
11
src/map/pc.c
11
src/map/pc.c
@ -536,6 +536,17 @@ void pc_rental_expire(struct map_session_data *sd, int i)
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// Remove visuals effect from headgear
|
||||
if( &sd->sc && sd->sc.data[SC_MOONSTAR] )
|
||||
status_change_end(&sd->bl, SC_MOONSTAR, INVALID_TIMER);
|
||||
if( &sd->sc && sd->sc.data[SC_SUPER_STAR] )
|
||||
status_change_end(&sd->bl, SC_SUPER_STAR, INVALID_TIMER);
|
||||
if( &sd->sc && sd->sc.data[SC_DECORATION_OF_MUSIC] )
|
||||
status_change_end(&sd->bl, SC_DECORATION_OF_MUSIC, INVALID_TIMER);
|
||||
if( &sd->sc && sd->sc.data[SC_STRANGELIGHTS] )
|
||||
status_change_end(&sd->bl, SC_STRANGELIGHTS, INVALID_TIMER);
|
||||
|
||||
clif_rental_expired(sd->fd, i, sd->status.inventory[i].nameid);
|
||||
pc_delitem(sd, i, sd->status.inventory[i].amount, 0, 0, LOG_TYPE_OTHER);
|
||||
}
|
||||
|
@ -8408,7 +8408,7 @@ BUILDIN_FUNC(getequipid)
|
||||
if( i < 0 )
|
||||
{
|
||||
script_pushint(st,-1);
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
item = sd->inventory_data[i];
|
||||
@ -11168,6 +11168,8 @@ BUILDIN_FUNC(getstatus)
|
||||
if( timer )
|
||||
{// return the amount of time remaining
|
||||
script_pushint(st, timer->tick - gettick());
|
||||
} else {
|
||||
script_pushint(st, -1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -13611,42 +13611,42 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, uns
|
||||
case UNT_ZENKAI_WATER:
|
||||
switch (rnd()%2 + 1) {
|
||||
case 1:
|
||||
sc_start(ss, bl, SC_FREEZE, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv));
|
||||
sc_start(ss, bl, SC_FREEZE, sg->val1*5, sg->skill_lv, skill_get_time(sg->skill_id, sg->skill_lv));
|
||||
break;
|
||||
case 2:
|
||||
sc_start(ss, bl, SC_FREEZING, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv));
|
||||
sc_start(ss, bl, SC_FREEZING, sg->val1*5, sg->skill_lv, skill_get_time(sg->skill_id, sg->skill_lv));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case UNT_ZENKAI_LAND:
|
||||
switch (rnd()%2 + 1) {
|
||||
case 1:
|
||||
sc_start2(ss, bl, SC_STONE, sg->val1*5, sg->skill_lv, ss->id, skill_get_time2(sg->skill_id, sg->skill_lv));
|
||||
sc_start2(ss, bl, SC_STONE, sg->val1*5, sg->skill_lv, ss->id, skill_get_time(sg->skill_id, sg->skill_lv));
|
||||
break;
|
||||
case 2:
|
||||
sc_start2(ss, bl, SC_POISON, sg->val1*5, sg->skill_lv, ss->id, skill_get_time2(sg->skill_id, sg->skill_lv));
|
||||
sc_start2(ss, bl, SC_POISON, sg->val1*5, sg->skill_lv, ss->id, skill_get_time(sg->skill_id, sg->skill_lv));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case UNT_ZENKAI_FIRE:
|
||||
sc_start4(ss, bl, SC_BURNING, sg->val1*5, sg->skill_lv, 1000, ss->id, 0, skill_get_time2(sg->skill_id, sg->skill_lv));
|
||||
sc_start4(ss, bl, SC_BURNING, sg->val1*5, sg->skill_lv, 1000, ss->id, 0, skill_get_time(sg->skill_id, sg->skill_lv));
|
||||
break;
|
||||
case UNT_ZENKAI_WIND:
|
||||
switch (rnd()%3 + 1) {
|
||||
case 1:
|
||||
sc_start(ss, bl, SC_SLEEP, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv));
|
||||
sc_start(ss, bl, SC_SLEEP, sg->val1*5, sg->skill_lv, skill_get_time(sg->skill_id, sg->skill_lv));
|
||||
break;
|
||||
case 2:
|
||||
sc_start(ss, bl, SC_SILENCE, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv));
|
||||
sc_start(ss, bl, SC_SILENCE, sg->val1*5, sg->skill_lv, skill_get_time(sg->skill_id, sg->skill_lv));
|
||||
break;
|
||||
case 3:
|
||||
sc_start(ss, bl, SC_DEEPSLEEP, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv));
|
||||
sc_start(ss, bl, SC_DEEPSLEEP, sg->val1*5, sg->skill_lv, skill_get_time(sg->skill_id, sg->skill_lv));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else
|
||||
sc_start2(ss, bl,type,100,sg->val1,sg->val2,skill_get_time2(sg->skill_id, sg->skill_lv));
|
||||
sc_start2(ss, bl,type,100,sg->val1,sg->val2,skill_get_time(sg->skill_id, sg->skill_lv));
|
||||
break;
|
||||
|
||||
case UNT_LAVA_SLIDE:
|
||||
@ -15897,11 +15897,11 @@ int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id, uint16
|
||||
if (sc->data[SC_POEMBRAGI])
|
||||
reduce_cast_rate += sc->data[SC_POEMBRAGI]->val2;
|
||||
if (sc->data[SC_IZAYOI])
|
||||
VARCAST_REDUCTION(-50);
|
||||
VARCAST_REDUCTION(50);
|
||||
if (sc->data[SC_WATER_INSIGNIA] && sc->data[SC_WATER_INSIGNIA]->val1 == 3 && skill_get_type(skill_id) == BF_MAGIC && skill_get_ele(skill_id, skill_lv) == ELE_WATER)
|
||||
VARCAST_REDUCTION(30); //Reduces 30% Variable Cast Time of magic Water spells.
|
||||
if (sc->data[SC_TELEKINESIS_INTENSE])
|
||||
VARCAST_REDUCTION(sc->data[SC_TELEKINESIS_INTENSE]->val4);
|
||||
VARCAST_REDUCTION(sc->data[SC_TELEKINESIS_INTENSE]->val2);
|
||||
// Multiplicative Fixed CastTime values
|
||||
if (sc->data[SC_SECRAMENT])
|
||||
fixcast_r = max(fixcast_r, sc->data[SC_SECRAMENT]->val2);
|
||||
|
@ -823,6 +823,8 @@ void initChangeTables(void)
|
||||
set_sc_with_vfx_noskill( SC_MOONSTAR , SI_MOONSTAR , SCB_NONE );
|
||||
set_sc_with_vfx_noskill( SC_SUPER_STAR , SI_SUPER_STAR , SCB_NONE );
|
||||
set_sc_with_vfx_noskill( SC_ALL_RIDING , SI_ALL_RIDING , SCB_SPEED );
|
||||
set_sc_with_vfx_noskill( SC_STRANGELIGHTS , SI_STRANGELIGHTS , SCB_NONE );
|
||||
set_sc_with_vfx_noskill( SC_DECORATION_OF_MUSIC , SI_DECORATION_OF_MUSIC , SCB_NONE );
|
||||
|
||||
/* Storing the target job rather than simply SC_SPIRIT simplifies code later on */
|
||||
SkillStatusChangeTable[skill_get_index(SL_ALCHEMIST)] = (sc_type)MAPID_ALCHEMIST,
|
||||
@ -5622,7 +5624,7 @@ static signed short status_calc_critical(struct block_list *bl, struct status_ch
|
||||
return cap_value(critical,10,SHRT_MAX);
|
||||
|
||||
if (sc->data[SC_INCCRI])
|
||||
critical += sc->data[SC_INCCRI]->val1;
|
||||
critical += sc->data[SC_INCCRI]->val2;
|
||||
if (sc->data[SC_CRIFOOD])
|
||||
critical += sc->data[SC_CRIFOOD]->val1;
|
||||
if (sc->data[SC_EXPLOSIONSPIRITS])
|
||||
@ -7714,7 +7716,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
if( !sc )
|
||||
return 0; // Unable to receive status changes
|
||||
|
||||
if( status_isdead(bl) && type != SC_NOCHAT ) // SC_NOCHAT should work even on dead characters
|
||||
if( status_isdead(bl) && ( type != SC_NOCHAT && type != SC_JAILED ) ) // SC_NOCHAT and SC_JAILED should work even on dead characters
|
||||
return 0;
|
||||
|
||||
if( bl->type == BL_MOB) {
|
||||
@ -10122,7 +10124,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
val4 = tick / tick_time;
|
||||
break;
|
||||
case SC_TELEKINESIS_INTENSE:
|
||||
val2 = val4 = 10 * val1; // sp consum / casttime reduc %
|
||||
val2 = 10 * val1; // sp consum / casttime reduc %
|
||||
val3 = 40 * val1; // magic dmg bonus
|
||||
break;
|
||||
case SC_OFFERTORIUM:
|
||||
|
Loading…
x
Reference in New Issue
Block a user