diff --git a/.gitignore b/.gitignore index 1597bb4dbc..1f3e0bf972 100644 --- a/.gitignore +++ b/.gitignore @@ -100,6 +100,7 @@ Thumbs.db # /vcproj-14/ .vs +*.VC.db /vcproj-14/char-server /vcproj-14/login-server /vcproj-14/mapcache diff --git a/3rdparty/zlib/include/zconf.h b/3rdparty/zlib/include/zconf.h index 8a46a58b30..9987a77553 100644 --- a/3rdparty/zlib/include/zconf.h +++ b/3rdparty/zlib/include/zconf.h @@ -1,5 +1,5 @@ /* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2012 Jean-loup Gailly. + * Copyright (C) 1995-2013 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -21,6 +21,7 @@ # define _dist_code z__dist_code # define _length_code z__length_code # define _tr_align z__tr_align +# define _tr_flush_bits z__tr_flush_bits # define _tr_flush_block z__tr_flush_block # define _tr_init z__tr_init # define _tr_stored_block z__tr_stored_block @@ -77,6 +78,7 @@ # define gzopen_w z_gzopen_w # endif # define gzprintf z_gzprintf +# define gzvprintf z_gzvprintf # define gzputc z_gzputc # define gzputs z_gzputs # define gzread z_gzread @@ -103,6 +105,7 @@ # define inflateReset z_inflateReset # define inflateReset2 z_inflateReset2 # define inflateSetDictionary z_inflateSetDictionary +# define inflateGetDictionary z_inflateGetDictionary # define inflateSync z_inflateSync # define inflateSyncPoint z_inflateSyncPoint # define inflateUndermine z_inflateUndermine @@ -388,20 +391,14 @@ typedef uLong FAR uLongf; typedef Byte *voidp; #endif -/* ./configure may #define Z_U4 here */ - #if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) # include # if (UINT_MAX == 0xffffffffUL) # define Z_U4 unsigned -# else -# if (ULONG_MAX == 0xffffffffUL) -# define Z_U4 unsigned long -# else -# if (USHRT_MAX == 0xffffffffUL) -# define Z_U4 unsigned short -# endif -# endif +# elif (ULONG_MAX == 0xffffffffUL) +# define Z_U4 unsigned long +# elif (USHRT_MAX == 0xffffffffUL) +# define Z_U4 unsigned short # endif #endif @@ -425,8 +422,16 @@ typedef uLong FAR uLongf; # endif #endif +#if defined(STDC) || defined(Z_HAVE_STDARG_H) +# ifndef Z_SOLO +# include /* for va_list */ +# endif +#endif + #ifdef _WIN32 -# include /* for wchar_t */ +# ifndef Z_SOLO +# include /* for wchar_t */ +# endif #endif /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and @@ -435,7 +440,7 @@ typedef uLong FAR uLongf; * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as * equivalently requesting no 64-bit operations */ -#if defined(LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 +#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 # undef _LARGEFILE64_SOURCE #endif @@ -443,7 +448,7 @@ typedef uLong FAR uLongf; # define Z_HAVE_UNISTD_H #endif #ifndef Z_SOLO -# if defined(Z_HAVE_UNISTD_H) || defined(LARGEFILE64_SOURCE) +# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE) # include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ # ifdef VMS # include /* for off_t */ diff --git a/3rdparty/zlib/include/zlib.h b/3rdparty/zlib/include/zlib.h index 3edf3acdb5..3e0c7672ac 100644 --- a/3rdparty/zlib/include/zlib.h +++ b/3rdparty/zlib/include/zlib.h @@ -1,7 +1,7 @@ /* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.7, May 2nd, 2012 + version 1.2.8, April 28th, 2013 - Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler + Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -37,11 +37,11 @@ extern "C" { #endif -#define ZLIB_VERSION "1.2.7" -#define ZLIB_VERNUM 0x1270 +#define ZLIB_VERSION "1.2.8" +#define ZLIB_VERNUM 0x1280 #define ZLIB_VER_MAJOR 1 #define ZLIB_VER_MINOR 2 -#define ZLIB_VER_REVISION 7 +#define ZLIB_VER_REVISION 8 #define ZLIB_VER_SUBREVISION 0 /* @@ -839,6 +839,21 @@ ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, inflate(). */ +ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm, + Bytef *dictionary, + uInt *dictLength)); +/* + Returns the sliding dictionary being maintained by inflate. dictLength is + set to the number of bytes in the dictionary, and that many bytes are copied + to dictionary. dictionary must have enough space, where 32768 bytes is + always enough. If inflateGetDictionary() is called with dictionary equal to + Z_NULL, then only the dictionary length is returned, and nothing is copied. + Similary, if dictLength is Z_NULL, then it is not set. + + inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the + stream state is inconsistent. +*/ + ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); /* Skips invalid compressed data until a possible full flush point (see above @@ -846,7 +861,7 @@ ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); available input is skipped. No output is provided. inflateSync searches for a 00 00 FF FF pattern in the compressed data. - All full flush points have this pattern, but not all occurences of this + All full flush points have this pattern, but not all occurrences of this pattern are full flush points. inflateSync returns Z_OK if a possible full flush point has been found, @@ -1007,7 +1022,8 @@ ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, the version of the header file. */ -typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *)); +typedef unsigned (*in_func) OF((void FAR *, + z_const unsigned char FAR * FAR *)); typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, @@ -1015,11 +1031,12 @@ ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, out_func out, void FAR *out_desc)); /* inflateBack() does a raw inflate with a single call using a call-back - interface for input and output. This is more efficient than inflate() for - file i/o applications in that it avoids copying between the output and the - sliding window by simply making the window itself the output buffer. This - function trusts the application to not change the output buffer passed by - the output function, at least until inflateBack() returns. + interface for input and output. This is potentially more efficient than + inflate() for file i/o applications, in that it avoids copying between the + output and the sliding window by simply making the window itself the output + buffer. inflate() can be faster on modern CPUs when used with large + buffers. inflateBack() trusts the application to not change the output + buffer passed by the output function, at least until inflateBack() returns. inflateBackInit() must be called first to allocate the internal state and to initialize the state with the user-provided window buffer. @@ -1736,6 +1753,13 @@ ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp)); ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path, const char *mode)); #endif +#if defined(STDC) || defined(Z_HAVE_STDARG_H) +# ifndef Z_SOLO +ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file, + const char *format, + va_list va)); +# endif +#endif #ifdef __cplusplus } diff --git a/3rdparty/zlib/lib/zdll.lib b/3rdparty/zlib/lib/zdll.lib index e27d95c8f7..669b186cc5 100644 Binary files a/3rdparty/zlib/lib/zdll.lib and b/3rdparty/zlib/lib/zdll.lib differ diff --git a/3rdparty/zlib/zlib-1.2.7 b/3rdparty/zlib/zlib-1.2.8 similarity index 100% rename from 3rdparty/zlib/zlib-1.2.7 rename to 3rdparty/zlib/zlib-1.2.8 diff --git a/AUTHORS b/AUTHORS index 7ecc692c5a..b925a0edb6 100644 --- a/AUTHORS +++ b/AUTHORS @@ -180,6 +180,7 @@ Nexon Ni+S Nikita nini +Ninja NOCTURNE nokia non @@ -207,6 +208,7 @@ samuray22 Sanasol Sapientia Sara +secretdataz Sel Seventh shadow @@ -288,4 +290,4 @@ ZoDIaC 胡 胡蝶蘭 過去の人i1 -釈尊 \ No newline at end of file +釈尊 diff --git a/README.md b/README.md index 1daaedd169..e691245a50 100644 --- a/README.md +++ b/README.md @@ -65,10 +65,7 @@ relevant to your Operation System, please refer to the Wiki (links at the end of * Type: * (For CentOS) - yum install gcc make mysql mysql-devel mysql-server pcre-devel zlib-devel - rpm -Uvhhttp://repo.webtatic.com/yum/centos/5/latest.rpm - yum install --enablerepo=webtatic git-all - yum install --enablerepo=webtatic --disableexcludes=main git-all + yum install gcc make mysql mysql-devel mysql-server pcre-devel zlib-devel git * (For Debian) apt-get install git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev diff --git a/README.txt b/README.txt index 7048d7ef09..0f94d75224 100644 --- a/README.txt +++ b/README.txt @@ -77,10 +77,7 @@ Windows Linux * Type: (For CentOS) - yum install gcc make mysql mysql-devel mysql-server pcre-devel zlib-devel - rpm -Uvhhttp://repo.webtatic.com/yum/centos/5/latest.rpm - yum install --enablerepo=webtatic git-all - yum install --enablerepo=webtatic --disableexcludes=main git-all + yum install gcc make mysql mysql-devel mysql-server pcre-devel zlib-devel git (For Debian) apt-get install git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev * Type: diff --git a/conf/battle/client.conf b/conf/battle/client.conf index 528a097530..f2e5e1be51 100644 --- a/conf/battle/client.conf +++ b/conf/battle/client.conf @@ -187,3 +187,8 @@ update_enemy_position: yes // When a player teleports, changes maps, or logs in, will they face the direction they were facing before warped? // Official: Disabled, players always face North. spawn_direction: no + +// Show the MVP EXP reward message for clients 2013-12-23cRagexe and newer? (Note 1) +// kRO removed the packet and this re-enables the message. +// Official: Disabled. +mvp_exp_reward_message: no diff --git a/conf/battle/drops.conf b/conf/battle/drops.conf index 62ac649d4a..1b50f359e3 100644 --- a/conf/battle/drops.conf +++ b/conf/battle/drops.conf @@ -40,30 +40,35 @@ mvp_item_third_get_time: 2000 // The rate the common items are dropped (Items that are in the ETC tab, besides card) item_rate_common: 100 item_rate_common_boss: 100 +item_rate_common_mvp: 100 item_drop_common_min: 1 item_drop_common_max: 10000 // The rate healing items are dropped (items that restore HP or SP) item_rate_heal: 100 item_rate_heal_boss: 100 +item_rate_heal_mvp: 100 item_drop_heal_min: 1 item_drop_heal_max: 10000 // The rate at which usable items (in the item tab) other then healing items are dropped. item_rate_use: 100 item_rate_use_boss: 100 +item_rate_use_mvp: 100 item_drop_use_min: 1 item_drop_use_max: 10000 // The rate at which equipment is dropped. item_rate_equip: 100 item_rate_equip_boss: 100 +item_rate_equip_mvp: 100 item_drop_equip_min: 1 item_drop_equip_max: 10000 // The rate at which cards are dropped item_rate_card: 100 item_rate_card_boss: 100 +item_rate_card_mvp: 100 item_drop_card_min: 1 item_drop_card_max: 10000 diff --git a/conf/battle/monster.conf b/conf/battle/monster.conf index 8d4bb623a3..57a93b443a 100644 --- a/conf/battle/monster.conf +++ b/conf/battle/monster.conf @@ -154,7 +154,8 @@ force_random_spawn: no // 1: Slaves are always aggressive. // 2: Slaves are always passive. // 3: Same as master's aggressive/passive state. -slaves_inherit_mode: 2 +// 4: Mode is overwritten with slave mode (official) +slaves_inherit_mode: 4 // Do summon slaves have the same walking speed as their master? // NOTE: The default is 3 for official servers. diff --git a/conf/battle/player.conf b/conf/battle/player.conf index bef27cb407..da819c378c 100644 --- a/conf/battle/player.conf +++ b/conf/battle/player.conf @@ -97,6 +97,7 @@ max_third_trans_parameter: 130 max_baby_parameter: 80 max_baby_third_parameter: 117 max_extended_parameter: 125 +max_summoner_parameter: 120 // Status points bonus for transcendent class transcendent_status_points: 52 @@ -134,6 +135,8 @@ friend_auto_add: yes invite_request_check: yes // Players' will drop a 'Skull' when killed? +// Note: The 'Skull' item (ID 7420) is trade restricted by default. Please check +// the item_trade database to adjust accordingly. // 0 = Disabled // 1 = Dropped only in PvP maps // 2 = Dropped in all situations diff --git a/conf/battle/skill.conf b/conf/battle/skill.conf index 1fbacfb68c..971bbb394c 100644 --- a/conf/battle/skill.conf +++ b/conf/battle/skill.conf @@ -118,11 +118,11 @@ skill_nofootset: 1 // Default on official servers: 1 (for players) gvg_traps_target_all: 1 -// Hunter's traps visibility setting: -// 1: (Official) Many of Hunter's traps are invisible at all times. -// But any player who see the Hunter laying the trap will be able to see the trap until they move out of sight of it. -// Although, invisible traps can be revealed through Hunter's Detecting skill. -traps_setting: 1 +// Traps visibility setting (trap with UF_HIDDEN_TRAP flag): +// 0 = Always visible +// 1 = Enable invisibility in versus maps (GVG/PVP/BG) +// 2 = Enable invisibility in all maps +traps_setting: 0 // Restrictions applied to the Alchemist's Summon Flora skill (add as necessary) // 1: Enable players to damage the floras outside of versus grounds. @@ -345,3 +345,10 @@ default_fixed_castrate: 20 // You can adjust splash and maxcount in the skill_db to adjust the width and length of these skills. // Note: Brandish Spear will always use this algorithm due to its special damage behavior. skill_eightpath_algorithm: yes + +// Can damage skill units like icewall and traps (Note 3) +// On official servers, players can damage icewalls and some traps with skills. When monsters use skills, damage +// will show on the icewalls and traps, but it is not actually substracted from the durability. +// The official setting makes it quite easy to trap MVPs, set this to 31 if you want all units to be able to +// damage skills (previous behavior). +can_damage_skill: 1 diff --git a/conf/char_athena.conf b/conf/char_athena.conf index ea0524b493..fb2f9ebb87 100644 --- a/conf/char_athena.conf +++ b/conf/char_athena.conf @@ -111,14 +111,18 @@ save_log: yes // Format: ,,{:,,...} // Max number of start points is MAX_STARTPOINT in char.h (default 5) // Location is randomly picked on character creation. +// NOTE: For Doram, this requires client 20151001 or newer. start_point: iz_int,97,90:iz_int01,97,90:iz_int02,97,90:iz_int03,97,90:iz_int04,97,90 start_point_pre: new_1-1,53,111:new_2-1,53,111:new_3-1,53,111:new_4-1,53,111:new_5-1,53,111 +start_point_doram: lasa_fild01,48,297 // Starting items for new characters // Max number of items is MAX_STARTITEM in char.c (default 32) -// Format: ,,:,,:... +// Format: ,,{:,,...} // To auto-equip an item, include the position where it will be equipped; otherwise, use zero. +// NOTE: For Doram, this requires client 20151001 or newer. start_items: 1201,1,2:2301,1,16 +start_items_doram: 1681,1,2:2301,1,16 // Starting zeny for new characters start_zeny: 0 diff --git a/conf/help.txt b/conf/help.txt index 8607d6abaa..bebee090d6 100644 --- a/conf/help.txt +++ b/conf/help.txt @@ -102,7 +102,7 @@ jobchange: "Params: \n" "Changes your job.\n" " 23 Super Novice 24 Gunslinger 25 Ninja 4045 Super Baby\n" "4046 Taekwon 4047 Star Gladiator 4049 Soul Linker 4050 Gangsi\n" "4051 Death Knight 4052 Dark Collector 4190 Ex. Super Novice 4191 Ex. Super Baby\n" - "4211 Kagerou 4212 Oboro 4215 Rebellion\n" + "4211 Kagerou 4212 Oboro 4215 Rebellion 4218 Summoner\n" "----- Baby Novice And Baby 1st Class -----\n" "4023 Baby Novice 4024 Baby Swordman 4025 Baby Magician 4026 Baby Archer\n" "4027 Baby Acolyte 4028 Baby Merchant 4029 Baby Thief\n" diff --git a/conf/msg_conf/char_msg.conf b/conf/msg_conf/char_msg.conf index 79fb5b41ea..8a320cc848 100644 --- a/conf/msg_conf/char_msg.conf +++ b/conf/msg_conf/char_msg.conf @@ -113,7 +113,10 @@ 103: Kagerou 104: Oboro 105: Hanbok -106: Unknown Job +106: Rebellion +107: Oktoberfest +108: Summoner +109: Unknown Job //Auction 200: Auction Manager diff --git a/conf/msg_conf/map_msg.conf b/conf/msg_conf/map_msg.conf index a778f7f16e..da4b37e9b9 100644 --- a/conf/msg_conf/map_msg.conf +++ b/conf/msg_conf/map_msg.conf @@ -279,7 +279,7 @@ 266: Some of your items cannot be vended and were removed from the shop. 267: '%s' designated maps reset. 268: Reloaded the Message of the Day. -269: Displaying first %d out of %d matches +269: Displaying first %d matches //@me output format 270: * :%s %s: * 271: You can't drop items on this map. @@ -719,6 +719,7 @@ 694: Hanbok 695: Rebellion 696: Oktoberfest +697: Summoner // @vip 700: Usage: @vip