From 1260d294ed795011b5b73284e308a6a01d9eef9e Mon Sep 17 00:00:00 2001 From: ai4rei Date: Sat, 9 Apr 2011 09:09:35 +0000 Subject: * Merged changes from trunk [14742:14782/trunk]. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/renewal@14783 54d463be-8e91-2dee-dedb-b68131a5f0ec --- conf/Changelog.txt | 2 + conf/battle/client.conf | 2 +- conf/battle/monster.conf | 2 +- conf/mapflag/nobranch.txt | 6 +- conf/mapflag/noicewall.txt | 4 + conf/mapflag/nomemo.txt | 4 + conf/mapflag/nopenalty.txt | 3 + conf/mapflag/nosave.txt | 4 + conf/mapflag/noteleport.txt | 5 + conf/mapflag/nowarp.txt | 4 + conf/mapflag/nowarpto.txt | 4 + configure | 288 ++- configure.in | 63 +- db/Changelog.txt | 2 + db/const.txt | 108 +- db/packet_db.txt | 8 +- db/skill_require_db.txt | 2 +- doc/script_commands.txt | 103 +- npc/Changelog.txt | 17 + npc/battleground/flavius/flavius01.txt | 7 +- npc/battleground/flavius/flavius02.txt | 7 +- npc/battleground/kvm/kvm02.txt | 18 +- npc/battleground/kvm/kvm03.txt | 11 +- npc/battleground/tierra/tierra01.txt | 7 +- npc/battleground/tierra/tierra02.txt | 7 +- npc/cities/lighthalzen.txt | 53 +- npc/cities/manuk.txt | 79 +- npc/cities/splendide.txt | 39 +- npc/instances/EndlessTower.txt | 233 ++- npc/merchants/hair_dyer.txt | 262 ++- npc/merchants/hair_style.txt | 616 ++++++- npc/other/arena/arena_aco.txt | 8 +- npc/other/hugel_bingo.txt | 5 +- npc/other/poring_war.txt | 1767 ++++++++++++++++++ npc/other/turbotrack/Expert_16.txt | 6 +- npc/other/turbotrack/Expert_4.txt | 6 +- npc/other/turbotrack/Expert_8.txt | 6 +- npc/other/turbotrack/Normal_16.txt | 6 +- npc/other/turbotrack/Normal_4.txt | 6 +- npc/other/turbotrack/Normal_8.txt | 6 +- npc/quests/The_Sign_Quest.txt | 4 +- npc/quests/quests_13_1.txt | 525 +++++- npc/quests/quests_13_2.txt | 667 +++++++ npc/quests/quests_alberta.txt | 676 +++++++ npc/quests/quests_lighthalzen.txt | 3149 +++++++++++++++++--------------- npc/quests/quests_morocc.txt | 10 +- npc/scripts_athena.conf | 1 + npc/warps/dungeons/anthell.txt | 12 + npc/warps/other/sign.txt | 3 +- sql-files/main.sql | 8 +- sql-files/upgrade_svn14759.sql | 4 + src/char_sql/char.c | 3 +- src/common/socket.c | 7 +- src/common/timer.c | 2 +- src/common/utils.c | 2 +- src/map/atcommand.c | 55 +- src/map/battle.c | 4 +- src/map/battleground.c | 4 +- src/map/buyingstore.c | 2 +- src/map/chat.c | 38 +- src/map/chat.h | 5 +- src/map/clif.c | 185 +- src/map/clif.h | 2 +- src/map/guild.c | 4 +- src/map/mail.c | 2 +- src/map/map.c | 3 - src/map/mob.c | 4 +- src/map/npc.c | 12 +- src/map/party.c | 4 +- src/map/pc.c | 60 +- src/map/pc.h | 8 +- src/map/pet.c | 7 +- src/map/script.c | 85 +- src/map/searchstore.c | 2 +- src/map/skill.c | 1 + src/map/status.c | 3 + src/map/trade.c | 4 +- src/map/unit.c | 5 +- src/map/vending.c | 23 +- vcproj-10/char-server_sql.vcxproj | 2 + vcproj-10/char-server_txt.vcxproj | 2 + vcproj-10/login-server_sql.vcxproj | 2 + vcproj-10/login-server_txt.vcxproj | 2 + vcproj-10/map-server_sql.vcxproj | 2 + vcproj-10/map-server_txt.vcxproj | 2 + vcproj-10/mapcache.vcxproj | 2 + vcproj-10/txt-converter-char.vcxproj | 2 + vcproj-10/txt-converter-login.vcxproj | 2 + 88 files changed, 7413 insertions(+), 1986 deletions(-) create mode 100644 npc/other/poring_war.txt create mode 100644 sql-files/upgrade_svn14759.sql diff --git a/conf/Changelog.txt b/conf/Changelog.txt index 3a1121934..a890c1252 100644 --- a/conf/Changelog.txt +++ b/conf/Changelog.txt @@ -1,5 +1,7 @@ Date Added +2011/03/15 + * Rev. 14744 Fixed option 'monster_ai' referring to setting 'mob_npc_warp' rather than 'mob_warp' (follow up to r8135). [Ai4rei] 2011/03/06 * Rev. 14732 Added search store info related settings. [Ai4rei] 2011/02/23 diff --git a/conf/battle/client.conf b/conf/battle/client.conf index 143505a36..6a6c58d13 100644 --- a/conf/battle/client.conf +++ b/conf/battle/client.conf @@ -48,7 +48,7 @@ min_chat_delay: 0 // valid range of dye's and styles on the client min_hair_style: 0 -max_hair_style: 25 +max_hair_style: 27 min_hair_color: 0 max_hair_color: 8 min_cloth_color: 0 diff --git a/conf/battle/monster.conf b/conf/battle/monster.conf index ada628a37..a4c985055 100644 --- a/conf/battle/monster.conf +++ b/conf/battle/monster.conf @@ -51,7 +51,7 @@ monster_max_aspd: 199 // have players on them, instead of only for mobs who are in the vecinity // of players. // 0x040: When set, when the mob's target changes map, the mob will walk towards -// any npc-warps in it's sight of view (use with mob_npc_warp below) +// any npc-warps in it's sight of view (use with mob_warp below) // 0x100: When set, a mob will pick a random skill from it's list and start from // that instead of checking skills in orders (when unset, if a mob has too // many skills, the ones near the end will rarely get selected) diff --git a/conf/mapflag/nobranch.txt b/conf/mapflag/nobranch.txt index 3e91263da..0684fbe74 100644 --- a/conf/mapflag/nobranch.txt +++ b/conf/mapflag/nobranch.txt @@ -335,4 +335,8 @@ jupe_core2 mapflag nobranch brasilis mapflag nobranch bra_in01 mapflag nobranch -//evt_zombie mapflag nobranch \ No newline at end of file +//evt_zombie mapflag nobranch + +// Poring War ================== +poring_w01 mapflag nobranch +poring_w02 mapflag nobranch \ No newline at end of file diff --git a/conf/mapflag/noicewall.txt b/conf/mapflag/noicewall.txt index 13af8e2f4..ae64cc3c0 100644 --- a/conf/mapflag/noicewall.txt +++ b/conf/mapflag/noicewall.txt @@ -141,3 +141,7 @@ nguild_prt mapflag noicewall 4@tower mapflag noicewall 5@tower mapflag noicewall 6@tower mapflag noicewall + +// Poring War ==================== +poring_w01 mapflag noicewall +poring_w02 mapflag noicewall diff --git a/conf/mapflag/nomemo.txt b/conf/mapflag/nomemo.txt index 6e57620c9..e7aea26b6 100644 --- a/conf/mapflag/nomemo.txt +++ b/conf/mapflag/nomemo.txt @@ -681,3 +681,7 @@ spl_in01 mapflag nomemo 2@nyd mapflag nomemo //evt_zombie mapflag nomemo + +// Poring War ==================== +poring_w01 mapflag nomemo +poring_w02 mapflag nomemo \ No newline at end of file diff --git a/conf/mapflag/nopenalty.txt b/conf/mapflag/nopenalty.txt index 0d22861aa..3c7d781a4 100644 --- a/conf/mapflag/nopenalty.txt +++ b/conf/mapflag/nopenalty.txt @@ -251,3 +251,6 @@ bat_a01 mapflag nopenalty bat_a02 mapflag nopenalty //evt_zombie mapflag nopenalty + +// Poring War ================== +poring_w02 mapflag nopenalty \ No newline at end of file diff --git a/conf/mapflag/nosave.txt b/conf/mapflag/nosave.txt index 7c254eee2..5296b049a 100644 --- a/conf/mapflag/nosave.txt +++ b/conf/mapflag/nosave.txt @@ -269,3 +269,7 @@ arug_dun01 mapflag nosave SavePoint schg_dun01 mapflag nosave SavePoint //evt_zombie mapflag nosave SavePoint + +// Poring War ==================== +poring_w01 mapflag nosave SavePoint +poring_w02 mapflag nosave SavePoint \ No newline at end of file diff --git a/conf/mapflag/noteleport.txt b/conf/mapflag/noteleport.txt index 10672aea9..15bd644f0 100644 --- a/conf/mapflag/noteleport.txt +++ b/conf/mapflag/noteleport.txt @@ -391,3 +391,8 @@ nyd_dun02 mapflag noteleport 2@nyd mapflag monster_noteleport //evt_zombie mapflag noteleport + +// Poring War ==================== +poring_w01 mapflag noteleport +poring_w02 mapflag noteleport +poring_w02 mapflag monster_noteleport \ No newline at end of file diff --git a/conf/mapflag/nowarp.txt b/conf/mapflag/nowarp.txt index 63c9aaaae..853dcf586 100644 --- a/conf/mapflag/nowarp.txt +++ b/conf/mapflag/nowarp.txt @@ -65,3 +65,7 @@ bat_b01 mapflag nowarp bat_b02 mapflag nowarp bat_a01 mapflag nowarp bat_a02 mapflag nowarp + +// Poring War ================== +poring_w01 mapflag nowarp +poring_w02 mapflag nowarp \ No newline at end of file diff --git a/conf/mapflag/nowarpto.txt b/conf/mapflag/nowarpto.txt index ca81f6d35..3fc30624b 100644 --- a/conf/mapflag/nowarpto.txt +++ b/conf/mapflag/nowarpto.txt @@ -139,3 +139,7 @@ spl_in01 mapflag nowarpto // Nidhoggr's Instance =========== 1@nyd mapflag nowarpto 2@nyd mapflag nowarpto + +// Poring War ==================== +poring_w01 mapflag nowarpto +poring_w02 mapflag nowarpto \ No newline at end of file diff --git a/configure b/configure index 0412b30eb..9200993f7 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 14708 . +# From configure.in Revision: 14767 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59. # @@ -3196,8 +3196,57 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 + + echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 + echo "$as_me:$LINENO: checking whether $CC can actually use -Wno-pointer-sign" >&5 +echo $ECHO_N "checking whether $CC can actually use -Wno-pointer-sign... $ECHO_C" >&6 + # This option causes warnings in C++ mode + # Note: -Werror must be before -Wno-pointer-sign, otherwise it does not do anything + CFLAGS="$OLD_CFLAGS -Werror -Wno-pointer-sign" + cat >conftest.$ac_ext <<_ACEOF +int foo; +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + CFLAGS="$OLD_CFLAGS -Wno-pointer-sign" + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -4702,14 +4751,13 @@ fi # # math library (required) # - -echo "$as_me:$LINENO: checking for sqrt in -lm" >&5 -echo $ECHO_N "checking for sqrt in -lm... $ECHO_C" >&6 -if test "${ac_cv_lib_m_sqrt+set}" = set; then +echo "$as_me:$LINENO: checking for library containing sqrt" >&5 +echo $ECHO_N "checking for library containing sqrt... $ECHO_C" >&6 +if test "${ac_cv_search_sqrt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $LIBS" + ac_func_search_save_LIBS=$LIBS +ac_cv_search_sqrt=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -4754,25 +4802,78 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_m_sqrt=yes + ac_cv_search_sqrt="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_m_sqrt=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_m_sqrt" >&5 -echo "${ECHO_T}$ac_cv_lib_m_sqrt" >&6 -if test $ac_cv_lib_m_sqrt = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBM 1 +if test "$ac_cv_search_sqrt" = no; then + for ac_lib in m; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char sqrt (); +int +main () +{ +sqrt (); + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_sqrt="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - LIBS="-lm $LIBS" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_sqrt" >&5 +echo "${ECHO_T}$ac_cv_search_sqrt" >&6 +if test "$ac_cv_search_sqrt" != no; then + test "$ac_cv_search_sqrt" = "none required" || LIBS="$ac_cv_search_sqrt $LIBS" else { { echo "$as_me:$LINENO: error: math library not found... stopping" >&5 @@ -4783,16 +4884,15 @@ fi # -# clock_gettime (rt on Debian) +# clock_gettime (optional, rt on Debian) # - -echo "$as_me:$LINENO: checking for clock_gettime in -lrt" >&5 -echo $ECHO_N "checking for clock_gettime in -lrt... $ECHO_C" >&6 -if test "${ac_cv_lib_rt_clock_gettime+set}" = set; then +echo "$as_me:$LINENO: checking for library containing clock_gettime" >&5 +echo $ECHO_N "checking for library containing clock_gettime... $ECHO_C" >&6 +if test "${ac_cv_search_clock_gettime+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lrt $LIBS" + ac_func_search_save_LIBS=$LIBS +ac_cv_search_clock_gettime=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -4837,30 +4937,148 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_rt_clock_gettime=yes + ac_cv_search_clock_gettime="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_rt_clock_gettime=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_rt_clock_gettime" >&5 -echo "${ECHO_T}$ac_cv_lib_rt_clock_gettime" >&6 -if test $ac_cv_lib_rt_clock_gettime = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBRT 1 +if test "$ac_cv_search_clock_gettime" = no; then + for ac_lib in rt; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char clock_gettime (); +int +main () +{ +clock_gettime (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_clock_gettime="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - LIBS="-lrt $LIBS" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_clock_gettime" >&5 +echo "${ECHO_T}$ac_cv_search_clock_gettime" >&6 +if test "$ac_cv_search_clock_gettime" != no; then + test "$ac_cv_search_clock_gettime" = "none required" || LIBS="$ac_cv_search_clock_gettime $LIBS" fi +# +# CLOCK_MONOTONIC clock for clock_gettime +# Normally defines _POSIX_TIMERS > 0 and _POSIX_MONOTONIC_CLOCK (for posix +# compliant systems) and __FreeBSD_cc_version >= 500005 (for FreeBSD +# >= 5.1.0, which does not have the posix defines (ref. r11983)) would be +# checked but some systems define them even when they do not support it +# (ref. bugreport:1003). +# +if test "$ac_cv_search_clock_gettime" != "no" ; then + echo "$as_me:$LINENO: checking whether CLOCK_MONOTONIC is supported and works" >&5 +echo $ECHO_N "checking whether CLOCK_MONOTONIC is supported and works... $ECHO_C" >&6 + if test "$cross_compiling" = yes; then + + echo "$as_me:$LINENO: result: guessing no" >&5 +echo "${ECHO_T}guessing no" >&6 + + +else + cat >conftest.$ac_ext <<_ACEOF + + #include + #include + #include + + int main(int argc, char** argv) + { + struct timespec tval; + return clock_gettime(CLOCK_MONOTONIC, &tval); + } + +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + CFLAGS="$CFLAGS -DHAVE_MONOTONIC_CLOCK" + +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) + + # either it failed to compile (CLOCK_MONOTONIC undefined) + # or clock_gettime has returned a non-zero value + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi + + # # MySQL library (optional) # diff --git a/configure.in b/configure.in index afc35ee3a..6407cda1b 100644 --- a/configure.in +++ b/configure.in @@ -318,7 +318,24 @@ OLD_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wno-pointer-sign" AC_COMPILE_IFELSE( [int foo;], - [AC_MSG_RESULT([yes])], + [ + AC_MSG_RESULT([yes]) + AC_MSG_CHECKING([whether $CC can actually use -Wno-pointer-sign]) + # This option causes warnings in C++ mode + # Note: -Werror must be before -Wno-pointer-sign, otherwise it does not do anything + CFLAGS="$OLD_CFLAGS -Werror -Wno-pointer-sign" + AC_COMPILE_IFELSE( + [int foo;], + [ + AC_MSG_RESULT([yes]) + CFLAGS="$OLD_CFLAGS -Wno-pointer-sign" + ], + [ + AC_MSG_RESULT([no]) + CFLAGS="$OLD_CFLAGS" + ] + ) + ], [ AC_MSG_RESULT([no]) CFLAGS="$OLD_CFLAGS" @@ -555,13 +572,51 @@ AC_CHECK_HEADER([zlib.h], [], [AC_MSG_ERROR([zlib header not found, please speci # # math library (required) # -AC_CHECK_LIB([m], [sqrt], [], [AC_MSG_ERROR([math library not found... stopping])]) +AC_SEARCH_LIBS([sqrt], [m], [], [AC_MSG_ERROR([math library not found... stopping])]) # -# clock_gettime (rt on Debian) +# clock_gettime (optional, rt on Debian) +# +AC_SEARCH_LIBS([clock_gettime], [rt]) + + # -AC_CHECK_LIB([rt], [clock_gettime]) +# CLOCK_MONOTONIC clock for clock_gettime +# Normally defines _POSIX_TIMERS > 0 and _POSIX_MONOTONIC_CLOCK (for posix +# compliant systems) and __FreeBSD_cc_version >= 500005 (for FreeBSD +# >= 5.1.0, which does not have the posix defines (ref. r11983)) would be +# checked but some systems define them even when they do not support it +# (ref. bugreport:1003). +# +if test "$ac_cv_search_clock_gettime" != "no" ; then + AC_MSG_CHECKING([whether CLOCK_MONOTONIC is supported and works]) + AC_RUN_IFELSE( + [ + #include + #include + #include + + int main(int argc, char** argv) + { + struct timespec tval; + return clock_gettime(CLOCK_MONOTONIC, &tval); + } + ], + [ + AC_MSG_RESULT([yes]) + CFLAGS="$CFLAGS -DHAVE_MONOTONIC_CLOCK" + ], + [ + # either it failed to compile (CLOCK_MONOTONIC undefined) + # or clock_gettime has returned a non-zero value + AC_MSG_RESULT([no]) + ], + [ + AC_MSG_RESULT([guessing no]) + ] + ) +fi # diff --git a/db/Changelog.txt b/db/Changelog.txt index 7730b3888..3949237db 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -9,6 +9,8 @@ 13005 Angelic Wing Dagger: NEED INFO. ======================= +2011/03/19 + * Rev. 14748 Fixed Beast Strafing (HT_POWER) SP requirement as provided by Playtester (bugreport:4675). [Gepard] 2011/03/06 * Rev. 14732 Added Universal Catalog Silver, Gold and Bronze and their respective boxes. [Ai4rei] - Updated packet info related to search store info. diff --git a/db/const.txt b/db/const.txt index 32c2b5fab..6901caf53 100644 --- a/db/const.txt +++ b/db/const.txt @@ -61,7 +61,7 @@ Job_Baby_Knight 4030 Job_Baby_Priest 4031 Job_Baby_Wizard 4032 Job_Baby_Blacksmith 4033 -Job_Baby_Hunter 4034 +Job_Baby_Hunter 4034 Job_Baby_Assassin 4035 Job_Baby_Knight2 4036 Job_Baby_Crusader 4037 @@ -269,22 +269,22 @@ mf_nosave 2 mf_nobranch 3 mf_nopenalty 4 mf_nozenypenalty 5 -mf_pvp 6 +mf_pvp 6 mf_pvp_noparty 7 mf_pvp_noguild 8 -mf_gvg 9 +mf_gvg 9 mf_gvg_noparty 10 mf_notrade 11 mf_noskill 12 mf_nowarp 13 mf_partylock 14 mf_noicewall 15 -mf_snow 16 -mf_fog 17 +mf_snow 16 +mf_fog 17 mf_sakura 18 mf_leaves 19 -mf_rain 20 -mf_nogo 22 +mf_rain 20 +mf_nogo 22 mf_clouds 23 mf_clouds2 24 mf_fireworks 25 @@ -301,8 +301,8 @@ mf_nonightmaredrop 35 mf_restricted 36 mf_nocommand 37 mf_nodrop 38 -mf_jexp 39 -mf_bexp 40 +mf_jexp 39 +mf_bexp 40 mf_novending 41 mf_loadevent 42 mf_nochat 43 @@ -342,64 +342,64 @@ cell_chknochat 13 StatusPoint 9 1 BaseLevel 11 1 SkillPoint 12 1 -Class 19 1 -Upper 56 1 -Zeny 20 1 -Sex 21 1 -Weight 24 1 +Class 19 1 +Upper 56 1 +Zeny 20 1 +Sex 21 1 +Weight 24 1 MaxWeight 25 1 JobLevel 55 1 -BaseExp 1 1 -JobExp 2 1 -Karma 3 1 -Manner 4 1 +BaseExp 1 1 +JobExp 2 1 +Karma 3 1 +Manner 4 1 NextBaseExp 22 1 NextJobExp 23 1 -Hp 5 1 -MaxHp 6 1 -Sp 7 1 -MaxSp 8 1 -BaseJob 119 1 +Hp 5 1 +MaxHp 6 1 +Sp 7 1 +MaxSp 8 1 +BaseJob 119 1 BaseClass 120 1 killerrid 121 1 killedrid 122 1 -bMaxHP 6 -bMaxSP 8 -bStr 13 -bAgi 14 -bVit 15 -bInt 16 -bDex 17 -bLuk 18 -bAtk 41 -bAtk2 42 -bDef 45 -bDef2 46 -bMdef 47 -bMdef2 48 -bHit 49 -bFlee 50 -bFlee2 51 +bMaxHP 6 +bMaxSP 8 +bStr 13 +bAgi 14 +bVit 15 +bInt 16 +bDex 17 +bLuk 18 +bAtk 41 +bAtk2 42 +bDef 45 +bDef2 46 +bMdef 47 +bMdef2 48 +bHit 49 +bFlee 50 +bFlee2 51 bCritical 52 -bAspd 53 -bFame 59 +bAspd 53 +bFame 59 bUnbreakable 60 bAtkRange 1000 -bAtkEle 1001 -bDefEle 1002 +bAtkEle 1001 +bDefEle 1002 bCastrate 1003 bMaxHPrate 1004 bMaxSPrate 1005 bUseSPrate 1006 -bAddEle 1007 +bAddEle 1007 bAddRace 1008 bAddSize 1009 -bSubEle 1010 +bSubEle 1010 bSubRace 1011 -bAddEff 1012 -bResEff 1013 +bAddEff 1012 +bResEff 1013 bBaseAtk 1014 bAspdRate 1015 bHPrecovRate 1016 @@ -459,9 +459,9 @@ bBreakArmorRate 1069 bAddStealRate 1070 bMagicDamageReturn 1071 bRandomAttackIncrease 1072 -bAllStats 1073 -bAgiVit 1074 -bAgiDexStr 1075 +bAllStats 1073 +bAgiVit 1074 +bAgiDexStr 1075 bPerfectHide 1076 bNoKnockback 1077 bClassChange 1078 @@ -2045,16 +2045,16 @@ CLEAR_NPC 844 HAVEQUEST 0 PLAYTIME 1 -HUNTING 2 +HUNTING 2 FW_DONTCARE 0 -FW_THIN 100 +FW_THIN 100 FW_EXTRALIGHT 200 FW_LIGHT 300 FW_NORMAL 400 FW_MEDIUM 500 FW_SEMIBOLD 600 -FW_BOLD 700 +FW_BOLD 700 FW_EXTRABOLD 800 FW_HEAVY 900 diff --git a/db/packet_db.txt b/db/packet_db.txt index 61fb2e75a..75561d553 100644 --- a/db/packet_db.txt +++ b/db/packet_db.txt @@ -595,7 +595,7 @@ packet_ver: 13 0x021c,10 //2004-11-15aSakexe -0x021d,6 +0x021d,6,lesseffect,2 //2004-11-29aSakexe packet_ver: 14 @@ -766,7 +766,7 @@ packet_ver: 18 0x0248,68 0x0249,3 0x024a,70 -0x024b,4,auctioncancelreg,0 +0x024b,4,auctioncancelreg,2 0x024c,8,auctionsetitem,0 0x024d,14 0x024e,6,auctioncancel,0 @@ -798,7 +798,7 @@ packet_ver: 19 0x0251,4 //2005-08-08aSakexe -0x024d,12,auctionregister,0 +0x024d,12,auctionregister,2:6:10 0x024e,4 //2005-08-17aSakexe @@ -829,7 +829,7 @@ packet_ver: 19 //2005-10-17aSakexe 0x007a,58 -0x025d,6,auctionclose,0 +0x025d,6,auctionclose,2 0x025e,4 //2005-10-24aSakexe diff --git a/db/skill_require_db.txt b/db/skill_require_db.txt index d9fa49e0e..9e9f385f0 100644 --- a/db/skill_require_db.txt +++ b/db/skill_require_db.txt @@ -391,7 +391,7 @@ 496,0,0,200,0,0,0,99,0,0,none,0,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT1## 497,0,0,200,0,0,0,99,0,0,none,0,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT2## 498,0,0,200,0,0,0,99,0,0,none,0,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT3## -499,0,0,8,0,0,0,11,1,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HT_POWER## +499,0,0,12,0,0,0,11,1,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HT_POWER## 500,0,0,2,0,0,1,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 //GS_GLITTERING 501,0,0,10,0,0,0,99,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_FLING 502,0,0,20,0,0,0,99,99,1,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_TRIPLEACTION diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 6afc94444..f9d5c0059 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -4,7 +4,7 @@ //= A reference manual for the eAthena scripting language. //= Commands are sorted depending on their functionality. //===== Version =========================================== -//= 3.37.20110306 +//= 3.39.20110322 //========================================================= //= 1.0 - First release, filled will as much info as I could //= remember or figure out, most likely there are errors, @@ -159,6 +159,15 @@ //= Added 'buyingstore' command. [Ai4rei] //= 3.37.20110306 //= Added 'searchstores' command. [Ai4rei] +//= 3.38.20110313 +//= Added 'cooking' command. [Ai4rei] +//= Fixed item levels in 'produce' command. +//= 3.39.20110322 +//= Added 'bg_getareausers' and 'bg_get_data' commands. [Ai4rei] +//= Updated description of 'waitingroom2bg_single' command. +//= Documented optional parameter 'npc name' of 'waitingroom2bg' command. +//= 3.40.20110404 +//= Updated description of 'waitingroom' command to include required zeny/lvl. [Kisuka] //========================================================= This document is a reference manual for all the scripting commands and functions @@ -4317,11 +4326,38 @@ Valid item levels are: 1 - Level 1 Weapons 2 - Level 2 Weapons 3 - Level 3 Weapons - 16 - Blacksmith's Stones and Metals - 32 - Alchemist's Potions - 64 - Whitesmith's Coins - 123 - Whitesmith's Nuggets - 256 - Assassin Cross's Deadly Poison + 21 - Blacksmith's Stones and Metals + 22 - Alchemist's Potions, Holy Water, Assassin Cross's Deadly Poison + 23 - Elemental Converters + +--------------------------------------- + +*cooking ; + +This command will open a produce window on the client connected to the invoking +character. The 'dish level' is the number which determines what kind of dish +level you can produce. You can see the full list of dishes that can be produced in +'db/produce_db.txt'. + +The window will be shown empty if the invoking character does not have enough of +the required incredients to cook a dish. + +Valid dish levels are: + +11 - Level 1 Dish +12 - Level 2 Dish +13 - Level 3 Dish +14 - Level 4 Dish +15 - Level 5 Dish +16 - Level 6 Dish +17 - Level 7 Dish +18 - Level 8 Dish +19 - Level 9 Dish +20 - Level 10 Dish + +Altough it's required to set a dish level, it doesn't matter if you set it to 1 +and you want to cook a level 10 dish, as long as you got the required incredients +to cook the dish the command works. --------------------------------------- @@ -5674,7 +5710,7 @@ The function returns 0 if the shop was not found, 1 otherwise. --------------------------------------- -*waitingroom "",{,,}; +*waitingroom "",{,,,,,}; This command will create a chat room, owned by the NPC object running this script and displayed above the NPC sprite. @@ -5685,9 +5721,6 @@ optional event and trigger parameters are given, the event label ("::