Browse Source

Merging RREmu into rAthena -- quite a few stuff yet to be renamed, but we'll get it sorted.
Some of the stuff included in RREmu that is now part of rAthena:
- RE Drop Rate Modifier
- RE Experience Rate Modifier
- RE Weapon MATK
- RE Shield ASPD job-specific penalty
- RE Cast Time
- Renewal-specific item DEF
- 3.1 classes.
- All-New Mounts
- Official Magical Reflection
- And other perks, such as fully-functional @mapflag
also merged eAthena 15006 into rAthena.
For Bugs, Comments and Suggestions: http://rathena.org/board/tracker/

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15009 54d463be-8e91-2dee-dedb-b68131a5f0ec

shennetsind 13 years ago
parent
commit
a785b383d7
100 changed files with 7337 additions and 11853 deletions
  1. 0 149
      RAthena-6.dsw
  2. 0 69
      RAthena-7.1.sln
  3. 0 139
      RAthena-8.sln
  4. 3 0
      conf/battle/player.conf
  5. 8 0
      conf/map_athena.conf
  6. 4 0
      db/exp.txt
  7. 120 110
      db/item_db.txt
  8. 305 0
      db/item_db_re.txt
  9. 71 0
      db/job_db1.txt
  10. 71 0
      db/job_db2.txt
  11. 26 0
      db/magicmushroom_db.txt
  12. 9 5
      db/mob_db.txt
  13. 25 0
      db/mob_skill_db.txt
  14. 2 2
      db/packet_db.txt
  15. 47 0
      db/produce_db.txt
  16. 13 13
      db/quest_db.txt
  17. 230 0
      db/re_job_db.txt
  18. 1198 475
      db/skill_cast_db.txt
  19. 151 22
      db/skill_db.txt
  20. 159 1
      db/skill_require_db.txt
  21. 669 1
      db/skill_tree.txt
  22. 21 0
      db/skill_unit_db.txt
  23. 29 0
      db/spellbook_db.txt
  24. 255 0
      db/statpoint_renewal.txt
  25. 1 1
      sql-files/main.sql
  26. 1 0
      sql-files/upgrade_svn15003.sql
  27. 53 2
      src/common/mmo.h
  28. 27 0
      src/common/showmsg.c
  29. 1 0
      src/common/showmsg.h
  30. 3 1
      src/map/Makefile.in
  31. 28 0
      src/map/RRConfig/Core.h
  32. 33 0
      src/map/RRConfig/Data/Const.h
  33. 53 0
      src/map/RRConfig/Renewal.h
  34. 36 0
      src/map/RRConfig/Secure.h
  35. 23 0
      src/map/RRConfig/Skills/General.h
  36. 19 0
      src/map/RRConfig/Skills/Mage_Classes.h
  37. 19 0
      src/map/RRConfig/Skills/Swordsman_Classes.h
  38. 257 73
      src/map/atcommand.c
  39. 590 30
      src/map/battle.c
  40. 6 1
      src/map/battle.h
  41. 7 1
      src/map/chrif.c
  42. 167 117
      src/map/clif.c
  43. 27 3
      src/map/clif.h
  44. 46 3
      src/map/itemdb.c
  45. 41 1
      src/map/itemdb.h
  46. 102 54
      src/map/map.c
  47. 38 5
      src/map/map.h
  48. 23 4
      src/map/mob.c
  49. 5 0
      src/map/mob.h
  50. 41 3
      src/map/npc.c
  51. 7 0
      src/map/npc.h
  52. 58 5
      src/map/party.c
  53. 5 0
      src/map/party.h
  54. 205 23
      src/map/pc.c
  55. 43 4
      src/map/pc.h
  56. 173 9
      src/map/script.c
  57. 765 20
      src/map/skill.c
  58. 54 5
      src/map/skill.h
  59. 590 32
      src/map/status.c
  60. 268 13
      src/map/status.h
  61. 73 7
      src/map/unit.c
  62. 4 0
      src/map/unit.h
  63. 7 0
      vcproj-10/map-server_sql.vcxproj
  64. 3 0
      vcproj-10/map-server_sql.vcxproj.filters
  65. 7 0
      vcproj-10/map-server_txt.vcxproj
  66. 3 0
      vcproj-10/map-server_txt.vcxproj.filters
  67. 6 0
      vcproj-10/mapcache.vcxproj.filters
  68. 0 324
      vcproj-6/char-server_sql.dsp
  69. 0 300
      vcproj-6/char-server_txt.dsp
  70. 0 276
      vcproj-6/login-server_sql.dsp
  71. 0 276
      vcproj-6/login-server_txt.dsp
  72. 0 528
      vcproj-6/map-server_sql.dsp
  73. 0 528
      vcproj-6/map-server_txt.dsp
  74. 0 160
      vcproj-6/mapcache.dsp
  75. 0 107
      vcproj-6/plugin-console.dsp
  76. 0 107
      vcproj-6/plugin-pid.dsp
  77. 0 576
      vcproj-6/txt-converter-char.dsp
  78. 0 200
      vcproj-6/txt-converter-login.dsp
  79. 0 332
      vcproj-7.1/char-server_sql.vcproj
  80. 0 307
      vcproj-7.1/char-server_txt.vcproj
  81. 0 291
      vcproj-7.1/login-server_sql.vcproj
  82. 0 288
      vcproj-7.1/login-server_txt.vcproj
  83. 0 490
      vcproj-7.1/map-server_sql.vcproj
  84. 0 484
      vcproj-7.1/map-server_txt.vcproj
  85. 0 199
      vcproj-7.1/mapcache.vcproj
  86. 0 445
      vcproj-8/char-server_sql.vcproj
  87. 0 411
      vcproj-8/char-server_txt.vcproj
  88. 0 211
      vcproj-8/dbghelpplug.vcproj
  89. 0 391
      vcproj-8/login-server_sql.vcproj
  90. 0 374
      vcproj-8/login-server_txt.vcproj
  91. 0 654
      vcproj-8/map-server_sql.vcproj
  92. 0 645
      vcproj-8/map-server_txt.vcproj
  93. 0 269
      vcproj-8/mapcache.vcproj
  94. 0 234
      vcproj-8/plugin-console.vcproj
  95. 0 234
      vcproj-8/plugin-pid.vcproj
  96. 0 505
      vcproj-8/txt-converter-char.vcproj
  97. 0 301
      vcproj-8/txt-converter-login.vcproj
  98. 1 1
      vcproj-9/char-server_sql.vcproj
  99. 1 1
      vcproj-9/char-server_txt.vcproj
  100. 1 1
      vcproj-9/login-server_sql.vcproj

+ 0 - 149
RAthena-6.dsw

@@ -1,149 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "char_sql"=".\vcproj-6\char-server_sql.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "char_txt"=".\vcproj-6\char-server_txt.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "login_sql"=".\vcproj-6\login-server_sql.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "login_txt"=".\vcproj-6\login-server_txt.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "map_sql"=".\vcproj-6\map-server_sql.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "map_txt"=".\vcproj-6\map-server_txt.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "mapcache"=".\vcproj-6\mapcache.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "plugin_console"=".\vcproj-6\plugin-console.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "plugin_pid"=".\vcproj-6\plugin-pid.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "txt_converter_char"=".\vcproj-6\txt-converter-char.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "txt_converter_login"=".\vcproj-6\txt-converter-login.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-

+ 0 - 69
RAthena-7.1.sln

@@ -1,69 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map-server_txt", "vcproj-7.1\map-server_txt.vcproj", "{D356871D-58E1-450B-967A-E1E9646175AF}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "login-server_txt", "vcproj-7.1\login-server_txt.vcproj", "{D356871D-58E1-450B-967A-E2E9646175AF}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "char-server_txt", "vcproj-7.1\char-server_txt.vcproj", "{D356871D-58E1-450B-967A-E3E9646175AF}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "char-server_sql", "vcproj-7.1\char-server_sql.vcproj", "{D356871D-58E1-450B-967A-E4E9646175AF}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "login-server_sql", "vcproj-7.1\login-server_sql.vcproj", "{D356871D-58E1-450B-967A-E5E9646175AF}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map-server_sql", "vcproj-7.1\map-server_sql.vcproj", "{D356871D-58E1-450B-967A-E6E9646175AF}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mapcache", "vcproj-7.1\mapcache.vcproj", "{CB8556B8-9673-42FD-B2F6-3826534E64E2}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		Debug = Debug
-		Release = Release
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Debug.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Debug.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Release.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Release.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Debug.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Debug.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Release.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Release.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Debug.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Debug.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Release.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Release.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Debug.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Debug.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Release.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Release.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Debug.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Debug.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Release.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Release.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Debug.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Debug.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Release.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Release.Build.0 = Release|Win32
-		{CB8556B8-9673-42FD-B2F6-3826534E64E2}.Debug.ActiveCfg = Debug|Win32
-		{CB8556B8-9673-42FD-B2F6-3826534E64E2}.Debug.Build.0 = Debug|Win32
-		{CB8556B8-9673-42FD-B2F6-3826534E64E2}.Release.ActiveCfg = Release|Win32
-		{CB8556B8-9673-42FD-B2F6-3826534E64E2}.Release.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal

+ 0 - 139
RAthena-8.sln

@@ -1,139 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map-server_txt", "vcproj-8\map-server_txt.vcproj", "{D356871D-58E1-450B-967A-E1E9646175AF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "login-server_txt", "vcproj-8\login-server_txt.vcproj", "{D356871D-58E1-450B-967A-E2E9646175AF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "char-server_txt", "vcproj-8\char-server_txt.vcproj", "{D356871D-58E1-450B-967A-E3E9646175AF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "char-server_sql", "vcproj-8\char-server_sql.vcproj", "{D356871D-58E1-450B-967A-E4E9646175AF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "login-server_sql", "vcproj-8\login-server_sql.vcproj", "{D356871D-58E1-450B-967A-E5E9646175AF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map-server_sql", "vcproj-8\map-server_sql.vcproj", "{D356871D-58E1-450B-967A-E6E9646175AF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mapcache", "vcproj-8\mapcache.vcproj", "{D356871D-58E1-450B-967A-E7E9646175AF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "txt-converter-login", "vcproj-8\txt-converter-login.vcproj", "{D356871D-58E1-450B-967A-E9E9646175AF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "txt-converter-char", "vcproj-8\txt-converter-char.vcproj", "{D356871D-58E1-450B-967A-EAE9646175AF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-console", "vcproj-8\plugin-console.vcproj", "{73E1101A-310C-4453-8F45-FD2795ABEF15}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-pid", "vcproj-8\plugin-pid.vcproj", "{9509E1B9-DA2B-4153-9EE0-CBCA6597F198}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug-sql|Win32 = Debug-sql|Win32
-		Debug-txt|Win32 = Debug-txt|Win32
-		Release|Win32 = Release|Win32
-		Release-sql|Win32 = Release-sql|Win32
-		Release-txt|Win32 = Release-txt|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Debug|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Debug-sql|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Debug-txt|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Debug-txt|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Release|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Release|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Release-sql|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Release-txt|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E1E9646175AF}.Release-txt|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Debug|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Debug-sql|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Debug-txt|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Debug-txt|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Release|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Release|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Release-sql|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Release-txt|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E2E9646175AF}.Release-txt|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Debug|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Debug-sql|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Debug-txt|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Debug-txt|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Release|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Release|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Release-sql|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Release-txt|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E3E9646175AF}.Release-txt|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Debug|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Debug-sql|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Debug-sql|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Debug-txt|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Release|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Release|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Release-sql|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Release-sql|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E4E9646175AF}.Release-txt|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Debug|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Debug-sql|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Debug-sql|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Debug-txt|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Release|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Release|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Release-sql|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Release-sql|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E5E9646175AF}.Release-txt|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Debug|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Debug-sql|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Debug-sql|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Debug-txt|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Release|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Release|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Release-sql|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Release-sql|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E6E9646175AF}.Release-txt|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Debug|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Debug-sql|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Debug-sql|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Debug-txt|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Debug-txt|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Release|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Release|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Release-sql|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Release-sql|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Release-txt|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E7E9646175AF}.Release-txt|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E9E9646175AF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E9E9646175AF}.Debug|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E9E9646175AF}.Debug-sql|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E9E9646175AF}.Debug-txt|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-E9E9646175AF}.Debug-txt|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-E9E9646175AF}.Release|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E9E9646175AF}.Release|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-E9E9646175AF}.Release-sql|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E9E9646175AF}.Release-txt|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-E9E9646175AF}.Release-txt|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-EAE9646175AF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-EAE9646175AF}.Debug|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-EAE9646175AF}.Debug-sql|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-EAE9646175AF}.Debug-txt|Win32.ActiveCfg = Debug|Win32
-		{D356871D-58E1-450B-967A-EAE9646175AF}.Debug-txt|Win32.Build.0 = Debug|Win32
-		{D356871D-58E1-450B-967A-EAE9646175AF}.Release|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-EAE9646175AF}.Release|Win32.Build.0 = Release|Win32
-		{D356871D-58E1-450B-967A-EAE9646175AF}.Release-sql|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-EAE9646175AF}.Release-txt|Win32.ActiveCfg = Release|Win32
-		{D356871D-58E1-450B-967A-EAE9646175AF}.Release-txt|Win32.Build.0 = Release|Win32
-		{73E1101A-310C-4453-8F45-FD2795ABEF15}.Debug|Win32.ActiveCfg = Debug|Win32
-		{73E1101A-310C-4453-8F45-FD2795ABEF15}.Debug|Win32.Build.0 = Debug|Win32
-		{73E1101A-310C-4453-8F45-FD2795ABEF15}.Release|Win32.ActiveCfg = Release|Win32
-		{73E1101A-310C-4453-8F45-FD2795ABEF15}.Release|Win32.Build.0 = Release|Win32
-		{9509E1B9-DA2B-4153-9EE0-CBCA6597F198}.Debug|Win32.ActiveCfg = Debug|Win32
-		{9509E1B9-DA2B-4153-9EE0-CBCA6597F198}.Debug|Win32.Build.0 = Debug|Win32
-		{9509E1B9-DA2B-4153-9EE0-CBCA6597F198}.Release|Win32.ActiveCfg = Release|Win32
-		{9509E1B9-DA2B-4153-9EE0-CBCA6597F198}.Release|Win32.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

+ 3 - 0
conf/battle/player.conf

@@ -88,6 +88,9 @@ max_sp: 1000000
 // Max limit of char stats. (agi, str, etc.)
 // Max limit of char stats. (agi, str, etc.)
 max_parameter: 99
 max_parameter: 99
 
 
+// Same as max_parameter, but for 3rd classes.
+max_third_parameter: 120
+
 // Same as max_parameter, but for baby classes.
 // Same as max_parameter, but for baby classes.
 max_baby_parameter: 80
 max_baby_parameter: 80
 
 

+ 8 - 0
conf/map_athena.conf

@@ -59,6 +59,14 @@ map_port: 5121
 //If redirected output contains escape sequences (color codes)
 //If redirected output contains escape sequences (color codes)
 stdout_with_ansisequence: no
 stdout_with_ansisequence: no
 
 
+//Makes server log selected message types to a file in the /log/ folder
+//1: Log Warning Messages
+//2: Log Error and SQL Error messages.
+//4: Log Debug Messages
+//Example: "console_msg_log: 7" logs all 3 kinds
+//Messages logged by this overrides console_silent setting
+console_msg_log: 0
+
 //Makes server output more silent by ommitting certain types of messages:
 //Makes server output more silent by ommitting certain types of messages:
 //1: Hide Information messages
 //1: Hide Information messages
 //2: Hide Status messages
 //2: Hide Status messages

+ 4 - 0
db/exp.txt

@@ -4,6 +4,8 @@
 99,0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:23:24:25:26:4023:4024:4025:4026:4027:4028:4029:4030:4031:4032:4033:4034:4035:4036:4037:4038:4039:4040:4041:4042:4043:4044:4045:4046:4047:4048:4049,0,9,16,25,36,77,112,153,200,253,320,385,490,585,700,830,970,1120,1260,1420,1620,1860,1990,2240,2504,2950,3426,3934,4474,6889,7995,9174,10425,11748,13967,15775,17678,19677,21773,30543,34212,38065,42102,46323,53026,58419,64041,69892,75973,102468,115254,128692,142784,157528,178184,196300,215198,234879,255341,330188,365914,403224,442116,482590,536948,585191,635278,687211,740988,925400,1473746,1594058,1718928,1848355,1982340,2230113,2386162,2547417,2713878,3206160,3681024,4022472,4377024,4744680,5125440,5767272,6204000,6655464,7121664,7602600,9738720,11649960,13643520,18339300,23836800,35658000,48687000,58135000,99999999
 99,0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:23:24:25:26:4023:4024:4025:4026:4027:4028:4029:4030:4031:4032:4033:4034:4035:4036:4037:4038:4039:4040:4041:4042:4043:4044:4045:4046:4047:4048:4049,0,9,16,25,36,77,112,153,200,253,320,385,490,585,700,830,970,1120,1260,1420,1620,1860,1990,2240,2504,2950,3426,3934,4474,6889,7995,9174,10425,11748,13967,15775,17678,19677,21773,30543,34212,38065,42102,46323,53026,58419,64041,69892,75973,102468,115254,128692,142784,157528,178184,196300,215198,234879,255341,330188,365914,403224,442116,482590,536948,585191,635278,687211,740988,925400,1473746,1594058,1718928,1848355,1982340,2230113,2386162,2547417,2713878,3206160,3681024,4022472,4377024,4744680,5125440,5767272,6204000,6655464,7121664,7602600,9738720,11649960,13643520,18339300,23836800,35658000,48687000,58135000,99999999
 //Base - Adv Jobs
 //Base - Adv Jobs
 99,4001:4002:4003:4004:4005:4006:4007:4008:4009:4010:4011:4012:4013:4014:4015:4016:4017:4018:4019:4020:4021:4022,0,10,18,28,40,85,123,168,220,278,400,481,613,731,875,1038,1213,1400,1575,1775,2268,2604,2786,3136,3506,4130,4796,5508,6264,9645,12392,14220,16159,18209,21649,24451,27401,30499,33748,47342,58160,64711,71573,78749,90144,99312,108870,118816,129154,174196,213220,238080,264150,291427,329640,363155,398116,434526,472381,610848,731828,806448,884232,965180,1073896,1170382,1270556,1374422,1481976,1850800,3389616,3666333,3953534,4251217,4559382,5129260,5488173,5859059,6241919,7374168,9570662,10458427,11380262,12336168,13326144,14994907,16130400,17304200,18516326,19766760,29216160,34949880,40930560,55017900,71510400,106974000,146061000,174405000,343210000
 99,4001:4002:4003:4004:4005:4006:4007:4008:4009:4010:4011:4012:4013:4014:4015:4016:4017:4018:4019:4020:4021:4022,0,10,18,28,40,85,123,168,220,278,400,481,613,731,875,1038,1213,1400,1575,1775,2268,2604,2786,3136,3506,4130,4796,5508,6264,9645,12392,14220,16159,18209,21649,24451,27401,30499,33748,47342,58160,64711,71573,78749,90144,99312,108870,118816,129154,174196,213220,238080,264150,291427,329640,363155,398116,434526,472381,610848,731828,806448,884232,965180,1073896,1170382,1270556,1374422,1481976,1850800,3389616,3666333,3953534,4251217,4559382,5129260,5488173,5859059,6241919,7374168,9570662,10458427,11380262,12336168,13326144,14994907,16130400,17304200,18516326,19766760,29216160,34949880,40930560,55017900,71510400,106974000,146061000,174405000,343210000
+//Base - 3rd Jobs
+150,4054:4055:4056:4057:4058:4059:4060:4061:4062:4063:4064:4065:4066:4067:4068:4069:4070:4071:4072:4073:4074:4075:4076:4077:4078:4079:4080:4081:4082:4083:4084:4085:4086:4087,0,10,18,28,40,85,123,168,220,278,400,481,613,731,875,1038,1213,1400,1575,1775,2268,2604,2786,3136,3506,4130,4796,5508,6264,9645,12392,14220,16159,18209,21649,24451,27401,30499,33748,47342,58160,64711,71573,78749,90144,99312,108870,118816,129154,174196,213220,238080,264150,291427,329640,363155,398116,434526,472381,610848,731828,806448,884232,965180,1073896,1170382,1270556,1374422,1481976,1850800,3389616,3666333,3953534,4251217,4559382,5129260,5488173,5859059,6241919,7374168,9570662,10458427,11380262,12336168,13326144,14994907,16130400,17304200,18516326,19766760,29216160,34949880,40930560,55017900,71510400,106974000,146061000,174405000,343210000,360090500,377815025,396425776,415967065,436485418,459055606,470340701,482190050,494631866,507695773,523372462,531210807,535913813,540851970,546037035,552259113,555370152,558636742,562066663,565668079,569989779,572150629,573447138,574808474,576237876,577953159,579325385,580766222,582279101,583867625,588633194,592445650,596639351,601252423,606326801,616475558,624594564,633525470,643349467,654155864,691978251,722236162,755519863,792131935,832405213,912951771,977389016,1031157636,1153302698,1236233433,1650887110
 //Job - Novice
 //Job - Novice
 10,0:4023,1,10,18,28,40,91,151,205,268,340
 10,0:4023,1,10,18,28,40,91,151,205,268,340
 //Job - 1st Classes
 //Job - 1st Classes
@@ -22,3 +24,5 @@
 50,4047:4048,1,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,54868,70216,77154,84412,105416,133942,165376,179088,193338,235642,289842,348402,373354,399168,477234,572732,674294,716870,760752,895370,1053978,1220492,1289472,1587070,1843620,2213516,2521910,2974608,3115314,3981264,4166772
 50,4047:4048,1,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,27434,54868,70216,77154,84412,105416,133942,165376,179088,193338,235642,289842,348402,373354,399168,477234,572732,674294,716870,760752,895370,1053978,1220492,1289472,1587070,1843620,2213516,2521910,2974608,3115314,3981264,4166772
 //Job - Ninja/Gunslinger
 //Job - Ninja/Gunslinger
 70,24:25,1,72,92,142,174,301,443,548,799,1270,1838,2145,2473,3339,4746,6385,7172,8002,10321,13717,17554,19288,21103,26354,33485,41344,44772,48334,58910,72460,87100,93338,99792,119308,143183,231068,257377,274363,314246,371105,431038,476309,588548,665256,801731,916689,1130023,1188623,1477408,1551289,1746582,1845236,1954741,2124555,2345698,2548763,2759555,3021488,3254111,3489547,3695474,4012251,4181112,4302211,4496584,4578951,4869523,5022114,5123654,5395117
 70,24:25,1,72,92,142,174,301,443,548,799,1270,1838,2145,2473,3339,4746,6385,7172,8002,10321,13717,17554,19288,21103,26354,33485,41344,44772,48334,58910,72460,87100,93338,99792,119308,143183,231068,257377,274363,314246,371105,431038,476309,588548,665256,801731,916689,1130023,1188623,1477408,1551289,1746582,1845236,1954741,2124555,2345698,2548763,2759555,3021488,3254111,3489547,3695474,4012251,4181112,4302211,4496584,4578951,4869523,5022114,5123654,5395117
+//Job - 3rd Jobs (650 3CeAM)
+50,4054:4055:4056:4057:4058:4059:4060:4061:4062:4063:4064:4065:4066:4067:4068:4069:4070:4071:4072:4073:4074:4075:4076:4077:4078:4079:4080:4081:4082:4083:4084:4085:4086:4087,1,100000,160000,232000,318400,413440,498976,593066,696564,903561,1069159,1267876,1506337,1792490,2221719,2565102,2977162,3471634,4065001,5251734,6201120,7340384,8707500,10348040,12808849,14777497,17139874,19974727,23376550,30180196,39705300,53992957,75424442,107571670,200798630,247412110,303348286,370471698,451019791,547677504,596006360,646751659,700034223,755980915,814724942,832348150,850852518,870282105,890683171,899999999

+ 120 - 110
db/item_db.txt

@@ -1697,17 +1697,17 @@
 2797,Magical_Stone_,Rocks,5,0,,200,,0,,0,0x00810204,7,2,136,,99,0,0,{ bonus2 bAddDamageClass,2049,10; bonus2 bAddDefClass,2050,-10; bonus3 bAddClassDropItem,6151,2049,70; },{},{}
 2797,Magical_Stone_,Rocks,5,0,,200,,0,,0,0x00810204,7,2,136,,99,0,0,{ bonus2 bAddDamageClass,2049,10; bonus2 bAddDefClass,2050,-10; bonus3 bAddClassDropItem,6151,2049,70; },{},{}
 2798,Will_Of_Exhausted_Angel,Will Of Exhausted Angel,5,0,,200,,0,,0,0x00008100,7,2,136,,99,0,0,{ getmapxy .@map$,.@x,.@y,0; if(.@map$ == "job3_arch02") { bonus2 bAddDefClass,1761,50; bonus2 bAddDefClass,1762,50; } },{},{}
 2798,Will_Of_Exhausted_Angel,Will Of Exhausted Angel,5,0,,200,,0,,0,0x00008100,7,2,136,,99,0,0,{ getmapxy .@map$,.@x,.@y,0; if(.@map$ == "job3_arch02") { bonus2 bAddDefClass,1761,50; bonus2 bAddDefClass,1762,50; } },{},{}
 2799,Kuirpenring,Kuirpenring,5,0,,100,,0,,1,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bMdef,1; },{},{}
 2799,Kuirpenring,Kuirpenring,5,0,,100,,0,,1,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bMdef,1; },{},{}
-2800,Accelerator,Accelerator,5,100000,,100,,0,,1,0x00000000,7,2,136,,99,0,0,{ bonus bAgi,2; },{},{}
-2801,Hovering_Booster,Hovering Booster,5,100000,,2000,,0,,1,0x00000000,7,2,136,,99,0,0,{ bonus bAgi,1; },{},{}
-2802,Suicidal_Device,Suicidal Device,5,500000,,1000,,0,,1,0x00000000,7,2,136,,99,0,0,{},{},{}
-2803,Shape_Shifter,Shape Shifter,5,100000,,500,,0,,1,0x00000000,7,2,136,,99,0,0,{ bonus bInt,3; },{},{}
-2804,Cooling_Device,Cooling Device,5,100000,,2500,,0,,1,0x00000000,7,2,136,,99,0,0,{ bonus bDex,1; },{},{}
-2805,Magnetic_Field_Generator,Magnetic Field Generator,5,100000,,6000,,0,,1,0x00000000,7,2,136,,99,0,0,{ bonus bDex,1; },{},{}
-2806,Barrier_Builder,Barrier Builder,5,150000,,8000,,3,,1,0x00000000,7,2,136,,99,0,0,{ bonus bDex,1; },{},{}
-2807,Repair_Kit,Repair Kit,5,200000,,400,,0,,1,0x00000000,7,2,136,,99,0,0,{},{},{}
-2808,Camouflage_Generator,Camouflague Generator,5,250000,,1000,,0,,1,0x00000000,7,2,136,,99,0,0,{ bonus bAgi,3; },{},{}
-2809,High_Quality_Cooler,High Quality Cooler,5,100000,,2500,,0,,1,0x00000000,7,2,136,,99,0,0,{ bonus bDex,1; },{},{}
-2810,Special_Cooler,Special Cooler,5,100000,,2500,,0,,1,0x00000000,7,2,136,,99,0,0,{ bonus bDex,1; },{},{}
+2800,Accelerator,Accelerator,5,100000,,100,,0,,1,0x00000400,8,2,136,,99,0,0,{ bonus bAgi,2; },{},{}
+2801,Hovering_Booster,Hovering Booster,5,100000,,2000,,0,,1,0x00000400,8,2,136,,99,0,0,{ bonus bAgi,1; },{},{}
+2802,Suicidal_Device,Suicidal Device,5,500000,,1000,,0,,1,0x00000400,8,2,136,,99,0,0,{},{},{}
+2803,Shape_Shifter,Shape Shifter,5,100000,,500,,0,,1,0x00000400,8,2,136,,99,0,0,{ bonus bInt,3; },{},{}
+2804,Cooling_Device,Cooling Device,5,100000,,2500,,0,,1,0x00000400,8,2,136,,99,0,0,{ bonus bDex,1; },{},{}
+2805,Magnetic_Field_Generator,Magnetic Field Generator,5,100000,,6000,,0,,1,0x00000400,8,2,136,,99,0,0,{ bonus bDex,1; },{},{}
+2806,Barrier_Builder,Barrier Builder,5,150000,,8000,,3,,1,0x00000400,8,2,136,,99,0,0,{ bonus bDex,1; },{},{}
+2807,Repair_Kit,Repair Kit,5,200000,,400,,0,,1,0x00000400,8,2,136,,99,0,0,{},{},{}
+2808,Camouflage_Generator,Camouflague Generator,5,250000,,1000,,0,,1,0x00000400,8,2,136,,99,0,0,{ bonus bAgi,3; },{},{}
+2809,High_Quality_Cooler,High Quality Cooler,5,100000,,2500,,0,,1,0x00000400,8,2,136,,99,0,0,{ bonus bDex,1; },{},{}
+2810,Special_Cooler,Special Cooler,5,100000,,2500,,0,,1,0x00000400,8,2,136,,99,0,0,{ bonus bDex,1; },{},{}
 //2811,Freyja_SBracelet7,Freyja's Spirit Bracelet,5,20,,200,,1,,0,0xFFFFFFFF,7,2,136,,20,0,0,{ bonus bAllStats,1; },{},{}
 //2811,Freyja_SBracelet7,Freyja's Spirit Bracelet,5,20,,200,,1,,0,0xFFFFFFFF,7,2,136,,20,0,0,{ bonus bAllStats,1; },{},{}
 //2812,Freyja_SBracelet30,Freyja's Spirit Bracelet,5,20,,200,,1,,0,0xFFFFFFFF,7,2,136,,20,0,0,{ bonus bAllStats,1; },{},{}
 //2812,Freyja_SBracelet30,Freyja's Spirit Bracelet,5,20,,200,,1,,0,0xFFFFFFFF,7,2,136,,20,0,0,{ bonus bAllStats,1; },{},{}
 //2813,Freyja_SBracelet60,Freyja's Spirit Bracelet,5,20,,200,,1,,0,0xFFFFFFFF,7,2,136,,20,0,0,{ bonus bAllStats,1; },{},{}
 //2813,Freyja_SBracelet60,Freyja's Spirit Bracelet,5,20,,200,,1,,0,0xFFFFFFFF,7,2,136,,20,0,0,{ bonus bAllStats,1; },{},{}
@@ -3075,21 +3075,21 @@
 //5743,Orange_Stem_Hat,Orange Stem Hat,5,20,,100,,0,,0,0x00000000,7,2,256,,1,0,620,{ bonus bLuk,3; },{},{}
 //5743,Orange_Stem_Hat,Orange Stem Hat,5,20,,100,,0,,0,0x00000000,7,2,256,,1,0,620,{ bonus bLuk,3; },{},{}
 //5744,Capricon_Crown,Capricon Crown,5,20,,300,,3,,1,0xFFFFFFFF,7,2,256,,1,1,621,{ bonus bVit,2; bonus bDex,2; },{},{}
 //5744,Capricon_Crown,Capricon Crown,5,20,,300,,3,,1,0xFFFFFFFF,7,2,256,,1,1,621,{ bonus bVit,2; bonus bDex,2; },{},{}
 //5745,Capricon_Diadem,Capricon Diadem,5,20,,300,,3,,0,0xFFFFFFFF,7,2,256,,1,1,622,{ bonus bDex,2; bonus bMdef,5; },{},{}
 //5745,Capricon_Diadem,Capricon Diadem,5,20,,300,,3,,0,0xFFFFFFFF,7,2,256,,1,1,622,{ bonus bDex,2; bonus bMdef,5; },{},{}
-5746,Rune_Circlet,Rune Circlet,5,20,,100,,12,,1,0x00000080,7,2,256,,100,1,623,{ bonus bStr,1; bonus bInt,1; bonus bMdef,5; },{},{}
-5747,Mitra,Mitra,5,20,,100,,12,,1,0x00000100,7,2,256,,100,1,624,{ bonus bInt,1; bonus bVit,1; bonus bMdef,5; },{},{}
-5748,Sniper_Goggle,Sniper Goggles,5,20,,100,,12,,1,0x00000800,7,2,768,,100,1,625,{ bonus bDex,1;bonus bAgi,1;bonus bMdef,5; },{},{}
-5749,Driver_Band,Driver Band,5,20,,100,,12,,1,0x00000400,7,2,256,,100,1,626,{ bonus bStr,1; bonus bDex,1; bonus bMdef,5; },{},{}
-5750,Shadow_Handicraft,Shadow Handicraft,5,20,,100,,12,,1,0x00020000,7,2,256,,100,1,627,{ bonus bInt,1; bonus bAgi,1; bonus bMdef,5; },{},{}
-5751,Minstrel_Song_Hat,Minstrel Song Hat,5,20,,100,,12,,1,0x00080000,7,1,256,,100,1,628,{ bonus bInt,1; bonus bLuk,1; bonus bMdef,5; },{},{}
-5752,Midas_Whisper,Midas Whisper,5,20,,100,,12,,1,0x00040000,7,2,256,,100,1,629,{ bonus bStr,1; bonus bDex,1; bonus bMdef,5; },{},{}
-5753,Magic_Stone_Hat,Magic Stone Hat,5,20,,100,,12,,1,0x00000200,7,2,256,,100,1,630,{ bonus bInt,1; bonus bDex,1; bonus bMdef,5; },{},{}
-5754,Blazing_Soul,Blazing Soul,5,20,,100,,12,,1,0x00008000,7,2,256,,100,1,631,{ bonus bStr,1; bonus bVit,1; bonus bMdef,5; },{},{}
-5755,Silent_Executer,Silence Executer,5,20,,100,,6,,0,0x00001000,,2,513,,100,0,632,{ bonus bAgi,1;bonus bMdef,5; },{},{}
-5756,Wind_Whisper,Wind Whisper,5,20,,100,,12,,1,0x00010000,7,2,256,,100,1,633,{ bonus bInt,1; bonus bDex,1; bonus bMdef,5; },{},{}
-5757,Schmidt_Helm,Dip Schmidt Helm,5,20,,100,,17,,1,0x00004000,7,2,768,,100,1,634,{ bonus bInt,1;bonus bVit,2;bonus bMdef,5; },{},{}
-5758,Dying_Swan,Dying Swan,5,20,,100,,12,,1,0x00080000,7,0,256,,100,1,635,{ bonus bInt,1; bonus bLuk,1; bonus bMdef,5; },{},{}
+5746,Rune_Circlet,Rune Circlet,5,20,,100,,12,,1,0x00000080,8,2,256,,100,1,623,{ bonus bStr,1; bonus bInt,1; bonus bMdef,5; if(readparam(bStr)>=120){ bonus bAtk,10; bonus bMatk,5; } },{},{}
+5747,Mitra,Mitra,5,20,,100,,12,,1,0x00000100,8,2,256,,100,1,624,{ bonus bVit,1; bonus bInt,1; bonus bMdef,5; bonus bHealPower,5; if(readparam(bInt)>=120){ bonus bMatk,10; } },{},{}
+5748,Sniper_Goggles,Sniper Goggles,5,20,,100,,12,,1,0x00000800,8,2,768,,100,1,625,{ bonus bAgi,1; bonus bDex,1; bonus bMdef,5; if(readparam(bAgi)>=120){ bonus bLongAtkRate,4; bonus bAspd,1; } },{},{}
+5749,Driver_Band_M,Driver Band,5,20,,100,,12,,1,0x00000400,8,1,256,,100,1,626,{ bonus bStr,1; bonus bDex,1; bonus bMdef,5; if(readparam(bStr)>=120){ bonus bAtk,10; bonus bCritical,3; } },{},{}
+5750,Shadow_Crown,Shadow Crown,5,20,,100,,12,,1,0x00020000,8,2,256,,100,1,627,{ bonus bAgi,1; bonus bInt,1; bonus bMdef,1; if(readparam(bAgi)>=120){ bonus bAtk,10; bonus bFlee,3; } },{},{}
+5751,Minstrel_Song_Hat,Minstrel Song Hat,5,20,,100,,12,,1,0x00080000,8,1,256,,100,1,628,{ bonus bInt,1; bonus bLuk,1; bonus bMdef,5; bonus bLongAtkRate,4; bonus bUseSPrate,-10; },{},{}
+5752,Midas_Whispers,Midas Whispers,5,20,,100,,12,,1,0x00040000,8,2,256,,100,1,629,{ bonus bStr,1; bonus bDex,1; bonus bMdef,5; if(readparam(bStr)>=120){ bonus bAtk,5; bonus bAspd,1; } },{},{}
+5753,Magic_Stone_Hat,Magic Stone Hat,5,20,,100,,12,,1,0x00000200,8,2,256,,100,1,630,{ bonus bInt,1; bonus bDex,1; bonus bMdef,5; if(readparam(bDex)>=120){ bonus bMatkRate,10; bonus bCastrate,-2; } },{},{}
+5754,Burning_Spirit,Burning Spirit,5,20,,100,,12,,1,0x00008000,8,2,256,,100,1,631,{ bonus bStr,1; bonus bVit,1; bonus bMdef,5; if(readparam(bStr)>=120){ bonus bAtk,10; bonus bHit,3; } },{},{}
+5755,Silent_Enforcer,Silent Enforcer,5,20,,100,,12,,0,0x00001000,8,2,513,,100,1,632,{ bonus bAgi,1; bonus bMdef,5; if(readparam(bAgi)>=120){ bonus bAtk,10; bonus bFlee2,5; } },{},{}
+5756,Wispers_of_Wind,Wispers of Wind,5,20,,100,,12,,1,0x00010000,8,2,256,,100,1,633,{ bonus bInt,1; bonus bDex,1; bonus bMdef,5; if(readparam(bInt)>=120){ bonus bMatkRate,10; bonus bFlee,3; } },{},{}
+5757,Reissue_Schmitz_Helm,Reissue Schmitz Helm,5,20,,100,,12,,1,0x00004000,8,2,768,,100,1,634,{ bonus bVit,2; bonus bInt,1; bonus bMdef,5; if(readparam(bInt)>=120){ bonus bMatkRate,10; bonus bDef,5; } },{},{}
+5758,Resting_Swan,Resting Swan,5,20,,100,,17,,1,0x00080000,8,0,256,,100,1,635,{ bonus bInt,1; bonus bLuk,1; bonus bMdef,5; bonus bAtkRate,5; bonus bUseSPrate,-10; },{},{}
 //5759,Noah_Hat,Noah Hat,5,20,,500,,1,,1,0xFFFFFFFF,7,2,256,,1,1,636,{ bonus bMdef,3; },{},{}
 //5759,Noah_Hat,Noah Hat,5,20,,500,,1,,1,0xFFFFFFFF,7,2,256,,1,1,636,{ bonus bMdef,3; },{},{}
-5760,Driver_Band_,Driver Band,5,20,,100,,12,,1,0x00000000,7,2,256,,100,1,637,{ bonus bStr,1; bonus bDex,1; bonus bMdef,5; },{},{}
+5760,Driver_Band_F,Driver Band,5,20,,100,,12,,1,0x00000400,8,0,256,,100,1,637,{ bonus bStr,1; bonus bDex,1; bonus bMdef,5; if(readparam(bStr)>=120){ bonus bAtk,10; bonus bCritical,3; } },{},{}
 //5761,Sloth_Hat,Sloth Hat,5,20,,800,,3,,1,0xFFFFFFFF,7,2,256,,1,1,638,{ bonus bAgi,2; },{},{}
 //5761,Sloth_Hat,Sloth Hat,5,20,,800,,3,,1,0xFFFFFFFF,7,2,256,,1,1,638,{ bonus bAgi,2; },{},{}
 //5762,Duneyrr_Helm,Duneyrr Helm,5,20,,100,,5,,0,0xFFFFFFFF,7,2,256,,1,1,639,{ bonus bAllStats,1; bonus bMdef,5; },{},{}
 //5762,Duneyrr_Helm,Duneyrr Helm,5,20,,100,,5,,0,0xFFFFFFFF,7,2,256,,1,1,639,{ bonus bAllStats,1; bonus bMdef,5; },{},{}
 //5763,Red_Bunny_Band,Red Bunny Band,5,0,,200,,4,,0,0xFFFFFFFF,7,2,256,,1,1,640,{ bonus bAgi,2; bonus bMdef,3; },{},{}
 //5763,Red_Bunny_Band,Red Bunny Band,5,0,,200,,4,,0,0xFFFFFFFF,7,2,256,,1,1,640,{ bonus bAgi,2; bonus bMdef,3; },{},{}
@@ -3233,8 +3233,8 @@
 6043,Letter_From_Lugen,Letter from Lugen,3,0,,10,,,,,,,,,,,,,{},{},{}
 6043,Letter_From_Lugen,Letter from Lugen,3,0,,10,,,,,,,,,,,,,{},{},{}
 6044,Letter_From_Otto,Letter from Otto,3,0,,10,,,,,,,,,,,,,{},{},{}
 6044,Letter_From_Otto,Letter from Otto,3,0,,10,,,,,,,,,,,,,{},{},{}
 6045,Supply_Box,Supply Box,3,0,,0,,,,,,,,,,,,,{},{},{}
 6045,Supply_Box,Supply Box,3,0,,0,,,,,,,,,,,,,{},{},{}
-6046,Clothing_Dye_Coupon,New Clothing Dye Coupon,3,0,,0,,,,,,,,,,,,,{},{},{}
-6047,Clothing_Dye_Coupon2,Original Clothing Dye Coupon,3,0,,0,,,,,,,,,,,,,{},{},{}
+6046,Clothing_Dye_Coupon,Clothing Dye Coupon,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "SetPalete",1; },{},{}
+6047,Clothing_Dye_Coupon_II,Clothing Dye Coupon II,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "SetPalete",2; },{},{}
 6048,Unidentified_Mineral,Unidentified Mineral,3,0,,10,,,,,,,,,,,,,{},{},{}
 6048,Unidentified_Mineral,Unidentified Mineral,3,0,,10,,,,,,,,,,,,,{},{},{}
 6049,Marlin,Marlin,3,0,,10,,,,,,,,,,,,,{},{},{}
 6049,Marlin,Marlin,3,0,,10,,,,,,,,,,,,,{},{},{}
 6050,Mercenary_Contract,Mercenary Contract,3,0,,10,,,,,,,,,,,,,{},{},{}
 6050,Mercenary_Contract,Mercenary Contract,3,0,,10,,,,,,,,,,,,,{},{},{}
@@ -4659,7 +4659,7 @@
 11053,SN_Book_Practice,SN Book Practice,3,20,,10,,,,,,,,,,,,,{},{},{}
 11053,SN_Book_Practice,SN Book Practice,3,20,,10,,,,,,,,,,,,,{},{},{}
 11054,SN_Book_Misc,SN Book Misc,3,20,,10,,,,,,,,,,,,,{},{},{}
 11054,SN_Book_Misc,SN Book Misc,3,20,,10,,,,,,,,,,,,,{},{},{}
 11055,Basic_Adventure,Basic Adventure,3,20,,10,,,,,,,,,,,,,{},{},{}
 11055,Basic_Adventure,Basic Adventure,3,20,,10,,,,,,,,,,,,,{},{},{}
-//11056,Spiritualism_Guide,
+11056,Elemental_Spirit_Guide,Elemental Spirit Guide,3,1000,,10,,,,,,,,,,,,,{},{},{}
 // More Usable Items
 // More Usable Items
 //===================================================================
 //===================================================================
 11500,Light_Yellow_Pot,Light Yellow Potion,0,550,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(175,235),0; },{},{}
 11500,Light_Yellow_Pot,Light Yellow Potion,0,550,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(175,235),0; },{},{}
@@ -5045,7 +5045,7 @@
 12338,Grilled_Corn,Grilled Corn,2,100,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCSTR,180000,2; sc_start SC_INCINT,180000,2; sc_start SC_INCAGI,180000,2; },{},{}
 12338,Grilled_Corn,Grilled Corn,2,100,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCSTR,180000,2; sc_start SC_INCINT,180000,2; sc_start SC_INCAGI,180000,2; },{},{}
 12339,Cherish_Box_Ori,Treasure Edition Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Cherish_Box_Ori),1; },{},{}
 12339,Cherish_Box_Ori,Treasure Edition Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Cherish_Box_Ori),1; },{},{}
 12340,Mysterious_Rice_Powder,Chewy Rice Powder,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ pet 1815; },{},{}
 12340,Mysterious_Rice_Powder,Chewy Rice Powder,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ pet 1815; },{},{}
-12341,Special_Alloy_Trap_Box,Special Alloy Trap Box,2,20000,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
+12341,Special_Alloy_Trap_Box,Special Alloy Trap Box,2,,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 7940,100; },{},{}
 12342,Manuk's_Opportunity,Manuk's Opportunity,2,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ specialeffect2 EF_POTION_BERSERK; sc_start SC_MANU_ATK,600000,10; },{},{}
 12342,Manuk's_Opportunity,Manuk's Opportunity,2,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ specialeffect2 EF_POTION_BERSERK; sc_start SC_MANU_ATK,600000,10; },{},{}
 12343,Manuk's_Courage,Manuk's Courage,2,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ specialeffect2 EF_GUARD; sc_start SC_MANU_DEF,600000,10; },{},{}
 12343,Manuk's_Courage,Manuk's Courage,2,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ specialeffect2 EF_GUARD; sc_start SC_MANU_DEF,600000,10; },{},{}
 12344,Pinguicula's_fruit_Jam,Pinguicula's Fruit Jam,2,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ specialeffect2 EF_POTION_BERSERK; sc_start SC_SPL_ATK,600000,10; },{},{}
 12344,Pinguicula's_fruit_Jam,Pinguicula's Fruit Jam,2,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ specialeffect2 EF_POTION_BERSERK; sc_start SC_SPL_ATK,600000,10; },{},{}
@@ -5096,9 +5096,9 @@
 12389,Runstone_Storm,Pertz Runestone For Apprentice,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ /* getmapxy .@map$,.@x,.@y,0; if(.@map$ == "job3_rune02") { itemskill "RK_STORMBLAST",1; } */ },{},{}
 12389,Runstone_Storm,Pertz Runestone For Apprentice,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ /* getmapxy .@map$,.@x,.@y,0; if(.@map$ == "job3_rune02") { itemskill "RK_STORMBLAST",1; } */ },{},{}
 12390,Runstone_Millennium,Verkana Runestone For Apprentice,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ /* getmapxy .@map$,.@x,.@y,0; if(.@map$ == "job3_rune02") { itemskill "RK_MILLENNIUMSHIELD",1; } */ },{},{}
 12390,Runstone_Millennium,Verkana Runestone For Apprentice,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ /* getmapxy .@map$,.@x,.@y,0; if(.@map$ == "job3_rune02") { itemskill "RK_MILLENNIUMSHIELD",1; } */ },{},{}
 12391,Lucky_Egg_C,Lucky Egg,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12391,Lucky_Egg_C,Lucky Egg,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12392,RepairA,Repair A,2,220,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12393,RepairB,Repair B,2,500,,140,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12394,RepairC,Repair C,2,1100,,180,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
+12392,Repair_A,Repair A,0,220,,70,,,,,0x00000400,8,2,,,,,,{/* madoheal rand(200,300),0; */},{},{}
+12393,Repair_B,Repair B,0,500,,70,,,,,0x00000400,8,2,,,,,,{/* madoheal rand(300,400),0; */},{},{}
+12394,Repair_C,Repair C,0,1100,,70,,,,,0x00000400,8,2,,,,,,{/* madoheal rand(400,500),0; */},{},{}
 12395,Tantanmen,Tantan Noodle,2,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ pet 1519; },{},{}
 12395,Tantanmen,Tantan Noodle,2,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ pet 1519; },{},{}
 12396,Fools_Day_Box,Gift Box?,11,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(1,10)==1) itemskill "AL_TELEPORT",1; else if(rand(1,10)==2) itemskill "AL_TELEPORT",3; else if(rand(1,10)==3) percentheal 50,0; else if(rand(1,10)==4) percentheal 0,50; else if(rand(1,10)==5) end; else if(rand(1,10)==6) getitem 512,1; else if(rand(1,10)==7) itemskill "ALL_REVERSEORCISH",1; else if(rand(1,10)==8) specialeffect2 247; else if(rand(1,10)==9) specialeffect2 338; else specialeffect2 10; },{},{}
 12396,Fools_Day_Box,Gift Box?,11,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(1,10)==1) itemskill "AL_TELEPORT",1; else if(rand(1,10)==2) itemskill "AL_TELEPORT",3; else if(rand(1,10)==3) percentheal 50,0; else if(rand(1,10)==4) percentheal 0,50; else if(rand(1,10)==5) end; else if(rand(1,10)==6) getitem 512,1; else if(rand(1,10)==7) itemskill "ALL_REVERSEORCISH",1; else if(rand(1,10)==8) specialeffect2 247; else if(rand(1,10)==9) specialeffect2 338; else specialeffect2 10; },{},{}
 12397,Fools_Day_Box2,Gift Box?,11,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(1,10)==1) itemskill "TF_DETOXIFY",1; else if(rand(1,10)==2) itemskill "TF_PICKSTONE",1; else if(rand(1,10)==3) itemskill "BA_FROSTJOKER",1; else if(rand(1,10)==4) itemskill "DC_SCREAM",1; else if(rand(1,10)==5) end; else if(rand(1,10)==6) getitem 909,1; else if(rand(1,10)==7) itemskill "AL_RUWACH",1; else if(rand(1,10)==8) specialeffect2 328; else if(rand(1,10)==9) specialeffect2 68; else specialeffect2 196; },{},{}
 12397,Fools_Day_Box2,Gift Box?,11,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(1,10)==1) itemskill "TF_DETOXIFY",1; else if(rand(1,10)==2) itemskill "TF_PICKSTONE",1; else if(rand(1,10)==3) itemskill "BA_FROSTJOKER",1; else if(rand(1,10)==4) itemskill "DC_SCREAM",1; else if(rand(1,10)==5) end; else if(rand(1,10)==6) getitem 909,1; else if(rand(1,10)==7) itemskill "AL_RUWACH",1; else if(rand(1,10)==8) specialeffect2 328; else if(rand(1,10)==9) specialeffect2 68; else specialeffect2 196; },{},{}
@@ -5125,23 +5125,27 @@
 12418,Full_SwingK,Full SwingK,2,100,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12418,Full_SwingK,Full SwingK,2,100,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12419,Mana_Plus,Mana Plus,2,100,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12419,Mana_Plus,Mana Plus,2,100,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12420,Stamina_Up_M,Stamina Up M,2,100,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12420,Stamina_Up_M,Stamina Up M,2,100,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12421,Digestive_F,Digestive F,2,100,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12422,HP_Increase_PotionS,HP Increase PotionS,2,100,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12423,HP_Increase_PotionM,HP Increase PotionM,2,100,,40,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12424,HP_Increase_PotionL,HP Increase PotionL,2,100,,80,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12425,SP_Increase_PotionS,SP Increase PotionS,2,100,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12426,SP_Increase_PotionM,SP Increase PotionM,2,100,,40,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12427,SP_Increase_PotionL,SP Increase PotionL,2,100,,80,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12428,Enrich_White_PotionZ,Enrich White PotionZ,2,100,,70,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12429,Savage_BBQ,Savage BBQ,2,1000,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12430,Wug_Blood_Cocktail,Wug Blood Cocktail,2,1000,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12431,Minor_Brisket,Minor Brisket,2,1000,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12432,Siroma_Icetea,Siroma Icetea,2,1000,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12433,Drocera_Herb_Stew,Drocera Herb Stew,2,1000,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12434,Petti_Tail_Noodle,Petti Tail Noodle,2,1000,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12435,Black_Thing,Black Thing,2,1000,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12436,Vitata500,Vitata500,2,100,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12437,Enrich_Celermine_Juice,Enrich Celermine Juice,2,100,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
+12417,Boost_500,Boost 500,2,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_BOOST500,500000,20; },{},{}
+12418,Full_Swing_K,Full Swing K,3,10,,10,,,,,,,,,,,,,{},{},{}
+12419,Manaplus,Manaplus,3,10,,10,,,,,,,,,,,,,{},{},{}
+12420,Muramura_M,Muramura M,3,10,,10,,,,,,,,,,,,,{},{},{}
+12421,Falmons_F,Falmons F,3,10,,10,,,,,,,,,,,,,{},{},{}
+12422,HP_Increase_Potion_(Small),HP Increase Potion (Small),0,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMHPRATE,500000,1; percentheal 2,0; },{},{}
+12423,HP_Increase_Potion_(Medium),HP Increase Potion (Medium),0,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMHPRATE,500000,2; percentheal 3,0; },{},{}
+12424,HP_Increase_Potion_(Large),HP Increase Potion (Large),0,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMHPRATE,500000,5; percentheal 5,0; },{},{}
+12425,SP_Increase_Potion_(Small),SP Increase Potion (Small),0,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMSPRATE,500000,2; percentheal 0,2; },{},{}
+12426,SP_Increase_Potion_(Medium),SP Increase Potion (Medium),0,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMSPRATE,500000,4; percentheal 0,4; },{},{}
+12427,SP_Increase_Potion_(Large),SP Increase Potion (Large),0,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMSPRATE,500000,8; percentheal 0,8; },{},{}
+12428,Concentrated_White_Potion_Z,Concentrated White Potion Z,0,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_WHITEPOTIONZ,500000,0; itemheal rand(1500,1600),0; },{},{}
+12429,Savage_Full_Roast,Savage Full Roast,2,,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SAVAGE_STEAK, 300000, 20; },{},{}
+12430,Cocktail_Warg_Blood,Cocktail Warg Blood,2,,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_COCKTAIL_WARG_BLOOD, 300000, 20; },{},{}
+12431,Minor_Stew,Minor Stew,2,,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_MINOR_BBQ, 300000, 20; },{},{}
+12432,Siroma_Iced_Tea,Siroma Iced Tea,2,,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SIROMA_ICE_TEA, 300000, 20; },{},{}
+12433,Drosera_Herb_Salad,Drosera Herb Salad,2,,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_DROCERA_HERB_STEAMED, 300000, 20; },{},{}
+12434,Petite_Tail_Noodles,Petite Tail Noodles,2,,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_PUTTI_TAILS_NOODLES, 300000, 20; },{},{}
+12435,Black_Mass,Black Mass,2,,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_STOMACHACHE, 60000,  rand(5,10); },{},{}
+12436,Vitata_500,Vitata 500,0,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
+12437,Concentrated_Ceromain_Soup,Concentrated Ceromain Soup,2,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(1500,1600),0; },{},{}
 12438,F_Giant_Fly_Wing,F Giant Fly Wing,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12438,F_Giant_Fly_Wing,F Giant Fly Wing,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12439,F_Battle_Manual,F Battle Manual,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12439,F_Battle_Manual,F Battle Manual,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12440,F_Insurance,F Insurance,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12440,F_Insurance,F Insurance,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
@@ -5285,6 +5289,7 @@
 12580,Vending_Search_Scroll,Universal Catalog Silver,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ searchstores 10,0; },{},{}
 12580,Vending_Search_Scroll,Universal Catalog Silver,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ searchstores 10,0; },{},{}
 12581,Vending_Search_Scroll2,Universal Catalog Gold,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ searchstores 10,1; },{},{}
 12581,Vending_Search_Scroll2,Universal Catalog Gold,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ searchstores 10,1; },{},{}
 12591,Vending_Search_Scroll3,Universal Catalog Bronze,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ searchstores 10,1; },{},{}
 12591,Vending_Search_Scroll3,Universal Catalog Bronze,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ searchstores 10,1; },{},{}
+12622,Reins_Of_Mount,Reins Of Mount,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "ALL_RIDING",1; },{},{}
 12701,Old_Blue_Box_F,Old Blue Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12701,Old_Blue_Box_F,Old Blue Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12702,Old_Bleu_Box,Old Navy Box,2,0,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_BleuBox),1; getitem groupranditem(IG_BleuBox),1; },{},{}
 12702,Old_Bleu_Box,Old Navy Box,2,0,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_BleuBox),1; getitem groupranditem(IG_BleuBox),1; },{},{}
 12703,Holy_Egg_2,Holy Egg,11,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12703,Holy_Egg_2,Holy Egg,11,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
@@ -5301,28 +5306,34 @@
 12714,Easter_Scroll,Easter Scroll,2,1,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Easter_Scroll),1; },{},{}
 12714,Easter_Scroll,Easter Scroll,2,1,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_Easter_Scroll),1; },{},{}
 12715,Black_Treasure_Box,Black Treasure Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12715,Black_Treasure_Box,Black Treasure Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12716,Indian_Rice_Cake,Indian Rice Cake,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12716,Indian_Rice_Cake,Indian Rice Cake,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12717,Poison_Paralysis,Paralysis,2,2,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12718,Poison_Leech,Leech End,2,2,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12719,Poison_Oblivion,Oblivion Curse,2,2,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12720,Poison_Contamination,Death Hurt,2,2,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12721,Poison_Numb,Toxin,2,2,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12722,Poison_Fever,Pyrexia,2,2,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12723,Poison_Laughing,Magic Mushroom,2,2,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12724,Poison_Fatigue,Venom Bleed,2,2,,20,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12725,Runstone_Nosiege,Nosiege Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12726,Runstone_Rhydo,Rhydo Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12727,Runstone_Verkana,Verkana Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12728,Runstone_Isia,Isia Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12729,Runstone_Asir,Asir Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12730,Runstone_Urj,Urj Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12731,Runstone_Turisus,Turisus Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12732,Runstone_Pertz,Pertz Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12733,Runstone_Hagalas,Hagalas Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12734,Runstone_Quality,Quality Rough Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12735,Runstone_Ancient,Ancient Rough Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12736,Runstone_Mystic,Mystic Rough Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12737,Runstone_Ordinary,General Rough Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12738,Runstone_Rare,Rare Rough Runestone,2,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
+// Guillotine Cross Poisons
+12717,Poison_Paralysis,Paralyze,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(10000) < 10) sc_start SC_PARALYSE,300000,0; },{},{}
+12718,Poison_Leech,Leech End,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(10000) < 10) sc_start SC_LEECHESEND,300000,0; },{},{}
+12719,Poison_Oblivion,Oblivion Curse,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(10000) < 10) sc_start SC_OBLIVIONCURSE,300000,0; },{},{}
+12720,Poison_Disheart,Disheart,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(10000) < 10) sc_start SC_DEATHHURT,300000,0; },{},{}
+12721,Poison_Numb,Toxin,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(10000) < 10) sc_start SC_TOXIN,300000,0; },{},{}
+12722,Poison_Fever,Pyrexia,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(10000) < 10) sc_start SC_PYREXIA,300000,0; },{},{}
+12723,Poison_Laughing,Magic Mushroom,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(10000) < 10) sc_start SC_MAGICMUSHROOM,300000,0; },{},{}
+12724,Poison_Fatigue,Venom Bleed,0,2,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(rand(10000) < 10) sc_start SC_VENOMBLEED,15000,0; },{},{}
+
+// Rune Knight's Rune Stones
+12725,Runstone_Nosiege,Nauthiz Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_REFRESH",1; },{},{}
+12726,Runstone_Rhydo,Raido Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_CRUSHSTRIKE",1; },{},{}
+12727,Runstone_Verkana,Berkana Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_MILLENNIUMSHIELD",1; },{},{}
+12728,Runstone_Isia,Isa Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_VITALITYACTIVATION",1; },{},{}
+12729,Runstone_Asir,Othila Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_FIGHTINGSPIRIT",1; },{},{}
+12730,Runstone_Urj,Uruz Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_ABUNDANCE",1; },{},{}
+12731,Runstone_Turisus,Thurisaz Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_GIANTGROWTH",1; },{},{}
+12732,Runstone_Pertz,Wyrd Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_STORMBLAST",1; },{},{}
+12733,Runstone_Hagalas,Hagalaz Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_STONEHARDSKIN",1; },{},{}
+
+// Rune Knight Rune Ores
+12734,Runstone_Quality,Luxurious Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 1; },{},{}
+12735,Runstone_Ancient,Ancient Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 2; },{},{}
+12736,Runstone_Mystic,Mystic Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 3; },{},{}
+12737,Runstone_Ordinary,General Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 4; },{},{}
+12738,Runstone_Rare,Rare Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 5; },{},{}
+
 12739,Snow_Flower,Snow Flowers,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12739,Snow_Flower,Snow Flowers,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12740,Inc_Str_Scroll,Amplification Scroll,2,1,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12740,Inc_Str_Scroll,Amplification Scroll,2,1,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12741,Inc_Int_Scroll,Intellect Amplification Scroll,2,1,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12741,Inc_Int_Scroll,Intellect Amplification Scroll,2,1,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
@@ -5589,38 +5600,37 @@
 13257,Kunai_Of_Furious_Wind,High Wind Kunai,10,10,,20,30,,,,0x02000000,7,2,32768,,1,,7,{ bonus bAtkEle,Ele_Wind; },{},{}
 13257,Kunai_Of_Furious_Wind,High Wind Kunai,10,10,,20,30,,,,0x02000000,7,2,32768,,1,,7,{ bonus bAtkEle,Ele_Wind; },{},{}
 13258,Kunai_Of_Fierce_Flame,Heat Wave Kunai,10,10,,20,30,,,,0x02000000,7,2,32768,,1,,7,{ bonus bAtkEle,Ele_Fire; },{},{}
 13258,Kunai_Of_Fierce_Flame,Heat Wave Kunai,10,10,,20,30,,,,0x02000000,7,2,32768,,1,,7,{ bonus bAtkEle,Ele_Fire; },{},{}
 13259,Kunai_Of_Deadly_Poison,Fell Poison Kunai,10,10,,20,30,,,,0x02000000,7,2,32768,,1,,7,{ bonus bAtkEle,Ele_Poison; bonus2 bAddEff,Eff_Poison,500; },{},{}
 13259,Kunai_Of_Deadly_Poison,Fell Poison Kunai,10,10,,20,30,,,,0x02000000,7,2,32768,,1,,7,{ bonus bAtkEle,Ele_Poison; bonus2 bAddEff,Eff_Poison,500; },{},{}
-// TODO: Update job for Cenetics only
-13260,Apple_Bomb,Apple Bomb,10,100,,1,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13261,Coconut_Bomb,Coconut Bomb,10,100,,1,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13262,Melon_Bomb,Melon Bomb,10,100,,1,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13263,Pineapple_Bomb,Pineapple Bomb,10,100,,1,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13264,Banana_Bomb,Banana Bomb,10,100,,1,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13265,Black_Lump,Black Lump,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13266,Black_Hard_Lump,Black Hard Lump,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13267,Very_Hard_Lump,Very Hard Lump,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13268,Mysterious_Powder,Mysterious Powder,10,100,,10,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13269,Throwing_Boost500,Throwing Boost500,10,100,,10,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13270,Full_SwingK_Throw,Full SwingK Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13271,Mana_Plus_to_Throw,Mana + Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13272,Cure_Free_Throw,Cure Free Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13273,Stamina_Up_M_To_Throw,Stamina Up M To Throw,10,100,,10,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13274,Digestive_F_To_Throw,Digestive Up F To Throw,10,100,,10,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13275,HP_Inc_PotS_To_Throw,HP Increase Potion(Small) Throw,10,100,,20,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13276,HP_Inc_PotM_To_Throw,HP Increase Potion(Mid) Throw,10,100,,40,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13277,HP_Inc_PotL_To_Throw,HP Increase Potion(Large) Throw,10,100,,80,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13278,SP_Inc_PotS_To_Throw,HP_Increase Potion(Small) Throw,10,100,,20,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13279,SP_Inc_PotM_To_Throw,SP_Increase Potion(Mid) Throw,10,100,,40,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13280,SP_Inc_PotL_To_Throw,SP_Increase Potion(Large) Throw,10,100,,80,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13281,En_White_PotZ_To_Throw,Enriched White PotionZ Throw,10,100,,70,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13282,Vitata500_To_Throw,Vitata50 Throw0,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13283,En_Cel_Juice_To_Throw,Enrich Celermine Juice Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13284,Savage_BBQ_To_Throw,Savage BBQ Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13285,Wug_Cocktail_To_Throw,Wug Cocktail To Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13286,M_Brisket_To_Throw,Brisket To Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13287,Siroma_Iced_Tea_To_Throw,Siroma Iced Tea To Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13288,Drosera_Stew_To_Throw,Drosera Stew To Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13289,Petite_Noodle_To_Throw,Petite Noodle To Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
-13290,Black_Thing_To_Throw,Black Thing To Throw,10,100,,50,0,,,,0x0000000,7,2,32768,,99,,7,{},{},{}
+13260,Apple_Bomb,Apple Bomb,17,10,,1,100,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13261,Coconut_Bomb,Coconut Bomb,17,1,,10,100,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13262,Melon_Bomb,Melon Bomb,17,10,,1,100,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13263,Pineapple_Bomb,Pineapple Bomb,17,10,,1,100,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13264,Banana_Bomb,Banana Bomb,17,10,,1,100,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13265,Black_Lump,Black Lump,17,10,,50,100,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13266,Hard_Black_Lump,Hard Black Lump,17,10,,50,100,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13267,Extremely_Hard_Black_Lump,Extremely Hard Black Lump,17,10,,50,100,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13268,Mysterious_Powder,Mysterious Powder,17,10,,10,100,,,,0xFFFFFFFF,7,2,32768,,1,,9,{ sc_start SC_MYSTERIOUS_POWDER,10000,2; },{},{}
+13269,Throwing_Boost_500,Throwing Boost 500,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13270,Throwing_Full_Swing_K,Throwing Full Swing K,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13271,Throwing_Manaplus,Throwing Manaplus,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13272,Throwing_Cure_Free,Throwing Cure Free,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13273,Throwing_Muramura_M,Throwing Muramura M,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13274,Throwing_Falmons_F,Throwing Falmons F,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13275,Throwing_Increase_HP_Potion_(Small),Throwing Increase HP Potion (Small),17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{ sc_start SC_INCMHPRATE,500000,1; itemheal 840,0; },{},{}
+13276,Throwing_Increase_HP_Potion_(Medium),Throwing Increase HP Potion (Medium),17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{ sc_start SC_INCMHPRATE,500000,2; itemheal 1040,0; },{},{}
+13277,Throwing_Increase_HP_Potion_(Large),Throwing Increase HP Potion (Large),17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{ sc_start SC_INCMHPRATE,500000,5; itemheal 1240,0; },{},{}
+13278,Throwing_Increase_SP_Potion_(Small),Throwing Increase SP Potion (Small),17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{ sc_start SC_INCMSPRATE,500000,2; itemheal 0,200; },{},{}
+13279,Throwing_Increase_SP_Potion_(Medium),Throwing Increase SP Potion (Medium),17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{ sc_start SC_INCMSPRATE,500000,4; itemheal 0,300; },{},{}
+13280,Throwing_Increase_SP_Potion_(Large),Throwing Increase SP Potion (Large),17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{ sc_start SC_INCMSPRATE,500000,8; itemheal 0,400; },{},{}
+13281,Throwing_Concentrated_White_Potion_Z,Throwing Concentrated White Potion Z,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13282,Throwing_Vitata_500,Throwing Vitata 500,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13283,Throwing_Ceromain_Soup,Throwing Ceromain Soup,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13284,Throwing_Savage_Full_Roast,Throwing Savage Full Roast,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13285,Throwing_Cocktail_Warg_Blood,Throwing Cocktail Warg Blood,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13286,Throwing_Minor_Stew,Throwing Minor Stew,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13287,Throwing_Siroma_Iced_Tea,Throwing Siroma Iced Tea,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13288,Throwing_Drosera_Herb_Salad,Throwing Drosera Herb Salad,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13289,Throwing_Petite_Tail_Soup,Throwing Petite Tail Soup,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
+13290,Throwing_Black_Mass,Throwing Black Mass,17,10,,100,0,,,,0xFFFFFFFF,7,2,32768,,1,,9,{},{},{}
 // Ninja Fuuma Shurikens
 // Ninja Fuuma Shurikens
 13300,Huuma_Bird_Wing,Huuma Wing Shuriken,4,90000,,3000,150,,1,0,0x02000000,7,2,34,4,65,1,22,{ bonus bUnbreakableWeapon,0; bonus bAtkEle,Ele_Wind; bonus bDex,-2; bonus bAgi,-1; },{},{}
 13300,Huuma_Bird_Wing,Huuma Wing Shuriken,4,90000,,3000,150,,1,0,0x02000000,7,2,34,4,65,1,22,{ bonus bUnbreakableWeapon,0; bonus bAtkEle,Ele_Wind; bonus bDex,-2; bonus bAgi,-1; },{},{}
 13301,Huuma_Giant_Wheel,Huuma Giant Wheel Shuriken,4,40000,,2500,50,,1,3,0x02000000,7,2,34,4,42,1,22,{ bonus bUnbreakableWeapon,0; bonus2 bAddEff,Eff_Bleeding,100; },{},{}
 13301,Huuma_Giant_Wheel,Huuma Giant Wheel Shuriken,4,40000,,2500,50,,1,3,0x02000000,7,2,34,4,42,1,22,{ bonus bUnbreakableWeapon,0; bonus2 bAddEff,Eff_Bleeding,100; },{},{}
@@ -6735,16 +6745,16 @@
 16776,Universal_Catalog_Gold_Box10,Universal Catalog Gold 10 Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 12581,10; },{},{}
 16776,Universal_Catalog_Gold_Box10,Universal Catalog Gold 10 Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 12581,10; },{},{}
 16777,Universal_Catalog_Gold_Box50,Universal Catalog Gold 50 Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 12581,50; },{},{}
 16777,Universal_Catalog_Gold_Box50,Universal Catalog Gold 50 Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 12581,50; },{},{}
 16998,Archangel_Wings_Box,Archangel Wings Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 2573,1; },{},{}
 16998,Archangel_Wings_Box,Archangel Wings Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 2573,1; },{},{}
-// TODO: Update job for Mechanic only.
-18000,Cannon_Ball,Cannon Ball,10,100,,10,100,,,,0x000A1848,7,2,32768,,1,,1,{},{},{}
-18001,Holy_Cannon_Ball,Holy Cannon Ball,10,200,,100,120,,,,0x000A1848,7,2,32768,,1,,1,{},{},{}
-18002,Dark_Cannon_Ball,Dark Cannon Ball,10,200,,100,120,,,,0x000A1848,7,2,32768,,1,,1,{},{},{}
-18003,Soul_Cannon_Ball,Soul Cannon Ball,10,200,,100,120,,,,0x000A1848,7,2,32768,,1,,1,{},{},{}
-18004,Iron_Cannon_Ball,Iron Cannon Ball,10,500,,100,250,,,,0x000A1848,7,2,32768,,1,,1,{},{},{}
+//Mechanic Cannon Balls
+18000,Cannon_Ball,Cannon Ball,10,100,,10,100,,,,0x00000400,8,2,32768,,1,,8,{},{},{}
+18001,Holy_Cannon_Ball,Holy Cannon Ball,10,200,,100,120,,,,0x00000400,8,2,32768,,1,,8,{ bonus bAtkEle,Ele_Holy; },{},{}
+18002,Dark_Cannon_Ball,Dark Cannon Ball,10,200,,100,120,,,,0x00000400,8,2,32768,,1,,8,{ bonus bAtkEle,Ele_Dark; },{},{}
+18003,Soul_Cannon_Ball,Soul Cannon Ball,10,200,,100,120,,,,0x00000400,8,2,32768,,1,,8,{ bonus bAtkEle,Ele_Ghost; },{},{}
+18004,Iron_Cannon_Ball,Iron Cannon Ball,10,500,,100,250,,,,0x00000400,8,2,32768,,1,,8,{ bonus bAtkEle,Ele_Neutral; },{},{}
 //18100,Shooting_Star_C,
 //18100,Shooting_Star_C,
 18101,F_Bow_Of_Rudra_C,Rudra Bow,4,2,,0,185,,5,0,0x000A0848,7,2,34,4,0,0,11,{ bonus bAtkEle,Ele_Holy; bonus bInt,5; skill "AL_CURE",1; skill "AL_HEAL",1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000; },{},{}
 18101,F_Bow_Of_Rudra_C,Rudra Bow,4,2,,0,185,,5,0,0x000A0848,7,2,34,4,0,0,11,{ bonus bAtkEle,Ele_Holy; bonus bInt,5; skill "AL_CURE",1; skill "AL_HEAL",1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000; },{},{}
 18102,E_Bow_Of_Rudra_C,Rudra Bow,4,2,,0,185,,5,0,0x000A0848,7,2,34,4,0,0,11,{ bonus bAtkEle,Ele_Holy; bonus bInt,5; skill "AL_CURE",1; skill "AL_HEAL",1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000; },{},{}
 18102,E_Bow_Of_Rudra_C,Rudra Bow,4,2,,0,185,,5,0,0x000A0848,7,2,34,4,0,0,11,{ bonus bAtkEle,Ele_Holy; bonus bInt,5; skill "AL_CURE",1; skill "AL_HEAL",1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000; },{},{}
-18103,Mystic_Bow,Mystic Bow,4,0,,1700,75,,5,0,0x000A0848,7,2,34,3,105,1,11,{ bonus bInt,4; },{},{}
+18103,Mystic_Bow,Mystic Bow,4,0,,1700,75,,5,0,0x00000400,8,2,34,3,105,1,11,{ bonus bInt,4; },{},{}
 //18500,Cheer_Scarf6,
 //18500,Cheer_Scarf6,
 //18501,Cheer_Scarf8,
 //18501,Cheer_Scarf8,
 //18502,Cheer_Scarf10,
 //18502,Cheer_Scarf10,

+ 305 - 0
db/item_db_re.txt

@@ -0,0 +1,305 @@
+// Renewal-Specific Database
+// specially for renewal-modified items, when compiled in RRMODE entries in this file override item_db.txt and are overriden by item_db2.txt
+//
+// Structure of Database:
+// ID,Name,Name,Type,Price,Sell,Weight,ATK:MATK,DEF,Range,Slot,Job,Upper,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script }
+//
+// Note (ATK field)
+// - in RE this field is able to store a optional value, for the weapons' matk
+// - You may use, for example: 10:25 for a item to give 10 atk and 25 weapon matk.
+
+//ASPD in RE they give a fixed +4/+6/+9 ASPD
+645,Center_Potion,Concentration Potion,2,800,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_ASPDPOTION0,1800000,4; },{},{}
+656,Awakening_Potion,Awakening Potion,2,1500,,150,,,,,0xFFF7FEEF,7,2,,,40,,,{ sc_start SC_ASPDPOTION1,1800000,6; },{},{}
+657,Berserk_Potion,Berserk Potion,2,3000,,200,,,,,0x01E646A6,7,2,,,85,,,{ sc_start SC_ASPDPOTION2,1800000,9; },{},{}
+
+// Matk updates. Work in progress. 
+// Daggers
+13010,Asura,Asura,4,3000,,600,50:50,,1,2,0x02000000,7,2,2,1,12,1,1,{},{},{}
+13011,Asura_,Asura,4,3000,,600,50:50,,1,3,0x02000000,7,2,2,1,12,1,1,{},{},{}
+1231,Bazerald,Bazerald,4,20,,500,70:105,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bAtkEle,Ele_Fire; bonus bInt,5; },{},{}
+
+// Staffs
+1472,Staff_Of_Soul,Soul Staff,4,20,,1400,25:200,,1,0,0x00810204,7,2,34,3,73,1,10,{ bonus bInt,5; bonus bAgi,2; if(isequipped(2677) || isequipped(2711)){ bonus bMatkRate,6; bonus bDex,2; bonus bCastrate,-getrefine(); } },{},{}
+1601,Rod,Rod,4,50,,400,15:30,,1,3,0x00818315,7,2,2,1,1,1,10,{},{},{}
+1602,Rod_,Rod,4,50,,400,15:30,,1,4,0x00818315,7,2,2,1,1,1,10,{},{},{}
+1603,Rod__,Rod,4,50,,400,15:30,,1,0,0x00818315,7,2,2,1,1,1,10,{},{},{}
+1604,Wand,Wand,4,2500,,400,25:45,,1,2,0x00818315,7,2,2,2,12,1,10,{},{},{}
+1605,Wand_,Wand,4,2500,,400,25:45,,1,3,0x00818315,7,2,2,2,12,1,10,{},{},{}
+1606,Wand__,Wand,4,2500,,400,25:45,,1,0,0x00818315,7,2,2,2,12,1,10,{ bonus bInt,1; },{},{}
+1607,Staff,Staff,4,9500,,400,40:70,,1,2,0x00818314,7,2,2,2,12,1,10,{ bonus bInt,2; },{},{}
+1608,Staff_,Staff,4,9500,,400,40:70,,1,3,0x00818314,7,2,2,2,12,1,10,{ bonus bInt,2; },{},{}
+1609,Staff__,Staff,4,9500,,400,40:70,,1,0,0x00818314,7,2,2,2,12,1,10,{ bonus bInt,2; },{},{}
+1610,Arc_Wand,Arc Wand,4,45000,,400,60:95,,1,1,0x00818314,7,2,2,3,24,1,10,{ bonus bInt,3; },{},{}
+1611,Arc_Wand_,Arc Wand,4,45000,,400,60:95,,1,2,0x00818314,7,2,2,3,24,1,10,{ bonus bInt,3; },{},{}
+1612,Arc_Wand__,Arc Wand,4,45000,,400,60:95,,1,0,0x00818314,7,2,2,3,24,1,10,{ bonus bInt,3; },{},{}
+1613,Mighty_Staff,Mighty Staff,4,20,,700,130:100,,1,0,0x00818314,7,2,2,3,24,1,10,{ bonus bStr,10; bonus bSPDrainValue,-2; },{},{}
+1614,Blessed_Wand,Wand of Occult,4,20,,700,75:105,,1,0,0x00818314,7,2,2,3,24,1,10,{ bonus bInt,3; },{},{}
+1616,Staff_Of_Wing,Wing Staff,4,20,,500,60:115,,1,0,0x00810204,7,2,2,4,40,1,10,{ bonus bCastrate,-5; },{},{}
+1617,Survival_Rod,Survivor's Rod,4,85000,,1000,50:120,,1,0,0x00818314,7,2,2,3,24,1,10,{ bonus bDex,2; bonus bMaxHP,300; },{},{}
+1618,Survival_Rod_,Survivor's Rod,4,85000,,1000,50:120,,1,1,0x00818314,7,2,2,3,24,1,10,{ bonus bDex,3; bonus bMaxHP,400; },{},{}
+1619,Survival_Rod2,Survivor's Rod,4,85000,,1000,50:120,,1,0,0x00818314,7,2,2,3,24,1,10,{ bonus bInt,2; bonus bMaxHP,300; },{},{}
+1620,Survival_Rod2_,Survivor's Rod,4,85000,,1000,50:120,,1,1,0x00818314,7,2,2,3,24,1,10,{ bonus bInt,3; bonus bMaxHP,400; },{},{}
+1621,Hypnotist's_Staff,Hypnotist's Staff,4,43000,,500,70:120,,1,1,0x00000001,7,2,2,3,30,1,10,{ bonus bInt,1; },{},{}
+1622,Hypnotist's_Staff_,Hypnotist's Staff,4,20,,500,70:120,,1,2,0x00000001,7,2,2,3,30,1,10,{ bonus bInt,1; },{},{}
+1624,Lich_Bone_Wand,Lich's Bone Wand,4,20,,800,60:170,,1,2,0x00018314,2,2,2,3,70,1,10,{ bonus bInt,1; bonus bDex,1; bonus bAtkEle,Ele_Undead; bonus3 bAutoSpellWhenHit,"NPC_WIDECURSE",5,10+getrefine(); if(getrefine()>=9){ bonus bMatkRate,3; bonus bMaxSP,300; } },{},{}
+1625,Healing_Staff,Healing Staff,4,20,,400,10:105,,1,0,0x00008110,7,2,2,3,55,1,10,{ bonus bAtkEle,Ele_Holy; bonus bHealPower,(getrefine()*3/2); },{},{}
+1626,Piercing_Staff,Piercing Staff,4,20,,500,80:145,,1,0,0x00018314,2,2,2,3,70,1,10,{ bonus bInt,4; bonus bIgnoreMdefRate,10+getrefine(); },{},{}
+1629,Walking_Stick,Gentleman's Staff,4,20,,500,40:125,,1,1,0x00818314,7,2,2,4,50,1,10,{ bonus bDex,1; if (isequipped(5045)) { bonus bDex,2; bonus bInt,2; bonus bSPrecovRate,5; bonus bMatkRate,getrefine(); } },{},{}
+1630,Release_Of_Wish,Release of Wish,4,20,,500,30:125,,1,0,0x00810204,7,2,2,3,50,1,10,{ bonus bInt,3; bonus bHealPower,5; autobonus "{ bonus2 bSPRegenRate,100,2000; bonus2 bHPRegenRate,50,2000; }",10,10000,BF_MAGIC,"{ specialeffect2 EF_HEAL; }"; },{},{}
+1636,Thorn_Staff,Thorn Staff of Darkness,4,20,,700,60:160,,1,0,0x00018314,2,2,2,4,75,1,10,{ bonus bInt,3; bonus bDex,3; bonus bIgnoreMdefRate,getrefine(); bonus bDelayRate,-(getrefine()*3/2); },{},{}
+1637,Eraser,Eraser,4,20,,500,80:170,,1,0,0x00018314,2,2,2,4,70,1,10,{ bonus bInt,3; bonus bDex,2; bonus bSPrecovRate,8; if( getrefine() > 9 ) bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",3,5,BF_MAGIC,0; else bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",1,5,BF_MAGIC,0; },{},{}
+2000,Destruction_Rod,Staff of Destruction,4,20,,2500,130:280,,1,1,0x00000200,2,2,34,4,80,1,23,{ bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,366,-50; },{},{}
+2001,Divine_Cross,Divine Cross,4,20,,1500,120:210,,1,0,0x00008100,7,2,34,4,70,1,23,{ bonus bAtkEle,Ele_Holy; bonus bDex,4; bonus2 bSubRace,RC_Demon,15; bonus2 bSubRace,RC_Undead,15; if (isequipped(2677) || isequipped(2711)) { bonus bMatkRate,10; bonus bDex,2; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; }; },{},{}
+
+// Books
+1560,Diary_Of_Great_Sage,Sage's Diary,4,20,,1100,100:120,,1,2,0x00410100,7,2,2,3,60,1,15,{ if(readparam(bStr)>=50) bonus bAspdRate,5; if(readparam(bInt)>=70) bonus bMatkRate,5; },{},{}
+1561,Hardback,Hardcover Book,4,20,,1500,140,,1,1,0x00410100,7,2,2,4,55,1,15,{ bonus bStr,3; bonus bDex,2; },{},{}
+1572,Principles_Of_Magic,Principles of Magic,4,20,,300,60:160,,1,2,0x00410100,7,2,2,3,60,1,15,{ bonus bInt,3; bonus bSPrecovRate,5; },{},{}
+1573,Ancient_Magic,Ancient Magic,4,20,,700,30:140,,1,2,0x00410100,7,2,2,3,70,1,15,{ if (isequipped(2334) || isequipped(2372)) { bonus bMdef,8; bonus bMaxSPRate,10; bonus bInt,4; }; },{},{}
+1564,Encyclopedia,Encyclopedia,4,20,,2000,110:100,,1,2,0x00410100,7,2,2,3,70,1,15,{ bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10); },{},{}
+
+// DEF updates
+// Headgears - Work in progress.
+2208,Ribbon,Ribbon,5,800,,100,,1,,0,0xFFFFFFFF,7,0,256,,0,1,17,{ bonus bMdef,3; },{},{}
+2209,Ribbon_,Ribbon,5,800,,100,,1,,1,0xFFFFFFFF,7,0,256,,0,1,17,{ bonus bMdef,3; },{},{}
+2216,Biretta,Biretta,5,9000,,100,,8,,0,0x00008110,7,2,256,,0,1,11,{},{},{}
+2217,Biretta_,Biretta,5,9000,,100,,8,,1,0x00008110,7,2,256,,0,1,11,{},{},{}
+2252,Star_Sparkling,Wizard Hat,5,20,,300,,7,,0,0x00810204,7,2,256,,0,1,36,{ bonus bMaxSP,100; },{},{}
+2266,Iron_Cane,Iron Cain,5,20,,300,,4,,0,0x00004082,7,2,1,,50,0,53,{},{},{}
+2280,Sahkkat,Sakkat,5,20,,300,,4,,0,0xFFFFFFFF,7,2,256,,0,1,67,{ bonus bAgi,1; },{},{}
+2285,Apple_Of_Archer,Apple of Archer,5,20,,200,,1,,0,0xFFFFFFFE,7,2,256,,30,1,72,{ bonus bDex,3; },{},{}
+2287,Pirate_Bandana,Pirate Bandana,5,20,,100,,4,,0,0xFFFFFFFE,7,2,256,,0,1,74,{ bonus bStr,1; },{},{}
+2299,Viking_Helm,Orc Helm,5,20,,500,,9,,0,0x000654E2,7,2,256,,0,1,86,{},{},{}
+5007,Loard_Circlet,Grand Circlet,5,20,,200,,7,,0,0xFFFFFFFE,7,2,256,,55,1,93,{ bonus bStr,1; bonus bInt,1; bonus bLuk,1; bonus bMdef,4; },{},{}
+5010,Indian_Hair_Piece,Indian Fillet,5,20,,100,,5,,0,0xFFFFFFFF,7,2,256,,0,1,96,{},{},{}
+5015,Egg_Shell,Egg Shell,5,20,,200,,6,,0,0xFFFFFFFF,7,2,256,,0,0,101,{},{},{}
+5017,Bone_Helm,Bone Helm,5,20,,800,,15,,0,0x000444A2,7,2,256,,70,1,103,{ bonus2 bSubEle,Ele_Dark,-15; },{},{}
+5058,Drooping_Kitty,Drooping Cat,5,250000,,500,,3,,0,0xFFFFFFFE,7,2,256,,0,1,142,{ bonus bMdef,15; bonus2 bResEff,Eff_Curse,3000; },{},{}
+5111,Galapago_Cap,Galapago Cap,5,20,,500,,4,,0,0xFFFFFFFF,7,2,256,,55,1,192,{ bonus2 bAddMonsterDropItem,605,100; },{},{}
+5118,Ear_Of_Puppy,Puppy Headband,5,20,,100,,3,,0,0xFFFFFFFF,7,2,256,,0,1,199,{},{},{}
+5122,Magni_Cap,Magni's Cap,5,30000,,1000,,9,,0,0xFFFFFFFE,7,2,256,,65,1,250,{ bonus bStr,2; },{},{}
+5128,Goibne's_Helmet,Goibne's Helm,5,30000,,500,,10,,0,0xFFFFFFFE,7,2,256,,54,1,258,{ bonus bVit,3; bonus bMdef,3; if(isequipped(2354,2419,2520)) { bonus bVit,5; bonus bMaxHPrate,15; bonus bMaxSPrate,5; bonus bDef,5; bonus bMdef,15; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Wind,10; } },{},{}
+5157,Viking_Helm_,Orc Helm,5,20,,500,,9,,1,0x000654E2,7,2,256,,0,1,86,{},{},{}
+5350,Pirate_Bandana_,Pirate Bandana,5,20,,100,,4,,1,0xFFFFFFFE,7,2,256,,0,1,74,{ bonus bStr,1; },{},{}
+
+// Shields
+2101,Guard,Guard,5,500,,300,,20,,0,0xFFFFFFFF,7,2,32,,0,1,1,{},{},{}
+2102,Guard_,Guard,5,500,,300,,20,,1,0xFFFFFFFF,7,2,32,,0,1,1,{},{},{}
+2103,Buckler,Buckler,5,14000,,600,,40,,0,0x000ED5F2,7,2,32,,0,1,2,{},{},{}
+2104,Buckler_,Buckler,5,14000,,600,,40,,1,0x000ED5F2,7,2,32,,0,1,2,{},{},{}
+2105,Shield,Shield,5,56000,,1300,,60,,0,0x00004082,7,2,32,,0,1,3,{},{},{}
+2106,Shield_,Shield,5,56000,,1300,,60,,1,0x00004082,7,2,32,,0,1,3,{},{},{}
+2107,Mirror_Shield,Mirror Shield,5,60000,,1000,,45,,0,0x00404082,7,2,32,,0,1,4,{ bonus bMdef,5; },{},{}
+2108,Mirror_Shield_,Mirror Shield,5,60000,,1000,,45,,1,0x00404082,7,2,32,,0,1,4,{ bonus bMdef,5; },{},{}
+2109,Memorize_Book,Memory Book,5,20,,1000,,25,,0,0x00810204,7,2,32,,0,1,5,{ bonus bInt,1; bonus bMdef,2; if (isequipped(2717,2239)) { bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }; },{},{}
+2110,Holy_Guard,Holy Guard,5,85000,,1400,,110,,0,0x00004000,7,2,32,,68,0,4,{ bonus bVit,2; bonus bMdef,2; },{},{}
+2111,Herald_Of_GOD,Sacred Mission,5,128000,,1600,,120,,0,0x00004000,7,2,32,,83,1,4,{ bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakableShield,0; },{},{}
+2112,Novice_Guard,Novice Guard,5,1,,1,,20,,0,0x00000001,7,2,32,,0,0,1,{},{},{}
+2113,Novice_Shield,Novice Shield,5,5000,,1000,,20,,1,0x00000001,7,2,32,,40,1,3,{ bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20; },{},{}
+2114,Stone_Buckler,Stone Buckler,5,30000,,1500,,45,,1,0xFFFFFFFE,7,2,32,,65,1,2,{ bonus2 bSubSize,2,5; if (isequipped(2353,5122)) { bonus bStr,2; bonus bDef,5; bonus bMdef,5; if(BaseClass == Job_Swordman) bonus bDef,6; } },{},{}
+2115,Valkyrja's_Shield,Valkyrja's Shield,5,30000,,500,,80,,1,0xFFFFFFFE,7,2,32,,65,1,4,{ bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5; if(isequipped(2353,5124)) { bonus bDef,2-getrefine()-getequiprefinerycnt(EQI_HEAD_TOP); bonus bMdef,5+getrefine()+getequiprefinerycnt(EQI_HEAD_TOP); } },{},{}
+2116,Angel's_Safeguard,Angelic Guard,5,10000,,400,,30,,1,0x00000001,7,2,32,,20,1,1,{ bonus2 bSubRace,RC_Demon,5; },{},{}
+2117,Arm_Guard,Arm Guard,5,10000,,150,,50,,0,0x02000000,7,2,32,,20,1,1,{},{},{}
+2118,Arm_Guard_,Arm Guard,5,10000,,150,,50,,1,0x02000000,7,2,32,,20,1,1,{},{},{}
+2119,Improved_Arm_Guard,Advanced Arm Guard,5,40000,,150,,45,,0,0x02000000,7,2,32,,50,1,1,{ bonus bMdef,5; },{},{}
+2120,Improved_Arm_Guard_,Advanced Arm Guard,5,40000,,150,,45,,1,0x02000000,7,2,32,,50,1,1,{ bonus bMdef,5; },{},{}
+2121,Memorize_Book_,Memory Book,5,20,,1000,,25,,1,0x00810204,7,2,32,,0,1,5,{ bonus bInt,1; bonus bMdef,2; if (isequipped(2717,2239)) { bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }; },{},{}
+2122,Platinum_Shield,Platinum Shield,5,20,,1200,,95,,0,0xFFFFFFFE,2,2,32,,68,1,4,{ bonus bMdef,5; bonus2 bSubSize,1,15; bonus2 bSubSize,2,15; bonus2 bSubRace,RC_Undead,10; bonus5 bAutoSpellWhenHit,NPC_MAGICMIRROR,2,150,BF_MAGIC,0; },{},{}
+2123,Orleans_Server,Orleans's Server,5,20,,1000,,75,,1,0xFFFFFFFE,2,2,32,,55,1,4,{ bonus bMdef,2; bonus bMagicDamageReturn,5; if (isequipped(2701)) bonus bCastrate,-10; },{},{}
+2124,Thorny_Buckler,Thorny Buckler,5,20,,1000,,85,,1,0xFFFFFFFE,2,2,32,,55,1,2,{ bonus bMdef,2; if (isequipped(2702)) { bonus bAspdRate,10; bonus bShortWeaponDamageReturn,5; } },{},{}
+2125,Strong_Shield,Strong Shield,5,20,,2500,,90,,1,0xFFFFFFFE,2,2,32,,75,1,4,{ bonus bNoKnockback,0; bonus2 bSubEle,Ele_Neutral,-20; bonus2 bSubEle,Ele_Fire,-20; bonus2 bSubEle,Ele_Water,-20; bonus2 bSubEle,Ele_Wind,-20; bonus2 bSubEle,Ele_Earth,-20; bonus2 bSubEle,Ele_Dark,-20; bonus2 bSubEle,Ele_Holy,-20; bonus2 bSubEle,Ele_Ghost,-20; },{},{}
+2128,Herald_Of_GOD_,Sacred Mission,5,128000,,1600,,120,,1,0x00004000,7,2,32,,83,1,4,{ bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakableShield,0; },{},{}
+2129,Exorcism_Bible,Exorcism Bible,5,20,,600,,80,,0,0x00008100,7,2,32,,50,1,5,{ bonus bHPrecovRate,3; bonus bSPrecovRate,3; bonus bInt,1; if(isequipped(1631)) { bonus2 bSkillAtk,"PR_MAGNUS",20; bonus3 bAutoSpellWhenHit,"PR_TURNUNDEAD",1,20; } },{},{}
+2130,Cross_Shield,Cross Shield,5,20,,2000,,130,,1,0x00004000,7,2,32,,80,1,4,{ bonus bStr,1; bonus2 bSkillAtk,PA_SHIELDCHAIN,30; bonus2 bSkillAtk,CR_SHIELDBOOMERANG,30; bonus bUseSPrate,10; },{},{}
+2131,Magic_Study_Vol1,Magic Bible Vol1,5,20,,1000,,18,,1,0x00810204,2,2,32,,70,1,5,{ bonus bMdef,3; bonus bInt,2; bonus2 bAddEffWhenHit,Eff_Stun,1000; },{},{}
+2133,Tournament_Shield,Tournament Shield,5,20,,1000,,105,,1,0x00004082,2,2,32,,50,1,4,{ bonus2 bAddRace,RC_NonBoss,1; bonus2 bAddRace,RC_Boss,1; if( Class == Job_Lord_Knight ) bonus bAspdRate,-5; if( isequipped(1420) || isequipped(1421) || isequipped(1422) ) { bonus2 bAddRace,RC_NonBoss,4; bonus2 bAddRace,RC_Boss,4; bonus bDef,2; } },{},{}
+2134,Shield_Of_Naga,Shield of Naga,5,20,,500,,35,,1,0x00CFFF80,2,2,32,,70,1,2,{ bonus bMdef,3; autobonus2 "{ bonus bShortWeaponDamageReturn,(getrefine()*3); }",10,5000,BF_WEAPON,"{ specialeffect2 EF_GUARD; }"; },{},{}
+2135,Shadow_Guard,Shadow Guard,5,20,,800,,52,,1,0x00020000,2,2,32,,70,1,2,{ if( isequipped(2426) ) { bonus2 bAddEff,Eff_Blind,500; autobonus "{ bonus bFlee,20; }",200,10000,BF_WEAPON,"{ specialeffect2 EF_INCAGILITY; }"; } },{},{}
+2138,Bradium_Shield,Bradium Shield,5,20,,1800,,98,,1,0x00CFFF80,2,2,32,,65,1,3,{ bonus2 bSkillAtk,CR_SHIELDBOOMERANG,60; bonus bAgi,-1; bonus bMaxHP,500; },{},{}
+2139,Flame_Thrower,Flame Thrower,5,20000,,2000,,60,,0,0xFFFFFFFF,7,2,32,,99,0,1,{},{},{}
+
+// Footgear
+2401,Sandals,Sandals,5,400,,200,,5,,0,0xFFFFFFFF,7,2,64,,0,1,0,{},{},{}
+2402,Sandals_,Sandals,5,400,,200,,5,,1,0xFFFFFFFF,7,2,64,,0,1,0,{},{},{}
+2403,Shoes,Shoes,5,3500,,400,,10,,0,0xFFFFFFFE,7,2,64,,0,1,0,{},{},{}
+2404,Shoes_,Shoes,5,3500,,400,,10,,1,0xFFFFFFFE,7,2,64,,0,1,0,{},{},{}
+2405,Boots,Boots,5,18000,,600,,16,,0,0x016E5CEA,7,2,64,,0,1,0,{},{},{}
+2406,Boots_,Boots,5,18000,,600,,16,,1,0x016E5CEA,7,2,64,,0,1,0,{},{},{}
+2407,Chrystal_Pumps,Crystal Pumps,5,20,,100,,5,,0,0xFFFFFFFE,7,0,64,,0,1,0,{ bonus bMdef,10; bonus bLuk,5; },{},{}
+2408,Cuffs,Shackles,5,5000,,3000,,15,,0,0xFFFFFFFF,7,2,64,,0,1,0,{ if (isequipped(2655)) { bonus bBaseAtk,50; bonus2 bAddDefClass,1196,20; bonus2 bAddDefClass,1197,20; } },{},{}
+2409,Spiky_Heel,High Heels,5,8500,,600,,4,,0,0xFFFFFFFE,7,2,64,,0,1,0,{ bonus bMdef,5; },{},{}
+2410,Sleipnir,Sleipnir,5,20,,3500,,40,,0,0xFFFFFFFF,7,2,64,,94,0,0,{ bonus bMdef,10; bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bSPrecovRate,15; bonus bSpeedRate,25; },{},{}
+2411,Grave,Greaves,5,48000,,750,,27,,0,0x00004080,7,2,64,,65,1,0,{},{},{}
+2412,Grave_,Greaves,5,54000,,750,,15,,1,0x00004080,7,2,64,,65,1,0,{},{},{}
+2414,Novice_Boots,Novice Slippers,5,1,,1,,5,,0,0x00000001,7,2,64,,0,0,0,{},{},{}
+2416,Novice_Shoes,Novice Shoes,5,35000,,500,,8,,1,0x00000001,7,2,64,,40,1,0,{ bonus bMaxHPrate,5; },{},{}
+2417,Fricco_Shoes,Fricco's Shoes,5,30000,,500,,12,,0,0xFFFFFFFE,7,2,64,,65,1,0,{ bonus bAgi,2; bonus2 bAddItemHealRate,IG_Potion,20; if(isequipped(2353,2516)){ bonus bAgi,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5; } },{},{}
+2418,Vidar's_Boots,Vidar's Boots,5,30000,,650,,13,,0,0xFFFFFFFE,7,2,64,,65,1,0,{ bonus bMaxHPrate,9; bonus bMaxSPrate,9; if(isequipped(2353,2517)){ bonus bVit,5; bonus bHPrecovRate,10; bonus bSPrecovRate,10; } },{},{}
+2419,Goibne's_Combat_Boots,Goibne's Greaves,5,30000,,700,,13,,0,0xFFFFFFFE,7,2,64,,54,1,0,{ bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5; },{},{}
+2420,Angel's_Arrival,Angel's Reincarnation,5,10000,,300,,8,,1,0x00000001,7,2,64,,25,1,0,{ bonus bMaxHP,100; },{},{}
+2421,Valkyrie_Shoes,Valkyrian Shoes,5,0,,500,,13,,1,0xFFFFFFFE,2,2,64,,1,1,0,{ bonus bUnbreakableShoes,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bMaxHP,(BaseLevel*5); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bMaxSP,(JobLevel*2); },{},{}
+2422,High_Fashion_Sandals,High Fashion Sandals,5,24000,,200,,7,,1,0x00818314,7,2,64,,40,1,0,{ bonus bMdef,10; },{},{}
+2423,Variant_Shoes,Variant Shoes,5,20,,500,,13,,0,0xFFFFFFFE,2,2,64,,85,1,0,{ bonus bMaxHPRate,20-getrefine(); bonus bMaxSPRate,20-getrefine(); bonus bDef,getrefine()/2; },{},{}
+2424,Tidal_Shoes,Tidal Shoes,5,20,,300,,13,,1,0xFFFFFFFE,2,2,64,,55,1,0,{ bonus2 bSubEle,Ele_Water,5; if (isequipped(2528)) { bonus bHPrecovRate,5; bonus bMaxHPrate,10; } },{},{}
+2425,Black_Leather_Boots,Black Leather Boots,5,20,,500,,16,,0,0xFFFFFFFE,2,2,64,,55,1,0,{ bonus bAgi,1; if(getrefine() >= 9) bonus bAgi,2; },{},{}
+2426,Shadow_Walk,Shadow Walk,5,20,,2000,,0,,0,0xFFFFFFFE,2,2,64,,75,1,0,{ bonus bMdef,10; if(getskilllv("AS_CLOAKING") < 3){ bonus5 bAutoSpellWhenHit,"AS_CLOAKING",3,100,BF_MAGIC,0; } else bonus5 bAutoSpellWhenHit,"AS_CLOAKING",getskilllv("AS_CLOAKING"),100,BF_MAGIC,0; },{},{}
+2432,Spiky_Heel_,High Heels,5,8500,,600,,10,,1,0xFFFFFFFE,7,2,64,,0,1,0,{ bonus bMdef,5; },{},{}
+2433,Diabolus_Boots,Diabolus Boots,5,20,,250,,15,,1,0x00CFFF80,2,2,64,,0,1,0,{ bonus bMaxHP,(BaseLevel*10); },{},{}
+2434,Black_Leather_Boots_,Black Leather Boots,5,20,,500,,16,,1,0xFFFFFFFE,2,2,64,,55,1,0,{ bonus bAgi,1; if(getrefine() >= 9) bonus bAgi,2; },{},{}
+2435,Battle_Greave,Battle Greaves,5,10,,0,,15,,1,0x026654E2,7,2,64,,80,1,0,{ bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; },{},{}
+2436,Combat_Boots,Combat Boots,5,10,,0,,9,,1,0x00898B1C,7,2,64,,80,1,0,{ bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; },{},{}
+2437,Battle_Boots,Battle Boots,5,10,,0,,9,,1,0x01000000,7,2,64,,80,1,0,{ bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; },{},{}
+2440,Sprint_Shoes,Sprint Shoes,5,20,,300,,10,,1,0x00CFFF80,2,2,64,,70,1,0,{ bonus bAgi,1; bonus bSPrecovRate,5; },{},{}
+2444,Krieger_Shoes1,Glorious Shoes,5,20,,0,,0,,0,0xFFFFFFFE,7,2,64,,81,1,0,{ bonus bMaxHPRate,10; bonus2 bSubRace,RC_DemiHuman,4; bonus3 bAutoSpellWhenHit,"AL_INCAGI",1,10; },{},{}
+2445,Krieger_Shoes2,Glorious Popularized Shoes,5,20,,0,,0,,0,0xFFFFFFFE,7,2,64,,61,1,0,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; },{},{}
+2446,Krieger_Shoes3,Glorious Mass-Production Shoes,5,20,,0,,10,,0,0xFFFFFFFE,7,2,64,,0,1,0,{ bonus bMaxHPRate,5; },{},{}
+2447,Military_Boots,Army Boots,5,0,,1000,,5,,0,0xFFFFFFFE,7,2,64,,0,1,0,{},{},{}
+2450,Vital_Tree_Shoes,Vital Tree Shoes,5,20,,500,,16,,0,0xFFFFFFFE,2,2,64,,60,1,0,{ bonus bMaxHPrate,10; bonus2 bHPRegenRate,30,10000; bonus bHealpower2,5; bonus bAddItemHealRate,5; bonus bMdef,3; bonus bVit,2; },{},{}
+2456,Para_Team_Boots1,Eden Team Boots I,5,0,,0,,14,,0,0xFFFFFFFF,7,2,64,,12,0,0,{ bonus bHPrecovRate,10; bonus bSPrecovRate,2; },{},{}
+2457,Para_Team_Boots2,Eden Team Boots II,5,0,,0,,16,,0,0xFFFFFFFF,7,2,64,,26,0,0,{ bonus bHPrecovRate,12; bonus bSPrecovRate,4; },{},{}
+2458,Para_Team_Boots3,Eden Team Boots III,5,0,,0,,18,,0,0xFFFFFFFF,7,2,64,,40,0,0,{ bonus bHPrecovRate,14; bonus bSPrecovRate,6; },{},{}
+2463,Feral_Boots,Feral Boots,5,20,,0,,12,,0,0xFFFFFFFF,7,2,64,,75,0,0,{ bonus bMdef,2; },{},{}
+
+// Armor
+2301,Cotton_Shirt,Cotton Shirt,5,10,,100,,10,,0,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
+2302,Cotton_Shirt_,Cotton Shirt,5,10,,100,,10,,1,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
+2303,Leather_Jacket,Jacket,5,200,,200,,15,,0,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
+2304,Leather_Jacket_,Jacket,5,200,,200,,15,,1,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
+2305,Adventure_Suit,Adventurer's Suit,5,1000,,300,,20,,0,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
+2306,Adventurere's_Suit_,Adventurer's Suit,5,1000,,300,,20,,1,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
+2307,Mantle,Mantle,5,10000,,600,,37,,0,0xFFFFFFFE,7,2,16,,0,1,0,{},{},{}
+2308,Mantle_,Mantle,5,10000,,600,,37,,1,0xFFFFFFFE,7,2,16,,0,1,0,{},{},{}
+2309,Coat,Coat,5,22000,,1200,,42,,0,0xFFFFFFFE,7,2,16,,0,1,0,{},{},{}
+2310,Coat_,Coat,5,22000,,1200,,42,,1,0xFFFFFFFE,7,2,16,,0,1,0,{},{},{}
+2311,Mink_Coat,Mink Coat,5,20,,2300,,30,,1,0xFFFFFFFE,7,2,16,,30,1,0,{},{},{}
+2312,Padded_Armor,Padded Armor,5,48000,,2800,,35,,0,0x000654E2,7,2,16,,0,1,0,{ if(isequipped(2656)) { bonus bDef,5; bonus bMaxHP,150; } },{},{}
+2313,Padded_Armor_,Padded Armor,5,48000,,2800,,35,,1,0x000654E2,7,2,16,,0,1,0,{ if(isequipped(2656)) { bonus bDef,5; bonus bMaxHP,150; } },{},{}
+2314,Chain_Mail,Chain Mail,5,65000,,3300,,55,,0,0x000654E2,7,2,16,,0,1,0,{},{},{}
+2315,Chain_Mail_,Chain Mail,5,65000,,3300,,55,,1,0x000654E2,7,2,16,,0,1,0,{},{},{}
+2316,Plate_Armor,Full Plate,5,80000,,4500,,70,,0,0x00004082,7,2,16,,40,1,0,{},{},{}
+2317,Plate_Armor_,Full Plate,5,80000,,4500,,70,,1,0x00004082,7,2,16,,40,1,0,{},{},{}
+2318,Clothes_Of_The_Lord,Lord's Clothes,5,20,,2500,,59,,1,0x00040420,7,2,16,,70,1,0,{ bonus bMdef,5; bonus bInt,1; },{},{}
+2319,Glittering_Clothes,Glittering Jacket,5,20,,2500,,58,,1,0xFFFFFFFE,7,2,16,,60,1,0,{ bonus bMdef,5; bonus2 bAddEff,Eff_Blind,300; },{},{}
+2320,Formal_Suit,Formal Suit,5,20,,300,,40,,1,0xFFFFFFFE,7,2,16,,0,1,0,{},{},{}
+2321,Silk_Robe,Silk Robe,5,8000,,400,,20,,0,0x0085C7B6,7,2,16,,0,1,0,{ bonus bMdef,10; },{},{}
+2322,Silk_Robe_,Silk Robe,5,8000,,400,,20,,1,0x0085C7B6,7,2,16,,0,1,0,{ bonus bMdef,10; },{},{}
+2323,Scapulare,Scapulare,5,6500,,400,,24,,0,0x00008110,7,2,16,,0,1,0,{},{},{}
+2324,Scapulare_,Scapulare,5,6500,,400,,24,,1,0x00008110,7,2,16,,0,1,0,{},{},{}
+2325,Saint_Robe,Saint's Robe,5,54000,,600,,50,,0,0x00048530,7,2,16,,0,1,0,{ bonus bMdef,5; },{},{}
+2326,Saint_Robe_,Saint's Robe,5,54000,,600,,50,,1,0x00048530,7,2,16,,0,1,0,{ bonus bMdef,5; },{},{}
+2327,Holy_Robe,Holy Robe,5,20,,1700,,57,,0,0x00008110,7,2,16,,60,1,0,{ bonus bMdef,5; bonus2 bSubRace,RC_Demon,15; bonus2 bSubEle,Ele_Dark,10; },{},{}
+2328,Wooden_Mail,Wooden Mail,5,5500,,1000,,25,,0,0x000444A2,7,2,16,,0,1,0,{},{},{}
+2329,Wooden_Mail_,Wooden Mail,5,5500,,1000,,25,,1,0x000444A2,7,2,16,,0,1,0,{},{},{}
+2330,Tights,Tights,5,71000,,500,,27,,0,0x00080808,7,2,16,,45,1,0,{ bonus bDex,1; },{},{}
+2331,Tights_,Tights,5,71000,,500,,27,,1,0x00080808,7,2,16,,45,1,0,{ bonus bDex,1; },{},{}
+2332,Silver_Robe,Silver Robe,5,7000,,700,,23,,0,0x00810204,7,2,16,,0,1,0,{},{},{}
+2333,Silver_Robe_,Silver Robe,5,7000,,700,,23,,1,0x00810204,7,2,16,,0,1,0,{},{},{}
+2334,Mage_Coat,Mage Coat,5,20,,600,,40,,0,0x00810204,7,2,16,,50,1,0,{ bonus bMdef,5; bonus bInt,1; },{},{}
+2335,Thief_Clothes,Thief Clothes,5,74000,,100,,40,,0,0x02021040,7,2,16,,0,1,0,{ bonus bAgi,1; },{},{}
+2336,Thief_Clothes_,Thief Clothes,5,74000,,100,,40,,1,0x02021040,7,2,16,,0,1,0,{ bonus bAgi,1; },{},{}
+2337,Ninja_Suit,Ninja Suit,5,20,,1500,,58,,0,0x02021040,7,2,16,,50,1,0,{ bonus bAgi,1; bonus bMdef,3; if(isequipped(2654)) { bonus bUseSPrate,-20; bonus bMaxHP,300; } },{},{}
+2338,Wedding_Dress,Wedding Dress,5,43000,,500,,10,,0,0xFFFFFFFE,7,2,16,,0,1,0,{ bonus bMdef,15; },{},{}
+2339,G_Strings,Pantie,5,1000,,100,,22,,0,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
+2341,Full_Plate_Armor,Legion Plate Armor,5,94000,,5500,,79,,0,0x00004000,7,2,16,,70,1,0,{},{},{}
+2342,Full_Plate_Armor_,Legion Plate Armor,5,102500,,5500,,79,,1,0x00004000,7,2,16,,70,1,0,{},{},{}
+2343,Robe_Of_Casting,Robe of Cast,5,124800,,1100,,40,,0,0x00810200,7,2,16,,75,1,0,{ bonus bCastrate,-3; bonus bMdef,4; },{},{}
+2344,Flame_Sprits_Armor,Lucius's Fierce Armor of Volcano,5,136000,,2200,,25,,0,0x000444A2,7,2,16,,45,1,0,{ bonus bDefEle,Ele_Fire; },{},{}
+2345,Flame_Sprits_Armor_,Lucius's Fierce Armor of Volcano,5,136000,,2200,,25,,1,0xFFFFFFFE,7,2,16,,45,1,0,{ bonus bDefEle,Ele_Fire; },{},{}
+2346,Water_Sprits_Armor,Saphien's Armor of Ocean,5,136000,,2200,,25,,0,0x000444A2,7,2,16,,45,1,0,{ bonus bDefEle,Ele_Water; },{},{}
+2347,Water_Sprits_Armor_,Saphien's Armor of Ocean,5,136000,,2200,,25,,1,0xFFFFFFFE,7,2,16,,45,1,0,{ bonus bDefEle,Ele_Water; },{},{}
+2348,Wind_Sprits_Armor,Aebecee's Raging Typhoon Armor,5,136000,,2200,,25,,0,0x000444A2,7,2,16,,45,1,0,{ bonus bDefEle,Ele_Wind; },{},{}
+2349,Wind_Sprits_Armor_,Aebecee's Raging Typhoon Armor,5,136000,,2200,,25,,1,0xFFFFFFFE,7,2,16,,45,1,0,{ bonus bDefEle,Ele_Wind; },{},{}
+2350,Earth_Sprits_Armor,Claytos Cracking Earth Armor,5,136000,,2200,,25,,0,0x000444A2,7,2,16,,45,1,0,{ bonus bDefEle,Ele_Earth; },{},{}
+2351,Earth_Sprits_Armor_,Claytos Cracking Earth Armor,5,136000,,2200,,25,,1,0xFFFFFFFE,7,2,16,,45,1,0,{ bonus bDefEle,Ele_Earth; },{},{}
+2352,Novice_Plate,Tattered Novice Ninja Suit,5,1,,1,,25,,0,0x00000001,7,2,16,,0,0,0,{},{},{}
+2353,Odin's_Blessing,Odin's Blessing,5,30000,,2500,,53,,1,0xFFFFFFFE,7,2,16,,65,1,0,{},{},{}
+2354,Goibne's_Armor,Goibne's Armor,5,50000,,3500,,58,,0,0xFFFFFFFE,7,2,16,,54,1,0,{ bonus bVit,2; bonus bMaxHPrate,10; },{},{}
+2355,Angel's_Protection,Angelic Protection,5,10000,,600,,25,,1,0x00000001,7,2,16,,40,1,0,{ bonus bMdef,20; if(isequipped(2116,2420,2521,5125)) { bonus bMaxHP,900; bonus bMaxSP,100; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,1,30; } },{},{}
+2356,Vestment_Of_Grace,Blessed Holy Robe,5,20,,2500,,45,,1,0x00008100,7,2,16,,70,1,0,{ bonus bMdef,5; bonus2 bResEff,Eff_Blind,8000; },{},{}
+2357,Valkyrie_Armor,Valkyrian Armor,5,0,,2800,,55,,1,0xFFFFFFFE,2,2,16,,1,1,0,{ bonus bAllStats,1; bonus bUnbreakableArmor,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000; },{},{}
+2359,Ninja_Suit_,Ninja Suit,5,20,,1500,,58,,1,0x02021040,7,2,16,,50,1,0,{ bonus bAgi,1; bonus bMdef,3; if(isequipped(2654)) { bonus bUseSPrate,-20; bonus bMaxHP,300; } },{},{}
+2360,Robe_Of_Casting_,Robe of Cast,5,124800,,1100,,40,,1,0x00810200,7,2,16,,75,1,0,{ bonus bCastrate,-3; bonus bMdef,4; },{},{}
+2364,Meteo_Plate_Armor,Meteo Plate Armor,5,20,,3000,,85,,1,0x000444A2,2,2,16,,55,1,0,{ bonus2 bResEff,Eff_Stun,3000; bonus2 bResEff,Eff_Freeze,3000; },{},{}
+2365,Orleans_Gown,Orleans's Gown,5,20,,300,,15,,1,0xFFFFFFFE,2,2,16,,55,1,0,{ bonus bCastrate,15; bonus bNoCastCancel,0; },{},{}
+2366,Divine_Cloth,Divine Cloth,5,20,,1500,,50,,1,0xFFFFFFFE,2,2,16,,55,1,0,{ bonus2 bResEff,Eff_Curse,500; bonus2 bResEff,Eff_Silence,500; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; bonus2 bResEff,Eff_Sleep,500; },{},{}
+2367,Sniping_Suit,Sniping Suit,5,20,,750,,42,,1,0x00000800,2,2,16,,50,1,0,{ bonus bMdef,5; bonus bCritical,6+(readparam(bLuk)/10); bonus bDelayRate,-23; },{},{}
+2371,G_Strings_,Pantie,5,1000,,100,,22,,1,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
+2372,Mage_Coat_,Mage Coat,5,20,,600,,40,,1,0x00810204,7,2,16,,50,1,0,{ bonus bMdef,5; bonus bInt,1; },{},{}
+2373,Holy_Robe_,Holy Robe,5,20,,1700,,57,,1,0x00008110,7,2,16,,60,1,0,{ bonus bMdef,5; bonus2 bSubRace,RC_Demon,15; bonus2 bSubEle,Ele_Dark,10; },{},{}
+2374,Diabolus_Robe,Diabolus Robe,5,20,,300,,57,,1,0x00098B1C,2,2,16,,55,1,0,{ bonus bMaxSP,150; bonus bMdef,5; bonus bHealPower,6; bonus bDelayRate,-10; if (isequipped(2729)) { bonus2 bAddRace,RC_NonBoss,3; bonus2 bAddRace,RC_Boss,3; bonus bMatkRate,3; } },{},{}
+2375,Diabolus_Armor,Diabolus Armor,5,20,,600,,79,,1,0x000654E2,2,2,16,,55,1,0,{ bonus bStr,2; bonus bDex,1; bonus bMaxHP,150; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; if (isequipped(2729)) { bonus2 bAddRace,RC_NonBoss,3; bonus2 bAddRace,RC_Boss,3; bonus bMatkRate,3; } },{},{}
+2376,Assaulter_Plate,Assaulter Plate,5,10,,0,,57,,1,0x006444A2,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538,2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bVit,3; bonus bMaxHPRate,12; bonus bHealpower2,10; bonus bAddItemHealRate,10; autobonus2 "{ bonus2 bHPRegenRate,600,1000; }",5,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }; },{},{}
+2377,Elite_Engineer_Armor,Elite Engineer Armor,5,10,,0,,50,,1,0x00040420,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538,2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AL_HEAL",10; bonus bUnbreakableArmor,0; }; },{},{}
+2378,Assassin_Robe,Assassin Robe,5,10,,0,,41,,1,0x02021040,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538,2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bAgi,3; bonus bMaxHPRate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus "{ bonus2 bHPRegenRate,300,1000; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }; },{},{}
+2379,Warlock_Battle_Robe,Warlock's Battle Robe,5,10,,0,,36,,1,0x00810204,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539,2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }; },{},{}
+2380,Medic_Robe,Medic's Robe,5,10,,0,,25,,1,0x00008110,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539,2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bCastrate,156,-50; bonus bHealPower,6; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }; },{},{}
+2381,Elite_Archer_Suit,Elite Archer Suit,5,10,,0,,35,,1,0x00080808,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539,2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }; },{},{}
+2382,Elite_Shooter_Suit,Elite Shooter Suit,5,10,,0,,25,,1,0x01000000,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2540,2437)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }; },{},{}
+2383,Brynhild,Brynhild,5,20,,400,,120,,0,0xFFFFFFFF,7,2,16,,94,0,0,{ bonus bMdef,10; bonus bMaxHP,20*BaseLevel; bonus bMaxSP,5*BaseLevel; bonus2 bAddRace,RC_NonBoss,10; bonus2 bAddRace,RC_Boss,10; bonus bMatkRate,10; bonus bUnbreakableArmor,0; bonus bNoKnockback,0; },{},{}
+2386,Chameleon_Armor,Chameleon Armor,5,20,,1700,,55,,0,0x00CFFF80,2,2,16,,70,1,0,{ bonus bMaxHP,(BaseLevel*7); bonus bMaxSP,(BaseLevel/2); autobonus2 "{ bonus bNoMagicDamage,100; }",10,2000,BF_MAGIC,"{ specialeffect2 EF_ENERGYCOAT; }"; if( BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte ) bonus bMdef,5; else if( BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief ) bonus bDef,3; },{},{}
+2387,Sprint_Mail,Sprint Mail,5,20,,1000,,20,,1,0x00CFFF80,2,2,16,,70,1,0,{ bonus bVit,1; bonus bHPrecovRate,5; bonus bAddItemHealRate,3; bonus2 bSkillHeal,AL_HEAL,3; if( isequipped(2440,2744) ) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bCastrate,-3; bonus bDelayrate,-15; } },{},{}
+2388,Kandura,Kandura,5,20,,300,,36,,1,0x00001000,2,2,16,,70,1,0,{ bonus bAgi,1; bonus bFlee,5; bonus bAspdRate,2; },{},{}
+2389,Armor_Of_Naga,Armor of Naga,5,20,,1000,,45,,1,0x00CFFF80,2,2,16,,70,1,0,{ bonus bMdef,2; autobonus "{ bonus bBaseAtk,20; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; },{},{}
+2390,Improved_Tights,Improved Tights,5,20,,400,,38,,1,0x00080808,2,2,16,,75,1,0,{ bonus bMdef,2; bonus bFlee2,3; },{},{}
+2391,Life_Link,Life Link,5,20,,3500,,75,,1,0x00004082,2,2,16,,82,1,0,{ bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50; },{},{}
+
+// Garment
+2501,Hood,Hood,5,1000,,200,,4,,0,0xFFFFFFFF,7,2,4,,0,1,0,{},{},{}
+2502,Hood_,Hood,5,1000,,200,,4,,1,0xFFFFFFFF,7,2,4,,0,1,0,{},{},{}
+2503,Muffler,Muffler,5,5000,,400,,8,,0,0xFFFFFFFE,7,2,4,,0,1,0,{},{},{}
+2504,Muffler_,Muffler,5,5000,,400,,8,,1,0xFFFFFFFE,7,2,4,,0,1,0,{},{},{}
+2505,Manteau,Manteau,5,32000,,600,,13,,0,0x006654E2,7,2,4,,0,1,0,{},{},{}
+2506,Manteau_,Manteau,5,32000,,600,,13,,1,0x006654E2,7,2,4,,0,1,0,{},{},{}
+2507,Cape_Of_Ancient_Lord,Ancient Cape,5,82000,,600,,9,,0,0xFFFFFFFE,7,2,4,,40,1,0,{ bonus bAgi,1; },{},{}
+2508,Ragamuffin_Cape,Ragamuffin Manteau,5,56000,,500,,4,,0,0xFFFFFFFE,7,2,4,,0,1,0,{ bonus bUnbreakableGarment,0; bonus bMdef,10; },{},{}
+2509,Clack_Of_Servival,Survivor's Manteau,5,20000,,550,,10,,0,0x00810204,7,2,4,,75,1,0,{ bonus bMdef,5; bonus bVit,10; if(isequipped(1618) || isequipped(1620)){ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; bonus2 bSubEle,Ele_Neutral,getrefine()*3; } },{},{}
+2510,Novice_Hood,Somber Novice Hood,5,1,,1,,4,,0,0x00000001,7,2,4,,0,0,0,{ bonus2 bSubEle,Ele_Neutral,20; },{},{}
+2512,Novice_Manteau,Novice Manteau,5,50000,,500,,7,,1,0x00000001,7,2,4,,40,1,0,{ bonus2 bSubEle,Ele_Neutral,10; },{},{}
+2513,Celestial_Robe,Heavenly Maiden Robe,5,20,,500,,18,,1,0xFFFFFFFE,7,2,4,,80,1,0,{},{},{}
+2514,Pauldron,Pauldron,5,20,,800,,25,,1,0x000654E2,7,2,4,,80,1,0,{},{},{}
+2515,Wing_Of_Eagle,Eagle Wing,5,20000,,300,,12,,1,0x00810204,7,2,4,,85,1,0,{ if(isequipped(1616)) bonus bSpeedRate,25; },{},{}
+2516,Falcon_Robe,Falcon Muffler,5,30000,,400,,8,,0,0xFFFFFFFE,7,2,4,,65,1,0,{ bonus bFlee,15; bonus bFlee2,5; },{},{}
+2517,Vali's_Manteau,Vali's Manteau,5,30000,,600,,13,,0,0xFFFFFFFE,7,2,4,,65,1,0,{ bonus2 bSubEle,Ele_Neutral,15; },{},{}
+2518,Morpheus's_Shawl,Morpheus's Shawl,5,30000,,600,,8,,0,0xFFFFFFFE,7,2,4,,33,1,0,{ bonus bMaxSPrate,10; bonus bMdef,3; },{},{}
+2519,Morrigane's_Manteau,Morrigane's Manteau,5,30000,,600,,9,,0,0xFFFFFFFE,7,2,4,,61,1,0,{ bonus bLuk,2; bonus bFlee2,8; },{},{}
+2520,Goibne's_Shoulder_Arms,Goibne's Spaulders,5,30000,,700,,11,,0,0xFFFFFFFE,7,2,4,,54,1,0,{ bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1; },{},{}
+2521,Angel's_Warmth,Angelic Cardigan,5,10000,,400,,5,,1,0x00000001,7,2,4,,20,1,0,{ bonus bHPrecovRate,5; },{},{}
+2522,Undershirt,Undershirt,5,20000,,150,,5,,0,0xFFFFFFFF,7,2,4,,1,1,0,{ bonus bMdef,1; if(isequipped(2339) || isequipped(2371)) { bonus bAgi,5; bonus bFlee,10; } },{},{}
+2523,Undershirt_,Undershirt,5,20000,,150,,5,,1,0xFFFFFFFF,7,2,4,,1,1,0,{ bonus bMdef,1; if(isequipped(2339) || isequipped(2371)) { bonus bAgi,5; bonus bFlee,10; } },{},{}
+2524,Valkyrie_Manteau,Valkyrian Manteau,5,0,,500,,10,,1,0xFFFFFFFE,2,2,4,,1,1,0,{ bonus bUnbreakableGarment,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bFlee2,5+(getequiprefinerycnt(EQI_GARMENT)*2); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bShortWeaponDamageReturn,5+(getequiprefinerycnt(EQI_GARMENT)*2); },{},{}
+2525,Cape_Of_Ancient_Lord_,Ancient Cape,5,82000,,600,,9,,1,0xFFFFFFFE,7,2,4,,40,1,0,{ bonus bAgi,1; },{},{}
+2527,Dragon_Breath,Dragon Breath,5,20,,600,,16,,1,0xFFFFFFFE,2,2,4,,48,1,0,{ bonus2 bSubRace,RC_Dragon,15; if (isequipped(1166) || isequipped(13001) || isequipped(1474)) bonus2 bAddRace,RC_Dragon,5; },{},{}
+2528,Wool_Scarf,Wool Scarf,5,20,,500,,11,,1,0xFFFFFFFE,2,2,4,,55,1,0,{ bonus bMdef,4; },{},{}
+2529,Rider_Insignia,Rider Insignia,5,20,,500,,13,,0,0xFFFFFFFE,2,2,4,,55,1,0,{ bonus bAgi,2; if (isequipped(2425) || isequipped(2434)) bonus bFlee,10; },{},{}
+2530,Rider_Insignia_,Rider Insignia,5,20,,500,,13,,1,0xFFFFFFFE,2,2,4,,55,1,0,{ bonus bAgi,2; if (isequipped(2425) || isequipped(2434)) bonus bFlee,10; },{},{}
+2531,Ulfhedinn,Ulfhedinn,5,20,,700,,13,,1,0x000654E2,2,2,4,,70,1,0,{ bonus3 bAutoSpellWhenHit,NPC_STONESKIN,1,20; },{},{}
+2532,Mithril_Magic_Cape,Mithril Magic Cape,5,20,,400,,8,,1,0x00098B1C,2,2,4,,70,1,0,{ bonus bMdef,3; bonus5 bAutoSpellWhenHit,NPC_ANTIMAGIC,1,200,BF_MAGIC,0; },{},{}
+2536,Skin_Of_Ventus,Skin of Ventus,5,20,,250,,7,,1,0xFFFFFFFE,7,2,4,,60,1,0,{ bonus bMdef,2; bonus bMaxHP,200; bonus bFlee,10; },{},{}
+2537,Diabolus_Manteau,Diabolus Manteau,5,20,,250,,15,,1,0x00CFFF80,2,2,4,,0,1,0,{ bonus2 bSubEle,Ele_Neutral,5; bonus bMaxHP,100; bonus2 bAddDamageClass,1916,10; bonus2 bAddDamageClass,1917,10; if (isequipped(2433)) bonus bMaxHPRate,6; },{},{}
+2538,Commander_Manteau,Captain's Manteau,5,10,,0,,28,,1,0x026654E2,7,2,4,,80,1,0,{ bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; },{},{}
+2539,Commander_Manteau_,Commander's Manteau,5,10,,0,,20,,1,0x00898B1C,7,2,4,,80,1,0,{ bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; },{},{}
+2540,Sheriff_Manteau,Sheriff's Manteau,5,10,,0,,20,,1,0x01000000,7,2,4,,80,1,0,{ bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; },{},{}
+2541,Asprika,Asprika,5,20,,400,,40,,0,0xFFFFFFFF,7,2,4,,94,0,0,{ bonus bMdef,5; bonus3 bSubEle,Ele_Neutral,30,BF_SHORT; bonus3 bSubEle,Ele_Water,30,BF_SHORT; bonus3 bSubEle,Ele_Earth,30,BF_SHORT; bonus3 bSubEle,Ele_Fire,30,BF_SHORT; bonus3 bSubEle,Ele_Wind,30,BF_SHORT; bonus3 bSubEle,Ele_Poison,30,BF_SHORT; bonus3 bSubEle,Ele_Holy,30,BF_SHORT; bonus3 bSubEle,Ele_Dark,30,BF_SHORT; bonus3 bSubEle,Ele_Ghost,30,BF_SHORT; bonus3 bSubEle,Ele_Undead,30,BF_SHORT; bonus bFlee,30; skill "AL_TELEPORT",1; bonus bUnbreakableGarment,0; },{},{}
+2542,Flame_Manteau,Flame Manteau of Naght Sieger,5,20,,70,,16,,1,0xFFFFFFFE,2,2,4,,70,1,0,{ bonus bMaxHPRate,5; bonus bMdef,2; bonus bMatkRate,1; bonus2 bAddEle,Ele_Fire,2; },{},{}
+2544,Leather_Of_Tendrilion,Leather of Tendrilion,5,20,,300,,14,,1,0x00CFDF80,2,2,4,,0,1,0,{ bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubRace,RC_Plant,5; bonus2 bSubRace,RC_Brute,5; },{},{}
+2545,Musika,Musika,5,20,,500,,10,,1,0x00008100,2,2,4,,70,1,0,{ bonus bMdef,3; bonus3 bAutoSpellwhenhit,AL_HEAL,getskilllv("AL_HEAL") ? getskilllv("AL_HEAL") : 1,20; },{},{}
+2548,Muffler_C,Neo Muffler,5,0,,0,,5,,0,0xFFFFFFFE,2,2,4,,95,0,0,{ bonus2 bSubRace,RC_DemiHuman,10; bonus bMaxHPrate,10; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5; },{},{}
+2549,Krieger_Muffler1,Glorious Muffler,5,20,,0,,0,,0,0xFFFFFFFE,7,2,4,,81,1,0,{ bonus bMaxHPRate,5; bonus2 bSubRace,RC_DemiHuman,5; },{},{}
+2553,Dragon_Manteau,Dragon Manteau,5,20,,1000,,14,,1,0xFFFFFFFE,2,2,4,,0,1,0,{ bonus bAgi,1; bonus bMdef,5; },{},{}
+2554,Piece_Of_Angent_Skin,Nydhorgg's Shadow Garb,5,20,,400,,25,,1,0xFFFFFFFE,2,2,4,,90,1,0,{ bonus2 bSubEle,Ele_Neutral,7; bonus2 bSubEle,Ele_Water,7; bonus2 bSubEle,Ele_Earth,7; bonus2 bSubEle,Ele_Fire,7; bonus2 bSubEle,Ele_Wind,7; bonus2 bSubEle,Ele_Poison,7; bonus2 bSubEle,Ele_Holy,7; bonus2 bSubEle,Ele_Dark,7; bonus2 bSubEle,Ele_Ghost,7; bonus2 bSubEle,Ele_Undead,7; bonus bMaxSP,(BaseLevel/3)+(getrefine()*10); bonus3 bSPDrainRate,1,1,0; bonus bMdef,3; },{},{}
+2560,Para_Team_Manteau,Eden Team Manteau,5,0,,0,,14,,0,0xFFFFFFFF,7,2,4,,12,0,0,{ bonus2 bSubEle,Ele_Neutral,10; },{},{}
+2564,Feral_Tail,Feral Tail,5,20,,0,,16,,0,0xFFFFFFFF,7,2,4,,75,0,0,{},{},{}
+
+
+//[Ind] keeping these 2 here until we confirm: these ids are conflicting, I think they're wrong.
+// Minstrel And Wanderer Cough Drop
+//11513,Cough_Drop,Cough Drop,3,200,,10,,,,,,,,,,,,,{},{},{}
+
+// Genetic Cure Free
+//11518,Cure_Free,Cure Free,0,10,,30,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(1000,1200),0; sc_end SC_Silence; sc_end SC_Bleeding; sc_end SC_Curse; },{},{}
+
+
+// Unknown Item. Rune Knight Armor???
+//15002,Rune_Plate,Rune Plate,3,10,,10,,,,,,,,,,,,,{},{},{}
+

+ 71 - 0
db/job_db1.txt

@@ -153,3 +153,74 @@
 4048, 28000,90   ,650  ,470  ,400  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
 4048, 28000,90   ,650  ,470  ,400  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
 // Soul Linker
 // Soul Linker
 4049, 24000,75   ,500  ,900  ,500  ,575  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 625 
 4049, 24000,75   ,500  ,900  ,500  ,575  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 625 
+//*************************************************************
+//* 3rds (base 650 3CeAM)
+//*************************************************************
+// Rune Knight		(Base 2nd to 3rd)
+4054,	28000,150  ,500  ,300  ,400  ,500  ,500  ,550  ,600  ,600  ,700  ,700  ,650  ,700  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Warlock		(Base 2nd to 3rd)
+4055,	24000,55   ,500  ,900  ,500  ,575  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 625
+// Ranger		(Base 2nd to 3rd)
+4056,	27000,85   ,500  ,400  ,400  ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Arch Bishop	(Base 2nd to 3rd)
+4057,	26000,75   ,500  ,800  ,400  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600  ,600  ,600  ,2000 ,2000 ,2000 ,2000 ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 600
+// Mechanic	(Base 2nd to 3rd)
+4058,	30000,90   ,500  ,400  ,400  ,600  ,650  ,2000 ,2000 ,2000 ,650  ,650  ,675  ,675  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Guillotine Cross(Base 2nd to 3rd)
+4059,	24000,110  ,500  ,400  ,400  ,500  ,650  ,2000 ,2000 ,2000 ,800  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Rune Knight	(Trans 2nd to 3rd)
+4060,	28000,150  ,500  ,300  ,400  ,500  ,500  ,550  ,600  ,600  ,700  ,700  ,650  ,700  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Warlock		(Trans 2nd to 3rd)
+4061,	24000,55   ,500  ,900  ,500  ,575  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 625
+// Ranger		(Trans 2nd to 3rd)
+4062,	27000,85   ,500  ,400  ,400  ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Arch Bishop	(Trans 2nd to 3rd)
+4063,	26000,75   ,500  ,800  ,400  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600  ,600  ,600  ,2000 ,2000 ,2000 ,2000 ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 600
+// Mechanic	(Trans 2nd to 3rd)
+4064,	30000,90   ,500  ,400  ,400  ,600  ,650  ,2000 ,2000 ,2000 ,650  ,650  ,675  ,675  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Guillotine Cross(Trans 2nd to 3rd)
+4065,	24000,110  ,500  ,400  ,400  ,500  ,650  ,2000 ,2000 ,2000 ,800  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Royal Guard	(Base 2nd to 3rd)
+4066,	28000,110  ,700  ,470  ,400  ,500  ,500  ,550  ,600  ,600  ,700  ,700  ,650  ,700  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Sorcerer	(Base 2nd to 3rd)
+4067,	24000,75   ,500  ,700  ,450  ,525  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625  ,2000 ,2000 ,2000 ,2000 ,550  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 625
+// Minstrel	(Base 2nd to 3rd)
+4068,	27000,75   ,300  ,600  ,400  ,550  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650  ,2000 ,575  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Wanderer	(Base 2nd to 3rd)
+4069,	27000,75   ,300  ,600  ,400  ,550  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650  ,2000 ,2000 ,575  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Sura		(Base 2nd to 3rd)
+4070,	26000,90   ,650  ,470  ,400  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,575  ,575  ,575  ,2000 ,475  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 575
+// Genetic		(Base 2nd to 3rd)
+4071,	30000,90   ,500  ,400  ,400  ,550  ,575  ,2000 ,2000 ,2000 ,675  ,700  ,650  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Shadow Chaser	(Base 2nd to 3rd)
+4072,	24000,85   ,500  ,500  ,400  ,500  ,550  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Royal Guard	(Trans 2nd to 3rd)
+4073,	28000,110  ,700  ,470  ,400  ,500  ,500  ,550  ,600  ,600  ,700  ,700  ,650  ,700  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Sorcerer	(Trans 2nd to 3rd)
+4074,	24000,75   ,500  ,700  ,450  ,525  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625  ,2000 ,2000 ,2000 ,2000 ,550  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 625
+// Minstrel	(Trans 2nd to 3rd)
+4075,	27000,75   ,300  ,600  ,400  ,550  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650  ,2000 ,575  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Wanderer	(Trans 2nd to 3rd)
+4076,	27000,75   ,300  ,600  ,400  ,550  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650  ,2000 ,2000 ,575  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Sura		(Trans 2nd to 3rd)
+4077,	26000,90   ,650  ,470  ,400  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,575  ,575  ,575  ,2000 ,475  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 575
+// Genetic		(Trans 2nd to 3rd)
+4078,	30000,90   ,500  ,400  ,400  ,550  ,575  ,2000 ,2000 ,2000 ,675  ,700  ,650  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Shadow Chaser	(Trans 2nd to 3rd)
+4079,	24000,85   ,500  ,500  ,400  ,500  ,550  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Rune Knight Mount	(Base 2nd to 3rd)
+4080,	28000,150  ,500  ,300  ,400  ,500  ,500  ,550  ,600  ,600  ,700  ,700  ,650  ,700  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Rune Knight Mount	(Trans 2nd to 3rd)
+4081,	28000,150  ,500  ,300  ,400  ,500  ,500  ,550  ,600  ,600  ,700  ,700  ,650  ,700  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Royal Guard Mount	(Base 2nd to 3rd)
+4082,	28000,110  ,700  ,470  ,400  ,500  ,500  ,550  ,600  ,600  ,700  ,700  ,650  ,700  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Royal Guard Mount	(Trans 2nd to 3rd)
+4083,	28000,110  ,700  ,470  ,400  ,500  ,500  ,550  ,600  ,600  ,700  ,700  ,650  ,700  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Ranger Mount		(Base 2nd to 3rd)
+4084,	27000,85   ,500  ,400  ,400  ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Ranger Mount		(Trans 2nd to 3rd)
+4085,	27000,85   ,500  ,400  ,400  ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Mechanic Mount	(Base 2nd to 3rd)
+4086,	30000,90   ,500  ,400  ,400  ,600  ,650  ,2000 ,2000 ,2000 ,650  ,650  ,675  ,675  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
+// Mechanic Mount	(Trans 2nd to 3rd)
+4087,	30000,90   ,500  ,400  ,400  ,600  ,650  ,2000 ,2000 ,2000 ,650  ,650  ,675  ,675  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000

+ 71 - 0
db/job_db2.txt

@@ -161,3 +161,74 @@
 4048,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2
 4048,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2
 // Soul Linker
 // Soul Linker
 4049,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5
 4049,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5
+//*************************************************************
+//* 3rds (base 650 3CeAM)
+//*************************************************************
+// Rune Knight	(Base 2nd to 3rd)
+4054,4,4,5,3,4,0,0,0,0,1,1,4,4,3,5,0,0,0,5,2,2,4,3,5,0,0,0,0,0,4,5,3,1,0,0,0,0,0,4,5,2,0,0,5,3,4,6,6,6,4
+// Warlock	(Base 2nd to 3rd)
+4055,4,4,5,0,0,5,4,2,0,0,0,0,5,0,3,0,0,3,5,2,0,0,4,3,3,0,0,5,2,0,6,0,0,1,4,4,0,0,5,2,4,0,0,4,4,0,2,0,0,4
+// Ranger	(Base 2nd to 3rd)
+4056,5,4,4,2,0,0,2,5,4,0,0,3,3,3,0,0,5,2,0,0,4,3,5,0,0,1,1,0,0,5,2,3,0,0,0,4,4,4,2,0,0,0,2,5,2,0,0,0,4,2
+// Arch Bishop	(Base 2nd to 3rd)
+4057,4,0,3,0,5,0,4,4,0,3,3,0,0,5,5,0,0,1,1,0,0,4,0,1,0,2,2,1,0,0,0,4,0,3,0,5,0,2,2,4,4,0,0,5,3,1,0,0,4,5
+// Mechanic	(Base 2nd to 3rd)
+4058,6,1,0,0,1,0,6,2,5,4,0,0,4,6,0,0,2,0,3,3,4,5,0,0,3,6,0,0,3,0,1,1,3,6,0,0,4,4,0,0,0,3,3,1,1,0,0,5,2,0
+// Guillotine Cross (Base 2nd to 3rd)
+4059,2,5,0,1,1,0,0,0,1,2,5,0,0,3,3,1,0,0,3,1,0,0,2,2,5,0,0,4,4,1,3,0,0,0,2,5,5,0,0,0,4,3,2,2,0,0,0,4,5,5
+// Rune Knight	(Trans 2nd to 3rd)
+4060,4,4,5,3,4,0,0,0,0,1,1,4,4,3,5,0,0,0,5,2,2,4,3,5,0,0,0,0,0,4,5,3,1,0,0,0,0,0,4,5,2,0,0,5,3,4,6,6,6,4
+// Warlock	(Trans 2nd to 3rd)
+4061,4,4,5,0,0,5,4,2,0,0,0,0,5,0,3,0,0,3,5,2,0,0,4,3,3,0,0,5,2,0,6,0,0,1,4,4,0,0,5,2,4,0,0,4,4,0,2,0,0,4
+// Ranger	(Trans 2nd to 3rd)
+4062,5,4,4,2,0,0,2,5,4,0,0,3,3,3,0,0,5,2,0,0,4,3,5,0,0,1,1,0,0,5,2,3,0,0,0,4,4,4,2,0,0,0,2,5,2,0,0,0,4,2
+// Arch Bishop	(Trans 2nd to 3rd)
+4063,4,0,3,0,5,0,4,4,0,3,3,0,0,5,5,0,0,1,1,0,0,4,0,1,0,2,2,1,0,0,0,4,0,3,0,5,0,2,2,4,4,0,0,5,3,1,0,0,4,5
+// Mechanic	(Trans 2nd to 3rd)
+4064,6,1,0,0,1,0,6,2,5,4,0,0,4,6,0,0,2,0,3,3,4,5,0,0,3,6,0,0,3,0,1,1,3,6,0,0,4,4,0,0,0,3,3,1,1,0,0,5,2,0
+// Guillotine Cross (Trans 2nd to 3rd)
+4065,2,5,0,1,1,0,0,0,1,2,5,0,0,3,3,1,0,0,3,1,0,0,2,2,5,0,0,4,4,1,3,0,0,0,2,5,5,0,0,0,4,3,2,2,0,0,0,4,5,5
+// Royal Guard	(Base 2nd to 3rd)
+4066,5,5,5,5,5,0,0,0,2,2,2,2,2,0,0,0,1,1,1,1,1,0,0,0,0,6,6,6,6,6,0,0,0,0,0,3,3,3,3,3,0,0,0,0,0,4,4,4,4,4
+// Sorcerer	(Base 2nd to 3rd)
+4067,4,4,5,3,4,0,0,0,0,1,1,4,4,3,5,0,0,0,5,2,2,4,3,5,0,0,0,0,0,4,5,3,1,0,0,0,0,0,4,5,2,0,0,5,3,4,6,6,6,4
+// Minstrel	(Base 2nd to 3rd)
+4068,0,0,3,0,5,0,4,4,0,3,3,0,0,5,5,0,0,1,1,0,0,4,0,1,0,2,2,1,0,0,0,4,0,3,0,5,0,2,0,4,4,0,0,5,3,1,0,0,4,5
+// Wanderer	(Base 2nd to 3rd)
+4069,5,4,4,2,0,0,2,5,4,0,0,3,3,3,0,0,5,2,0,0,4,3,5,0,0,1,1,0,0,5,2,3,0,0,0,4,4,4,2,0,0,0,2,5,2,0,0,0,4,2
+// Sura		(Base 2nd to 3rd)
+4070,2,5,0,1,1,0,0,0,1,2,5,0,0,3,3,1,0,0,3,1,0,0,2,2,5,0,0,4,4,1,3,0,0,0,2,5,5,0,0,0,4,3,2,2,0,0,0,4,5,5
+// Genetic	(Base 2nd to 3rd)
+4071,4,4,5,0,0,5,4,2,0,0,0,4,5,0,0,0,0,3,5,2,0,0,4,3,3,0,0,5,2,0,6,0,0,0,4,4,1,0,5,2,4,0,0,4,4,0,2,0,0,4
+// Shadow Chaser	(Base 2nd to 3rd)
+4072,6,1,0,0,1,0,6,2,5,4,0,0,4,6,0,0,2,0,3,3,4,5,0,0,3,6,0,0,3,0,1,1,3,6,0,0,4,4,0,0,0,3,3,1,1,0,0,5,2,0
+// Royal Guard	(Trans 2nd to 3rd)
+4073,5,5,5,5,5,0,0,0,2,2,2,2,2,0,0,0,1,1,1,1,1,0,0,0,0,6,6,6,6,6,0,0,0,0,0,3,3,3,3,3,0,0,0,0,0,4,4,4,4,4
+// Sorcerer	(Trans 2nd to 3rd)
+4074,4,4,5,3,4,0,0,0,0,1,1,4,4,3,5,0,0,0,5,2,2,4,3,5,0,0,0,0,0,4,5,3,1,0,0,0,0,0,4,5,2,0,0,5,3,4,6,6,6,4
+// Minstrel	(Trans 2nd to 3rd)
+4075,0,0,3,0,5,0,4,4,0,3,3,0,0,5,5,0,0,1,1,0,0,4,0,1,0,2,2,1,0,0,0,4,0,3,0,5,0,2,0,4,4,0,0,5,3,1,0,0,4,5
+// Wanderer	(Trans 2nd to 3rd)
+4076,5,4,4,2,0,0,2,5,4,0,0,3,3,3,0,0,5,2,0,0,4,3,5,0,0,1,1,0,0,5,2,3,0,0,0,4,4,4,2,0,0,0,2,5,2,0,0,0,4,2
+// Sura		(Trans 2nd to 3rd)
+4077,2,5,0,1,1,0,0,0,1,2,5,0,0,3,3,1,0,0,3,1,0,0,2,2,5,0,0,4,4,1,3,0,0,0,2,5,5,0,0,0,4,3,2,2,0,0,0,4,5,5
+// Genetic	(Trans 2nd to 3rd)
+4078,4,4,5,0,0,5,4,2,0,0,0,4,5,0,0,0,0,3,5,2,0,0,4,3,3,0,0,5,2,0,6,0,0,0,4,4,1,0,5,2,4,0,0,4,4,0,2,0,0,4
+// Shadow Chaser	(Trans 2nd to 3rd)
+4079,6,1,0,0,1,0,6,2,5,4,0,0,4,6,0,0,2,0,3,3,4,5,0,0,3,6,0,0,3,0,1,1,3,6,0,0,4,4,0,0,0,3,3,1,1,0,0,5,2,0
+// Rune Knight Mount	(Base 2nd to 3rd)
+4080,4,4,5,3,4,0,0,0,0,1,1,4,4,3,5,0,0,0,5,2,2,4,3,5,0,0,0,0,0,4,5,3,1,0,0,0,0,0,4,5,2,0,0,5,3,4,6,6,6,4
+// Rune Knight Mount	(Trans 2nd to 3rd)
+4081,4,4,5,3,4,0,0,0,0,1,1,4,4,3,5,0,0,0,5,2,2,4,3,5,0,0,0,0,0,4,5,3,1,0,0,0,0,0,4,5,2,0,0,5,3,4,6,6,6,4
+// Royal Guard Mount	(Base 2nd to 3rd)
+4082,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,0,0,0,0,0
+// Royal Guard Mount	(Trans 2nd to 3rd)
+4083,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,0,0,0,0,0
+// Ranger Mount	(Base 2nd to 3rd)
+4084,5,4,4,2,0,0,2,5,4,0,0,3,3,3,0,0,5,2,0,0,4,3,5,0,0,1,1,0,0,5,2,3,0,0,0,4,4,4,2,0,0,0,2,5,2,0,0,0,4,2
+// Ranger Mount	(Trans 2nd to 3rd)
+4085,5,4,4,2,0,0,2,5,4,0,0,3,3,3,0,0,5,2,0,0,4,3,5,0,0,1,1,0,0,5,2,3,0,0,0,4,4,4,2,0,0,0,2,5,2,0,0,0,4,2
+// Mechanic Mount	(Base 2nd to 3rd)
+4086,6,1,0,0,1,0,6,2,5,4,0,0,4,6,0,0,2,0,3,3,4,5,0,0,3,6,0,0,3,0,1,1,3,6,0,0,4,4,0,0,0,3,3,1,1,0,0,5,2,0
+// Mechanic Mount	(Trans 2nd to 3rd)
+4087,6,1,0,0,1,0,6,2,5,4,0,0,4,6,0,0,2,0,3,3,4,5,0,0,3,6,0,0,3,0,1,1,3,6,0,0,4,4,0,0,0,3,3,1,1,0,0,5,2,0

+ 26 - 0
db/magicmushroom_db.txt

@@ -0,0 +1,26 @@
+// Magic Mushroom DB.
+// Database for skills that are randomly used trough Magic Mushroom status change.
+// Format: SkillID
+
+7	//SM_MAGNUM
+8	//SM_ENDURE
+10	//MG_SIGHT
+24	//AL_RUWACH
+32	//AL_CRUCIS
+33	//AL_ANGELUS
+45	//AC_CONCENTRATION
+61	//KN_AUTOCOUNTER
+74	//PR_MAGNIFICAT
+110	//BS_HAMMERFALL
+114	//BS_MAXIMIZE
+142	//NV_FIRSTAID
+150	//TF_BACKSLIDING
+151	//TF_PICKSTONE
+157	//MG_ENERGYCOAT
+249	//CR_AUTOGUARD
+261	//MO_CALLSPIRITS
+256	//CR_PROVIDENCE
+318	//BA_FROSTJOKER
+500	//GS_GLITTERING
+527	//NJ_TATAMIGAESHI
+531	//NJ_UTSUSEMI

+ 9 - 5
db/mob_db.txt

@@ -1095,11 +1095,15 @@
 //2039,EXECUTIONER_R,Executioner,Executioner,65,28980,0,0,0,2,570,950,35,35,64,85,40,25,88,60,10,12,2,0,47,0x120,200,768,500,384,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
 //2039,EXECUTIONER_R,Executioner,Executioner,65,28980,0,0,0,2,570,950,35,35,64,85,40,25,88,60,10,12,2,0,47,0x120,200,768,500,384,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
 //2040,TIRFING_R,Tirfing,Ogretooth,71,29900,0,0,0,1,950,1146,30,35,58,87,55,35,132,65,10,12,1,0,67,0x120,100,816,500,240,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
 //2040,TIRFING_R,Tirfing,Ogretooth,71,29900,0,0,0,1,950,1146,30,35,58,87,55,35,132,65,10,12,1,0,67,0x120,100,816,500,240,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
 //2041,MYSTELTAINN_R,Mysteltainn,Mysteltainn,76,33350,0,0,0,2,1160,1440,30,30,77,139,80,35,159,65,10,12,2,0,87,0x120,250,1152,500,240,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
 //2041,MYSTELTAINN_R,Mysteltainn,Mysteltainn,76,33350,0,0,0,2,1160,1440,30,30,77,139,80,35,159,65,10,12,2,0,87,0x120,250,1152,500,240,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
-//2042,SILVERSNIPER,Silver Sniper,Silver Sniper,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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
-//2043,MAGICDECOY_FIRE,Magic Decoy,Magic Decoy,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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
-//2044,MAGICDECOY_WATER,Magic Decoy,Magic Decoy,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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
-//2045,MAGICDECOY_EARTH,Magic Decoy,Magic Decoy,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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
-//2046,MAGICDECOY_WIND,Magic Decoy,Magic Decoy,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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
+
+//****
+// NC Mechanic Summons
+2042,SILVERSNIPER,Silver Sniper,Silver Sniper,100,4500,0,0,0,9,300,300,80,10,10,60,10,10,100,10,10,12,1,0,20,0x3394,2000,504,1020,360,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
+2043,MAGICDECOY_FIRE,Magic Decoy Fire,Magic Decoy Fire,100,2500,0,0,0,7,150,150,16,60,10,10,10,100,50,10,10,12,1,0,23,0x3394,2000,504,1020,360,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
+2044,MAGICDECOY_WATER,Magic Decoy Water,Magic Decoy Water,100,2500,0,0,0,7,150,150,16,60,10,10,10,100,50,10,10,12,1,0,21,0x3394,2000,504,1020,360,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
+2045,MAGICDECOY_EARTH,Magic Decoy Earth,Magic Decoy Earth,100,2500,0,0,0,7,150,150,16,60,10,10,10,100,50,10,10,12,1,0,22,0x3394,2000,504,1020,360,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
+2046,MAGICDECOY_WIND,Magic Decoy Wind,Magic Decoy Wind,100,2500,0,0,0,7,150,150,16,60,10,10,10,100,50,10,10,12,1,0,24,0x3394,2000,504,1020,360,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
+
 //2047,W_NAGA,Naga,Naga,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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
 //2047,W_NAGA,Naga,Naga,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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
 //2048,W_PINGUICULA_D,Dark Pinguicula,Dark Pinguicula,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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
 //2048,W_PINGUICULA_D,Dark Pinguicula,Dark Pinguicula,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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
 //2049,W_BRADIUM_GOLEM,Bradium Golem,Bradium Golem,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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
 //2049,W_BRADIUM_GOLEM,Bradium Golem,Bradium Golem,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x120,400,1872,672,480,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

+ 25 - 0
db/mob_skill_db.txt

@@ -5781,3 +5781,28 @@
 2082,Piranha@MG_COLDBOLT,chase,14,3,500,1000,5000,yes,target,always,0,,,,,,,
 2082,Piranha@MG_COLDBOLT,chase,14,3,500,1000,5000,yes,target,always,0,,,,,,,
 2082,Piranha@WZ_WATERBALL,attack,86,3,500,1000,5000,yes,target,always,0,,,,,,6,
 2082,Piranha@WZ_WATERBALL,attack,86,3,500,1000,5000,yes,target,always,0,,,,,,6,
 2082,Piranha@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
 2082,Piranha@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
+//****
+// NC Mechanic Summons
+2042,Silver Sniper@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2042,Silver Sniper@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2042,Silver Sniper@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2043,Magic Decoy Fire@MG_FIREBOLT,attack,19,10,10000,800,3500,no,target,always,0,,,,,,,
+2043,Magic Decoy Fire@MG_FIREBOLT,chase,19,10,10000,800,3500,no,target,always,0,,,,,,,
+2043,Magic Decoy Fire@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2043,Magic Decoy Fire@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2043,Magic Decoy Fire@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2044,Magic Decoy Water@MG_COLDBOLT,attack,14,10,10000,800,3500,no,target,always,0,,,,,,,
+2044,Magic Decoy Water@MG_COLDBOLT,chase,14,10,10000,800,3500,no,target,always,0,,,,,,,
+2044,Magic Decoy Water@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2044,Magic Decoy Water@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2044,Magic Decoy Water@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2045,Magic Decoy Earth@WZ_EARTHSPIKE,attack,90,10,10000,800,3500,no,target,always,0,,,,,,,
+2045,Magic Decoy Earth@WZ_EARTHSPIKE,chase,90,10,10000,800,3500,no,target,always,0,,,,,,,
+2045,Magic Decoy Earth@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2045,Magic Decoy Earth@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2045,Magic Decoy Earth@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2046,Magic Decoy Wind@MG_LIGHTNINGBOLT,attack,20,10,10000,800,3500,no,target,always,0,,,,,,,
+2046,Magic Decoy Wind@MG_LIGHTNINGBOLT,chase,20,10,10000,800,3500,no,target,always,0,,,,,,,
+2046,Magic Decoy Wind@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2046,Magic Decoy Wind@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2046,Magic Decoy Wind@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,

+ 2 - 2
db/packet_db.txt

@@ -33,8 +33,8 @@
 // Main packet version of the DB to use (default = max available version)
 // Main packet version of the DB to use (default = max available version)
 // Client detection is faster when all clients use this version.
 // Client detection is faster when all clients use this version.
 // Version 23 is the latest Sakexe (above versions are for Renewal clients)
 // Version 23 is the latest Sakexe (above versions are for Renewal clients)
-packet_db_ver: 23
-//packet_db_ver: default
+//packet_db_ver: 23
+packet_db_ver: default
 
 
 
 
 packet_ver: 5
 packet_ver: 5

+ 47 - 0
db/produce_db.txt

@@ -395,3 +395,50 @@
 12117,23,1007,1,7433,1,1013,3
 12117,23,1007,1,7433,1,1013,3
 
 
 //==============================================
 //==============================================
+
+//===== Ancilla And Runes === ItemLV=24 ========
+//---- Ancilla ---------------------------------
+//-- Ancilla <-- AB_ANCILLA & 1 Blue Gemstone
+12333,24,2039,1,717,1
+
+//---- Rune Stones -----------------------------
+//-- Runstone Nosiege <-- RK_RUNEMASTERY Lv8, 1 Broken Armor Piece, 1 Old Magic Circle, 1 Light Granule, 1 Elder Branch
+12725,24,2010,8,7069,1,7099,1,7938,1,7939,1
+//-- Runstone Rhydo <-- RK_RUNEMASTERY Lv7, 1 Red Gemstone, 1 Light Granule, 1 Elder Branch
+12726,24,2010,7,716,1,7938,1,7939,1
+//-- Runstone Verkana <-- RK_RUNEMASTERY Lv9, 1 Dullahan Armor, 1 Elder Branch
+12727,24,2010,9,7210,1,7939,1
+//-- Runstone Isia <-- RK_RUNEMASTERY Lv2, 1 Burning Heart, 1 Elder Branch
+12728,24,2010,2,7097,1,7939,1
+//-- Runstone Asir <-- RK_RUNEMASTERY Lv5, 1 Ogre Tooth, 1 Light Granule, 1 Elder Branch
+12729,24,2010,5,7002,1,7938,1,7939,1
+//-- Runstone Urj <-- RK_RUNEMASTERY Lv6, 1 Honey, 1 Slender Snake, 1 Elder Branch
+12730,24,2010,6,518,1,1048,1,7939,1
+//-- Runstone Turisus <-- RK_RUNEMASTERY Lv1, 1 Cobold Hair, 1 Claw Of Desert Wolf, 1 Elder Branch
+12731,24,2010,1,1034,1,7030,1,7939,1
+//-- Runstone Pertz <-- RK_RUNEMASTERY Lv3, 1 Dragon Canine, 1 Tangled Chain, 1 Light Granule, 1 Elder Branch
+12732,24,2010,3,1035,1,7221,1,7938,1,7939,1
+//-- Runstone Hagalas <-- RK_RUNEMASTERY Lv4, 1 Round Shell, 1 Dragon's Skin, 1 Elder Branch
+12733,24,2010,4,1096,1,7123,1,7939,1
+//==============================================
+
+//===== Guillotine Cross Poisons === ItemLv=25 =
+//-- Guillotine Antidote <-- GC_RESEARCHNEWPOISON Lv5, 1 White Herb, 1 Blue Herb, 2 Green Herb
+6128,25,2024,5,509,1,510,1,511,2
+//-- Poison Paralysis <-- GC_RESEARCHNEWPOISON Lv1, 1 Medicine Bowl, 20 Poison Toad's Skin, 1 Poison Kit, 1 Poison Herb Amoena
+12717,25,2024,1,7134,1,7155,20,7931,1,7937,1
+//-- Poison Leech <-- GC_RESEARCHNEWPOISON Lv4, 1 Medicine Bowl, 1 Poison Kit, 1 Poison Herb Nerium, 1 Poison Herb Scopolia
+12718,25,2024,4,7134,1,7931,1,7932,1,7936,1
+//-- Poison Oblivion <-- GC_RESEARCHNEWPOISON Lv9, 1 Izidor, 10 Heart Of Mermaid, 1 Medicine Bowl, 1 Poison Kit
+12719,25,2024,9,709,1,950,10,7134,1,7931,1
+//-- Poison Contamination <-- GC_RESEARCHNEWPOISON Lv3, 25 Decayed Nail, 1 Medicine Bowl, 1 Poison Kit, 1 Poison Herb Seratum
+12720,25,2024,3,957,25,7134,1,7931,1,7935,1
+//-- Poison Numb <-- GC_RESEARCHNEWPOISON Lv8, 1 Medicine Bowl, 10 Sticky Poison, 1 Poison Kit, 1 Poison Herb Nerium
+12721,25,2024,8,7134,1,7565,10,7931,1,7932,1
+//-- Poison Fever <-- GC_RESEARCHNEWPOISON Lv2, 20 Anolian Skin, 1 Medicine Bowl, 1 Poison Kit, 1 Poison Herb Rantana
+12722,25,2024,2,7003,20,7134,1,7931,1,7933,1
+//-- Poison Laughing <-- GC_RESEARCHNEWPOISON Lv7, 10 Poison Spore, 1 Medicine Bowl, 1 Poison Kit, 1 Poison Herb Makulata
+12723,25,2024,7,7033,10,7134,1,7931,1,7934,1
+//-- Poison Fatigue <-- GC_RESEARCHNEWPOISON Lv6, 1 Izidor, 1 Medicine Bowl, 10 Sticky Poison, 1 Poison Kit
+12724,25,2024,6,709,1,7134,1,7565,10,7931,1
+//==============================================

+ 13 - 13
db/quest_db.txt

@@ -1161,24 +1161,24 @@
 
 
 11114,0,1004,10,0,0,0,0,"Request : Hunt Honet"
 11114,0,1004,10,0,0,0,0,"Request : Hunt Honet"
 11115,0,1009,20,0,0,0,0,"Request : Hunt Condor"
 11115,0,1009,20,0,0,0,0,"Request : Hunt Condor"
-11116,0,1052,10,0,0,0,0,"Request : Hunt grasshopper's leg"
+11116,0,1052,10,0,0,0,0,"Request : Hunt Grasshopper's Leg"
 11117,0,1024,20,0,0,0,0,"Request : Hunt Worm tail"
 11117,0,1024,20,0,0,0,0,"Request : Hunt Worm tail"
 11118,0,1014,30,0,0,0,0,"Request : Hunt Spore"
 11118,0,1014,30,0,0,0,0,"Request : Hunt Spore"
-11119,0,1048,20,0,0,0,0,"Request : Pest control"
+11119,0,1048,20,0,0,0,0,"Request : Pest Control"
 11120,0,1055,20,0,0,0,0,"Request : Hunt Muka"
 11120,0,1055,20,0,0,0,0,"Request : Hunt Muka"
 11121,0,1005,20,0,0,0,0,"Request : Hunt Farmiliar"
 11121,0,1005,20,0,0,0,0,"Request : Hunt Farmiliar"
-11122,0,1019,30,0,0,0,0,"Request : Collect feather"
-11123,0,1077,30,0,0,0,0,"Request : Collect Poison spore"
-11124,86400,0,0,0,0,0,0,"Request : Hunt honet - Complete"
-11125,86400,0,0,0,0,0,0,"Request : Hunt condor - Complete"
-11126,86400,0,0,0,0,0,0,"Request : Hunt grasshopper's leg - Complete"
-11127,86400,0,0,0,0,0,0,"Request : Hunt Worm tail - Complete"
-11128,86400,0,0,0,0,0,0,"Request : Hunt spore - Complete"
-11129,86400,0,0,0,0,0,0,"Request : Pest control - Complete"
-11130,86400,0,0,0,0,0,0,"Request : Hunt muka - Complete"
+11122,0,1019,30,0,0,0,0,"Request : Collect Feather"
+11123,0,1077,30,0,0,0,0,"Request : Collect Poison Spore"
+11124,86400,0,0,0,0,0,0,"Request : Hunt Honet - Complete"
+11125,86400,0,0,0,0,0,0,"Request : Hunt Condor - Complete"
+11126,86400,0,0,0,0,0,0,"Request : Hunt Grasshopper's Leg - Complete"
+11127,86400,0,0,0,0,0,0,"Request : Hunt Worm Tail - Complete"
+11128,86400,0,0,0,0,0,0,"Request : Hunt Spore - Complete"
+11129,86400,0,0,0,0,0,0,"Request : Pest Control - Complete"
+11130,86400,0,0,0,0,0,0,"Request : Hunt Muka - Complete"
 11131,86400,0,0,0,0,0,0,"Request : Hunt Farmiliar - Complete"
 11131,86400,0,0,0,0,0,0,"Request : Hunt Farmiliar - Complete"
-11132,86400,0,0,0,0,0,0,"Request : Collect feather - Complete"
-11133,86400,0,0,0,0,0,0,"Request : Collect Poison spore - Complete"
+11132,86400,0,0,0,0,0,0,"Request : Collect Feather - Complete"
+11133,86400,0,0,0,0,0,0,"Request : Collect Poison Spore - Complete"
 
 
 11135,0,0,0,0,0,0,0,"Looking for Maestro Song"
 11135,0,0,0,0,0,0,0,"Looking for Maestro Song"
 11136,0,0,0,0,0,0,0,"Looking for Maestro Song"
 11136,0,0,0,0,0,0,0,"Looking for Maestro Song"

+ 230 - 0
db/re_job_db.txt

@@ -0,0 +1,230 @@
+// Job-specific values database,
+// Used for Renewal-exclusive values, such as the shield ASPD penalty
+// Job ID, Shield ASPD Penalty (value / 10)
+
+//Novice
+0,100
+//Swordman
+1,50
+//Mage
+2,50
+//Archer
+3,50
+//Acolyte
+4,50
+//Merchant
+5,50
+//Thief
+6,60
+//Knight
+7,50
+//Priest
+8,50
+//Wizard
+9,50
+//Blacksmith
+10,50
+//Hunter
+11,90
+//Assassin
+12,60
+//Knight2
+13,50
+//Crusader
+14,50
+//Monk
+15,50
+//Sage
+16,50
+//Rogue
+17,50
+//Alchem
+18,50
+//Alchemist
+18,50
+//Bard
+19,70
+//Dancer
+20,70
+//Crusader2
+21,50
+//Wedding
+22,50
+//SuperNovice
+23,50
+//Gunslinger
+24,60
+//Ninja
+25,60
+//Xmas
+26,50
+//Summer
+27,50
+//NoviceHigh
+4001,100
+//SwordmanHigh
+4002,50
+//MageHigh
+4003,50
+//ArcherHigh
+4004,50
+//AcolyteHigh
+4005,50
+//MerchantHigh
+4006,50
+//ThiefHigh
+4007,60
+//LordKnight
+4008,50
+//HighPriest
+4009,50
+//HighWizard
+4010,50
+//Whitesmith
+4011,50
+//Sniper
+4012,90
+//AssassinCross
+4013,60
+//LordKnight2
+4014,50
+//Paladin
+4015,50
+//Champion
+4016,50
+//Professor
+4017,50
+//Stalker
+4018,50
+//Creator
+4019,50
+//Clown
+4020,70
+//Gypsy
+4021,70
+//Paladin2
+4022,50
+//Baby
+4023,100
+//BabySwordman
+4024,50
+//BabyMage
+4025,50
+//BabyArcher
+4026,50
+//BabyAcolyte
+4027,50
+//BabyMerchant
+4028,50
+//BabyThief
+4029,60
+//BabyKnight
+4030,50
+//BabyPriest
+4031,50
+//BabyWizard
+4032,50
+//BabyBlacksmith
+4033,50
+//BabyHunter
+4034,90
+//BabyAssassin
+4035,60
+//BabyKnight2
+4036,50
+//BabyCrusader
+4037,50
+//BabyMonk
+4038,50
+//BabySage
+4039,50
+//BabyRogue
+4040,50
+//BabyAlchem
+4041,50
+//BabyAlchemist
+4041,50
+//BabyBard
+4042,70
+//BabyDancer
+4043,70
+//BabyCrusader2
+4044,50
+//SuperBaby
+4045,50
+//Taekwon
+4046,50
+//StarGladiator
+4047,50
+//StarGladiator2
+4048,50
+//SoulLinker
+4049,80
+//RuneKnight
+4054,50
+//Warlock
+4055,50
+//Ranger
+4056,80
+//ArchBishop
+4057,100
+//Mechanic
+4058,60
+//GuillotineCross
+4059,90
+//RuneKnightT
+4060,50
+//WarlockT
+4061,50
+//RangerT
+4062,80
+//ArchBishopT
+4063,100
+//MechanicT
+4064,60
+//GuillotineCrossT
+4065,90
+//RoyalGuard
+4066,50
+//Sorcerer
+4067,50
+//Minstrel
+4068,70
+//Wanderer
+4069,70
+//Sura
+4070,50
+//Genetic
+4071,50
+//ShadowChaser
+4072,40
+//RoyalGuardT
+4073,50
+//SorcererT
+4074,50
+//MinstrelT
+4075,50
+//WandererT
+4076,50
+//SuraT
+4077,50
+//GeneticT
+4078,50
+//ShadowChaserT
+4079,40
+//RuneKnight2
+4080,50
+//RuneKnightT2
+4081,50
+//RoyalGuard2
+4082,50
+//RoyalGuardT2
+4083,50
+//Ranger2
+4084,50
+//RangerT2
+4085,50
+//Mechanic2
+4086,50
+//MechanicT2
+4087,50

+ 1198 - 475
db/skill_cast_db.txt

@@ -1,1137 +1,1860 @@
 // Skill Times Database
 // Skill Times Database
 //
 //
 // Structure of Database:
 // Structure of Database:
-// SkillID,CastingTime,AfterCastActDelay,AfterCastWalkDelay,Duration1,Duration2
-//
-//==========================================
-// Rough list of Contents:
-//==========================================
-//  1.  1st Jobs Skills
-//  2.  2-1 Jobs Skills
-//  3.  1st Jobs Quest Skills
-//  4.  NPC Skills (1)
-//  5.  2-2 Jobs Skills
-//  6.  Wedding Skills
-//  7.  NPC Skills (2)
-//  8.  Advanced Jobs Skills (1)
-//  9.  Adoption Skills
-// 10.  Taekwon Jobs Skills (1)
-// 11.  Advanced Jobs Skills (2)
-// 12.  Taekwon Jobs Skills (2)
-// 13.  2nd Jobs Quest Skills
-// 14.	Homunculus Skills
-// 15.	Mercenary Skills
-// 16.  Guild Skills
-//==========================================
-// This is just a rough overview to help
-// giving an overview on the document and
-// help navigating through it. (Vedurin)
+// SkillID,CastingTime,AfterCastActDelay,AfterCastWalkDelay,Duration1,Duration2,Cool Down
+//== Explained:
+// CastingTime : time to cast this skill, in miliseconds
+// AfterCastActDelay : "normal" delay, character cannot use skills, in miliseconds
+// AfterCastWalkDleay : amount of time before character can move again, in miliseconds
+// Duration1 / Duration2 : usually the durations used by the skill, at special cases it is used to hold special data
+// Cool Down : amount of time until character can re-use this skill, in miliseconds
+//== Extra
+// On all fields you can use ':' as a delimiter to level-specific values,
+// - Example using SM_PROVOKE
+// - Original:6,0,0,0,30000,0,1000
+// - ModifiedTo:6,0,0,0,30000,0,1000:2500:3000:etc
+// - Makes lvl 1 have 1000 (1s) cool down, lvl 2 2500 (2.5s), lvl 3 3000, and so on.
 //==========================================
 //==========================================
 
 
 
 
-
-
-
 //===== Swordman ===========================
 //===== Swordman ===========================
 //-- SM_PROVOKE
 //-- SM_PROVOKE
-6,0,0,0,30000,0
+6,0,0,0,30000,0,1000
 //-- SM_MAGNUM
 //-- SM_MAGNUM
-7,0,0,0,2000,10000
+7,0,0,0,2000,10000,2000
 //-- SM_ENDURE
 //-- SM_ENDURE
-8,0,0,0,10000:13000:16000:19000:22000:25000:28000:31000:34000:37000,10000
+8,0,0,0,10000:13000:16000:19000:22000:25000:28000:31000:34000:37000,10000,10000
 //==========================================
 //==========================================
 
 
 
 
 //===== Mage ===============================
 //===== Mage ===============================
 //-- MG_SIGHT
 //-- MG_SIGHT
-10,0,0,0,10000,0
+10,0,0,0,10000,0,0
 //-- MG_NAPALMBEAT
 //-- MG_NAPALMBEAT
-11,1000,1000:1000:1000:900:900:800:800:700:600:500,0,0,0
+11,1000,1000:1000:1000:900:900:800:800:700:600:500,0,0,0,0
 //-- MG_SAFETYWALL
 //-- MG_SAFETYWALL
-12,4000:3500:3500:2500:2000:1500:1000:1000:1000:1000,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0
+12,4000:3500:3500:2500:2000:1500:1000:1000:1000:1000,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0
 //-- MG_SOULSTRIKE
 //-- MG_SOULSTRIKE
-13,500,1200:1000:1400:1200:1600:1400:1800:1600:2000:1800,0,0,0
+13,500,1200:1000:1400:1200:1600:1400:1800:1600:2000:1800,0,0,0,0
 //-- MG_COLDBOLT
 //-- MG_COLDBOLT
-14,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0
+14,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0
 //-- MG_FROSTDRIVER
 //-- MG_FROSTDRIVER
-15,800,1500,0,0,3000:6000:9000:12000:15000:18000:21000:24000:27000:30000
+15,800,1500,0,0,3000:6000:9000:12000:15000:18000:21000:24000:27000:30000,0
 //-- MG_STONECURSE
 //-- MG_STONECURSE
-16,1000,0,0,5000,20000
+16,1000,0,0,5000,20000,0
 //-- MG_FIREBALL
 //-- MG_FIREBALL
-17,1500:1500:1500:1500:1500:1000:1000:1000:1000:1000,1500:1500:1500:1500:1500:1000:1000:1000:1000:1000,0,0,0
+17,1500:1500:1500:1500:1500:1000:1000:1000:1000:1000,1500:1500:1500:1500:1500:1000:1000:1000:1000:1000,0,0,0,0
 //-- MG_FIREWALL
 //-- MG_FIREWALL
-18,2000:1850:1700:1550:1400:1250:1100:950:800:650,0,0,5000:6000:7000:8000:9000:10000:11000:12000:13000:14000,0
+18,2000:1850:1700:1550:1400:1250:1100:950:800:650,0,0,5000:6000:7000:8000:9000:10000:11000:12000:13000:14000,0,0
 //-- MG_FIREBOLT
 //-- MG_FIREBOLT
-19,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0
+19,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0
 //-- MG_LIGHTNINGBOLT
 //-- MG_LIGHTNINGBOLT
-20,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0
+20,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0
 //-- MG_THUNDERSTORM
 //-- MG_THUNDERSTORM
-21,1000:2000:3000:4000:5000:6000:7000:8000:9000:10000,2000,0,500,0
+21,1000:2000:3000:4000:5000:6000:7000:8000:9000:10000,2000,0,500,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Acolyte ============================
 //===== Acolyte ============================
 //-- AL_RUWACH
 //-- AL_RUWACH
-24,0,0,0,10000,0
+24,0,0,0,10000,0,0
 //-- AL_PNEUMA
 //-- AL_PNEUMA
-25,0,0,0,10000,0
+25,0,0,0,10000,0,0
 //-- AL_TELEPORT
 //-- AL_TELEPORT
-26,0,0,0,0,0
+26,0,0,0,0,0,0
 //-- AL_WARP
 //-- AL_WARP
-27,1000,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0
+27,1000,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0
 //-- AL_HEAL
 //-- AL_HEAL
-28,0,1000,0,0,0
+28,0,1000,0,0,0,0
 //-- AL_INCAGI
 //-- AL_INCAGI
-29,1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0
+29,1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0
 //-- AL_DECAGI
 //-- AL_DECAGI
-30,1000,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000,0
+30,1000,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000,0,0
 //-- AL_HOLYWATER
 //-- AL_HOLYWATER
-31,1000,500,0,0,0
+31,1000,500,0,0,0,0
 //-- AL_CRUCIS
 //-- AL_CRUCIS
-32,500,2000,0,60000,0
+32,500,2000,0,0,0,0
 //-- AL ANGELUS
 //-- AL ANGELUS
-33,500,3500,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0
+33,500,3500,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0
 //-- AL_BLESSING
 //-- AL_BLESSING
-34,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0
+34,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0
 //-- AL_CURE
 //-- AL_CURE
-35,0,1000,0,0,6000
+35,0,1000,0,0,6000,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Archer =============================
 //===== Archer =============================
 //-- AC_CONCENTRATION
 //-- AC_CONCENTRATION
-45,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0
+45,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0
 //-- AC_DOUBLE
 //-- AC_DOUBLE
-46,0,0,0,100,0
+46,0,0,0,100,0,0
 //-- AC_SHOWER
 //-- AC_SHOWER
-47,0,0,0,100,0
+47,0,0,0,100,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Thief ==============================
 //===== Thief ==============================
 //-- TF_HIDING
 //-- TF_HIDING
-51,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0
+51,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0
 //-- TF_POISON
 //-- TF_POISON
-52,0,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
+52,0,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0
 //==========================================
 //==========================================
 
 
 
 
 //===== First planned to be shared =========
 //===== First planned to be shared =========
 //-- ALL_RESURRECTION
 //-- ALL_RESURRECTION
-54,6000:4000:2000:0,0:1000:2000:3000,0,0,0
+54,6000:4000:2000:0,0:1000:2000:3000,0,0,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Knight =============================
 //===== Knight =============================
 //-- KN_BRANDISHSPEAR
 //-- KN_BRANDISHSPEAR
-57,700,0,0,0,0
+57,700,0,0,0,0,0
 
 
 //-- KN_SPEARBOOMERANG
 //-- KN_SPEARBOOMERANG
-59,0,1000,0,0,0
+59,0,1000,0,0,0,0
 //-- KN_TWOHANDQUICKEN
 //-- KN_TWOHANDQUICKEN
-60,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0
+60,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0
 //-- KN_AUTOCOUNTER
 //-- KN_AUTOCOUNTER
-61,0,0,0,400:800:1200:1600:2000,0
+61,0,0,0,400:800:1200:1600:2000,0,0
 //-- KN_BOWLINGBASH
 //-- KN_BOWLINGBASH
-62,700,0,0,0,0
+62,700,0,0,0,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Priest =============================
 //===== Priest =============================
 //-- PR_IMPOSITIO
 //-- PR_IMPOSITIO
-66,0,3000,0,60000,0
+66,0,3000,0,60000,0,0
 //-- PR_SUFFRAGIUM
 //-- PR_SUFFRAGIUM
-67,0,2000,0,30000:20000:10000,0
+67,0,2000,0,30000:20000:10000,0,0
 //-- PR_ASPERSIO
 //-- PR_ASPERSIO
-68,0,2000,0,60000:90000:120000:150000:180000,0
+68,0,2000,0,60000:90000:120000:150000:180000,0,0
 //-- PR_BENEDICTIO
 //-- PR_BENEDICTIO
-69,0,0,0,40000:80000:120000:160000:200000,0
+69,0,0,0,40000:80000:120000:160000:200000,0,0
 //-- PR_SANCTUARY
 //-- PR_SANCTUARY
-70,5000,0,0,4000:7000:10000:13000:16000:19000:22000:25000:28000:31000,0
+70,5000,0,0,4000:7000:10000:13000:16000:19000:22000:25000:28000:31000,0,0
 //-- PR_SLOWPOISON
 //-- PR_SLOWPOISON
-71,0,0,0,10000:20000:30000:40000,0
+71,0,0,0,10000:20000:30000:40000,0,0
 //-- PR_STRECOVERY
 //-- PR_STRECOVERY
-72,0,2000,0,0,30000
+72,0,2000,0,0,30000,0
 //-- PR_KYRIE
 //-- PR_KYRIE
-73,2000,2000,0,120000,0
+73,2000,2000,0,120000,0,0
 //-- PR_MAGNIFICAT
 //-- PR_MAGNIFICAT
-74,4000,2000,0,30000:45000:60000:75000:90000,0
+74,4000,2000,0,30000:45000:60000:75000:90000,0,0
 //-- PR_GLORIA
 //-- PR_GLORIA
-75,0,2000,0,10000:15000:20000:25000:30000,0
+75,0,2000,0,10000:15000:20000:25000:30000,0,0
 //-- PR_LEXDIVINA
 //-- PR_LEXDIVINA
-76,0,3000,0,30000:35000:40000:45000:50000:60000:60000:60000:60000:60000,0
+76,0,3000,0,30000:35000:40000:45000:50000:60000:60000:60000:60000:60000,0,0
 //-- PR_TURNUNDEAD
 //-- PR_TURNUNDEAD
-77,1000,3000,0,0,0
+77,1000,3000,0,0,0,0
 //-- PR_LEXAETERNA
 //-- PR_LEXAETERNA
-78,0,3000,0,600000,0
+78,0,3000,0,600000,0,0
 //-- PR_MAGNUS
 //-- PR_MAGNUS
-79,15000,4000,0,5000:6000:7000:8000:9000:10000:11000:12000:13000:14000,0
+79,15000,4000,0,5000:6000:7000:8000:9000:10000:11000:12000:13000:14000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Wizard =============================
 //===== Wizard =============================
 //-- WZ_FIREPILLAR
 //-- WZ_FIREPILLAR
-80,3000:2700:2400:2100:1800:1500:1200:900:600:300,1000,0,30000,600:800:1000:1200:1400:1600:1800:2000:2200:2400
+80,3000:2700:2400:2100:1800:1500:1200:900:600:300,1000,0,30000,600:800:1000:1200:1400:1600:1800:2000:2200:2400,0
 //-- WZ_SIGHTRASHER
 //-- WZ_SIGHTRASHER
-81,700,2000,0,500,0
-
+81,700,2000,0,500,0,0
+//-- WZ_FIREIVY
+82,5000:4500:4000:3500:3000:2500:2000:1500:1000:500,800,600,5000,5000,0
 //-- WZ_METEOR
 //-- WZ_METEOR
-83,15000,2000:3000:3000:4000:4000:5000:5000:6000:6000:7000,0,500,5000
+83,15000,2000:3000:3000:4000:4000:5000:5000:6000:6000:7000,0,500,5000,0
 //-- WZ_JUPITEL
 //-- WZ_JUPITEL
-84,2500:3000:3500:4000:4500:5000:5500:6000:6500:7000,0,0,0,0
+84,2500:3000:3500:4000:4500:5000:5500:6000:6500:7000,0,0,0,0,0
 //-- WZ_VERMILION
 //-- WZ_VERMILION
-85,15000:14500:14000:13500:13000:12500:12000:11500:11000:10500,5000,0,4000,5500:6000:6500:7000:7500:8000:8500:9000:9500:10000
+85,15000:14500:14000:13500:13000:12500:12000:11500:11000:10500,5000,0,4000,5500:6000:6500:7000:7500:8000:8500:9000:9500:10000,0
 //-- WZ_WATERBALL
 //-- WZ_WATERBALL
-86,1000:2000:3000:4000:5000:6000:7000:8000:9000:10000,0,0,0,0
+86,1000:2000:3000:4000:5000:6000:7000:8000:9000:10000,0,0,0,0,0
 //-- WZ_ICEWALL
 //-- WZ_ICEWALL
-87,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0
+87,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0
 //-- WZ_FROSTNOVA
 //-- WZ_FROSTNOVA
-88,5000:4700:4400:4100:3800:3500:3200:2900:2700:2500,1000,0,0,1500:3000:4500:6000:7500:9000:10500:12000:13500:15000
+88,5000:4700:4400:4100:3800:3500:3200:2900:2700:2500,1000,0,0,1500:3000:4500:6000:7500:9000:10500:12000:13500:15000,0
 //-- WZ_STORMGUST
 //-- WZ_STORMGUST
-89,6000:7000:8000:9000:10000:11000:12000:13000:14000:15000,5000,0,4600,12000
+89,6000:7000:8000:9000:10000:11000:12000:13000:14000:15000,5000,0,4600,12000,0
 //-- WZ_EARTHSPIKE
 //-- WZ_EARTHSPIKE
-90,1000:2000:3000:4000:5000,700,0,0,0
+90,1000:2000:3000:4000:5000,700,0,0,0,0
 //-- WZ_HEAVENDRIVE
 //-- WZ_HEAVENDRIVE
-91,1000:2000:3000:4000:5000,700,0,500,0
+91,1000:2000:3000:4000:5000,700,0,500,0,0
 //-- WZ_QUAGMIRE
 //-- WZ_QUAGMIRE
-92,0,1000,0,5000:10000:15000:20000:25000,5000:10000:15000:20000:25000
+92,0,1000,0,5000:10000:15000:20000:25000,5000:10000:15000:20000:25000,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Blacksmith =========================
 //===== Blacksmith =========================
 //-- BS_REPAIRWEAPON
 //-- BS_REPAIRWEAPON
-108,7500,0,0,0,0
+108,7500,0,0,0,0,0
 //-- BS_HAMMERFALL
 //-- BS_HAMMERFALL
-110,0,0,0,0,5000
+110,0,0,0,0,5000,0
 //-- BS_ADRENALINE
 //-- BS_ADRENALINE
-111,0,0,0,30000:60000:90000:120000:150000,0
+111,0,0,0,30000:60000:90000:120000:150000,0,0
 //-- BS_WEAPONPEFECT
 //-- BS_WEAPONPEFECT
-112,0,0,0,10000:20000:30000:40000:50000,0
+112,0,0,0,10000:20000:30000:40000:50000,0,0
 //-- BS_OVERTHRUST
 //-- BS_OVERTHRUST
-113,0,0,0,20000:40000:60000:80000:100000,0
+113,0,0,0,20000:40000:60000:80000:100000,0,0
 //-- BS_MAXIMIZE
 //-- BS_MAXIMIZE
-114,0,0,0,1000:2000:3000:4000:5000,0
+114,0,0,0,1000:2000:3000:4000:5000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Hunter =============================
 //===== Hunter =============================
 //-- HT_SKIDTRAP
 //-- HT_SKIDTRAP
-115,0,0,0,300000:240000:180000:120000:60000,0
+115,0,0,0,300000:240000:180000:120000:60000,0,0
 //-- HT_LANDMINE
 //-- HT_LANDMINE
-116,0,0,0,200000:160000:120000:80000:40000,5000
+116,0,0,0,200000:160000:120000:80000:40000,5000,0
 //-- HT_ANKLESNARE
 //-- HT_ANKLESNARE
-117,0,0,0,250000:200000:150000:100000:50000,4000:8000:12000:16000:20000
+117,0,0,0,250000:200000:150000:100000:50000,4000:8000:12000:16000:20000,0
 //-- HT_SHOCKWAVE
 //-- HT_SHOCKWAVE
-118,0,0,0,200000:160000:120000:80000:40000,0
+118,0,0,0,200000:160000:120000:80000:40000,0,0
 //-- HT_SANDMAN
 //-- HT_SANDMAN
-119,0,0,0,150000:120000:90000:60000:30000,12000:14000:16000:18000:20000
+119,0,0,0,150000:120000:90000:60000:30000,12000:14000:16000:18000:20000,0
 //-- HT_FLASHER
 //-- HT_FLASHER
-120,0,0,0,150000:120000:90000:60000:30000,10000:11000:12000:13000:14000
+120,0,0,0,150000:120000:90000:60000:30000,10000:11000:12000:13000:14000,0
 //-- HT_FREEZINGTRAP
 //-- HT_FREEZINGTRAP
-121,0,0,0,150000:120000:90000:60000:30000,3000:6000:9000:12000:15000
+121,0,0,0,150000:120000:90000:60000:30000,3000:6000:9000:12000:15000,0
 //-- HT_BLASTMINE
 //-- HT_BLASTMINE
-122,0,0,0,25000:20000:15000:10000:5000,0
+122,0,0,0,25000:20000:15000:10000:5000,0,0
 //-- HT_CLAYMORETRAP
 //-- HT_CLAYMORETRAP
-123,0,0,0,20000:40000:60000:80000:100000,0
+123,0,0,0,20000:40000:60000:80000:100000,0,0
 
 
 //-- HT_TALKIEBOX
 //-- HT_TALKIEBOX
-125,0,0,0,600000,0
+125,0,0,0,600000,0,0
 
 
 //-- HT_BLITZBEAT
 //-- HT_BLITZBEAT
-129,1500,1000,0,0,0
+129,1500,1000,0,0,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Assassin ===========================
 //===== Assassin ===========================
 //-- AS_CLOAKING
 //-- AS_CLOAKING
-135,0,0,0,500:1000:2000:3000:4000:5000:6000:7000:8000:9000,0
+135,0,0,0,500:1000:2000:3000:4000:5000:6000:7000:8000:9000,0,0
 //-- AS_SONICBLOW
 //-- AS_SONICBLOW
-136,0,2000,2000,0,5000
+136,0,2000,2000,0,5000,0
 //-- AS_ENCHANTPOISON
 //-- AS_ENCHANTPOISON
-138,0,0,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:165000,10000:20000:30000:40000:50000:60000:70000:80000:90000:100000
+138,0,0,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:165000,10000:20000:30000:40000:50000:60000:70000:80000:90000:100000,0
 //-- AS_POISONREACT
 //-- AS_POISONREACT
-139,0,0,0,20000:25000:30000:35000:40000:45000:50000:55000:60000:65000,0
+139,0,0,0,20000:25000:30000:35000:40000:45000:50000:55000:60000:65000,0,0
 //-- AS_VENOMDUST
 //-- AS_VENOMDUST
-140,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
+140,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0
 //-- AS_SPLASHER
 //-- AS_SPLASHER
-141,1000,0,0,5000:5500:6000:6500:7000:7500:8000:8500:9000:9500,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
+141,1000,0,0,5000:5500:6000:6500:7000:7500:8000:8500:9000:9500,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0
 
 
 //==========================================
 //==========================================
 
 
 
 
 //===== 1st Jobs Quest Skills===============
 //===== 1st Jobs Quest Skills===============
 //-- NV_TRICKDEAD
 //-- NV_TRICKDEAD
-143,0,0,0,600000,0
+143,0,0,0,600000,0,0
 
 
 //-- SM_FATALBLOW
 //-- SM_FATALBLOW
-145,0,0,0,0,5000
+145,0,0,0,0,5000,0
 
 
 //-- AC_CHARGEARROW
 //-- AC_CHARGEARROW
-148,1500,0,0,0,0
+148,1500,0,0,0,0,0
 //-- TF_SPRINKLESAND
 //-- TF_SPRINKLESAND
-149,0,0,0,0,10000
+149,0,0,0,0,10000,0
 
 
 //-- TF_PICKSTONE
 //-- TF_PICKSTONE
-151,500,0,0,0,0
+151,500,0,0,0,0,0
 //-- TF_THROWSTONE
 //-- TF_THROWSTONE
-152,0,0,0,5000,8000
+152,0,0,0,5000,8000,0
 
 
 //-- MC_LOUD
 //-- MC_LOUD
-155,0,0,0,300000,0
+155,0,0,0,300000,0,0
 //-- AL_HOLYLIGHT
 //-- AL_HOLYLIGHT
-156,2000,0,0,0,0
+156,2000,0,0,0,0,0
 //-- MG_ENERGYCOAT
 //-- MG_ENERGYCOAT
-157,5000,0,0,300000,0
+157,5000,0,0,300000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== NPC Skills Part 1 ==================
 //===== NPC Skills Part 1 ==================
 //-- NPC_ATTRICHANGE
 //-- NPC_ATTRICHANGE
-161,0,0,0,1800000,0
+161,0,0,0,1800000,0,0
 //-- NPC_CHANGEWATER
 //-- NPC_CHANGEWATER
-162,0,0,0,1800000,0
+162,0,0,0,1800000,0,0
 //-- NPC_CHANGEGROUND
 //-- NPC_CHANGEGROUND
-163,0,0,0,1800000,0
+163,0,0,0,1800000,0,0
 //-- NPC_CHANGEFIRE
 //-- NPC_CHANGEFIRE
-164,0,0,0,1800000,0
+164,0,0,0,1800000,0,0
 //-- NPC_CHANGEWIND
 //-- NPC_CHANGEWIND
-165,0,0,0,1800000,0
+165,0,0,0,1800000,0,0
 //-- NPC_CHANGEPOISON
 //-- NPC_CHANGEPOISON
-166,0,0,0,1800000,0
+166,0,0,0,1800000,0,0
 //-- NPC_CHANGEHOLY
 //-- NPC_CHANGEHOLY
-167,0,0,0,1800000,0
+167,0,0,0,1800000,0,0
 //-- NPC_CHANGEDARKNESS
 //-- NPC_CHANGEDARKNESS
-168,0,0,0,1800000,0
+168,0,0,0,1800000,0,0
 //-- NPC_CHANGETELEKINESIS
 //-- NPC_CHANGETELEKINESIS
-169,0,0,0,1800000,0
+169,0,0,0,1800000,0,0
 
 
 //-- NPC_SELFDESTRUCTION
 //-- NPC_SELFDESTRUCTION
-173,0,0,0,3500,0
+173,0,0,0,3500,0,0
 
 
 //-- NPC_POISON
 //-- NPC_POISON
-176,0,0,0,0,60000
+176,0,0,0,0,60000,0
 //-- NPC_BLINDATTACK
 //-- NPC_BLINDATTACK
-177,0,0,0,0,30000
+177,0,0,0,0,30000,0
 //-- NPC_SILENCEATTACK
 //-- NPC_SILENCEATTACK
-178,0,0,0,0,30000
-//-- NPC_STUNATTACK
-179,0,0,0,0,5000
+178,0,0,0,0,30000,0
+//-- NPC0,_STUNATTACK
+179,0,0,0,0,5000,0
 //-- NPC_PETRIFYATTACK
 //-- NPC_PETRIFYATTACK
-180,0,0,0,0,20000
+180,0,0,0,0,20000,0
 //-- NPC_CURSEATTACK
 //-- NPC_CURSEATTACK
-181,0,0,0,0,30000
+181,0,0,0,0,30000,0
 //-- NPC_SLEEPATTACK
 //-- NPC_SLEEPATTACK
-182,0,0,0,0,30000
+182,0,0,0,0,30000,0
 
 
 //-- NPC_MAGICALATTACK
 //-- NPC_MAGICALATTACK
-192,0,0,0,15000,0
+192,0,0,0,15000,0,0
 
 
 //-- NPC_KEEPING
 //-- NPC_KEEPING
-201,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0
+201,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0,0
 
 
 //-- NPC_BARRIER
 //-- NPC_BARRIER
-204,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0
+204,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0,0
 //-- NPC_DEFENDER
 //-- NPC_DEFENDER
-205,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0
+205,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0,0
 //-- NPC_LICK
 //-- NPC_LICK
-206,0,0,0,0,3000
+206,0,0,0,0,3000,0
 //-- NPC_HALLUCINATION
 //-- NPC_HALLUCINATION
-207,0,0,0,30000:40000:50000:60000:70000:80000:90000:100000:110000:120000,0
+207,0,0,0,30000:40000:50000:60000:70000:80000:90000:100000:110000:120000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Rogue ==============================
 //===== Rogue ==============================
 //-- RG_BACKSTAB
 //-- RG_BACKSTAB
-212,0,500,0,0,0
+212,0,500,0,0,0,0
 
 
 //-- RG_RAID
 //-- RG_RAID
-214,0,0,0,5000,8000:9000:10000:11000:12000
+214,0,0,0,5000,8000:9000:10000:11000:12000,0
 //-- RG_STRIPEWEAPON
 //-- RG_STRIPEWEAPON
-215,1000,1000,0,75000:90000:105000:120000:135000,0
+215,1000,1000,0,75000:90000:105000:120000:135000,0,0
 //-- RG_STRIPSHIELD
 //-- RG_STRIPSHIELD
-216,1000,1000,0,75000:90000:105000:120000:135000,0
+216,1000,1000,0,75000:90000:105000:120000:135000,0,0
 //-- RG_STRIPWEAPON
 //-- RG_STRIPWEAPON
-217,1000,1000,0,75000:90000:105000:120000:135000,0
+217,1000,1000,0,75000:90000:105000:120000:135000,0,0
 //-- RG_STRIPHELM
 //-- RG_STRIPHELM
-218,1000,1000,0,75000:90000:105000:120000:135000,0
+218,1000,1000,0,75000:90000:105000:120000:135000,0,0
 
 
 //-- RG_GRAFITTI
 //-- RG_GRAFITTI
-220,0,0,0,180000,0
+220,0,0,0,180000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Alchemist ==========================
 //===== Alchemist ==========================
 //-- AM_DEMONSTRATION
 //-- AM_DEMONSTRATION
-229,1000,0,0,40000:45000:50000:55000:60000,0
+229,1000,0,0,40000:45000:50000:55000:60000,0,0
 //-- AM_ACIDTERROR
 //-- AM_ACIDTERROR
-230,1000,0,0,3:7:10:12:13,120000
+230,1000,0,0,3:7:10:12:13,120000,0
 //-- AM_POTIONPITCHER
 //-- AM_POTIONPITCHER
-231,0,500,0,0,0
+231,0,500,0,0,0,0
 //-- AM_CANNIBALIZE
 //-- AM_CANNIBALIZE
-232,2000,500,0,300000:240000:180000:120000:60000,0
+232,2000,500,0,300000:240000:180000:120000:60000,0,0
 //-- AM_SPHEREMINE
 //-- AM_SPHEREMINE
-233,2000,500,0,30000,0
+233,2000,500,0,30000,0,0
 //-- AM_CP_WEAPON
 //-- AM_CP_WEAPON
-234,2000,0,0,120000:240000:360000:480000:600000,0
+234,2000,0,0,120000:240000:360000:480000:600000,0,0
 //-- AM_CP_SHIELD
 //-- AM_CP_SHIELD
-235,2000,0,0,120000:240000:360000:480000:600000,0
+235,2000,0,0,120000:240000:360000:480000:600000,0,0
 //-- AM_CP_ARMOR
 //-- AM_CP_ARMOR
-236,2000,0,0,120000:240000:360000:480000:600000,0
+236,2000,0,0,120000:240000:360000:480000:600000,0,0
 //-- AM_CP_HELM
 //-- AM_CP_HELM
-237,2000,0,0,120000:240000:360000:480000:600000,0
+237,2000,0,0,120000:240000:360000:480000:600000,0,0
 //-- AM_RESURRECTHOMUN
 //-- AM_RESURRECTHOMUN
-247,2000,0,0,0,0
+247,2000,0,0,0,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Crusader ===========================
 //===== Crusader ===========================
 //-- CR_AUTOGUARD
 //-- CR_AUTOGUARD
-249,0,0,0,300000,0
+249,0,0,0,300000,0,0
 //-- CR_SHIELDCHARGE
 //-- CR_SHIELDCHARGE
-250,0,0,0,0,5000
+250,0,0,0,0,5000,0
 //-- CR_SHIELDBOOMERANG
 //-- CR_SHIELDBOOMERANG
-251,0,700,0,0,0
+251,0,700,0,0,0,0
 //-- CR_REFLECTSHIELD
 //-- CR_REFLECTSHIELD
-252,0,0,0,300000,0
+252,0,0,0,300000,0,0
 //-- CR_HOLYCROSS
 //-- CR_HOLYCROSS
-253,0,0,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000
+253,0,0,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0
 //-- CR_GRANDCROSS
 //-- CR_GRANDCROSS
-254,2000,1500,900,900,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000
+254,2000,1500,900,900,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0
 //-- CR_DEVOTION
 //-- CR_DEVOTION
-255,3000,0,0,0,30000:45000:60000:75000:90000
+255,3000,0,0,0,30000:45000:60000:75000:90000,0
 //-- CR_PROVIDENCE
 //-- CR_PROVIDENCE
-256,3000,0,0,180000,0
+256,3000,0,0,180000,0,0
 //-- CR_DEFENDER
 //-- CR_DEFENDER
-257,0,800,0,180000,0
+257,0,800,0,180000,0,0
 //-- CR_SPEARQUICKEN
 //-- CR_SPEARQUICKEN
-258,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0
+258,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Monk ===============================
 //===== Monk ===============================
 //-- MO_CALLSPIRITS
 //-- MO_CALLSPIRITS
-261,1000,0,0,600000,0
+261,1000,0,0,600000,0,0
 //-- MO_ABSORBSPIRITS
 //-- MO_ABSORBSPIRITS
-262,2000,0,0,0,0
+262,2000,0,0,0,0,0
 //-- MO_TRIPLEATTACK
 //-- MO_TRIPLEATTACK
-263,0,1000,0,0,0
+263,0,1000,0,0,0,0
 //-- MO_INVESTIGATE
 //-- MO_INVESTIGATE
-266,1000,500,0,0,0
+266,1000,500,0,0,0,0
 //-- MO_FINGEROFFENSIVE
 //-- MO_FINGEROFFENSIVE
-267,1000,500,0:200:400:600:800,0,0
+267,1000,500,0:200:400:600:800,0,0,0
 //-- MO_STEELBODY
 //-- MO_STEELBODY
-268,5000,0,0,30000:60000:90000:120000:150000,0
+268,5000,0,0,30000:60000:90000:120000:150000,0,0
 //-- MO_BLADESTOP
 //-- MO_BLADESTOP
-269,0,0,0,500:700:900:1100:1300,20000:30000:40000:50000:60000
+269,0,0,0,500:700:900:1100:1300,20000:30000:40000:50000:60000,0
 //-- MO_EXPLOSIONSPIRITS
 //-- MO_EXPLOSIONSPIRITS
-270,0,0,0,180000,0
+270,0,0,0,180000,0,0
 //-- MO_EXTREMITYFIST
 //-- MO_EXTREMITYFIST
-271,4000:3500:3000:2500:2000,3000:2500:2000:1500:1000,0,0,300000
+271,4000:3500:3000:2500:2000,3000:2500:2000:1500:1000,0,0,300000,0
 //-- MO_CHAINCOMBO
 //-- MO_CHAINCOMBO
-272,0,1000,0,0,0
+272,0,1000,0,0,0,0
 //-- MO_COMBOFINISH
 //-- MO_COMBOFINISH
-273,0,700,0,0,0
+273,0,700,0,0,0,0
 //==========================================
 //==========================================
 
 
 //===== Sage ===============================
 //===== Sage ===============================
 //-- SA_MAGICROD
 //-- SA_MAGICROD
-276,0,0,0,400:600:800:1000:1200,0
+276,0,0,0,400:600:800:1000:1200,0,0
 //-- SA_SPELLBREAKER
 //-- SA_SPELLBREAKER
-277,700,0,0,0,0
+277,700,0,0,0,0,0
 
 
 //-- SA_AUTOSPELL
 //-- SA_AUTOSPELL
-279,3000,0,0,120000:150000:180000:210000:240000:270000:300000:330000:360000:390000,0
+279,3000,0,0,120000:150000:180000:210000:240000:270000:300000:330000:360000:390000,0,0
 //-- SA_FLAMELAUNCHER
 //-- SA_FLAMELAUNCHER
-280,3000,0,0,1200000:1200000:1200000:1200000:1800000,0
+280,3000,0,0,1200000:1200000:1200000:1200000:1800000,0,0
 //-- SA_FROSTWEAPON
 //-- SA_FROSTWEAPON
-281,3000,0,0,1200000:1200000:1200000:1200000:1800000,0
+281,3000,0,0,1200000:1200000:1200000:1200000:1800000,0,0
 //-- SA_LIGHTNINGLOADER
 //-- SA_LIGHTNINGLOADER
-282,3000,0,0,1200000:1200000:1200000:1200000:1800000,0
+282,3000,0,0,1200000:1200000:1200000:1200000:1800000,0,0
 //-- SA_SEISMICWEAPON
 //-- SA_SEISMICWEAPON
-283,3000,0,0,1200000:1200000:1200000:1200000:1800000,0
+283,3000,0,0,1200000:1200000:1200000:1200000:1800000,0,0
 
 
 //-- SA_VOLCANO
 //-- SA_VOLCANO
-285,5000,0,0,60000:120000:180000:240000:300000,0
+285,5000,0,0,60000:120000:180000:240000:300000,0,0
 //-- SA_DELUGE
 //-- SA_DELUGE
-286,5000,0,0,60000:120000:180000:240000:300000,0
+286,5000,0,0,60000:120000:180000:240000:300000,0,0
 //-- SA_VIOLENTGALE
 //-- SA_VIOLENTGALE
-287,5000,0,0,60000:120000:180000:240000:300000,0
+287,5000,0,0,60000:120000:180000:240000:300000,0,0
 //-- SA_LANDPROTECTOR
 //-- SA_LANDPROTECTOR
-288,5000,0,0,165000:210000:255000:300000:345000,0
+288,5000,0,0,165000:210000:255000:300000:345000,0,0
 //-- SA_DISPELL
 //-- SA_DISPELL
-289,2000,0,0,0,0
+289,2000,0,0,0,0,0
 //-- SA_REVERSEORCISH
 //-- SA_REVERSEORCISH
-294,0,0,0,1200000,0
+294,0,0,0,1200000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Bard & Dancer (Ensemble Skills) ====
 //===== Bard & Dancer (Ensemble Skills) ====
 //-- BD_ADAPTATION
 //-- BD_ADAPTATION
-304,0,0,0,0,5000
+304,0,0,0,0,5000,0
 
 
 //-- BD_LULLABY
 //-- BD_LULLABY
-306,0,0,0,60000,15000
+306,0,0,0,60000,15000,0
 //-- BD_RICHMANKIM
 //-- BD_RICHMANKIM
-307,0,0,0,60000,60000
+307,0,0,0,60000,60000,0
 //-- BD_ETERNALCHAOS
 //-- BD_ETERNALCHAOS
-308,0,0,0,60000,60000
+308,0,0,0,60000,60000,0
 //-- BD_DRUMBATTLEFIELD
 //-- BD_DRUMBATTLEFIELD
-309,0,0,0,60000,60000
+309,0,0,0,60000,60000,0
 //-- BD_RINGNIBELUNGEN
 //-- BD_RINGNIBELUNGEN
-310,0,0,0,60000,60000
+310,0,0,0,60000,60000,0
 //-- BD_ROKISWEIL
 //-- BD_ROKISWEIL
-311,0,0,0,60000,60000
+311,0,0,0,60000,60000,0
 //-- BD_INTOABYSS
 //-- BD_INTOABYSS
-312,0,0,0,60000,60000
+312,0,0,0,60000,60000,0
 //-- BD_SIEGFRIED
 //-- BD_SIEGFRIED
-313,0,0,0,60000,60000
+313,0,0,0,60000,60000,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Bard ===============================
 //===== Bard ===============================
 //-- BA_MUSICALSTRIKE
 //-- BA_MUSICALSTRIKE
-316,1500,0,0,0,0
+316,1500,0,0,0,0,0
 //-- BA_DISSONANCE
 //-- BA_DISSONANCE
-317,0,0,0,30000,3000
+317,0,0,0,30000,3000,0
 //-- BA_FROSTJOKE
 //-- BA_FROSTJOKE
-318,0,3000,0,0,10000:11000:12000:13000:14000
+318,0,3000,0,0,10000:11000:12000:13000:14000,0
 //-- BA_WHISTLE
 //-- BA_WHISTLE
-319,0,0,0,60000,20000
+319,0,0,0,60000,20000,0
 //-- BA_ASSASSINCROSS
 //-- BA_ASSASSINCROSS
-320,0,0,0,120000,20000
+320,0,0,0,120000,20000,0
 //-- BA_POEMBRAGI
 //-- BA_POEMBRAGI
-321,0,0,0,180000,20000
+321,0,0,0,180000,20000,0
 //-- BA_APPLEIDUN
 //-- BA_APPLEIDUN
-322,0,0,0,180000,20000
+322,0,0,0,180000,20000,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Dancer =============================
 //===== Dancer =============================
 //-- DC_THROWARROW
 //-- DC_THROWARROW
-324,1500,0,0,0,0
+324,1500,0,0,0,0,0
 //-- DC_UGLYDANCE
 //-- DC_UGLYDANCE
-325,0,0,0,30000,3000
+325,0,0,0,30000,3000,0
 //-- DC_SCREAM
 //-- DC_SCREAM
-326,0,3000,0,0,5000
+326,0,3000,0,0,5000,0
 //-- DC_HUMMING
 //-- DC_HUMMING
-327,0,0,0,60000,20000
+327,0,0,0,60000,20000,0
 //-- DC_DONTFORGETME
 //-- DC_DONTFORGETME
-328,0,0,0,180000,20000
+328,0,0,0,180000,20000,0
 //-- DC_FORTUNEKISS
 //-- DC_FORTUNEKISS
-329,0,0,0,120000,20000
+329,0,0,0,120000,20000,0
 //-- DC_SERVICEFORYOU
 //-- DC_SERVICEFORYOU
-330,0,0,0,180000,20000
+330,0,0,0,180000,20000,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Wedding Skills =====================
 //===== Wedding Skills =====================
 //-- WE_MALE
 //-- WE_MALE
-334,3000,0,0,0,0
+334,3000,0,0,0,0,0
 //-- WE_FEMALE
 //-- WE_FEMALE
-335,3000,0,0,0,0
+335,3000,0,0,0,0,0
 //-- WE_CALLPARTNER
 //-- WE_CALLPARTNER
-336,0,0,0,20000,0
+336,0,0,0,20000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== NPC Skills Part 2 ==================
 //===== NPC Skills Part 2 ==================
 //-- NPC_GRANDDARKNESS
 //-- NPC_GRANDDARKNESS
-339,2000,1500,900,900,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000
+339,2000,1500,900,900,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0
 //-- NPC_STOP
 //-- NPC_STOP
-342,0,0,0,10000,0
+342,0,0,0,10000,0,0
 //-- NPC_CHANGEUNDEAD
 //-- NPC_CHANGEUNDEAD
-348,0,0,0,30000,0
+348,0,0,0,30000,0,0
 //-- NPC_POWERUP
 //-- NPC_POWERUP
-349,0,0,0,10000:15000:20000:25000:30000,0
+349,0,0,0,10000:15000:20000:25000:30000,0,0
 //-- NPC_AGIUP
 //-- NPC_AGIUP
-350,0,0,0,10000:15000:20000:25000:30000,0
+350,0,0,0,10000:15000:20000:25000:30000,0,0
 //-- NPC_INVISIBLE
 //-- NPC_INVISIBLE
-353,0,0,0,30000,0
+353,0,0,0,30000,0,0
 //-- NPC_RUN
 //-- NPC_RUN
-354,0,0:500:1000:1500:2000:2500,0,0,0
+354,0,0:500:1000:1500:2000:2500,0,0,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Lord Knight ========================
 //===== Lord Knight ========================
 //-- LK_AURABLADE
 //-- LK_AURABLADE
-355,0,0,0,40000:60000:80000:100000:120000,0
+355,0,0,0,40000:60000:80000:100000:120000,0,0
 //-- LK_PARRYING
 //-- LK_PARRYING
-356,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0
+356,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,0
 //-- LK_CONCENTRATION
 //-- LK_CONCENTRATION
-357,0,0,0,25000:30000:35000:40000:45000,0
+357,0,0,0,25000:30000:35000:40000:45000,0,0
 //-- LK_TENSIONRELAX
 //-- LK_TENSIONRELAX
-358,0,0,0,180000,0
+358,0,0,0,180000,0,0
 //-- LK_BERSERK
 //-- LK_BERSERK
-359,0,0,0,300000,15000
+359,0,0,0,300000,15000,0
 //-- LK_FURY
 //-- LK_FURY
-360,0,0,0,300000,0
+360,0,0,0,300000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== High Priest ========================
 //===== High Priest ========================
 //-- HP_ASSUMPTIO
 //-- HP_ASSUMPTIO
-361,1000:1500:2000:2500:3000,1100:1200:1300:1400:1500,0,20000:40000:60000:80000:100000,0
+361,1000:1500:2000:2500:3000,1100:1200:1300:1400:1500,0,20000:40000:60000:80000:100000,0,0
 //-- HP_BASILICA
 //-- HP_BASILICA
-362,5000:6000:7000:8000:9000,2000:3000:4000:5000:6000,0,20000:25000:30000:35000:40000,20000:25000:30000:35000:40000
+362,5000:6000:7000:8000:9000,2000:3000:4000:5000:6000,0,20000:25000:30000:35000:40000,20000:25000:30000:35000:40000,0
 //==========================================
 //==========================================
 
 
 
 
 //===== High Wzard =========================
 //===== High Wzard =========================
 //-- HW_MAGICCRASHER
 //-- HW_MAGICCRASHER
-365,300,300,0,0,0
+365,300,300,0,0,0,0
 //-- HW_MAGICPOWER
 //-- HW_MAGICPOWER
-366,700,0,0,30000,0
+366,700,0,0,30000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Paladin ============================
 //===== Paladin ============================
 //-- PA_PRESSURE
 //-- PA_PRESSURE
-367,2000:2500:3000:3500:4000,2000:2500:3000:3500:4000,0,0,2000:3000:4000:5000:6000
+367,2000:2500:3000:3500:4000,2000:2500:3000:3500:4000,0,0,2000:3000:4000:5000:6000,0
 //-- PA_SACRIFICE
 //-- PA_SACRIFICE
-368,0,2000,0,0,0
+368,0,2000,0,0,0,0
 //-- PA_GOSPEL
 //-- PA_GOSPEL
-369,0,0,0,60000,60000
+369,0,0,0,60000,60000,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Champion ===========================
 //===== Champion ===========================
 //-- CH_PALMSTRIKE
 //-- CH_PALMSTRIKE
-370,0,300,0,0,0
+370,0,300,0,0,0,0
 //-- CH_TIGERFIST
 //-- CH_TIGERFIST
-371,0,700,0,0,2000:4000:6000:8000:10000
+371,0,700,0,0,2000:4000:6000:8000:10000,0
 //-- CH_CHAINCRUSH
 //-- CH_CHAINCRUSH
-372,0,800:800:800:800:800:1000:1000:1000:1000:1000,0,0,0
+372,0,800:800:800:800:800:1000:1000:1000:1000:1000,0,0,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Professor ==========================
 //===== Professor ==========================
 //-- PF_HPCONVERSION
 //-- PF_HPCONVERSION
-373,0,1000:1200:1400:1600:1800,0,0,0
+373,0,1000:1200:1400:1600:1800,0,0,0,0
 //-- PF_SOULCHANGE
 //-- PF_SOULCHANGE
-374,3000,5000,0,0,0
+374,3000,5000,0,0,0,0
 //-- PF_SOULBURN
 //-- PF_SOULBURN
-375,0,0,0,0,0
+375,0,0,0,0,0,10000:10000:10000:10000:15000
 //==========================================
 //==========================================
 
 
 
 
 //===== Assassin Cross =====================
 //===== Assassin Cross =====================
 //-- ASC_EDP
 //-- ASC_EDP
-378,0,2000,0,40000:45000:50000:55000:60000,20000:30000:40000:50000:60000
+378,0,2000,0,40000:45000:50000:55000:60000,20000:30000:40000:50000:60000,0
 //-- ASC_BREAKER
 //-- ASC_BREAKER
-379,700,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0
+379,700,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Sniper =============================
 //===== Sniper =============================
 //-- SN_SIGHT
 //-- SN_SIGHT
-380,0,0,0,30000,0
+380,0,0,0,30000,0,0
 //-- SN_FALCONASSAULT
 //-- SN_FALCONASSAULT
-381,1000,3000,0,0,0
+381,1000,3000,0,0,0,0
 //-- SN_SHARPSHOOTING
 //-- SN_SHARPSHOOTING
-382,2000,1500,0,0,0
+382,2000,1500,0,0,0,0
 //-- SN_WINDWALK
 //-- SN_WINDWALK
-383,2000:2400:2800:3200:3600:4000:4400:4800:5200:5600,2000,0,130000:160000:190000:220000:250000:280000:310000:340000:370000:400000,0
+383,2000:2400:2800:3200:3600:4000:4400:4800:5200:5600,2000,0,130000:160000:190000:220000:250000:280000:310000:340000:370000:400000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Whitesmith =========================
 //===== Whitesmith =========================
 //-- WS_MELTDOWN
 //-- WS_MELTDOWN
-384,500:500:600:600:700:700:800:800:900:1000,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,5000
+384,500:500:600:600:700:700:800:800:900:1000,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,5000,0
 
 
 //-- WS_CARTBOOST
 //-- WS_CARTBOOST
-387,0,0,0,60000,0
+387,0,0,0,60000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Stalker ============================
 //===== Stalker ============================
 //-- ST_CHASEWALK
 //-- ST_CHASEWALK
-389,1200,0,0,10000,30000
+389,1200,0,0,10000,30000,0
 //-- ST_REJECTSWORD
 //-- ST_REJECTSWORD
-390,0,0,0,300000,0
+390,0,0,0,300000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Clown / Gypsy ======================
 //===== Clown / Gypsy ======================
 //-- CG_ARROWVULCAN
 //-- CG_ARROWVULCAN
-394,2000:2200:2400:2600:2800:3000:3200:3400:3600:3800,2800:2800:2800:2800:2800:3000:3000:3000:3000:3000,2000,0,0
+394,2000:2200:2400:2600:2800:3000:3200:3400:3600:3800,2800:2800:2800:2800:2800:3000:3000:3000:3000:3000,2000,0,0,0
 //-- CG_MOONLIT
 //-- CG_MOONLIT
-395,0,0,0,20000:25000:30000:35000:40000,0
+395,0,0,0,20000:25000:30000:35000:40000,0,0
 //-- CG_MARIONETTE
 //-- CG_MARIONETTE
-396,0,0,0,1000,0
+396,0,0,0,1000,0,0
 //==========================================
 //==========================================
 
 
 //===== Mixed Advanced Skills ==============
 //===== Mixed Advanced Skills ==============
 //-- LK_SPIRALPIERCE
 //-- LK_SPIRALPIERCE
-397,300:500:700:900:1000,1200:1400:1600:1800:2000,0,0,1000
+397,300:500:700:900:1000,1200:1400:1600:1800:2000,0,0,1000,0
 //-- LK_HEADCRUSH
 //-- LK_HEADCRUSH
-398,0,500,0,0,120000
+398,0,500,0,0,120000,0
 //-- LK_JOINTBEAT
 //-- LK_JOINTBEAT
-399,0,800:800:800:800:800:1000:1000:1000:1000:1000,0,0,30000
+399,0,800:800:800:800:800:1000:1000:1000:1000:1000,0,0,30000,0
 //-- HW_NAPALMVULCAN
 //-- HW_NAPALMVULCAN
-400,1000,1000,0,0,45000
+400,1000,1000,0,0,45000,0
 //-- CH_SOULCOLLECT
 //-- CH_SOULCOLLECT
-401,2000,0,0,600000,0
+401,2000,0,0,600000,0,0
 //-- PF_MINDBREAKER
 //-- PF_MINDBREAKER
-402,0,800:900:1000:1100:1200,0,30000,0
+402,0,800:900:1000:1100:1200,0,30000,0,0
 //-- PF_MEMORIZE
 //-- PF_MEMORIZE
-403,5000,0,0,0,0
+403,5000,0,0,0,0,0
 //-- PF_FOGWALL
 //-- PF_FOGWALL
-404,0,0,0,20000,10000
+404,0,0,0,20000,10000,0
 //-- PF_SPIDERWEB
 //-- PF_SPIDERWEB
-405,0,0,0,30000,8000
+405,0,0,0,30000,8000,0
 //-- ASC_METEORASSAULT (Upkeep2 times are duration of: blind(lv1), stun(lv2) or bleeding (lv3))
 //-- ASC_METEORASSAULT (Upkeep2 times are duration of: blind(lv1), stun(lv2) or bleeding (lv3))
-406,500,500,0,0,10000:5000:120000
+406,500,500,0,0,10000:5000:120000,0
 //-- ASC_CDP
 //-- ASC_CDP
-407,0,500,0,0,0
+407,0,500,0,0,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Adoption Skills ====================
 //===== Adoption Skills ====================
 //-- WE_BABY
 //-- WE_BABY
-408,3000,0,0,300000,0
+408,3000,0,0,300000,0,0
 //-- WE_CALLPARENT
 //-- WE_CALLPARENT
-409,0,0,0,20000,0
+409,0,0,0,20000,0,0
 //-- WE_CALLBABY
 //-- WE_CALLBABY
-410,0,0,0,20000,0
+410,0,0,0,20000,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Taekwon ============================
 //===== Taekwon ============================
 //-- TK_RUN
 //-- TK_RUN
-411,6000:5000:4000:3000:2000:1000:0:0:0:0,0,0,1000,150000
+411,6000:5000:4000:3000:2000:1000:0:0:0:0,0,0,1000,150000,0
 //-- TK_DOWNKICK
 //-- TK_DOWNKICK
-415,0,0,0,0,3000
+415,0,0,0,0,3000,0
 //-- TK_TURNKICK
 //-- TK_TURNKICK
-417,0,0,0,0,2000
+417,0,0,0,0,2000,0
 //-- TK_SPTIME
 //-- TK_SPTIME
-423,0,0,0,1800000,0
+423,0,0,0,1800000,0,0
 //-- TK_SEVENWIND
 //-- TK_SEVENWIND
-425,0,0,0,300000,0
+425,0,0,0,300000,0,0
 //-- TK_HIGHJUMP
 //-- TK_HIGHJUMP
-426,5000:4000:3000:2000:1000,0,0,0,0
+426,5000:4000:3000:2000:1000,0,0,0,0,0
 //==========================================
 //==========================================
 
 
 //===== Star Gladiator =====================
 //===== Star Gladiator =====================
 //-- SG_FEEL
 //-- SG_FEEL
-427,1000,0,0,0,0
+427,1000,0,0,0,0,0
 //SG_SUN_WARM
 //SG_SUN_WARM
-428,0,1000,0,10000:20000:60000,0
+428,0,1000,0,10000:20000:60000,0,0
 //SG_MOON_WARM
 //SG_MOON_WARM
-429,0,1000,0,10000:20000:60000,0
+429,0,1000,0,10000:20000:60000,0,0
 //SG_STAR_WARM
 //SG_STAR_WARM
-430,0,1000,0,10000:20000:60000,0
+430,0,1000,0,10000:20000:60000,0,0
 //SG_SUN_COMFORT
 //SG_SUN_COMFORT
-431,0,1000,0,80000:160000:240000:320000,0
+431,0,1000,0,80000:160000:240000:320000,0,0
 //SG_MOON_COMFORT
 //SG_MOON_COMFORT
-432,0,1000,0,80000:160000:240000:320000,0
+432,0,1000,0,80000:160000:240000:320000,0,0
 //SG_STAR_COMFORT
 //SG_STAR_COMFORT
-433,0,1000,0,80000:160000:240000:320000,0
+433,0,1000,0,80000:160000:240000:320000,0,0
 //-- SG_HATE
 //-- SG_HATE
-434,1000,0,0,0,0
+434,1000,0,0,0,0,0
 //SG_FRIEND
 //SG_FRIEND
-442,0,0,0,10000,0
+442,0,0,0,10000,0,0
 //SG_KNOWLEDGE
 //SG_KNOWLEDGE
-443,0,0,0,600000,0
+443,0,0,0,600000,0,0
 //SG_FUSION
 //SG_FUSION
-444,0,1000,0,600000,0
+444,0,1000,0,600000,0,0
 //==========================================
 //==========================================
 
 
 //===== Soul Linker ========================
 //===== Soul Linker ========================
 //-- SL_ALCHEMIST
 //-- SL_ALCHEMIST
-445,1000,500,0,150000:200000:250000:300000:350000,0
+445,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- AM_BERSERKPITCHER - Copy of AM_POTIONPITCHER for now
 //-- AM_BERSERKPITCHER - Copy of AM_POTIONPITCHER for now
-446,0,500,0,0,0
+446,0,500,0,0,0,0
 //-- SL_MONK
 //-- SL_MONK
-447,1000,500,0,150000:200000:250000:300000:350000,0
+447,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_STAR
 //-- SL_STAR
-448,1000,500,0,150000:200000:250000:300000:350000,0
+448,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_SAGE
 //-- SL_SAGE
-449,1000,500,0,150000:200000:250000:300000:350000,0
+449,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_CRUSADER
 //-- SL_CRUSADER
-450,1000,500,0,150000:200000:250000:300000:350000,0
+450,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_SUPERNOVICE
 //-- SL_SUPERNOVICE
-451,1000,500,0,150000:200000:250000:300000:350000,0
+451,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_KNIGHT
 //-- SL_KNIGHT
-452,1000,500,0,150000:200000:250000:300000:350000,0
+452,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_WIZARD
 //-- SL_WIZARD
-453,1000,500,0,150000:200000:250000:300000:350000,0
+453,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_PRIEST
 //-- SL_PRIEST
-454,1000,500,0,150000:200000:250000:300000:350000,0
+454,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_BARDDANCER
 //-- SL_BARDDANCER
-455,1000,500,0,150000:200000:250000:300000:350000,0
+455,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_ROGUE
 //-- SL_ROGUE
-456,1000,500,0,150000:200000:250000:300000:350000,0
+456,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_ASSASSIN
 //-- SL_ASSASSIN
-457,1000,500,0,150000:200000:250000:300000:350000,0
+457,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_BLACKSMITH
 //-- SL_BLACKSMITH
-458,1000,500,0,150000:200000:250000:300000:350000,0
+458,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- BS_ADRENALINE2
 //-- BS_ADRENALINE2
-459,0,0,0,150000,0
+459,0,0,0,150000,0,0
 //-- SL_HUNTER
 //-- SL_HUNTER
-460,1000,500,0,150000:200000:250000:300000:350000,0
+460,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_SOULLINKER
 //-- SL_SOULLINKER
-461,1000,500,0,150000:200000:250000:300000:350000,0
+461,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- SL_KAIZEL
 //-- SL_KAIZEL
-462,4500:4000:3500:3000:2500:2000:1500,0,0,1800000,2000
+462,4500:4000:3500:3000:2500:2000:1500,0,0,1800000,2000,0
 //-- SL_KAAHI
 //-- SL_KAAHI
-463,0,500,0,1800000,500
+463,0,500,0,1800000,500,0
 //-- SL_KAUPE
 //-- SL_KAUPE
-464,500,500,0,600000,0
+464,500,500,0,600000,0,0
 //-- SL_KAITE
 //-- SL_KAITE
-465,6000:5500:5000:4500:4000:3500:3000,0,0,60000:120000:180000:240000:300000:360000:600000,0
+465,6000:5500:5000:4500:4000:3500:3000,0,0,60000:120000:180000:240000:300000:360000:600000,0,0
 //-- SL_STIN
 //-- SL_STIN
-467,100,500,0,0,0
+467,100,500,0,0,0,0
 //-- SL_STUN
 //-- SL_STUN
-468,100,500,0,2000,0
+468,100,500,0,2000,0,0
 //-- SL_SMA
 //-- SL_SMA
-469,2000,500,0,3000,0
+469,2000,500,0,3000,0,0
 //-- SL_SWOO
 //-- SL_SWOO
-470,1000,500,0,1000:2000:3000:4000:5000:6000:7000,0
+470,1000,500,0,1000:2000:3000:4000:5000:6000:7000,0,0
 //-- SL_SKE
 //-- SL_SKE
-471,3000:2000:1000,500,0,10000:20000:30000,3000
+471,3000:2000:1000,500,0,10000:20000:30000,3000,0
 //-- SL_SKA
 //-- SL_SKA
-472,3000:2000:1000,500,0,10000:20000:30000,0
+472,3000:2000:1000,500,0,10000:20000:30000,0,0
 //==========================================
 //==========================================
 //-- SM_SELFPROVOKE
 //-- SM_SELFPROVOKE
-473,0,0,0,30000,0
+473,0,0,0,30000,0,0
 
 
 //===== Mixed Advanced Skills ==============
 //===== Mixed Advanced Skills ==============
 //-- ST_PRESERVE
 //-- ST_PRESERVE
-475,1000,0,0,600000,0
+475,1000,0,0,600000,0,0
 //-- ST_FULLSTRIP
 //-- ST_FULLSTRIP
-476,0,1000,0,75000:90000:105000:120000:135000,0
+476,0,1000,0,75000:90000:105000:120000:135000,0,0
 
 
 //-- CR_SLIMPITCHER
 //-- CR_SLIMPITCHER
-478,1000,1000,0,0,0
+478,1000,1000,0,0,0,0
 //-- CR_FULLPROTECTION
 //-- CR_FULLPROTECTION
-479,2000,0,0,120000:240000:360000:480000:600000,0
+479,2000,0,0,120000:240000:360000:480000:600000,0,0
 //-- PA_SHIELDCHAIN
 //-- PA_SHIELDCHAIN
-480,1000,1000,0,0,0
+480,1000,1000,0,0,0,0
 //-- PF_DOUBLECASTING
 //-- PF_DOUBLECASTING
-482,2000,0,0,90000,0
+482,2000,0,0,90000,0,0
 //-- HW_GANBANTEIN
 //-- HW_GANBANTEIN
-483,3000,2000,0,0,0
+483,3000,2000,0,0,0,0
 //-- HW_GRAVITATION
 //-- HW_GRAVITATION
-484,5000,2000,0,5000:6000:7000:8000:9000,0
+484,5000,2000,0,5000:6000:7000:8000:9000,0,0
 //-- WS_CARTTERMINATION
 //-- WS_CARTTERMINATION
-485,0,0,0,0,5000
+485,0,0,0,0,5000,0
 //-- WS_OVERTHRUSTMAX
 //-- WS_OVERTHRUSTMAX
-486,0,0,0,180000,0
+486,0,0,0,180000,0,0
 //-- CG_LONGINGFREEDOM
 //-- CG_LONGINGFREEDOM
-487,0,0,0,180000,0
+487,0,0,0,180000,0,0
 //-- CG_HERMODE
 //-- CG_HERMODE
-488,0,0,0,10000:15000:20000:25000:30000,10000:15000:20000:25000:30000
+488,0,0,0,10000:15000:20000:25000:30000,10000:15000:20000:25000:30000,0
 //-- CG_TAROTCARD
 //-- CG_TAROTCARD
-489,1000,3000,0,0,30000
+489,1000,3000,0,0,30000,0
 //-- CR_ACIDDEMONSTRATION
 //-- CR_ACIDDEMONSTRATION
-490,1000,1000,0,0,0
+490,1000,1000,0,0,0,0
 //-- CR_CULTIVATION
 //-- CR_CULTIVATION
-491,0,0,0,300000,0
+491,0,0,0,300000,0,0
 //==========================================
 //==========================================
 
 
 //-- ITEM_ENCHANTARMS
 //-- ITEM_ENCHANTARMS
-492,0,0,0,180000,0
+492,0,0,0,180000,0,0
 
 
 //===== Mixed Taekwon Skills ===============
 //===== Mixed Taekwon Skills ===============
 //-- TK_MISSION
 //-- TK_MISSION
-493,1000,0,0,0,0
+493,1000,0,0,0,0,0
 //-- SL_HIGH
 //-- SL_HIGH
-494,1000,500,0,150000:200000:250000:300000:350000,0
+494,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- KN_ONEHAND
 //-- KN_ONEHAND
-495,0,0,0,300000,0
+495,0,0,0,300000,0,0
 //-- AM_TWILIGHT1
 //-- AM_TWILIGHT1
-496,3000,10000,0,0,0
+496,3000,10000,0,0,0,0
 //-- AM_TWILIGHT2
 //-- AM_TWILIGHT2
-497,3000,10000,0,0,0
+497,3000,10000,0,0,0,0
 //-- AM_TWILIGHT3
 //-- AM_TWILIGHT3
-498,3000,10000,0,0,0
+498,3000,10000,0,0,0,0
 //-- HT_POWER
 //-- HT_POWER
-499,0,0,0,100,0
+499,0,0,0,100,0,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Gunslinger =========================
 //===== Gunslinger =========================
 //-- GS_GLITTERING
 //-- GS_GLITTERING
-500,0,0,0,600000,0
+500,0,0,0,600000,0,0
 //-- GS_FLING
 //-- GS_FLING
-501,0,0,0,30000,0
+501,0,0,0,30000,0,0
 //-- GS_BULLSEYE
 //-- GS_BULLSEYE
-503,500,0,0,0,0
+503,500,0,0,0,0,0
 //-- GS_MADNESSCANCEL
 //-- GS_MADNESSCANCEL
-504,3000,4000,0,15000,0
+504,3000,4000,0,15000,0,0
 //-- GS_ADJUSTMENT
 //-- GS_ADJUSTMENT
-505,1000,1000,0,30000,0
+505,1000,1000,0,30000,0,0
 //-- GS_INCREASING
 //-- GS_INCREASING
-506,0,1000,0,60000,0
+506,0,1000,0,60000,0,0
 //-- GS_CRACKER
 //-- GS_CRACKER
-508,0,1000,0,0,5000
+508,0,1000,0,0,5000,0
 //-- GS_TRACKING
 //-- GS_TRACKING
-512,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,0,0
+512,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,0,0,0
 //-- GS_DISARM
 //-- GS_DISARM
-513,0,0,0,30000,0
+513,0,0,0,30000,0,0
 //-- GS_PIERCINGSHOT
 //-- GS_PIERCINGSHOT
-514,1500,0,0,0,120000
+514,1500,0,0,0,120000,0
 //-- GS_RAPIDSHOWER
 //-- GS_RAPIDSHOWER
-515,0,1000,0,0,0
+515,0,1000,0,0,0,0
 //-- GS_DESPERADO
 //-- GS_DESPERADO
-516,0,1000,1000,1000,0
+516,0,1000,1000,1000,0,0
 //-- GS_GATLINGFEVER
 //-- GS_GATLINGFEVER
-517,0,0,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:165000,0
+517,0,0,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:165000,0,0
 //-- GS_DUST
 //-- GS_DUST
-518,1000,1000,0,0,0
+518,1000,1000,0,0,0,0
 //-- GS_FULLBUSTER
 //-- GS_FULLBUSTER
-519,0,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,10000
+519,0,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,10000,0
 //-- GS_GROUNDDRIFT
 //-- GS_GROUNDDRIFT
-521,2000,0,0,3000:6000:9000:12000:15000:18000:21000:24000:27000:30000,10000
+521,2000,0,0,3000:6000:9000:12000:15000:18000:21000:24000:27000:30000,10000,0
 //==========================================
 //==========================================
 
 
 
 
 //===== Ninja ==============================
 //===== Ninja ==============================
 //-- NJ_KUNAI
 //-- NJ_KUNAI
-524,0,1000,0,0,0
+524,0,1000,0,0,0,0
 //-- NJ_HUUMA
 //-- NJ_HUUMA
-525,3000,2000,0,0,0
+525,3000,2000,0,0,0,0
 //-- NJ_ZENYNAGE
 //-- NJ_ZENYNAGE
-526,0,5000,0,0,0
+526,0,5000,0,0,0,0
 //-- NJ_TATAMIGAESHI
 //-- NJ_TATAMIGAESHI
-527,0,3000,0,3000,3000
+527,0,3000,0,3000,3000,0
 //-- NJ_KASUMIKIRI
 //-- NJ_KASUMIKIRI
-528,0,1000,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0
+528,0,1000,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0
 //-- NJ_SHADOWJUMP
 //-- NJ_SHADOWJUMP
-529,0,1000,0,0,0
+529,0,1000,0,0,0,0
 //-- NJ_KIRIKAGE // Seems to have no delay (English Translation Project)
 //-- NJ_KIRIKAGE // Seems to have no delay (English Translation Project)
-530,0,0,0,0,0
+530,0,0,0,0,0,0
 //-- NJ_UTSUSEMI
 //-- NJ_UTSUSEMI
-531,0,1000,0,20000:30000:40000:50000:60000,0
+531,0,1000,0,20000:30000:40000:50000:60000,0,0
 //-- NJ_BUNSINJYUTSU
 //-- NJ_BUNSINJYUTSU
-532,4000:3500:3000:2500:2000:1500:1000:1000:1000:1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0
+532,4000:3500:3000:2500:2000:1500:1000:1000:1000:1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0
 //-- NJ_KOUENKA
 //-- NJ_KOUENKA
-534,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
+534,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0,0
 //-- NJ_KAENSIN
 //-- NJ_KAENSIN
-535,6000:5500:5000:4500:4000:3500:3000:2500:2000:1500,1000,0,20000,0
+535,6000:5500:5000:4500:4000:3500:3000:2500:2000:1500,1000,0,20000,0,0
 //-- NJ_BAKUENRYU
 //-- NJ_BAKUENRYU
-536,3000,2000,0,0,0
+536,3000,2000,0,0,0,0
 //-- NJ_HYOUSENSOU
 //-- NJ_HYOUSENSOU
-537,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
+537,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0,0
 //-- NJ_SUITON
 //-- NJ_SUITON
-538,3000,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
+538,3000,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0
 //-- NJ_HYOUSYOURAKU
 //-- NJ_HYOUSYOURAKU
-539,2000:2500:3000:3500:4000,2000,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000
+539,2000:2500:3000:3500:4000,2000,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0
 //-- NJ_HUUJIN
 //-- NJ_HUUJIN
-540,1000:1500:2000:2500:3000:3500:4000:5000:5500:6000,1000,0,0,0
+540,1000:1500:2000:2500:3000:3500:4000:5000:5500:6000,1000,0,0,0,0
 //-- NJ_RAIGEKISAI
 //-- NJ_RAIGEKISAI
-541,4000,0,0,0,0
+541,4000,0,0,0,0,0
 //-- NJ_KAMAITACHI
 //-- NJ_KAMAITACHI
-542,4000,0,0,0,0
+542,4000,0,0,0,0,0
 //-- NJ_NEN
 //-- NJ_NEN
-543,5000:4000:3000:2000:1000,0,0,30000:45000:60000:75000:90000,0
+543,5000:4000:3000:2000:1000,0,0,30000:45000:60000:75000:90000,0,0
+//==========================================
+
+//===== Gangsi Branch and Other Skills =====
+//-- MB_PETPITCHER
+//551,1000:1000:1000:1000:1000:500:500:500:500:500,0,0,0,0,0
+
+//-- MB_B_GAIN
+//556,2200:2000:1800:1600:1400:1200:1000,0,0,0,0,0
+
+//-- MB_MUNAKBALL
+//560,1500:1500:1500:1500:1000:1000:1000:1000:500:500,0,0,0,0,0
+
+//-- MB_B_GATHERING
+//562,10000,0,0,0,0,0
+
+//-- MB_B_EXCLUDE
+//564,30000:25000:20000:15000:10000,0,0,0,0,0
+
+//-- MB_B_WALLSHIFT
+//568,1000:800:600:400:200,0,0,0,0,0
+
+//-- SL_DEATHKNIGHT
+572,1000,500,0,150000:200000:250000:300000:350000,0,0
+//-- SL_COLLECTOR
+573,1000,500,0,150000:200000:250000:300000:350000,0,0
+//-- SL_NINJA
+574,1000,500,0,150000:200000:250000:300000:350000,0,0
+//-- SL_GUNNER
+575,1000,500,0,150000:200000:250000:300000:350000,0,0
+//-- AM_TWILIGHT4
+//576,3000,10000,0,0,0,0
+
+//-- DE_WINDATTACK
+//617,1000:1000:1000:1000:1000:0:0:0:0:0,0,0,0,0,0
+
+//-- DA_EXPLOSION
+//625,7000:6000:5000:4000:3000,0,0,0,0,0
+
+//-- DA_MAGICCART
+//640,5000:4000:3000:2000:1000,0,0,0,0,0
+//-- DA_COPY
+//641,20000,0,0,0,0,0
+
+//-- DA_EDARKNESS
+//647,13000:11000:9000:7000:5000,0,0,0,0,0
+
+//-- DA_TIMEOUT
+//649,5000:3000:1000,0,0,0,0,0
+//-- ALL_TIMEIN
+//650,0,0,0,0,0,0,1000
 //==========================================
 //==========================================
 
 
 //===== New Monster Skills =================
 //===== New Monster Skills =================
 //-- NPC_ICEBREATH
 //-- NPC_ICEBREATH
-655,0,0,0,0,12000
+655,0,0,0,0,12000,0
 //-- NPC_ACIDBREATH
 //-- NPC_ACIDBREATH
-657,0,0,0,0,60000
+657,0,0,0,0,60000,0
 //-- NPC_DRAGONFEAR (Upkeep2 times are duration of: Stun(lv1), Silence(lv2), Confusion(lv3) and Bleeding(lv4))
 //-- NPC_DRAGONFEAR (Upkeep2 times are duration of: Stun(lv1), Silence(lv2), Confusion(lv3) and Bleeding(lv4))
-659,0,0,0,0,5000:30000:30000:120000
+659,0,0,0,0,5000:30000:30000:120000,0
 //-- NPC_BLEEDING
 //-- NPC_BLEEDING
-660,0,0,0,0,120000
+660,0,0,0,0,120000,0
 //-- NPC_HELLJUDGEMENT
 //-- NPC_HELLJUDGEMENT
-662,0,0,0,0,30000
+662,0,0,0,0,30000,0
 //-- NPC_WIDESILENCE
 //-- NPC_WIDESILENCE
-663,0,0,0,0,30000
+663,0,0,0,0,30000,0
 //-- NPC_WIDEFREEZE
 //-- NPC_WIDEFREEZE
-664,0,0,0,0,12000
+664,0,0,0,0,12000,0
 //-- NPC_WIDEBLEEDING
 //-- NPC_WIDEBLEEDING
-665,0,0,0,0,120000
+665,0,0,0,0,120000,0
 //-- NPC_WIDESTONE
 //-- NPC_WIDESTONE
-666,0,0,0,0,20000
+666,0,0,0,0,20000,0
 //-- NPC_WIDECONFUSE
 //-- NPC_WIDECONFUSE
-667,0,0,0,0,30000
+667,0,0,0,0,30000,0
 //-- NPC_WIDESLEEP
 //-- NPC_WIDESLEEP
-668,0,0,0,0,30000
+668,0,0,0,0,30000,0
 //-- NPC_WIDESIGHT
 //-- NPC_WIDESIGHT
-669,0,0,0,10000,0
+669,0,0,0,10000,0,0
 //-- NPC_EVILLAND
 //-- NPC_EVILLAND
-670,0,0,0,30000,30000
+670,0,0,0,30000,30000,0
 //-- NPC_MAGICMIRROR
 //-- NPC_MAGICMIRROR
-671,0,0,0,30000,0
+671,0,0,0,30000,0,0
 //-- NPC_SLOWCAST
 //-- NPC_SLOWCAST
-672,0,0,0,0,30000
+672,0,0,0,0,30000,0
 //-- NPC_CRITICALWOUND
 //-- NPC_CRITICALWOUND
-673,0,0,0,0,30000
+673,0,0,0,0,30000,0
 //-- NPC_STONESKIN
 //-- NPC_STONESKIN
-675,0,0,0,30000,0
+675,0,0,0,30000,0,0
 //-- NPC_ANTIMAGIC
 //-- NPC_ANTIMAGIC
-676,0,0,0,30000,0
+676,0,0,0,30000,0,0
 //-- NPC_WIDECURSE
 //-- NPC_WIDECURSE
-677,0,0,0,0,30000
+677,0,0,0,0,30000,0
 //-- NPC_WIDESTUN
 //-- NPC_WIDESTUN
-678,0,0,0,0,5000
+678,0,0,0,0,5000,0
 //==========================================
 //==========================================
 
 
 //===== New Monster Skills (12.1) ==========
 //===== New Monster Skills (12.1) ==========
 //-- NPC_HELLPOWER
 //-- NPC_HELLPOWER
-683,0,0,0,0,300000
+683,0,0,0,0,300000,0
 //-- NPC_WIDEHELLDIGNITY
 //-- NPC_WIDEHELLDIGNITY
-684,0,0,0,0,300000
+684,0,0,0,0,300000,0
 //-- NPC_INVINCIBLE
 //-- NPC_INVINCIBLE
-685,0,0,0,-1,0
+685,0,0,0,-1,0,0
 //-- NPC_INVINCIBLEOFF
 //-- NPC_INVINCIBLEOFF
-686,0,0,0,60000,0
+686,0,0,0,60000,0,0
 
 
 //===== Item Use-Only Skills ===============
 //===== Item Use-Only Skills ===============
 //-- CASH_BLESSING
 //-- CASH_BLESSING
-689,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0
+689,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0
 //-- CASH_INCAGI
 //-- CASH_INCAGI
-690,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0
+690,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0
 //-- CASH_ASSUMPTIO
 //-- CASH_ASSUMPTIO
-691,0,0,0,20000:40000:60000:80000:100000,0
+691,0,0,0,20000:40000:60000:80000:100000,0,0
+//-- ALL_CATCRY
+692,0,5000,0,0,0,0
+
+//-- ALL_DREAM_SUMMERNIGHT
+695,0,12000,0,0,0,0
+
 //-- ALL_WEWISH
 //-- ALL_WEWISH
-698,0,20000,0,0,0
+698,0,20000,0,0,0,0
 //==========================================
 //==========================================
 
 
 //===== 2nd Jobs Quest Skills ==============
 //===== 2nd Jobs Quest Skills ==============
 //-- KN_CHARGEATK
 //-- KN_CHARGEATK
-1001,300,300,0,0,0
+1001,300,300,0,0,0,0
 //-- CR_SHRINK
 //-- CR_SHRINK
-1002,0,0,0,300000,0
+1002,0,0,0,300000,0,0
 
 
 //-- AS_VENOMKNIFE
 //-- AS_VENOMKNIFE
-1004,0,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
+1004,0,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0
 //-- RG_CLOSECONFINE
 //-- RG_CLOSECONFINE
-1005,0,0,0,10000,0
+1005,0,0,0,10000,0,0
 //-- WZ_SIGHTBLASTER
 //-- WZ_SIGHTBLASTER
-1006,2000,0,0,120000,0
+1006,2000,0,0,120000,0,0
 
 
 //-- SA_ELEMENTWATER
 //-- SA_ELEMENTWATER
-1008,2000,1000,0,1800000,0
+1008,2000,1000,0,1800000,0,0
 //-- HT_PHANTASMIC
 //-- HT_PHANTASMIC
-1009,0,0,0,0,0
+1009,0,0,0,0,0,0
 //-- BA_PANGVOICE
 //-- BA_PANGVOICE
-1010,1000,2000,0,17000,0
+1010,1000,2000,0,17000,0,0
 //-- DC_WINKCHARM (time1: Charm, time2: Confusion)
 //-- DC_WINKCHARM (time1: Charm, time2: Confusion)
-1011,1000,2000,0,10000,17000
+1011,1000,2000,0,10000,17000,0
 
 
 //-- BS_GREED
 //-- BS_GREED
-1013,0,1000,0,0,0
+1013,0,1000,0,0,0,0
 //-- PR_REDEMPTIO
 //-- PR_REDEMPTIO
-1014,4000,0,0,0,0
+1014,4000,0,0,0,0,0
 //-- MO_KITRANSLATION
 //-- MO_KITRANSLATION
-1015,2000,1000,0,600000,0
+1015,2000,1000,0,600000,0,0
 //-- MO_BALKYOUNG
 //-- MO_BALKYOUNG
-1016,0,2000,0,0,2000
+1016,0,2000,0,0,2000,0
 //-- SA_ELEMENTGROUND
 //-- SA_ELEMENTGROUND
-1017,2000,1000,0,1800000,0
+1017,2000,1000,0,1800000,0,0
 //-- SA_ELEMENTFIRE
 //-- SA_ELEMENTFIRE
-1018,2000,1000,0,1800000,0
+1018,2000,1000,0,1800000,0,0
 //-- SA_ELEMENTWIND
 //-- SA_ELEMENTWIND
-1019,2000,1000,0,1800000,0
+1019,2000,1000,0,1800000,0,0
+//==========================================
+
+//===== Rune Knight ========================
+//-- RK_ENCHANTBLADE
+2001,1000,0,0,300000,0,0
+//-- RK_SONICWAVE
+2002,0,1000,0,0,0,2000
+//-- RK_DEATHBOUND
+2003,0,2000,0,2000,0,3000
+//-- RK_HUNDREDSPEAR
+2004,1000,500,0,0,0,0
+//-- RK_WINDCUTTER //CHECK duration 1
+2005,0,0,0,0,0,2000
+//-- RK_IGNITIONBREAK
+2006,1000,0,0,0,0,2000
+
+//-- RK_DRAGONBREATH //CHECK duration 1 burning
+2008,500:500:500:1500:1500:1500:2000:2000:2500:2500,2000,0,5000,0,0
+//-- RK_DRAGONHOWLING
+2009,0,0,0,15000,0,60000
+
+//-- RK_MILLENNIUMSHIELD //CHECK duration 2
+2011,0,1000,0,300000,0,60000
+//-- RK_CRUSHSTRIKE
+2012,1000,0,0,0,0,30000
+//-- RK_REFRESH //CHECK duration 1
+2013,1000,0,0,30000,0,120000
+//-- RK_GIANTGROWTH
+2014,1000,0,0,300000,0,0
+//-- RK_STONEHARDSKIN //CHECK duration 2
+2015,2000,0,0,300000,10000,0
+//-- RK_VITALITYACTIVATION
+2016,0,0,0,30000,0,0
+//-- RK_STORMBLAST //CHECK duration 1
+2017,2000,1000,0,1000,0,0
+//-- RK_FIGHTINGSPIRIT
+2018,0,0,0,300000,0,0
+//-- RK_ABUNDANCE
+2019,0,0,0,300000,0,0
+//==========================================
+
+//===== Gillotine Cross ====================
+//-- GC_VENOMIMPRESS
+2021,0,3000:2500:2000:1500:1000,0,10000:20000:30000:40000:50000,0,0
+//-- GC_CROSSIMPACT
+2022,0,2500:2000:1500:1000:500,2000,0,0,0
+//-- GC_DARKILLUSION
+2023,0,1500,0,0,0,0
+
+//-- GC_CREATENEWPOISON
+2025,0,500,0,0,0,0
+//-- GC_ANTIDOTE
+2026,0,0,0,0,0,0
+//-- GC_POISONINGWEAPON -- VenomBleed Note : As poison says 15 seconds, on kRO is doing 300 seconds.
+2027,0,1000,0,60000:120000:180000:240000:300000,300000:300000:300000:300000:0:300000:300000:300000:300000:0,0
+//-- GC_WEAPONBLOCKING
+2028,0,2000,0,180000,0,0
+//-- GC_COUNTERSLASH
+2029,0,2000,0,0,0,0
+//-- GC_WEAPONCRUSH //CHECK duration 1 devist
+2030,0,1000,0,40000:80000:120000:160000:200000,0,0
+//-- GC_VENOMPRESSURE
+2031,0,1000,0,0,0,0
+//-- GC_POISONSMOKE //CHECK Cast time is said 2 second fixed, but no variable. Check duration 1 (was added / thought to be AoE duration)
+2032,2000,2000,0,6000:8000:10000:12000:14000,0,0
+//-- GC_CLOAKINGEXCEED
+2033,0,2000,0,0,0,0
+//-- GC_PHANTOMMENACE
+2034,0,1000,0,0,0,0
+//-- GC_HALLUCINATIONWALK
+2035,0,0,0,30000:35000:40000:45000:50000,25000,300000
+//-- GC_ROLLINGCUTTER //CHECK duration 1 (should be as long as esma status?)
+2036,0,200,0,4000,0,0
+//-- GC_CROSSRIPPERSLASHER
+2037,0,1000,0,0,0,0
+//==========================================
+
+//===== Arch Bishop ========================
+//-- AB_JUDEX
+2038,2500,500,0,0,0,0
+//-- AB_ANCILLA
+2039,1000,1000,0,0,0,0
+//-- AB_ADORAMUS //CHECK Duration 1 is blindness and duration 2 is reduced AGI. FIX ME!!!!
+2040,2000,500,0,6000:7000:8000:9000:10000:11000:12000:13000:14000:15000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,2000
+//-- AB_CLEMENTIA
+2041,4000,0,0,120000:180000:240000,0,0
+//-- AB_CANTO
+2042,4000,0,0,120000:180000:240000,0,0
+//-- AB_CHEAL
+2043,4000:3500:3000,0,0,0,0,1000:2000:3000
+//-- AB_EPICLESIS
+2044,4000:4500:5000:5500:6000,2000,0,18000:21000:24000:27000:30000,0,60000
+//-- AB_PRAEFATIO
+2045,3000,0,0,120000,0,13000:16000:19000:22000:25000:28000:31000:34000:37000:40000
+//-- AB_ORATIO
+2046,5000,0,0,30000,0,2000
+//-- AB_LAUDAAGNUS
+2047,1000,0,0,60000,0,3000
+//-- AB_LAUDARAMUS
+2048,1000,0,0,60000,0,3000
+
+//-- AB_RENOVATIO
+2050,5000,0,0,90000,0,1000
+//-- AB_HIGHNESSHEAL
+2051,1000,1000,0,0,0,3000:6000:9000:12000:15000
+//-- AB_CLEARANCE
+2052,4000,0,0,0,0,10000
+//-- AB_EXPIATIO
+2053,2000,0,0,150000:180000:210000:240000:270000,0,0
+//-- AB_DUPLELIGHT
+2054,4000,1000,0,90000:120000:150000:180000:210000:240000:270000:300000:330000:360000,0,0
+
+//-- AB_SILENTIUM
+2057,4000,0,0,20000:30000:40000:50000:60000,0,15000
+//==========================================
+
+//===== Warlock ============================
+//-- WL_WHITEIMPRISON //CHECK Is reuse delay hard coded to work only if successful? Duration 1 may be incorrect. Is duration 2 for if casted on self?
+2201,0,0,0,10000:12000:14000:16000:18000,5000,0
+//-- WL_SOULEXPANSION
+2202,2000,500,0,0,0,0
+//-- WL_FROSTMISTY
+2203,2500,2000,0,40000,0,8000
+//-- WL_JACKFROST
+2204,3000,2000,0,10000:15000:20000:25000:30000,0,0
+//-- WL_MARSHOFABYSS //CHECK Duration 1 time
+2205,500,1000,0,20000,0,2500:3000:3500:4000:4500
+//-- WL_RECOGNIZEDSPELL
+2206,2000,1000,0,20000:30000:40000:50000:60000,0,60000
+//-- WL_SIENNAEXECRATE // Duration of the status for this skill appears to be hard coded. Fix later????
+2207,2000,2000,0,10000:12000:14000:16000:18000,0,0
+
+//-- WL_STASIS // Duration for the status will need to be hard coded soon to make stats reduce the duration.
+2209,4000,2000,0,20000:30000:40000:50000:60000,0,180000:190000:200000:210000:220000
+//-- WL_DRAINLIFE
+2210,5000,0,0,0,0,2000
+//-- WL_CRIMSONROCK //CHECK Whats duration 1 for?
+2211,6000,2000,0,3000:4000:5000:6000:7000,0,5000
+//-- WL_HELLINFERNO
+2212,4000,1000,0,20000:30000:40000:50000:60000,0,0
+//-- WL_COMET //CHECK Is burning on duration 1 correct?
+2213,11000:12500:14000:15500:17000,5000,0,20000,0,180000
+//-- WL_CHAINLIGHTNING //CHECK Whats duration 1 used for?
+2214,4500:5000:5500:6000:6500,3000,0,1000,0,0
+
+//-- WL_EARTHSTRAIN //CHECK What is duration 2 used for?
+2216,3000:4000:5000:6000:7000,1000,0,500,60000,10000
+//-- WL_TETRAVORTEX //CHECK Duration 1 might be correct?
+2217,6000:7000:8000:9000:10000,2000,0,20000,0,15000
+
+//-- WL_SUMMONFB
+2222,2000,0,0,30000:40000:50000:60000:70000,0,0
+//-- WL_SUMMONBL
+2223,2000,0,0,30000:40000:50000:60000:70000,0,0
+//-- WL_SUMMONWB
+2224,2000,0,0,30000:40000:50000:60000:70000,0,0
+
+//-- WL_SUMMONSTONE
+2229,2000,0,0,30000:40000:50000:60000:70000,0,0
+
+//-- WL_READING_SB //CHECK Is duration 1 how long the spell will be stored for?
+2231,4000,500,0,30000,0,5000
+//==========================================
+
+//===== Ranger =============================
+//-- RA_ARROWSTORM
+2233,2500,0,0,0,0,3000
+//-- RA_FEARBREEZE
+2234,2000,0,0,60000:90000:120000:150000:180000,0,0
+
+//-- RA_AIMEDBOLT
+2236,5000,1000,0,0,0,0
+//-- RA_DETONATOR //CHECK Is this timer needed for this skill at all???
+2237,0,0,0,1000,0,0
+//-- RA_ELECTRICSHOCKER //CHECK Is duration 1 and 2 what I think it is?
+2238,0,0,0,15000,20000,0
+//-- RA_CLUSTERBOMB //CHECK Thinking the same for this one too.
+2239,0,0,0,15000,0,0
+//-- RA_WUGMASTERY
+2240,0,1000,0,0,0,0
+//-- RA_WUGRIDER
+2241,0,500,0,0,0,0
+//-- RA_WUGDASH
+2242,0,2000,0,0,0,0
+
+//-- RA_WUGBITE //CHECK Its found that the no movement duration is bugged. Keeping this at 10 sec for now.
+2244,0,2000,0,10000,0,5000
+
+//-- RA_SENSITIVEKEEN
+2246,0,3000,0,0,0,0
+//-- RA_CAMOUFLAGE
+2247,0,0,0,10000,0,0
+
+//-- RA_MAGENTATRAP //CHECK Duration 1 and 2 should be correct?
+2249,0,2000,0,15000,10000,0
+//-- RA_COBALTTRAP
+2250,0,2000,0,15000,10000,0
+//-- RA_MAIZETRAP
+2251,0,2000,0,15000,10000,0
+//-- RA_VERDURETRAP
+2252,0,2000,0,15000,10000,0
+//-- RA_FIRINGTRAP
+2253,0,0,0,15000,25000,0
+//-- RA_ICEBOUNDTRAP
+2254,0,0,0,15000,25000,0
+//==========================================
+
+//===== Mechanic ===========================
+//-- NC_BOOSTKNUCKLE
+2256,1000:1200:1400:1600:1800,0,0,0,0,0
+//-- NC_PILEBUNKER
+2257,0,2000,0,0,0,5000
+//-- NC_VULCANARM
+2258,0,500:300:100,0,0,0,0
+//-- NC_FLAMELAUNCHER
+2259,1500:1900:2300,1500:1000:500,0,7000:14000:21000,0,0
+//-- NC_COLDSLOWER //CHECK Are freezing and frozen durations correct?
+2260,1000,1000:2000:3000,0,5000:10000:15000,10000:15000:20000,0
+// -- NC_ARMSCANNON
+2261,1400:1600:1800,500:1000:2000,0,0,0,0
+//-- NC_ACCELERATION
+2262,0,0,0,30000:60000:90000,0,0
+//-- NC_HOVERING
+2263,0,0,0,30000,0,0
+//-- NC_F_SIDESLIDE
+2264,0,500,0,0,0,0
+//-- NC_B_SIDESLIDE
+2265,0,500,0,0,0,0
+
+//-- NC_SELFDESTRUCTION
+2267,3500:3000:2500,0,0,0,0,0
+//-- NC_SHAPESHIFT
+2268,2000,2000,0,300000,0,0
+//-- NC_EMERGENCYCOOL
+2269,0,500,0,0,0,5000
+//-- NC_INFRAREDSCAN
+2270,1000,500,0,10000,0,15000
+//-- NC_ANALYZE
+2271,1000,1000,0,20000,0,0
+//-- NC_MAGNETICFIELD
+2272,500:1000:1500,0,0,15000,0,300000
+//-- NC_NEUTRALBARRIER
+2273,500:1000:1500,0,0,30000:45000:60000,0,120000
+//-- NC_STEALTHFIELD
+2274,500:1000:1500,0,0,15000:20000:25000,0,120000
+//-- NC_REPAIR
+2275,500,1000,0,0,0,0
+
+//-- NC_AXEBOOMERANG
+2278,0,0,0,0,0,5000
+//-- NC_POWERSWING //CHECK Duration 1 is stun?
+2279,0,1000,0,3000,0,0
+//-- NC_AXETORNADO
+2280,0,500,0,0,0,4000:3500:3000:2500:2000
+//-- NC_SILVERSNIPER
+2281,1800:1600:1400:1200:1000,0,0,10000:15000:20000:25000:30000,0,0
+//-- NC_MAGICDECOY
+2282,1800:1600:1400:1200:1000,0,0,10000:15000:20000:25000:30000,0,0
+//-- NC_DISJOINT
+2283,2000,0,0,0,0,0
+//==========================================
+
+//===== Shadow Chaser ======================
+//-- SC_FATALMENACE
+2284,0,500,0,0,0,0
+//-- SC_REPRODUCE //CHECK Does a duration limit still exist, or it just stays on until reused?
+2285,0,1000,0,60000,0,0
+//-- SC_AUTOSHADOWSPELL
+2286,6000:5600:5200:4800:4400:4000:3600:3200:2800:2400,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:300000,0,0
+//-- SC_SHADOWFORM
+2287,0,1000,0,30000:40000:50000:60000:70000,0,0
+//-- SC_TRIANGLESHOT
+2288,1000,500,0,0,0,0
+//-- SC_BODYPAINT //CHECK Whats duration 2 do?
+2289,0,1000,0,5000:7000:9000:11000:13000,5000,2000
+//-- SC_INVISIBILITY //CHECK Is duration 1 needed for this or it lasts until your out of SP?
+2290,1000,1000,0,20000,0,300000
+//-- SC_DEADLYINFECT
+2291,0,1000,0,10000:15000:20000:25000:30000,0,2000
+//-- SC_ENERVATION
+2292,2000,1000,0,10000:15000:20000,0,2000
+//-- SC_GROOMY
+2293,2000,1000,0,10000:15000:20000,0,2000
+//-- SC_IGNORANCE
+2294,2000,1000,0,10000:15000:20000,0,2000
+//-- SC_LAZINESS
+2295,2000,1000,0,10000:15000:20000,0,2000
+//-- SC_UNLUCKY
+2296,2000,1000,0,10000:15000:20000,0,2000
+//-- SC_WEAKNESS
+2297,2000,1000,0,10000:15000:20000,0,2000
+//-- SC_STRIPACCESORY
+2298,1000,1000,0,60000:70000:80000:90000:100000,0,0
+//-- SC_MANHOLE
+2299,1000,2000,0,5000:1000:15000,5000:1000:15000,0
+//-- SC_DIMENSIONDOOR
+2300,1000,2000,0,4000:8000:12000,0,0
+//-- SC_CHAOSPANIC
+2301,2000,2000,0,5000:10000:15000,30000,0
+//-- SC_MAELSTROM
+2302,2000,2000,0,7000:14000:21000,0,0
+//-- SC_BLOODYLUST
+2303,2000,2000,0,10000:20000:30000,30000,0
+//-- SC_FEINTBOMB
+2304,1000,0,0,1000,0,5000
+//==========================================
+
+//==== Royal Guard skills ==================
+//-- LG_CANNONSPEAR
+2307,0,0,0,0,0,2000
+
+//-- LG_TRAMPLE
+2309,0,1000,0,0,0,0
+//-- LG_SHIELDPRESS
+2310,0,0,0,5500:6000:6500:7000:7500,0,2000
+//-- LG_REFLECTDAMAGE
+2311,0,0,0,300000,0,0
+//-- LG_PINPOINTATTACK //CHECK Whats duration 1 for?
+2312,0,1000,0,5000,0,5000
+//-- LG_FORCEOFVANGUARD
+2313,1000,1000,0,120000,0,0
+//-- LG_RAGEBURST
+2314,0,3000,0,0,0,0
+//-- LG_SHIELDSPELL //CHECK Shound spells the shield casts use the original duration of that skill?
+2315,1000,1000,0,3000:30000:30000,0,2000
+//-- LG_EXEEDBREAK
+2316,5000:5500:6000:6500:7000,1000,0,300000,0,0
+//-- LG_OVERBRAND
+2317,500,2000,0,0,0,0
+//-- LG_PRESTIGE
+2318,3000,0,0,30000:45000:60000:75000:90000,0,60000
+//-- LG_BANDING
+2319,0,0,0,-1,2000:4000:6000:8000:10000,0
+//-- LG_MOONSLASHER
+2320,1000,1000,0,0,0,6000:5000:4000:3000:2000
+//-- LG_RAYOFGENESIS
+2321,2500:3000:3500:4000:4500,2000,0,10000,0,5000
+//-- LG_PIETY
+2322,3000:2500:2000:1500:1000,0,0,60000:80000:100000:120000:140000,0,0
+//-- LG_EARTHDRIVE
+2323,1000,1000,0,3000:6000:9000:12000:15000,0,7000:6000:5000:4000:3000
+//-- LG_HESPERUSLIT
+2324,1000,3000,0,0,0,20000
+//-- LG_INSPIRATION
+2325,3000,2000,0,30000:45000:60000:75000:90000,0,540000:480000:420000:360000:300000
+//==========================================
+
+//===== Sura Skills ========================
+//-- SR_DRAGONCOMBO //CHECK Is stun on duration 1 correct?
+2326,0,0,0,3000,0,0
+//-- SR_SKYNETBLOW
+2327,0,500,0,0,0,0
+//-- SR_EARTHSHAKER //CHECK Duration 1 is correct, but is the stun working?
+2328,0,0,0,1000:2000:2000:3000:3000,0,3000
+//-- SR_FALLENEMPIRE //CHECK The immoble is working?
+2329,0,0,0,500:1000:1500:2000:2500,0,0
+//-- SR_TIGERCANNON
+2330,1100:1200:1300:1400:1500:1600:1700:1800:1900:2000,1000,0,0,0,5000
+
+//-- SR_RAMPAGEBLASTER
+2332,0,1000,0,0,0,10000
+//-- SR_CRESCENTELBOW
+2333,0,1000,0,10000:15000:20000:25000:30000,0,5000
+//-- SR_CURSEDCIRCLE
+2334,0,1000,0,3000:4000:5000:6000:7000,0,10000
+//-- SR_LIGHTNINGWALK
+2335,0,1000,0,10000:15000:20000:25000:30000,0,5000
+//-- SR_KNUCKLEARROW
+2336,0,1000,0,0,0,0
+//-- SR_WINDMILL
+2337,1000,500,0,0,0,3000
+//-- SR_RAISINGDRAGON //CHECK Whats the set 5 seconds in the last column for?
+2338,0,1000,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:165000,5000,30000
+
+//-- SR_ASSIMILATEPOWER
+2340,0,1000,0,0,0,5000
+//-- SR_POWERVELOCITY
+2341,2000,0,0,0,0,0
+
+//-- SR_GATEOFHELL
+2343,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,100:200:300:400:500:600:700:800:900:1000,0,0,0,5000
+//-- SR_GENTLETOUCH_QUIET
+2344,0,0,0,5000:7000:9000:11000:13000,0,1000:1500:2000:2500:3000
+//-- SR_GENTLETOUCH_CURE
+2345,0,1000,0,0,0,0
+//-- SR_GENTLETOUCH_ENERGYGAIN //CHECK Desc shows these durations. Are they good as is?
+2346,1000,1000,0,60000:120000:180000:240000:300000,0,0
+//-- SR_GENTLETOUCH_CHANGE
+2347,1000,1000,0,60000:120000:180000:240000:300000,0,0
+//-- SR_GENTLETOUCH_REVITALIZE
+2348,1000,1000,0,60000:120000:180000:240000:300000,0,0
+//==========================================
+
+//==== Wanderer skills =====================
+//-- WA_SWING_DANCE
+2350,1000,2000,0,60000,0,0
+//-- WA_SYMPHONY_OF_LOVER
+2351,1000,2000,0,60000,0,0
+//-- WA_MOONLIT_SERENADE
+2352,1000,2000,0,60000,0,0
+//==========================================
+
+//==== Minstresl skills ====================
+//-- MI_RUSH_WINDMILL
+2381,1000,2000,0,60000,0,0
+//-- MI_ECHOSONG
+2382,1000,2000,0,60000,0,0
+//-- MI_HARMONIZE
+2383,1000,1000,0,60000,0,5000
+//==========================================
+
+//==== Minstrel/Wanderer skills ============
+//-- WM_METALICSOUND
+2413,1000:1500:2000:2500:3000,1000,0,0,0,2000:2500:3000:3500:4000
+//-- WM_REVERBERATION
+2414,1100:1200:1300:1400:1500,1000,0,9000:10000:11000:12000:13000,0,0
+
+//-- WM_DOMINION_IMPULSE
+2417,0,1000,0,0,0,0
+//-- WM_SEVERE_RAINSTORM
+2418,2000:2500:3000:3500:4000,1000,0,900:1500:2100:2700:3000,0,5000
+//-- WM_POEMOFNETHERWORLD
+2419,3000,0,0,9000:11000:13000:15000:17000,8000:10000:12000:14000:16000,0
+//-- WM_VOICEOFSIREN
+2420,2000:2200:2400:2600:2800,1000,0,15000:18000:21000:24000:27000,0,5000
+//-- WM_DEADHILLHERE
+2421,4000:3500:3000:2500:2000,1000,0,0,0,0
+//-- WM_LULLABY_DEEPSLEEP
+2422,3000,1000,0,12000:14000:16000:18000:20000,0,10000
+//-- WM_SIRCLEOFNATURE
+2423,2000,1000,0,60000,0,15000
+//-- WM_RANDOMIZESPELL
+2424,0,1000,0,0,0,3000
+//-- WM_GLOOMYDAY
+2425,1500,1000,0,30000:45000:60000:75000:90000,0,3000
+//-- WM_GREAT_ECHO
+2426,2500:2700:2900:3100:3300,1000,0,0,0,10000
+//-- WM_SONG_OF_MANA
+2427,1500,1000,0,30000:60000:90000:120000:150000,0,90000
+//-- WM_DANCE_WITH_WUG
+2428,2000:2500:3000:3500:4000,1000,0,30000:60000:90000:120000:150000,0,90000
+//-- WM_SOUND_OF_DESTRUCTION
+2429,500:1000:1500:2000:2500,1000,0,0,0,20000
+//-- WM_SATURDAY_NIGHT_FEVER
+2430,2000:3000:4000:5000:6000,1000,0,20000:30000:40000:50000:60000,3000,180000
+//-- WM_LERADS_DEW
+2431,1500,1000,0,20000:30000:40000:50000:60000,0,180000
+//-- WM_MELODYOFSINK
+2432,1500,1000,0,20000:30000:40000:50000:60000,0,180000
+//-- WM_BEYOND_OF_WARCRY
+2433,1500,1000,0,20000:30000:40000:50000:60000,0,180000
+//-- WM_UNLIMITED_HUMMING_VOICE
+2434,1500,1000,0,20000:30000:40000:50000:60000,0,180000
+//==========================================
+
+//==== Sorcerer skills =====================
+//-- SO_FIREWALK //CHECK Duration 2 needs to be added for the PROPERTYWALK status ID. Ask me for more info. [Rytech]
+2443,1000,1000,0,12000,0,0
+//-- SO_ELECTRICWALK //CHECK Duration 2 needs to be added for the PROPERTYWALK status ID. Ask me for more info. [Rytech]
+2444,1000,1000,0,12000,0,0
+//-- SO_SPELLFIST
+2445,0,1000,0,20000:25000:30000:35000:40000,0,0
+//-- SO_EARTHGRAVE
+2446,2200:2400:2600:2800:3000,1000,0,500,8000:11000:14000:17000:20000,5000
+//-- SO_DIAMONDDUST
+2447,5500:6000:6500:7000:7500,1000,0,500,12000:14000:16000:18000:20000,5000
+//-- SO_POISON_BUSTER
+2450,2000:3000:4000:5000:6000,1000,0,0,0,2000
+//-- SO_PSYCHIC_WAVE
+2449,9000:9900:10800:11700:12600,1000,0,1200:1700:2200:2700:3200,0,5000
+//-- SO_CLOUD_KILL
+2450,3300:3500:3700:3900:4100,1000,0,8000:10000:12000:14000:16000,10000:15000:20000:25000:30000,5000
+//-- SO_STRIKING
+2451,3000,1000,0,60000,0,2000
+//-- SO_WARMER
+2452,1700:1900:2100:2300:2500,1000,0,40000:45000:50000:55000:60000,30000,60000
+//-- SO_VACUUM_EXTREME //CHECK Whats duration 2 used for? Is it part of holding the player in place until duration 1 ends?
+2453,1000:1500:2000:2500:3000,1000,0,4000:6000:8000:10000:12000,1000,5000
+//-- SO_VARETYR_SPEAR //CHECK Duration 2 is used for the stun?
+2454,1700:1900:2100:2300:2500,1000,0,0,3000,2000
+//-- SO_ARULLO
+2455,1500:2000:2500:3000:3500,1000,0,8000:10000:12000:14000:16000,0,5000:6000:7000:8000:9000
+//-- SO_EL_CONTROL
+2456,2000,0,0,0,0,5000
+//-- SO_SUMMON_AGNI //CHECK Yoyo says the cooldown is 5 seconds. Need to confirm.
+2457,3000:4000:5000,0,0,600000:900000:1200000,0,60000
+//-- SO_SUMMON_AQUA //CHECK Yoyo says the cooldown is 5 seconds. Need to confirm.
+2458,3000:4000:5000,0,0,600000:900000:1200000,0,60000
+//-- SO_SUMMON_VENTUS //CHECK Yoyo says the cooldown is 5 seconds. Need to confirm.
+2459,3000:4000:5000,0,0,600000:900000:1200000,0,60000
+//-- SO_SUMMON_TERA //CHECK Yoyo says the cooldown is 5 seconds. Need to confirm.
+2460,3000:4000:5000,0,0,600000:900000:1200000,0,60000
+//-- SO_EL_ACTION
+2461,0,0,0,0,0,5000
+//-- SO_EL_ANALYSIS
+2462,2000,0,0,0,0,0
+
+//-- SO_EL_CURE
+2464,2000,1000,0,0,0,0
+//-- SO_FIRE_INSIGNIA
+2465,2000,0,0,60000,0,60000
+//-- SO_WATER_INSIGNIA
+2466,2000,0,0,60000,0,60000
+//-- SO_WIND_INSIGNIA
+2467,2000,0,0,60000,0,60000
+//-- SO_EARTH_INSIGNIA
+2468,2000,0,0,60000,0,60000
+//==========================================
+
+//==== Genetic skills ======================
+//-- GN_CART_TORNADO //CHECK Duration 1 used for stun?
+2476,0,500,0,5000,0,0:500:1000:1500:2000
+//-- GN_CARTCANNON
+2477,1000:1500:2000:2500:3000,500,0,0,0,0
+//-- GN_CARTBOOST
+2478,1500,500,0,90000,0,0
+//-- GN_THORNS_TRAP
+2479,1500,500,0,10000:12000:14000:16000:18000,20000,0
+//-- GN_BLOOD_SUCKER
+2480,1500,500,0,20000:22000:24000:26000:28000,0,0
+//-- GN_SPORE_EXPLOSION
+2481,1500,500,0,2000:2000:3000:3000:4000,0,5000
+//-- GN_WALLOFTHORN
+2482,1500,500,0,10000:11000:12000:13000:14000,0,5000
+//-- GN_CRAZYWEED //CHECK Will need to recheck this skill later if durations needs to be set.
+2483,3000:3500:4000:4500:5000:5500:6000:6500:7000:7500,500,0,0,0,5000
+
+//-- GN_DEMONIC_FIRE //CHECK Is duration 2 the burning?
+2485,3000:3500:4000:4500:5000,500,0,10000:12000:14000:16000:18000,10000,5000
+//-- GN_FIRE_EXPANSION
+2486,2000,500,0,0,0,0
+//-- GN_FIRE_EXPANSION_SMOKE_POWDER
+2487,0,0,0,10000:12000:14000:16000:18000,0,0
+//-- GN_FIRE_EXPANSION_TEAR_GAS
+2488,0,0,0,10000:12000:14000:16000:18000,0,0
+
+//-- GN_HELLS_PLANT
+2490,3000:3500:4000:4500:5000,500,0,40000,0,0
+//-- GN_HELLS_PLANT_ATK //CHECK Guessing durations 1 and 2 are for stun and bleeding.
+2491,0,0,0,6000,16000,0
+//-- GN_MANDRAGORA
+2492,1000,500,0,30000,0,10000
+//-- GN_SLINGITEM //CHECK Whats durations 1 and 2 used for?
+2493,0,0,0,77000,10000,1000
+
+//-- GN_SLINGITEM_RANGEMELEEATK //CHECK Whats duration 1 used for?
+2498,0,0,0,3000,0,0
+//==========================================
+
+//===== Extra 3rd Class Skills =============
+//-- AB_SECRAMENT
+2515,2000,500,0,60000:90000:120000:150000:180000,0,0
+
+//-- SR_HOWLINGOFLION //CHECK Is duration 1 correct for fear?
+2517,1500,0,0,10000,0,10000
+//-- SR_RIDEINLIGHTNING
+2518,0,200,0,0,0,1000
+//==========================================
+
+//===== Misc. Skills =======================
+//-- ALL_ODINS_RECALL
+2533,10000,0,0,0,0,300000
+//-- RETURN_TO_ELDICASTES
+2534,2000,0,0,0,2000,300000
+
+//-- ALL_GUARDIAN_RECALL
+//2536,2000,0,0,0,2000,300000
 //==========================================
 //==========================================
 
 
 //===== Homunculus Skills ==================
 //===== Homunculus Skills ==================
 //-- HLIF_HEAL
 //-- HLIF_HEAL
-8001,0,2000,0,0,0
+8001,0,2000,0,0,0,0
 //-- HLIF_AVOID
 //-- HLIF_AVOID
-8002,0,35000,0,40000:35000:30000:25000:20000,0
+8002,0,35000,0,40000:35000:30000:25000:20000,0,0
 //-- HLIF_CHANGE
 //-- HLIF_CHANGE
-8004,0,600000:900000:1200000,0,60000:120000:180000,0
+8004,0,600000:900000:1200000,0,60000:120000:180000,0,0
 //-- HAMI_CASTLE
 //-- HAMI_CASTLE
-8005,0,0,0,0,60000:70000:80000:90000:129000
+8005,0,0,0,0,60000:70000:80000:90000:129000,0
 //-- HAMI_DEFENCE
 //-- HAMI_DEFENCE
-8006,0,0,0,40000:35000:30000:25000:20000,0
+8006,0,0,0,40000:35000:30000:25000:20000,0,0
 //-- HAMI_BLOODLUST
 //-- HAMI_BLOODLUST
-8008,0,0,0,60000:180000:300000,300000:600000:900000
+8008,0,0,0,60000:180000:300000,300000:600000:900000,0
 //-- HFLI_MOON
 //-- HFLI_MOON
-8009,0,0,1000,0,0
+8009,0,0,1000,0,0,0
 //-- HFLI_FLEET
 //-- HFLI_FLEET
-8010,0,0,0,60000:55000:50000:45000:40000,60000:70000:80000:90000:120000
+8010,0,0,0,60000:55000:50000:45000:40000,60000:70000:80000:90000:120000,0
 //-- HFLI_SPEED
 //-- HFLI_SPEED
-8011,0,0,0,60000:55000:50000:45000:40000,60000:70000:80000:90000:120000
+8011,0,0,0,60000:55000:50000:45000:40000,60000:70000:80000:90000:120000,0
 //-- HVAN_CAPRICE
 //-- HVAN_CAPRICE
-8013,0,1000:1200:1400:1600:1800,0,0,0
+8013,0,1000:1200:1400:1600:1800,0,0,0,0
 //-- HVAN_CHAOTIC
 //-- HVAN_CHAOTIC
-8014,0,1000,1000,0,0
+8014,0,1000,1000,0,0,0
 //-- HVAN_EXPLOSION
 //-- HVAN_EXPLOSION
-8016,0,0,1000,0,0
+8016,0,0,1000,0,0,0
+//==========================================
+
+//===== Mutated Homunculus Skills ========== CHECK - Need Aftercast and Cooldown times for these skills [Rytech]
+//-- MH_SUMMON_LEGION
+8018,2000,0,0,20000:30000:40000:50000:60000,0,0
+//-- MH_NEEDLE_OF_PARALYZE = Whats the duration of the paralyze status? [Rytech]
+8019,1500,0,0,0,0,0
+//-- MH_POISON_MIST
+8020,1000:1200:1400:1600:1800,0,0,12000:14000:16000:18000:20000,0,0
+//-- MH_PAIN_KILLER
+8021,2000,0,0,20000:30000:40000:50000:60000,0,0
+//-- MH_LIGHT_OF_REGENE
+8022,1600:1400:1200:1000:800,0,0,360000:420000:480000:540000:600000,0,0
+//-- MH_OVERED_BOOST
+8023,1000,0,0,30000:45000:60000:75000:90000,0,0
+//-- MH_ERASER_CUTTER
+8024,1000:1500:2000:2500:3000,0,0,0,0,0
+//-- MH_XENO_SLASHER - CHECK Whats the duration of bleeding status? [Rytech]
+8025,2000:3000:4000:5000:6000,0,0,500,0,0
+//-- MH_SILENT_BREEZE
+8026,2000,0,0,9000:12000:15000:18000:21000,0,0
+//-- MH_STYLE_CHANGE
+//8027,0,0,0,0,0,0,0
+//-- MH_SONIC_CRAW
+//8028,0,0,0,0,0,0,0
+//-- MH_SILVERVEIN_RUSH
+//8029,0,0,0,0,0,0,0
+//-- MH_MIDNIGHT_FRENZY
+//8030,0,0,0,0,0,0,0
+//-- MH_STAHL_HORN - CHECK Stun duration is the same as regular stun? [Rytech]
+8031,1000,0,0,0,0,0
+//-- MH_GOLDENE_FERSE
+8032,1000:1200:1400:1600:1800,0,0,30000:45000:60000:75000:90000,0,0
+//-- MH_STEINWAND
+8033,1000,0,0,30000:45000:60000:75000:90000,0,0
+//-- MH_HEILIGE_STANGE
+8034,2000,0,0,0,0,0
+//-- MH_ANGRIFFS_MODUS
+8035,200:400:600:800:1000,0,0,30000:45000:60000:75000:90000,0,0
+//-- MH_TINDER_BREAKER
+//8036,0,0,0,0,0,0,0
+//-- MH_CBC
+//8037,0,0,0,0,0,0,0
+//-- MH_EQC
+//8038,0,0,0,0,0,0,0
+//-- MH_MAGMA_FLOW
+8039,4000,0,0,30000:45000:60000:75000:90000,0,0
+//-- MH_GRANITIC_ARMOR
+8040,6000:5500:5000:4500:4000,0,0,0,0,0
+//-- MH_LAVA_SLIDE
+8041,6000:5500:5000:4500:4000,0,0,12000:14000:16000:18000:20000,0,0
+//-- MH_PYROCLASTIC
+8042,6000:5500:5000:4500:4000,0,0,60000:90000:120000:150000:180000,0,0
+//-- MH_VOLCANIC_ASH
+8043,5000:4500:4000:3500:3000,0,0,12000:14000:16000:18000:20000,0,0
 //==========================================
 //==========================================
 
 
 //===== Mercenary Skills ===================
 //===== Mercenary Skills ===================
 //-- MS_MAGNUM
 //-- MS_MAGNUM
-8202,0,0,0,2000,10000
+8202,0,0,2000,2000,10000,0
 //-- KN_BOWLINGBASH
 //-- KN_BOWLINGBASH
-8203,700,0,0,0,0
+8203,700,0,0,0,0,0
 //-- LK_PARRYING
 //-- LK_PARRYING
-8204,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0
+8204,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,0
 //-- CR_REFLECTSHIELD
 //-- CR_REFLECTSHIELD
-8205,0,0,0,300000,0
+8205,0,0,0,300000,0,0
 //-- MS_BERSERK
 //-- MS_BERSERK
-8206,0,0,0,300000,15000
+8206,0,0,0,300000,15000,0
 //-- MA_DOUBLE
 //-- MA_DOUBLE
-8207,0,0,0,100,0
+8207,0,0,0,100,0,0
 //-- MA_SHOWER
 //-- MA_SHOWER
-8208,0,0,0,100,0
+8208,0,0,0,100,0,0
 //-- MA_SKIDTRAP
 //-- MA_SKIDTRAP
-8209,0,0,0,300000:240000:180000:120000:60000,0
+8209,0,0,0,300000:240000:180000:120000:60000,0,0
 //-- MA_LANDMINE
 //-- MA_LANDMINE
-8210,0,0,0,200000:160000:120000:80000:40000,5000
+8210,0,0,0,200000:160000:120000:80000:40000,5000,0
 //-- MA_SANDMAN
 //-- MA_SANDMAN
-8211,0,0,0,150000:120000:90000:60000:30000,12000:14000:16000:18000:20000
+8211,0,0,0,150000:120000:90000:60000:30000,12000:14000:16000:18000:20000,0
 //-- MA_FREEZINGTRAP
 //-- MA_FREEZINGTRAP
-8212,0,0,0,150000:120000:90000:60000:30000,3000:6000:9000:12000:15000
+8212,0,0,0,150000:120000:90000:60000:30000,3000:6000:9000:12000:15000,0
 //-- MA_CHARGEARROW
 //-- MA_CHARGEARROW
-8214,1500,0,0,0,0
+8214,1500,0,0,0,0,0
 //-- MA_SHARPSHOOTING
 //-- MA_SHARPSHOOTING
-8215,2000,1500,0,0,0
+8215,2000,1500,0,0,0,0
 //-- ML_BRANDISHSPEAR
 //-- ML_BRANDISHSPEAR
-8217,700,0,0,0,0
+8217,700,0,0,0,0,0
 //-- ML_SPIRALPIERCE
 //-- ML_SPIRALPIERCE
-8218,300:500:700:900:1000,1200:1400:1600:1800:2000,0,0,1000
+8218,300:500:700:900:1000,1200:1400:1600:1800:2000,0,0,1000,0
 //-- ML_DEFENDER
 //-- ML_DEFENDER
-8219,0,800,0,180000,0
+8219,0,800,0,180000,0,0
 //-- ML_AUTOGUARD
 //-- ML_AUTOGUARD
-8220,0,0,0,300000,0
+8220,0,0,0,300000,0,0
 //-- ML_DEVOTION
 //-- ML_DEVOTION
-8221,3000,0,0,0,30000:45000:60000:75000:90000
+8221,3000,0,0,0,30000:45000:60000:75000:90000,0
 //-- MER_MAGNIFICAT
 //-- MER_MAGNIFICAT
-8222,4000,2000,0,30000:45000:60000:75000:90000,0
+8222,4000,2000,0,30000:45000:60000:75000:90000,0,0
 //-- MER_QUICKEN
 //-- MER_QUICKEN
-8223,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0
+8223,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0
 //-- MER_SIGHT
 //-- MER_SIGHT
-8224,0,0,0,10000,0
+8224,0,0,0,10000,0,0
 //-- MER_CRASH
 //-- MER_CRASH
-8225,1000,2000,0,0,5000
+8225,1000,2000,0,0,5000,0
 //-- MER_PROVOKE
 //-- MER_PROVOKE
-8232,0,0,0,30000,0
+8232,0,0,0,30000,0,0
 //-- MER_DECAGI
 //-- MER_DECAGI
-8234,1000,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000,0
+8234,1000,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000,0,0
 //-- MER_SCAPEGOAT
 //-- MER_SCAPEGOAT
-8235,3000,0,0,0,0
+8235,3000,0,0,0,0,0
 //-- MER_LEXDIVINA
 //-- MER_LEXDIVINA
-8236,0,3000,0,30000:35000:40000:45000:50000:60000:60000:60000:60000:60000,0
+8236,0,3000,0,30000:35000:40000:45000:50000:60000:60000:60000:60000:60000,0,0
 //-- MER_KYRIE
 //-- MER_KYRIE
-8238,2000,2000,0,120000,0
+8238,2000,2000,0,120000,0,0
 //-- MER_BLESSING
 //-- MER_BLESSING
-8239,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0
+8239,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0
 //-- MER_INCAGI
 //-- MER_INCAGI
-8240,1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0
+8240,1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0
+//==========================================
+
+//===== Elemental Skills =======================
+//-- EL_CIRCLE_OF_FIRE
+8401,0,0,0,-1,0,0
+//-- EL_FIRE_CLOAK
+8402,0,0,0,-1,0,0
+//-- EL_FIRE_MANTLE
+8403,0,0,0,15000,0,0
+//-- EL_WATER_SCREEN
+8404,0,0,0,-1,0,0
+//-- EL_WATER_DROP
+8405,0,0,0,-1,0,0
+//-- EL_WATER_BARRIER
+8406,1000,0,0,15000,0,0
+//-- EL_WIND_STEP
+8407,0,0,0,-1,0,0
+//-- EL_WIND_CURTAIN
+8408,0,0,0,-1,0,0
+//-- EL_ZEPHYR
+8409,0,0,0,15000,0,0
+//-- EL_STONE_SHIELD
+8411,0,0,0,-1,0,0
+//-- EL_POWER_OF_GAIA
+8412,0,0,0,15000,0,0
+//-- EL_PYROTECHNIC
+8413,0,0,0,-1,0,0
+//-- EL_HEATER
+8414,0,0,0,-1,0,0
+//-- EL_TROPIC
+8415,0,0,0,-1,0,0
+//-- EL_AQUAPLAY
+8416,0,0,0,-1,0,0
+//-- EL_COOLER
+8417,0,0,0,-1,0,0
+//-- EL_CHILLY_AIR
+8418,0,0,0,-1,0,0
+//-- EL_GUST
+8419,0,0,0,-1,0,0
+//-- EL_BLAST
+8420,0,0,0,-1,0,0
+//-- EL_WILD_STORM
+8421,0,0,0,-1,0,0
+//-- EL_PETROLOGY
+8422,0,0,0,-1,0,0
+//-- EL_CURSED_SOIL
+8423,0,0,0,-1,0,0
+//-- EL_UPHEAVAL
+8424,0,0,0,-1,0,0
+//-- EL_TIDAL_WEAPON
+8433,0,0,0,-1,0,0
+//-- EL_TYPOON_MIS
+8437,0,0,0,15000,0,0
+//-- EL_STONE_HAMMER
+8439,0,0,0,5000,0,0
+//-- EL_ROCK_CRUSHER
+8440,0,0,0,15000,0,0
+//-- EL_ROCK_CRUSHER_ATK
+8441,0,0,0,15000,0,0
 //==========================================
 //==========================================
 
 
 //===== Guild Skills =======================
 //===== Guild Skills =======================
 //-- GD_LEADERSHIP
 //-- GD_LEADERSHIP
-10006,0,0,0,300000,0
+10006,0,0,0,300000,0,0
 //-- GD_GLORYWOUNDS
 //-- GD_GLORYWOUNDS
-10007,0,0,0,300000,0
+10007,0,0,0,300000,0,0
 //-- GD_SOULCOLD
 //-- GD_SOULCOLD
-10008,0,0,0,300000,0
+10008,0,0,0,300000,0,0
 //-- GD_HAWKEYES
 //-- GD_HAWKEYES
-10009,0,0,0,300000,0
+10009,0,0,0,300000,0,0
 //-- GD_BATTLEORDER
 //-- GD_BATTLEORDER
-10010,0,0,0,60000,300000
+10010,0,0,0,60000,300000,0
 //-- GD_REGENERATION
 //-- GD_REGENERATION
-10011,0,0,0,60000,300000
+10011,0,0,0,60000,300000,0
 //-- GD_RESTORE
 //-- GD_RESTORE
-10012,10000,0,0,0,300000
+10012,10000,0,0,0,300000,0
 //-- GD_EMERGENCYCALL
 //-- GD_EMERGENCYCALL
-10013,5000,0,0,0,300000
+10013,5000,0,0,0,300000,0
 //==========================================
 //==========================================

+ 151 - 22
db/skill_db.txt

@@ -124,7 +124,8 @@
 79,9,8,2,6,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0,	PR_MAGNUS,Magnus Exorcismus
 79,9,8,2,6,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0,	PR_MAGNUS,Magnus Exorcismus
 80,9,8,2,3,0x20,1:1:1:1:1:2:2:2:2:2:2,10,3:4:5:6:7:8:9:10:11:12:12,yes,0,0x80,5,magic,0,	WZ_FIREPILLAR,Fire Pillar
 80,9,8,2,3,0x20,1:1:1:1:1:2:2:2:2:2:2,10,3:4:5:6:7:8:9:10:11:12:12,yes,0,0x80,5,magic,0,	WZ_FIREPILLAR,Fire Pillar
 81,0,6,4,3,0,3,10,1,yes,0,0,0,magic,5,		WZ_SIGHTRASHER,Sightrasher
 81,0,6,4,3,0,3,10,1,yes,0,0,0,magic,5,		WZ_SIGHTRASHER,Sightrasher
-//82,9,6,2,3,0,0,10,1,yes,0,0,0,magic,0,		WZ_FIREIVY,Fire Ivy
+82,9,8,2,4,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0,	WZ_FIREIVY,Fire Ivy
+//82,9,6,2,3,0,0,10,1,yes,0,0x200,1,magic,0,		WZ_FIREIVY,Fire Ivy
 83,9,8,2,3,0,3:3:3:3:3:3:3:3:3:3:14,10,1:1:2:2:3:3:4:4:5:5:15,yes,0,0,0,magic,0,	WZ_METEOR,Meteor Storm
 83,9,8,2,3,0,3:3:3:3:3:3:3:3:3:3:14,10,1:1:2:2:3:3:4:4:5:5:15,yes,0,0,0,magic,0,	WZ_METEOR,Meteor Storm
 84,9,8,1,4,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,2:3:3:4:4:5:5:6:6:7,	WZ_JUPITEL,Jupitel Thunder
 84,9,8,1,4,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,2:3:3:4:4:5:5:6:6:7,	WZ_JUPITEL,Jupitel Thunder
 85,9,8,2,4,0,0,10,-10,yes,0,0,0,magic,0,		WZ_VERMILION,Lord of Vermilion
 85,9,8,2,4,0,0,10,-10,yes,0,0,0,magic,0,		WZ_VERMILION,Lord of Vermilion
@@ -663,27 +664,155 @@
 1018,9,6,1,3,0x1,0,1,1,yes,0,0x1,0,magic,0,	SA_ELEMENTFIRE,Elemental Change Fire
 1018,9,6,1,3,0x1,0,1,1,yes,0,0x1,0,magic,0,	SA_ELEMENTFIRE,Elemental Change Fire
 1019,9,6,1,4,0x1,0,1,1,yes,0,0x1,0,magic,0,	SA_ELEMENTWIND,Elemental Change Wind
 1019,9,6,1,4,0x1,0,1,1,yes,0,0x1,0,magic,0,	SA_ELEMENTWIND,Elemental Change Wind
 
 
-// Third Job Skills
-//2001,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_ENCHANTBLADE,
-//2002,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_SONICWAVE,
-//2003,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_DEATHBOUND,
-//2004,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_HUNDREDSPEAR,
-//2005,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_WINDCUTTER,
-//2006,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_IGNITIONBREAK,
-//2007,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_DRAGONTRAINING,
-//2008,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_DRAGONBREATH,
-//2009,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_DRAGONHOWLING,
-//2010,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_RUNEMASTERY,
-//2011,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_MILLENNIUMSHIELD,
-//2012,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_CRUSHSTRIKE,
-//2013,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_REFRESH,
-//2014,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_GIANTGROWTH,
-//2015,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_STONEHARDSKIN,
-//2016,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_VITALITYACTIVATION,
-//2017,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_STORMBLAST,
-//2018,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_FIGHTINGSPIRIT,
-//2019,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_ABUNDANCE,
-//2020,0,0,0,0,0,0,9,0,no,0,0,0,none,0		RK_PHANTOMTHRUST,
+//****
+// RK Rune Knight
+//****
+2001,1,6,16,0,0x1,0,5,1,yes,0,0,0,none,0,	RK_ENCHANTBLADE,Enchant Blade
+2002,7:8:9:10:11,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,	RK_SONICWAVE,Sonic Wave
+2003,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,	RK_DEATHBOUND,Death Bound
+2004,1,8,1,-1,0,0,10,-5,no,0,0,0,weapon,0,	RK_HUNDREDSPEAR,Hundred Spear
+2005,1,6,2,4,0x2,2,5,1,no,0,0,0,weapon,3,	RK_WINDCUTTER,Wind Cutter
+2006,0,6,4,-1,0x2,5,5,1,no,0,0,0,weapon,0,	RK_IGNITIONBREAK,Ignition Break
+2007,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,		RK_DRAGONTRAINING,Dragon Training
+2008,9,6,2,3,0xC2,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,misc,0,	RK_DRAGONBREATH,Dragon Breath //CHECK May have to change this back to a weapon type attack.
+2009,0,6,4,0,0x3,3:4:5:6:7,5,1,yes,0,0,0,weapon,0,	RK_DRAGONHOWLING,Dragon Howling
+2010,0,0,0,0,0,0,10,0,no,0,0,0,none,0,		RK_RUNEMASTERY,Rune Mastery
+2011,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,	RK_MILLENNIUMSHIELD,Millenium Shield
+2012,1,6,1,-1,0,0x8,1,1,yes,0,0,0,weapon,0,	RK_CRUSHSTRIKE,Crush Strike
+2013,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,	RK_REFRESH,Refresh
+2014,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,	RK_GIANTGROWTH,Giant Growth
+2015,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,	RK_STONEHARDSKIN,Stone Hard Skin
+2016,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0,	RK_VITALITYACTIVATION,Vitality Activation
+2017,0,6,4,-1,0x2,3,1,1,no,0,0,0,weapon,7,	RK_STORMBLAST,Storm Blast
+2018,0,6,4,0,0x3,-1,1,1,yes,0,0,0,none,0,	RK_FIGHTINGSPIRIT,Fighting Spirit //CHECK Is this splash needed?
+2019,9,6,4,6,0x1,0,1,1,yes,0,0,0,none,0,	RK_ABUNDANCE,Abundance
+2020,5:6:7:8:9,6,1,-1,0,0,5,1,yes,0,0,0,weapon,0,	RK_PHANTOMTHRUST,Phantom Thrust
+
+//****
+// WL Warlock
+//****
+2201,11,6,16,0,0,0,5,1,yes,0,0,0,magic,0,	WL_WHITEIMPRISON,White Imprison
+2202,11,8,1,8,0x2,1:1:1:2:2,5,-2,yes,0,0,0,magic,0,	WL_SOULEXPANSION,Soul Expansion
+2203,0,8,4,1,0x2,13,5,-3:-4:-5:-6:-7,yes,0,0,0,magic,0,	WL_FROSTMISTY,Frosty Misty
+2204,0,8,4,1,0x2,13,5,-5,yes,0,0,0,magic,0,	WL_JACKFROST,Jack Frost
+2205,11,6,1,0,0x1,0,5,1,yes,0,0,0,magic,0,	WL_MARSHOFABYSS,Marsh of Abyss
+2206,0,6,4,0,0x1,0,5,1,yes,0,0,0,magic,0,	WL_RECOGNIZEDSPELL,Recognized Spell
+2207,7,6,1,2,0x3,1:2:2:3:3,5,1,yes,0,0,0,magic,0,	WL_SIENNAEXECRATE,Sienna Execrate
+2208,0,0,0,0,0,0,3,0,no,0,0,0,none,0,		WL_RADIUS,Radius
+2209,0,6,4,0,0x3,9:10:11:12:13,5,1,yes,0,0,0,magic,0,	WL_STASIS,Stasis
+2210,11,6,1,0,0,0,5,1,yes,0,0,0,magic,0,	WL_DRAINLIFE,Drain Life
+2211,11,8,1,3,0x2,3,5,-7,yes,0,0,0,magic,3,	WL_CRIMSONROCK,Crimson Rock
+2212,11,6,1,3,0,0,5,1,yes,0,0,0,magic,0,	WL_HELLINFERNO,Hell Inferno
+2213,11,8,2,0,0x2,15,5,-20,yes,0,0,0,magic,2,	WL_COMET,Comet //CHECK AoE in official code appears to be 15 x 15, yet casting circle is much bigger then that.
+2214,11,6,1,0,0,3,5,1,yes,0,0,0,magic,0,		WL_CHAINLIGHTNING,Chain Lightning //CHECK Is the splash being used for the target search?
+2215,11,6,1,4,0,0,5,1,no,0,0,0,magic,0,		WL_CHAINLIGHTNING_ATK,Chain Lightning Attack
+2216,3,8,2,2,0,0,5,-6:-7:-8:-9:-10,yes,0,0,0,magic,0,	WL_EARTHSTRAIN,Earth Strain
+2217,11,6,1,0,0,0,5,1,yes,0,0,0,magic,0,	WL_TETRAVORTEX,Tetra Vortex
+2218,11,6,1,3,0,0,5,1,no,0,0,0,magic,0,		WL_TETRAVORTEX_FIRE,Tetra Vortex Fire
+2219,11,6,1,1,0,0,5,1,no,0,0,0,magic,0,		WL_TETRAVORTEX_WATER,Tetra Vortex Water
+2220,11,6,1,4,0,0,5,1,no,0,0,0,magic,0,		WL_TETRAVORTEX_WIND,Tetra Vortex Wind
+2221,11,6,1,2,0,0,5,1,no,0,0,0,magic,0,		WL_TETRAVORTEX_GROUND,Tetra Vortex Earth
+2222,0,6,4,3,0x1,0,5,1,yes,0,0,0,magic,0,	WL_SUMMONFB,Summon Fire Ball
+2223,0,6,4,4,0x1,0,5,1,yes,0,0,0,magic,0,	WL_SUMMONBL,Summon Lightning Ball
+2224,0,6,4,1,0x1,0,5,1,yes,0,0,0,magic,0,	WL_SUMMONWB,Summon Water Ball
+2225,11,6,1,3,0,0,5,1,no,0,0,1,magic,0,		WL_SUMMON_ATK_FIRE,Summon Attack Fire //CHECK Summon attack ID's dont appear to have a range.
+2226,11,6,1,4,0,0,5,1,no,0,0,1,magic,0,		WL_SUMMON_ATK_WIND,Summon Attack Wind
+2227,11,6,1,1,0,0,5,1,no,0,0,1,magic,0,		WL_SUMMON_ATK_WATER,Summon Attack Water
+2228,11,6,1,2,0,0,5,1,no,0,0,1,magic,0,		WL_SUMMON_ATK_GROUND,Summon Attack Earth
+2229,0,6,4,2,0x1,0,5,1,yes,0,0,0,magic,0,	WL_SUMMONSTONE,Summon Stone
+2230,11,8,1,0,0,0,2,1,yes,0,0,0,magic,0,	WL_RELEASE,Release //CHECK Should it be left to do multi hit or single hit?
+2231,0,6,4,0,0x1,0,1,1,yes,0,0,0,magic,0,	WL_READING_SB,Reading Spellbook
+2232,0,0,0,0,0,0,5,0,no,0,0,0,none,0,		WL_FREEZE_SP,Freeze Spell
+
+
+//****
+// GC Guillotine Cross
+//****
+
+//****
+// AB Arch Bishop
+//****
+2038,11,8,1,6,0x2,3,5,-3,yes,0,0,0,magic,0,	AB_JUDEX,Judex
+2039,0,6,4,0,0x1,0,1,1,yes,0,0,0,magic,0,	AB_ANCILLA,Ancilla
+2040,11,8,1,6,0,0,10,-10,yes,0,0,0,magic,0,	AB_ADORAMUS,Adoramus
+2041,0,6,4,6,0x3,3:7:15,3,1,yes,0,0,0,magic,0,	AB_CLEMENTIA,Crementia
+2042,0,6,4,6,0x3,3:7:15,3,1,yes,0,0,0,magic,0,	AB_CANTO,Canto Candidus
+2043,0,6,4,6,0x3,3:7:15,3,1,yes,0,0,0,magic,0,	AB_CHEAL,Coluceo Heal
+2044,11,6,2,6,0x1,0,5,1,yes,0,0,1,magic,0,	AB_EPICLESIS,Epiclesis
+2045,0,6,4,6,0x3,15,10,1,yes,0,0,0,magic,0,	AB_PRAEFATIO,Praefatio
+2046,0,6,4,6,0x3,15,10,1,yes,0,0,0,magic,0,	AB_ORATIO,Oratio
+2047,0,6,4,6,0x3,15,4,1,yes,0,0,0,magic,0,	AB_LAUDAAGNUS,Lauda Agnus
+2048,0,6,4,6,0x3,15,4,1,yes,0,0,0,magic,0,	AB_LAUDARAMUS,Lauda Ramus
+2049,0,0,0,0,0,0,10,0,no,0,0,0,none,0,		AB_EUCHARISTICA,Eucharistica
+2050,11,6,16,6,0x1,0,1,1,yes,0,0,0,magic,0,	AB_RENOVATIO,Renovatio
+2051,11,6,16,6,0x21,0,5,1,yes,0,0,0,magic,0,	AB_HIGHNESSHEAL,Highness Heal //CHECK Info shows this has magic attack.
+2052,11,6,1,0,0x1,0,5,1,yes,0,0xA00,0,magic,0,	AB_CLEARANCE,Clearance //CHECK Also shows this as a magic attack. Why?
+2053,0,6,4,0,0x1,0,5,1,yes,0,0,0,magic,0,	AB_EXPIATIO,Expiatio //CHECK Does this also give the buff to party members?
+2054,0,6,4,6,0x1,0,10,1,yes,0,0,0,none,0,	AB_DUPLELIGHT,Duple Light //CHECK Had issues adding a skill level check to make the % go higher with the skills level. Will do later.
+2055,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,	AB_DUPLELIGHT_MELEE,Duple Light Melee
+2056,-1,6,1,0,0,0,10,1,no,0,0,0,magic,0,	AB_DUPLELIGHT_MAGIC,Duple Light Magic
+2057,0,6,4,6,0x3,4:5:6:7:8,5,1,yes,0,0,0,magic,0,	AB_SILENTIUM,Silentium //CHECk Marked magic attack as well. Hmmmm....
+
+2515,11,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0,	AB_SECRAMENT,Secrament
+
+//****
+// RA Ranger
+//****
+2233,9,8,1,-1,0x2,2:2:2:2:2:3:3:3:3:4,10,3,yes,0,0,0,weapon,0,	RA_ARROWSTORM,Arrow Storm
+2234,0,6,4,0,0,0,5,1,yes,0,0,0,none,0,		RA_FEARBREEZE,Fear Breeze
+2235,0,0,0,0,0,0,10,0,no,0,0,0,none,0,		RA_RANGERMAIN,Ranger Main
+2236,9,8,1,-1,0,0,10,1,yes,0,0,0,weapon,0,	RA_AIMEDBOLT,Aimed Bolt
+2237,9,6,2,0,0x3,3,1,1,no,0,0,0,none,0,		RA_DETONATOR,Detonator
+2238,3,6,2,0,0x3,2,5,1,no,0,0x80,3,misc,0,	RA_ELECTRICSHOCKER,Electric Shocker
+2239,3,6,2,0,0x42,3,5,1,no,0,0x80,3,misc,0,	RA_CLUSTERBOMB,Cluster Bomb
+2240,0,6,4,0,0,0,1,1,no,0,0,0,none,0,		RA_WUGMASTERY,Warg Mastery
+2241,0,6,4,0,0,0,3,1,no,0,0,0,none,0,		RA_WUGRIDER,Warg Rider
+2242,0,6,4,-1,0x2,1,1,0,no,0,0,0,weapon,0,	RA_WUGDASH,Warg Dash
+2243,9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,	RA_WUGSTRIKE,Warg Strike
+2244,9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,	RA_WUGBITE,Warg Bite
+2245,0,0,0,0,0,0,10,0,no,0,0,0,none,0,		RA_TOOTHOFWUG,Tooth of Warg
+2246,0,6,4,0,0x2,3:4:5:6:7,5,1,no,0,0,0,weapon,0,	RA_SENSITIVEKEEN,Sensitive Keen
+2247,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,		RA_CAMOUFLAGE,Camouflage
+2248,0,0,0,0,0,0,5,0,no,0,0,0,none,0,		RA_RESEARCHTRAP,Research Trap
+2249,3,6,2,3,0x43,2,1,1,no,0,0x80,1,misc,0,	RA_MAGENTATRAP,Magenta Trap
+2250,3,6,2,1,0x43,2,1,1,no,0,0x80,1,misc,0,	RA_COBALTTRAP,Cobalt Trap
+2251,3,6,2,2,0x43,2,1,1,no,0,0x80,1,misc,0,	RA_MAIZETRAP,Maize Trap
+2252,3,6,2,4,0x43,2,1,1,no,0,0x80,1,misc,0,	RA_VERDURETRAP,Verdure Trap
+2253,3,6,2,0,0x42,2,5,1,no,0,0x80,2,misc,0,	RA_FIRINGTRAP,Firing Trap
+2254,3,6,2,0,0x42,2,5,1,no,0,0x80,2,misc,0,	RA_ICEBOUNDTRAP,Icebound Trap
+
+//****
+// NC Mechanic
+2255,0,0,0,0,0,0,5,0,no,0,0,0,none,0,		NC_MADOLICENCE,Mado License
+2256,11,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,	NC_BOOSTKNUCKLE,Boost Knuckle
+2257,3,6,1,-1,0,0,3,1,no,0,0,0,weapon,0,	NC_PILEBUNKER,Pile Bunker
+2258,13,6,1,-1,0,0,3,1,no,0,0,0,weapon,0,	NC_VULCANARM,Vulcan Arm
+2259,5,6,1,3,0,2,3,1,no,0,0,5,weapon,0,		NC_FLAMELAUNCHER,Flame Launcher
+2260,7,6,2,1,0x2,2:3:4,3,1,no,0,0,0,weapon,0,	NC_COLDSLOWER,Cold Slower
+2261,7,6,2,-1,0x42,3:2:1,3,1,no,0,0,0,weapon,0,	NC_ARMSCANNON,Arm Cannon
+2262,0,6,4,0,0x1,0,3,1,no,0,0,0,none,0,		NC_ACCELERATION,Acceleration
+2263,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,		NC_HOVERING,Hovering
+2264,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,		NC_F_SIDESLIDE,Front-Side Slide
+2265,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,		NC_B_SIDESLIDE,Back-Side Slide
+2266,0,0,0,0,0,0,4,0,no,0,0,0,none,0,		NC_MAINFRAME,Mainframe Restructure // Check me. Part of the code notes translated to "The amount of fuel have".
+2267,0,6,4,-1,0x42,2:3:4,3,1,no,0,0,0,misc,5,	NC_SELFDESTRUCTION,Self Destruction
+2268,0,6,4,0,0x1,0,4,1,yes,0,0,0,none,0,	NC_SHAPESHIFT,Shape Shift
+2269,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,		NC_EMERGENCYCOOL,Emergency Cool
+2270,0,6,4,0,0x3,7,1,1,yes,0,0,0,none,0,	NC_INFRAREDSCAN,Infrared Scan
+2271,9,6,1,0,0x1,0,3,1,yes,0,0,0,none,0,	NC_ANALYZE,Analyze
+2272,0,6,4,0,0x3,1:2:3,3,1,yes,0,0,0,none,0,	NC_MAGNETICFIELD,Magnetic Field
+2273,0,6,4,0,0x1,0,3,1,yes,0,0,0,none,0,	NC_NEUTRALBARRIER,Neutral Barrier
+2274,0,6,4,0,0x1,0,3,1,yes,0,0,0,none,0,	NC_STEALTHFIELD,Stealth Field
+2275,5,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0,	NC_REPAIR,Repair
+2276,0,0,0,0,0,0,10,0,no,0,0,0,none,0,		NC_TRAININGAXE,Axe Training
+2277,0,0,0,0,0,0,5,0,no,0,0,0,none,0,		NC_RESEARCHFE,Research Fire/Earth
+2278,4:5:6:7:8,6,1,-1,0,0,5,1,no,0,0,0,weapon,2:3:4:5:6,	NC_AXEBOOMERANG,Axe Boomerang
+2279,1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,	NC_POWERSWING,Power Swing
+2280,0,8,4,-1,0x2,2:2:3:3:3,5,-6,no,0,0,0,weapon,0,	NC_AXETORNADO,Axe Tornado // Check me. Takes 20 * Skill LV amount of HP each use.
+2281,2,6,2,0,0x1,0,5,1,yes,0,0,2,none,0,	NC_SILVERSNIPER,FAW - Silver Sniper
+2282,2,6,2,0,0x1,0,5,1,yes,0,0,2,none,0,	NC_MAGICDECOY,FAW - Magic Decoy //CHECK FIX ME!!!! Wind and Earth stones spawning opposite decoys.
+2283,2,6,1,0,0x1,0,1,1,no,0,0,0,none,0,		NC_DISJOINT,FAW Removal
+
 //2021,0,0,0,0,0,0,9,0,no,0,0,0,none,0		GC_VENOMIMPRESS,
 //2021,0,0,0,0,0,0,9,0,no,0,0,0,none,0		GC_VENOMIMPRESS,
 //2022,0,0,0,0,0,0,9,0,no,0,0,0,none,0		GC_CROSSIMPACT,
 //2022,0,0,0,0,0,0,9,0,no,0,0,0,none,0		GC_CROSSIMPACT,
 //2023,0,0,0,0,0,0,9,0,no,0,0,0,none,0		GC_DARKILLUSION,
 //2023,0,0,0,0,0,0,9,0,no,0,0,0,none,0		GC_DARKILLUSION,

+ 159 - 1
db/skill_require_db.txt

@@ -89,7 +89,7 @@
 79,0,0,40:42:44:46:48:50:52:54:56:58,0,0,0,99,0,0,none,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//PR_MAGNUS#マグヌスエクソシズム#
 79,0,0,40:42:44:46:48:50:52:54:56:58,0,0,0,99,0,0,none,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//PR_MAGNUS#マグヌスエクソシズム#
 80,0,0,75,0,0,0,99,0,0,none,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//WZ_FIREPILLAR#ファイア?ピラ?#
 80,0,0,75,0,0,0,99,0,0,none,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//WZ_FIREPILLAR#ファイア?ピラ?#
 81,0,0,35:37:39:41:43:45:47:49:51:53,0,0,0,99,0,0,sight,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//WZ_SIGHTRASHER#サイトラッシャ?#
 81,0,0,35:37:39:41:43:45:47:49:51:53,0,0,0,99,0,0,sight,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//WZ_SIGHTRASHER#サイトラッシャ?#
-
+82,0,0,12:14:16:18:20:22:24:26:28:30,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	//WZ_FIREIVY#ユピテルサンダ?#
 83,0,0,20:24:30:34:40:44:50:54:60:64,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	//WZ_METEOR#メテオスト?ム#
 83,0,0,20:24:30:34:40:44:50:54:60:64,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	//WZ_METEOR#メテオスト?ム#
 84,0,0,20:23:26:29:32:35:38:41:44:47,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	//WZ_JUPITEL#ユピテルサンダ?#
 84,0,0,20:23:26:29:32:35:38:41:44:47,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	//WZ_JUPITEL#ユピテルサンダ?#
 85,0,0,60:64:68:72:76:80:84:88:92:96,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	//WZ_VERMILION#ロ?ドオブヴァ?ミリオン#
 85,0,0,60:64:68:72:76:80:84:88:92:96,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	//WZ_VERMILION#ロ?ドオブヴァ?ミリオン#
@@ -454,6 +454,164 @@
 1018,0,0,30,0,0,0,99,0,0,none,0,12114,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SA_ELEMENTFIRE
 1018,0,0,30,0,0,0,99,0,0,none,0,12114,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SA_ELEMENTFIRE
 1019,0,0,30,0,0,0,99,0,0,none,0,12117,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SA_ELEMENTWIND
 1019,0,0,30,0,0,0,99,0,0,none,0,12117,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SA_ELEMENTWIND
 
 
+//*****
+// RK Rune Knight
+2001,0,0,40:45:50:55:60,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	//RK_ENCHANTBLADE#Enchant Blade#
+2002,0,0,30:35:40:45:50,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	//RK_SONICWAVE#Sonic Wave#
+2003,0,0,55:60:65:70:75:80:85:90:95:100,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	//RK_DEATHBOUND#Death Bound#
+2004,0,0,60,0,0,0,4:5,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RK_HUNDREDSPEAR#Hundred Spear#
+2005,0,0,20:24:28:32:36,0,0,0,1:2:3:4:5,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RK_WINDCUTTER#Wind Cutter#
+2006,0,0,35:40:45:50:55,0,0,0,1:2:3:4:5,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RK_IGNITIONBREAK#Ignition Break#
+2008,0,0,30:35:40:45:50:55:60:65:70:75,0,0,0,99,0,0,dragon,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RK_DRAGONBREATH#Dragon Breath#
+2009,0,0,70,0,0,0,99,0,0,dragon,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RK_DRAGONHOWLING#Dragon Howling#
+2011,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	//RK_MILLENNIUMSHIELD#Millenium Shield#
+2012,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	//RK_CRUSHSTRIKE#Crush Strike#
+2013,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	//RK_REFRESH#Refresh#
+2014,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	//RK_GIANTGROWTH#Giant Growth#
+2015,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	//RK_STONEHARDSKIN#Stone Hard Skin#
+2016,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	//RK_VITALITYACTIVATION#Vitality Activation#
+2017,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	//RK_STORMBLAST#Storm Blast#
+2018,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	//RK_FIGHTINGSPIRIT#Fighting Spirit#
+2019,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	//RK_ABUNDANCE#Abundance#
+2020,0,0,15:18:21:24:27,0,0,0,4:5,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RK_PHANTOMTHRUST#Phantom Thrust#
+
+//****
+// GC Guilottine Cross
+2021,0,0,12:16:20:24:28,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	//GC_VENOMIMPRESS#Venom Impress#
+2022,0,0,25,0,0,0,99,0,0,move_enable,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GC_CROSSIMPACT#Cross Impact# //CHECK Is this move_enable needed?
+2023,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	//GC_DARKILLUSION#Dark Illusion#
+
+2025,0,0,10,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	//GC_CREATENEWPOISON#Create New Poison#
+2026,0,0,10,0,0,0,99,0,0,none,0,6128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GC_ANTIDOTE#Antidote#
+2027,0,0,20:24:28:32:36,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	//GC_POISONINGWEAPON#Poisoning Weapon#
+2028,0,0,40:36:32:28:24,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	//GC_WEAPONBLOCKING#Weapon Blocking#
+2029,0,0,5:8:11:14:17,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	//GC_COUNTERSLASH#Counter Slash#
+2030,0,0,20,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	//GC_WEAPONCRUSH#Weapon Crush#
+2031,0,0,30:40:50:60:70,0,0,0,99,0,0,poisonweapon,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GC_VENOMPRESSURE#Venom Pressure#
+2032,0,0,40,0,0,0,99,0,0,poisonweapon,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GC_POISONSMOKE#Poison Smoke#
+2033,0,0,45,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	//GC_CLOAKINGEXCEED#Cloaking Exceed#
+2034,0,0,30,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	//GC_PHANTOMMENACE#Phantom Menace#
+2035,0,0,100,10,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	//GC_HALLUCINATIONWALK#Hallucination Walk#
+2036,0,0,5,0,0,0,16,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GC_ROLLINGCUTTER#Rolling Cutter#
+2037,0,0,20:24:28:32:36,0,0,0,16,0,0,rollingcutter,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GC_CROSSRIPPERSLASHER#Cross Ripper Slasher#
+
+
+//****
+// WL Warlock
+2201,0,0,50:55:60:65:70,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	//WL_WHITEIMPRISON#White Imprison#
+2202,0,0,30:35:40:45:50,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	//WL_SOULEXPANSION#Soul Expansion#
+2203,0,0,40:48:56:64:72,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	//WL_FROSTMISTY#Frosty Misty#
+2204,0,0,50:60:70:80:90,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	//WL_JACKFROST#Jack Frost#
+2205,0,0,40:42:44:46:48,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	//WL_MARSHOFABYSS#Marsh of Abyss#
+2206,0,0,50:60:70:80:90,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	//WL_RECOGNIZEDSPELL#Recognized Spell#
+2207,0,0,32:34:36:38: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	//WL_SIENNAEXECRATE#Sienna Execrate#
+
+2209,0,0,50:60:70:80:90,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	//WL_STASIS#Stasis#
+2210,0,0,20:24:28:32:36,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	//WL_DRAINLIFE#Drain Life#
+2211,0,0,60:70:80:90:100,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	//WL_CRIMSONROCK#Crimson Rock#
+2212,0,0,35:40:45:50:55,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	//WL_HELLINFERNO#Hell Inferno#
+2213,0,0,240:280:320:360:400,0,0,0,99,0,0,none,0,716,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//WL_COMET#Comet#
+2214,0,0,80:90:100:110:120,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	//WL_CHAINLIGHTNING#Chain Lightning#
+2215,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	//WL_CHAINLIGHTNING_ATK#Chain Lightning Attack#
+2216,0,0,70:78:86:94:102,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	//WL_EARTHSTRAIN#Earth Strain#
+2217,0,0,120:150:180:210:240,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	//WL_TETRAVORTEX#Tetra Vortex#
+2218,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	//WL_TETRAVORTEX_FIRE#Tetra Vortex Fire#
+2219,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	//WL_TETRAVORTEX_WATER#Tetra Vortex Water#
+2220,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	//WL_TETRAVORTEX_WIND#Tetra Vortex Wind#
+2221,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	//WL_TETRAVORTEX_GROUND#Tetra Vortex Earth#
+2222,0,0,10:12:14:16:18,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	//WL_SUMMONFB#Summon Fire Ball#
+2223,0,0,10:12:14:16:18,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	//WL_SUMMONBL#Summon Lightning Ball#
+2224,0,0,10:12:14:16:18,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	//WL_SUMMONWB#Summon Water Ball#
+2225,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	//WL_SUMMON_ATK_FIRE#Summon Attack Fire#
+2226,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	//WL_SUMMON_ATK_WIND#Summon Attack Wind#
+2227,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	//WL_SUMMON_ATK_WATER#Summon Attack Water#
+2228,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	//WL_SUMMON_ATK_GROUND#Summon Attack Earth#
+2229,0,0,10:12:14:16:18,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	//WL_SUMMONSTONE#Summon Stone#
+2230,0,0,3:20,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	//WL_RELEASE#Release#
+2231,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	//WL_READING_SB#Reading Spellbook#
+//2232,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	//WL_FREEZE_SP#Freeze Spell# (Passive Skill)
+
+
+//****
+// AB Arch Bishop
+2038,0,0,20:23:26:29:32,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	//AB_JUDEX#Judex#
+2039,0,0,30,0,-30,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	//AB_ANCILLA#Ancilla#
+2040,0,0,20:24:28:32:36:40:44:48:52:56,0,0,0,99,0,0,none,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//AB_ADORAMUS#Adoramus#
+2041,0,0,200:220:240,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	//AB_CLEMENTIA#Crementia#
+2042,0,0,145:160:175,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	//AB_CANTO#Canto Candidus#
+2043,0,0,130:145:160,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	//AB_CHEAL#Coluceo Heal#
+2044,0,0,300,0,0,0,99,0,0,none,0,12333,1,523,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//AB_EPICLESIS#Epiclesis#
+2045,0,0,60:70:80:90:100:110:120:130:140:150,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	//AB_PRAEFATIO#Praefatio#
+2046,0,0,35:38:41:44:47:50:53:56:59:62,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	//AB_ORATIO#Oratio#
+2047,0,0,50:60:70:80,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	//AB_LAUDAAGNUS#Lauda Agnus#
+2048,0,0,50:60:70:80,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	//AB_LAUDARAMUS#Lauda Ramus#
+
+2050,0,0,70,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	//AB_RENOVATIO#Renovatio#
+2051,0,0,70:100:130:160:190,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	//AB_HIGHNESSHEAL#Highness Heal#
+2052,0,0,54:60:66:72:78,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	//AB_CLEARANCE#Clearance#
+2053,0,0,35:40:45:50:55,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	//AB_EXPIATIO#Expiatio#
+2054,0,0,55:60:65:70:75:80:85:90:95:100,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	//AB_DUPLELIGHT#Duple Light#
+2055,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	//AB_DUPLELIGHT_MELEE#Duple Light Melee#
+2056,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	//AB_DUPLELIGHT_MAGIC#Duple Light Magic#
+2057,0,0,64:68:72:76:80,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	//AB_SILENTIUM#Silentium#
+
+2515,0,0,100:120:140:160:180,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	//AB_SECRAMENT#Sacrament#
+
+//****
+// RA Ranger
+2233,0,0,30:32:34:36:38:40:42:44:46:48,0,0,0,11,1,10,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_ARROWSTORM#Arrow Storm#
+2234,0,0,36:40:44:48:52,0,0,0,11,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_FEARBREEZE#Fear Breeze#
+
+2236,0,0,30:32:34:36:38:40:42:44:46:48,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	//RA_AIMEDBOLT#Aimed Bolt# //How many arrows does it require???
+2237,0,0,15,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	//RA_DETONATOR#Detonator#
+2238,0,0,35,0,0,0,99,0,0,none,0,7940,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_ELECTRICSHOCKER#Electric Shocker#
+2239,0,0,20,0,0,0,99,0,0,none,0,7940,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_CLUSTERBOMB#Cluster Bomb#
+2240,0,0,5,0,0,0,99,0,0,none,0,6124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_WUGMASTERY#Warg Mastery#
+2241,0,0,20,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		//RA_WUGRIDER#Warg Rider#
+2242,0,0,40,0,0,0,99,0,0,move_enable,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_WUGDASH#Warg Dash#
+2243,0,0,20:22:24:26:28,0,0,0,99,0,0,ridingwarg,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_WUGSTRIKE#Warg Strike#
+2244,0,0,42:44:46:48:50,0,0,0,99,0,0,warg,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_WUGBITE#Warg Bite#
+
+2246,0,0,12,0,0,0,99,0,0,warg,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_SENSITIVEKEEN#Sensitive Keen#
+2247,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	//RA_CAMOUFLAGE#Camouflage#
+
+2249,0,0,10,0,0,0,99,0,0,none,0,7940,1,990,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_MAGENTATRAP#Magenta Trap#
+2250,0,0,10,0,0,0,99,0,0,none,0,7940,1,991,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_COBALTTRAP#Cobalt Trap#
+2251,0,0,10,0,0,0,99,0,0,none,0,7940,1,993,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_MAIZETRAP#Maize Trap#
+2252,0,0,10,0,0,0,99,0,0,none,0,7940,1,992,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_VERDURETRAP#Verdure Trap#
+2253,0,0,10,0,0,0,99,0,0,none,0,7940,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_FIRINGTRAP#Firing Trap#
+2254,0,0,10,0,0,0,99,0,0,none,0,7940,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//RA_ICEBOUNDTRAP#Icebound Trap#
+
+//****
+// NC Mechanic
+2256,0,0,3:6:9:12:15,0,0,0,99,0,0,mado,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_BOOSTKNUCKLE#Boost Knuckle#
+2257,0,0,50,0,0,0,99,0,0,mado,0,1549,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_PILEBUNKER#Pile Bunker#
+2258,0,0,2,0,0,0,99,0,0,mado,0,6145,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_VULCANARM#Vulcan Arm#
+2259,0,0,20,0,0,0,99,0,0,mado,0,2139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_FLAMELAUNCHER#Flame Launcher#
+2260,0,0,20,0,0,0,99,0,0,mado,0,6147,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_COLDSLOWER#Cold Slower#
+2261,0,0,30:45:60,0,0,0,99,8,1,mado,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_ARMSCANNON#Arm Cannon#
+2262,0,0,20:40:60,0,0,0,99,0,0,mado,0,6146,1,2800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_ACCELERATION#Acceleration#
+2263,0,0,25,0,0,0,99,0,0,mado,0,6146,1,2801,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_HOVERING#Hovering#
+2264,0,0,5,0,0,0,99,0,0,mado,0,6146,1,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_F_SIDESLIDE#Front - Side Slide#
+2265,0,0,5,0,0,0,99,0,0,mado,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_B_SIDESLIDE#Back - Side Slide#
+
+2267,0,0,200,0,0,0,99,0,0,mado,0,6146,5,2802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_SELFDESTRUCTION#Self Destruction#
+2268,0,0,100,0,0,0,99,0,0,mado,0,994,1,997,1,996,1,995,1,6146,2,2803,0,0,0,0,0,0,0,0,0	//NC_SHAPESHIFT#Shape Shift# //CHECK Shouldnt the different stones all be in the same slot?
+2269,0,0,20,0,0,0,99,0,0,mado,0,6146,2,2804,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_EMERGENCYCOOL#Emergency Cool#
+2270,0,0,45,0,0,0,99,0,0,mado,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_INFRAREDSCAN#Infrared Scan#
+2271,0,0,30,0,0,0,99,0,0,mado,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_ANALYZE#Analyze#
+2272,0,0,90,0,0,0,99,0,0,mado,0,6146,3,2805,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_MAGNETICFIELD#Magnetic Field#
+2273,0,0,90,0,0,0,99,0,0,mado,0,6146,1,2806,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_NEUTRALBARRIER#Neutral Barrier#
+2274,0,0,100:150:200,0,0,0,99,0,0,mado,0,6146,2,2808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_STEALTHFIELD#Stealth Field#
+2275,0,0,25:30:35:40:45,0,0,0,99,0,0,mado,0,2807,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_REPAIR#Repair#
+
+2278,0,0,20:22:24:26:28,0,0,0,6:7,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_AXEBOOMERANG#Axe Boomerang#
+2279,0,0,10:12:14:16:18,0,0,0,6:7,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_POWERSWING#Power Swing#
+2280,0,0,18:20:22:24:26,0,0,0,6:7,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_AXETORNADO#Axe Tornado#
+2281,0,0,25:30:35:40:45,0,0,0,99,0,0,none,0,998,1,999,2,612,0,615,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_SILVERSNIPER#FAW - Silver Sniper#
+2282,0,0,40:45:50:55:60,0,0,0,99,0,0,none,0,998,2,7054,1,612,0,615,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_MAGICDECOY#FAW - Magic Decoy#
+2283,0,0,15,0,0,0,99,0,0,none,0,6186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_DISJOINT#FAW Removal#
+
 2535,0,0,1,0,0,0,99,0,0,none,0,6377,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//ALL_BUYING_STORE#Open Buying Store
 2535,0,0,1,0,0,0,99,0,0,none,0,6377,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//ALL_BUYING_STORE#Open Buying Store
 
 
 10010,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	//GD_BATTLEORDER##
 10010,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	//GD_BATTLEORDER##

+ 669 - 1
db/skill_tree.txt

@@ -187,7 +187,7 @@
 9,157,1,0,0,0,0,0,0,0,0,0,0 //MG_ENERGYCOAT#Energy Coat#
 9,157,1,0,0,0,0,0,0,0,0,0,0 //MG_ENERGYCOAT#Energy Coat#
 9,80,10,18,1,0,0,0,0,0,0,0,0 //WZ_FIREPILLAR#Fire Pillar#
 9,80,10,18,1,0,0,0,0,0,0,0,0 //WZ_FIREPILLAR#Fire Pillar#
 9,81,10,20,1,10,1,0,0,0,0,0,0 //WZ_SIGHTRASHER#Sightrasher#
 9,81,10,20,1,10,1,0,0,0,0,0,0 //WZ_SIGHTRASHER#Sightrasher#
-//9,82,10,0,0,0,0,0,0,0,0,0,0 //WZ_FIREIVY#Fire Ivy#
+9,82,10,19,3,0,0,0,0,0,0,0,0 //WZ_FIREIVY#Fire Ivy#
 9,83,10,81,2,21,1,0,0,0,0,0,0 //WZ_METEOR#Meteor Storm#
 9,83,10,81,2,21,1,0,0,0,0,0,0 //WZ_METEOR#Meteor Storm#
 9,84,10,11,1,20,1,0,0,0,0,0,0 //WZ_JUPITEL#Jupiter Thunder#
 9,84,10,11,1,20,1,0,0,0,0,0,0 //WZ_JUPITEL#Jupiter Thunder#
 9,85,10,21,1,84,5,0,0,0,0,0,0 //WZ_VERMILION#Lord of Vermilion#
 9,85,10,21,1,84,5,0,0,0,0,0,0 //WZ_VERMILION#Lord of Vermilion#
@@ -2263,3 +2263,671 @@
 4049,494,5,451,1,0,0,0,0,0,0,0,0	//SL_HIGH#Spirit of Rebirth#
 4049,494,5,451,1,0,0,0,0,0,0,0,0	//SL_HIGH#Spirit of Rebirth#
 4049,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
 4049,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
 4049,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
 4049,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+//Rune Knight (non-trans)
+4054,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
+4054,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
+4054,2,10,0,0,0,0,0,0,0,0,0,0 //SM_SWORD#Sword Mastery#
+4054,3,10,2,1,0,0,0,0,0,0,0,0 //SM_TWOHAND#Two-Handed Sword Mastery#
+4054,4,10,0,0,0,0,0,0,0,0,0,0 //SM_RECOVERY#Increase HP Recovery#
+4054,5,10,0,0,0,0,0,0,0,0,0,0 //SM_BASH#Bash#
+4054,6,10,0,0,0,0,0,0,0,0,0,0 //SM_PROVOKE#Provoke#
+4054,7,10,5,5,0,0,0,0,0,0,0,0 //SM_MAGNUM#Magnum Break#
+4054,8,10,6,5,0,0,0,0,0,0,0,0 //SM_ENDURE#Endure#
+4054,144,1,0,0,0,0,0,0,0,0,0,0 //SM_MOVINGRECOVERY#Moving HP-Recovery#
+4054,145,1,0,0,0,0,0,0,0,0,0,0 //SM_FATALBLOW#Attack Weak Point#
+4054,146,1,0,0,0,0,0,0,0,0,0,0 //SM_AUTOBERSERK#Auto Berserk#
+4054,55,10,0,0,0,0,0,0,0,0,0,0 //KN_SPEARMASTERY#Spear Mastery#
+4054,56,10,55,1,0,0,0,0,0,0,0,0 //KN_PIERCE#Pierce#
+4054,57,10,63,1,58,3,0,0,0,0,0,0 //KN_BRANDISHSPEAR#Brandish Spear#
+4054,58,10,56,5,0,0,0,0,0,0,0,0 //KN_SPEARSTAB#Spear Stab#
+4054,59,5,56,3,0,0,0,0,0,0,0,0 //KN_SPEARBOOMERANG#Spear Boomerang#
+4054,60,10,3,1,0,0,0,0,0,0,0,0 //KN_TWOHANDQUICKEN#Twohand Quicken#
+4054,61,5,3,1,0,0,0,0,0,0,0,0 //KN_AUTOCOUNTER#Counter Attack#
+4054,62,10,5,10,7,3,3,5,60,10,61,5//KN_BOWLINGBASH#Bowling Bash#
+4054,63,1,8,1,0,0,0,0,0,0,0,0 //KN_RIDING#Peco Peco Riding#
+4054,64,5,63,1,0,0,0,0,0,0,0,0 //KN_CAVALIERMASTERY#Cavalier Mastery#
+4054,1001,1,0,0,0,0,0,0,0,0,0,0 //KN_CHARGEATK#Charge Attack#
+4054,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4054,495,1,60,10,0,0,0,0,0,0,0,0	//KN_ONEHAND#Onehand Quicken#
+4054,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4054,2001,5,2010,2,0,0,0,0,0,0,0,0 //RK_ENCHANTBLADE#Enchant Blade#
+4054,2002,5,2001,3,0,0,0,0,0,0,0,0 //RK_SONICWAVE#Sonic Wave#
+4054,2003,10,61,1,2001,2,0,0,0,0,0,0 //RK_DEATHBOUND#Death Bound#
+4054,2004,10,2020,3,0,0,0,0,0,0,0,0 //RK_HUNDREDSPEAR#Hundred Spear#
+4054,2005,5,2001,5,0,0,0,0,0,0,0,0 //RK_WINDCUTTER#Wind Cutter#
+4054,2006,5,2002,2,2003,5,2005,3,0,0,0,0 //RK_IGNITIONBREAK#Ignition Break#
+4054,2007,5,64,1,0,0,0,0,0,0,0,0 //RK_DRAGONTRAINING#Dragon Training#
+4054,2008,10,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONBREATH#Dragon Breath#
+4054,2009,5,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONHOWLING#Dragon Howling#
+4054,2010,10,0,0,0,0,0,0,0,0,0,0 //RK_RUNEMASTERY#Rune Mastery#
+4054,2020,5,57,2,0,0,0,0,0,0,0,0 //RK_PHANTOMTHRUST#Phantom Thrust#
+//Warlock (non-trans)
+4055,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
+4055,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
+4055,9,10,0,0,0,0,0,0,0,0,0,0 //MG_SRECOVERY#Increase SP Recovery#
+4055,10,1,0,0,0,0,0,0,0,0,0,0 //MG_SIGHT#Sight#
+4055,11,10,0,0,0,0,0,0,0,0,0,0 //MG_NAPALMBEAT#Napalm Beat#
+4055,12,10,11,7,13,5,0,0,0,0,0,0 //MG_SAFETYWALL#Safety Wall#
+4055,13,10,11,4,0,0,0,0,0,0,0,0 //MG_SOULSTRIKE#Soul Strike#
+4055,14,10,0,0,0,0,0,0,0,0,0,0 //MG_COLDBOLT#Cold Bolt#
+4055,15,10,14,5,0,0,0,0,0,0,0,0 //MG_FROSTDIVER#Frost Diver#
+4055,16,10,0,0,0,0,0,0,0,0,0,0 //MG_STONECURSE#Stone Curse#
+4055,17,10,19,4,0,0,0,0,0,0,0,0 //MG_FIREBALL#Fire Ball#
+4055,18,10,17,5,10,1,0,0,0,0,0,0 //MG_FIREWALL#Fire Wall#
+4055,19,10,0,0,0,0,0,0,0,0,0,0 //MG_FIREBOLT#Fire Bolt#
+4055,20,10,0,0,0,0,0,0,0,0,0,0 //MG_LIGHTNINGBOLT#Lightning Bolt#
+4055,21,10,20,4,0,0,0,0,0,0,0,0 //MG_THUNDERSTORM#Thunderstorm#
+4055,157,1,0,0,0,0,0,0,0,0,0,0 //MG_ENERGYCOAT#Energy Coat#
+4055,80,10,18,1,0,0,0,0,0,0,0,0 //WZ_FIREPILLAR#Fire Pillar#
+4055,81,10,20,1,10,1,0,0,0,0,0,0 //WZ_SIGHTRASHER#Sightrasher#
+4055,83,10,81,2,21,1,0,0,0,0,0,0 //WZ_METEOR#Meteor Storm#
+4055,84,10,11,1,20,1,0,0,0,0,0,0 //WZ_JUPITEL#Jupiter Thunder#
+4055,85,10,21,1,84,5,0,0,0,0,0,0 //WZ_VERMILION#Lord of Vermilion#
+4055,86,5,14,1,20,1,0,0,0,0,0,0 //WZ_WATERBALL#Water Ball#
+4055,87,10,16,1,15,1,0,0,0,0,0,0 //WZ_ICEWALL#Ice Wall#
+4055,88,10,87,1,0,0,0,0,0,0,0,0 //WZ_FROSTNOVA#Frost Nova#
+4055,89,10,15,1,84,3,0,0,0,0,0,0 //WZ_STORMGUST#Storm Gust#
+4055,90,5,16,1,0,0,0,0,0,0,0,0 //WZ_EARTHSPIKE#Earth Spike#
+4055,91,5,90,3,0,0,0,0,0,0,0,0 //WZ_HEAVENDRIVE#Heaven's Drive#
+4055,92,5,91,1,0,0,0,0,0,0,0,0 //WZ_QUAGMIRE#Quagmire#
+4055,93,1,0,0,0,0,0,0,0,0,0,0 //WZ_ESTIMATION#Sense#
+4055,1006,1,0,0,0,0,0,0,0,0,0,0 //WZ_SIGHTBLASTER#Sight Blaster#
+4055,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4055,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4055,2201,5,2202,3,0,0,0,0,0,0,0,0 //WL_WHITEIMPRISON#White Imprison#
+4055,2202,5,2210,1,0,0,0,0,0,0,0,0 //WL_SOULEXPANSION#Soul Expansion#
+4055,2203,5,2224,1,0,0,0,0,0,0,0,0 //WL_FROSTMISTY#Frosty Misty#
+4055,2204,5,2203,2,0,0,0,0,0,0,0,0 //WL_JACKFROST#Jack Frost#
+4055,2205,5,92,1,0,0,0,0,0,0,0,0 //WL_MARSHOFABYSS#Marsh of Abyss#
+4055,2206,5,2201,1,2209,1,2230,2,0,0,0,0 //WL_RECOGNIZEDSPELL#Recognized Spell#
+4055,2207,5,2229,1,0,0,0,0,0,0,0,0 //WL_SIENNAEXECRATE#Sienna Execrate#
+4055,2208,3,0,0,0,0,0,0,0,0,0,0 //WL_RADIUS#Radius#
+4055,2209,5,2210,1,0,0,0,0,0,0,0,0 //WL_STASIS#Stasis#
+4055,2210,5,2208,1,0,0,0,0,0,0,0,0 //WL_DRAINLIFE#Drain Life#
+4055,2211,5,2222,1,0,0,0,0,0,0,0,0 //WL_CRIMSONROCK#Crimson Rock#
+4055,2212,5,2211,2,0,0,0,0,0,0,0,0 //WL_HELLINFERNO#Hell Inferno#
+4055,2213,5,2212,3,0,0,0,0,0,0,0,0 //WL_COMET#Comet#
+4055,2214,5,2223,1,0,0,0,0,0,0,0,0 //WL_CHAINLIGHTNING#Chain Lightning#
+4055,2216,5,2207,2,0,0,0,0,0,0,0,0 //WL_EARTHSTRAIN#Earth Strain#
+4055,2217,5,2204,5,2212,5,2214,5,2216,5,0,0 //WL_TETRAVORTEX#Tetra Vortex#
+4055,2222,5,83,1,0,0,0,0,0,0,0,0 //WL_SUMMONFB#Summon Fire Ball#
+4055,2223,5,85,1,0,0,0,0,0,0,0,0 //WL_SUMMONBL#Summon Lightning Ball#
+4055,2224,5,89,1,0,0,0,0,0,0,0,0 //WL_SUMMONWB#Summon Water Ball#
+4055,2229,5,91,1,0,0,0,0,0,0,0,0 //WL_SUMMONSTONE#Summon Stone#
+4055,2230,2,0,0,0,0,0,0,0,0,0,0 //WL_RELEASE#Release#
+4055,2231,1,0,0,0,0,0,0,0,0,0,0 //WL_READING_SB#Reading Spellbook#
+4055,2232,5,0,0,0,0,0,0,0,0,0,0 //WL_FREEZE_SP#Freeze Spell#
+//Ranger (non-trans)
+4056,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
+4056,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
+4056,43,10,0,0,0,0,0,0,0,0,0,0 //AC_OWL#Owl's Eye#
+4056,44,10,43,3,0,0,0,0,0,0,0,0 //AC_VULTURE#Vulture's Eye#
+4056,45,10,44,1,0,0,0,0,0,0,0,0 //AC_CONCENTRATION#Improve Concentration#
+4056,46,10,0,0,0,0,0,0,0,0,0,0 //AC_DOUBLE#Double Strafe#
+4056,47,10,46,5,0,0,0,0,0,0,0,0 //AC_SHOWER#Arrow Shower#
+4056,147,1,0,0,0,0,0,0,0,0,0,0 //AC_MAKINGARROW#Arrow Crafting#
+4056,148,1,0,0,0,0,0,0,0,0,0,0 //AC_CHARGEARROW#Arrow Repel#
+4056,115,5,0,0,0,0,0,0,0,0,0,0 //HT_SKIDTRAP#Skid Trap#
+4056,116,5,0,0,0,0,0,0,0,0,0,0 //HT_LANDMINE#Land Mine#
+4056,117,5,115,1,0,0,0,0,0,0,0,0 //HT_ANKLESNARE#Ankle Snare#
+4056,118,5,117,1,0,0,0,0,0,0,0,0 //HT_SHOCKWAVE#Shockwave Trap#
+4056,119,5,120,1,0,0,0,0,0,0,0,0 //HT_SANDMAN#Sandman#
+4056,120,5,115,1,0,0,0,0,0,0,0,0 //HT_FLASHER#Flasher#
+4056,121,5,120,1,0,0,0,0,0,0,0,0 //HT_FREEZINGTRAP#Freezing Trap#
+4056,122,5,116,1,119,1,121,1,0,0,0,0 //HT_BLASTMINE#Blast Mine#
+4056,123,5,118,1,122,1,0,0,0,0,0,0 //HT_CLAYMORETRAP#Claymore Trap#
+4056,124,1,116,1,0,0,0,0,0,0,0,0 //HT_REMOVETRAP#Remove Trap#
+4056,125,1,118,1,124,1,0,0,0,0,0,0 //HT_TALKIEBOX#Talkie Box#
+4056,126,10,0,0,0,0,0,0,0,0,0,0 //HT_BEASTBANE#Beast Bane#
+4056,127,1,126,1,0,0,0,0,0,0,0,0 //HT_FALCON#Falconry Mastery#
+4056,128,10,129,5,0,0,0,0,0,0,0,0 //HT_STEELCROW#Steel Crow#
+4056,129,5,127,1,0,0,0,0,0,0,0,0 //HT_BLITZBEAT#Blitz Beat#
+4056,130,4,45,1,127,1,0,0,0,0,0,0 //HT_DETECTING#Detect#
+4056,131,5,124,1,127,1,0,0,0,0,0,0 //HT_SPRINGTRAP#Spring Trap#
+4056,1009,1,0,0,0,0,0,0,0,0,0,0 //HT_PHANTASMIC#Phantasmic Arrow#
+4056,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4056,499,1,46,10,0,0,0,0,0,0,0,0	//HT_POWER#Beast Strafing#
+4056,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4056,2233,10,2236,5,0,0,0,0,0,0,0,0 //RA_ARROWSTORM#Arrow Storm#
+4056,2234,5,2233,5,2247,1,0,0,0,0,0,0 //RA_FEARBREEZE#Fear Breeze#
+4056,2235,10,0,0,0,0,0,0,0,0,0,0 //RA_RANGERMAIN#Ranger Main#
+4056,2236,10,117,5,0,0,0,0,0,0,0,0 //RA_AIMEDBOLT#Aimed Bolt#
+4056,2237,1,2239,3,0,0,0,0,0,0,0,0 //RA_DETONATOR#Detonator#
+4056,2238,5,118,5,0,0,0,0,0,0,0,0 //RA_ELECTRICSHOCKER#Electric Shocker#
+4056,2239,5,2248,3,0,0,0,0,0,0,0,0 //RA_CLUSTERBOMB#Cluster Bomb#
+4056,2240,1,0,0,0,0,0,0,0,0,0,0 //RA_WUGMASTERY#Warg Mastery#
+4056,2241,3,2240,1,0,0,0,0,0,0,0,0 //RA_WUGRIDER#Warg Rider#
+4056,2242,1,2241,1,0,0,0,0,0,0,0,0 //RA_WUGDASH#Warg Dash#
+4056,2243,5,2245,1,0,0,0,0,0,0,0,0 //RA_WUGSTRIKE#Warg Strike#
+4056,2244,5,2240,1,0,0,0,0,0,0,0,0 //RA_WUGBITE#Warg Bite#
+4056,2245,10,2240,1,0,0,0,0,0,0,0,0 //RA_TOOTHOFWUG#Tooth Of Warg#
+4056,2246,5,2245,3,0,0,0,0,0,0,0,0 //RA_SENSITIVEKEEN#Sensitive Keen#
+4056,2247,5,2235,1,0,0,0,0,0,0,0,0 //RA_CAMOUFLAGE#Camouflage#
+4056,2248,5,123,1,124,1,0,0,0,0,0,0 //RA_RESEARCHTRAP#Research Trap#
+4056,2249,1,2248,1,0,0,0,0,0,0,0,0 //RA_MAGENTATRAP#Magenta Trap#
+4056,2250,1,2248,1,0,0,0,0,0,0,0,0 //RA_COBALTTRAP#Cobalt Trap#
+4056,2251,1,2248,1,0,0,0,0,0,0,0,0 //RA_MAIZETRAP#Maize Trap#
+4056,2252,1,2248,1,0,0,0,0,0,0,0,0 //RA_VERDURETRAP#Verdure Trap#
+4056,2253,5,2237,1,0,0,0,0,0,0,0,0 //RA_FIRINGTRAP#Firing Trap#
+4056,2254,5,2237,1,0,0,0,0,0,0,0,0 //RA_ICEBOUNDTRAP#Icebound Trap#
+//Arch Bishop (non-trans)
+4057,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
+4057,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
+4057,22,10,0,0,0,0,0,0,0,0,0,0 //AL_DP#Divine Protection#
+4057,23,10,22,3,0,0,0,0,0,0,0,0 //AL_DEMONBANE#Demon Bane#
+4057,24,1,0,0,0,0,0,0,0,0,0,0 //AL_RUWACH#Ruwach#
+4057,25,1,27,4,0,0,0,0,0,0,0,0 //AL_PNEUMA#Pneuma#
+4057,26,2,24,1,0,0,0,0,0,0,0,0 //AL_TELEPORT#Teleport#
+4057,27,4,26,2,0,0,0,0,0,0,0,0 //AL_WARP#Warp Portal#
+4057,28,10,0,0,0,0,0,0,0,0,0,0 //AL_HEAL#Heal#
+4057,29,10,28,3,0,0,0,0,0,0,0,0 //AL_INCAGI#Increase AGI#
+4057,30,10,29,1,0,0,0,0,0,0,0,0 //AL_DECAGI#Decrease AGI#
+4057,31,1,0,0,0,0,0,0,0,0,0,0 //AL_HOLYWATER#Aqua Benedicta#
+4057,32,10,23,3,0,0,0,0,0,0,0,0 //AL_CRUCIS#Signum Crusis#
+4057,33,10,22,3,0,0,0,0,0,0,0,0 //AL_ANGELUS#Angelus#
+4057,34,10,22,5,0,0,0,0,0,0,0,0 //AL_BLESSING#Blessing#
+4057,35,1,28,2,0,0,0,0,0,0,0,0 //AL_CURE#Cure#
+4057,156,1,0,0,0,0,0,0,0,0,0,0 //AL_HOLYLIGHT#Holy Light#
+4057,9,10,0,0,0,0,0,0,0,0,0,0 //MG_SRECOVERY#Increase SP Recovery#
+4057,12,10,68,4,70,3,0,0,0,0,0,0 //MG_SAFETYWALL#Safety Wall#
+4057,54,4,72,1,9,4,0,0,0,0,0,0 //ALL_RESURRECTION#Resurrection#
+4057,65,10,0,0,0,0,0,0,0,0,0,0 //PR_MACEMASTERY#Mace Mastery#
+4057,66,5,0,0,0,0,0,0,0,0,0,0 //PR_IMPOSITIO#Impositio Manus#
+4057,67,3,66,2,0,0,0,0,0,0,0,0 //PR_SUFFRAGIUM#Suffragium#
+4057,68,5,31,1,66,3,0,0,0,0,0,0 //PR_ASPERSIO#Aspersio#
+4057,69,5,75,3,68,5,0,0,0,0,0,0 //PR_BENEDICTIO#B.S Sacramenti#
+4057,70,10,28,1,0,0,0,0,0,0,0,0 //PR_SANCTUARY#Sanctuary#
+4057,71,4,0,0,0,0,0,0,0,0,0,0 //PR_SLOWPOISON#Slow Poison#
+4057,72,1,0,0,0,0,0,0,0,0,0,0 //PR_STRECOVERY#Status Recovery#
+4057,73,10,33,2,0,0,0,0,0,0,0,0 //PR_KYRIE#Kyrie Eleison#
+4057,74,5,0,0,0,0,0,0,0,0,0,0 //PR_MAGNIFICAT#Magnificat#
+4057,75,5,73,4,74,3,0,0,0,0,0,0 //PR_GLORIA#Gloria#
+4057,76,10,24,1,0,0,0,0,0,0,0,0 //PR_LEXDIVINA#Lex Divina#
+4057,77,10,54,1,76,3,0,0,0,0,0,0 //PR_TURNUNDEAD#Turn Undead#
+4057,78,1,76,5,0,0,0,0,0,0,0,0 //PR_LEXAETERNA#Lex Aeterna#
+4057,79,10,12,1,78,1,77,3,0,0,0,0 //PR_MAGNUS#Magnus Exorcismus#
+4057,1014,1,0,0,0,0,0,0,0,0,0,0 //PR_REDEMPTIO#Redemptio#
+4057,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4057,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4057,2038,5,77,1,0,0,0,0,0,0,0,0 //AB_JUDEX#Judex#
+4057,2039,1,2041,3,0,0,0,0,0,0,0,0 //AB_ANCILLA#Ancilla#
+4057,2040,10,79,1,2038,1,2039,1,0,0,0,0 //AB_ADORAMUS#Adoramus#
+4057,2041,3,34,1,0,0,0,0,0,0,0,0 //AB_CLEMENTIA#Crementia#
+4057,2042,3,29,1,0,0,0,0,0,0,0,0 //AB_CANTO#Canto Candidus#
+4057,2043,3,28,1,0,0,0,0,0,0,0,0 //AB_CHEAL#Coluceo Heal#
+4057,2044,5,2039,1,2051,1,0,0,0,0,0,0 //AB_EPICLESIS#Epiclesis#
+4057,2045,10,73,1,0,0,0,0,0,0,0,0 //AB_PRAEFATIO#Praefatio#
+4057,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
+4057,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
+4057,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
+4057,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
+4057,2050,1,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
+4057,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
+4057,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#
+4057,2053,5,2046,5,2054,5,0,0,0,0,0,0 //AB_EXPIATIO#Expiatio#
+4057,2054,10,68,1,0,0,0,0,0,0,0,0 //AB_DUPLELIGHT#Duple Light#
+4057,2057,5,2052,1,0,0,0,0,0,0,0,0 //AB_SILENTIUM#Silentium#
+4057,2515,5,2044,1,2053,1,0,0,0,0,0,0 //AB_SECRAMENT#Secrament#
+//Mechanic (non-trans)
+4058,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
+4058,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
+4058,36,10,0,0,0,0,0,0,0,0,0,0 //MC_INCCARRY#Enlarge Weight Limit#
+4058,37,10,36,3,0,0,0,0,0,0,0,0 //MC_DISCOUNT#Discount#
+4058,38,10,37,3,0,0,0,0,0,0,0,0 //MC_OVERCHARGE#Overcharge#
+4058,39,10,36,5,0,0,0,0,0,0,0,0 //MC_PUSHCART#Pushcart#
+4058,40,1,0,0,0,0,0,0,0,0,0,0 //MC_IDENTIFY#Item Appraisal#
+4058,41,10,39,3,0,0,0,0,0,0,0,0 //MC_VENDING#Vending#
+4058,42,10,0,0,0,0,0,0,0,0,0,0 //MC_MAMMONITE#Mammonite#
+4058,153,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTREVOLUTION#Cart Revolution#
+4058,154,1,0,0,0,0,0,0,0,0,0,0 //MC_CHANGECART#Change Cart#
+4058,155,1,0,0,0,0,0,0,0,0,0,0 //MC_LOUD#Crazy Uproar#
+4058,94,5,0,0,0,0,0,0,0,0,0,0 //BS_IRON#Iron Tempering#
+4058,95,5,94,1,0,0,0,0,0,0,0,0 //BS_STEEL#Steel Tempering#
+4058,96,5,94,1,0,0,0,0,0,0,0,0 //BS_ENCHANTEDSTONE#Enchanted Stone Craft#
+4058,97,5,96,1,0,0,0,0,0,0,0,0 //BS_ORIDEOCON#Oridecon Research#
+4058,98,3,0,0,0,0,0,0,0,0,0,0 //BS_DAGGER#Smith Dagger#
+4058,99,3,98,1,0,0,0,0,0,0,0,0 //BS_SWORD#Smith Sword#
+4058,100,3,99,1,0,0,0,0,0,0,0,0 //BS_TWOHANDSWORD#Smith Two-handed Sword#
+4058,101,3,99,2,0,0,0,0,0,0,0,0 //BS_AXE#Smith Axe#
+4058,102,3,103,1,0,0,0,0,0,0,0,0 //BS_MACE#Smith Mace#
+4058,103,3,98,1,0,0,0,0,0,0,0,0 //BS_KNUCKLE#Smith Knucklebrace#
+4058,104,3,98,2,0,0,0,0,0,0,0,0 //BS_SPEAR#Smith Spear#
+4058,105,1,0,0,0,0,0,0,0,0,0,0 //BS_HILTBINDING#Hilt Binding#
+4058,106,1,95,1,105,1,0,0,0,0,0,0 //BS_FINDINGORE#Ore Discovery#
+4058,107,10,105,1,0,0,0,0,0,0,0,0 //BS_WEAPONRESEARCH#Weaponry Research#
+4058,108,1,107,1,0,0,0,0,0,0,0,0 //BS_REPAIRWEAPON#Weapon Repair#
+4058,109,5,0,0,0,0,0,0,0,0,0,0 //BS_SKINTEMPER#Skin Tempering#
+4058,110,5,0,0,0,0,0,0,0,0,0,0 //BS_HAMMERFALL#Hammer Fall#
+4058,111,5,110,2,0,0,0,0,0,0,0,0 //BS_ADRENALINE#Adrenaline Rush#
+4058,112,5,107,2,111,2,0,0,0,0,0,0 //BS_WEAPONPERFECT#Weapon Perfection#
+4058,113,5,111,3,0,0,0,0,0,0,0,0 //BS_OVERTHRUST#Power-Thrust#
+4058,114,5,112,3,113,2,0,0,0,0,0,0 //BS_MAXIMIZE#Maximize Power#
+4058,1012,1,0,0,0,0,0,0,0,0,0,0 //BS_UNFAIRLYTRICK#Unfair Trick#
+4058,1013,1,0,0,0,0,0,0,0,0,0,0 //BS_GREED#Greed#
+4058,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4058,459,1,111,5,0,0,0,0,0,0,0,0	//BS_ADRENALINE2#Full Adrenaline Rush#
+4058,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4058,2255,5,0,0,0,0,0,0,0,0,0,0 //NC_MADOLICENCE#Mado License#
+4058,2256,5,2255,1,0,0,0,0,0,0,0,0 //NC_BOOSTKNUCKLE#Boost Knuckle#
+4058,2257,3,2256,2,0,0,0,0,0,0,0,0 //NC_PILEBUNKER#Pile Bunker#
+4058,2258,3,2256,2,0,0,0,0,0,0,0,0 //NC_VULCANARM#Vulcan Arm#
+4058,2259,3,2258,3,0,0,0,0,0,0,0,0 //NC_FLAMELAUNCHER#Flame Launcher#
+4058,2260,3,2258,3,0,0,0,0,0,0,0,0 //NC_COLDSLOWER#Cold Slower#
+4058,2261,3,2259,2,2260,2,0,0,0,0,0,0 //NC_ARMSCANNON#Arm Cannon#
+4058,2262,3,2255,1,0,0,0,0,0,0,0,0 //NC_ACCELERATION#Acceleration#
+4058,2263,1,2262,1,0,0,0,0,0,0,0,0 //NC_HOVERING#Hovering#
+4058,2264,1,2263,1,0,0,0,0,0,0,0,0 //NC_F_SIDESLIDE#Front-Side Slide#
+4058,2265,1,2263,1,0,0,0,0,0,0,0,0 //NC_B_SIDESLIDE#Back-Side Slide#
+4058,2266,4,2255,4,0,0,0,0,0,0,0,0 //NC_MAINFRAME#Mainframe Restructure#
+4058,2267,3,2266,2,0,0,0,0,0,0,0,0 //NC_SELFDESTRUCTION#Self Destruction#
+4058,2268,4,2266,2,0,0,0,0,0,0,0,0 //NC_SHAPESHIFT#Shape Shift#
+4058,2269,1,2267,2,0,0,0,0,0,0,0,0 //NC_EMERGENCYCOOL#Emergency Cool#
+4058,2270,1,2268,2,0,0,0,0,0,0,0,0 //NC_INFRAREDSCAN#Infrared Scan#
+4058,2271,3,2270,1,0,0,0,0,0,0,0,0 //NC_ANALYZE#Analyze#
+4058,2272,3,2269,1,0,0,0,0,0,0,0,0 //NC_MAGNETICFIELD#Magnetic Field#
+4058,2273,3,2272,2,0,0,0,0,0,0,0,0 //NC_NEUTRALBARRIER#Neutral Barrier#
+4058,2274,3,2271,3,2273,2,0,0,0,0,0,0 //NC_STEALTHFIELD#Stealth Field#
+4058,2275,5,2255,1,0,0,0,0,0,0,0,0 //NC_REPAIR#Repair#
+4058,2276,10,0,0,0,0,0,0,0,0,0,0 //NC_TRAININGAXE#Axe Training#
+4058,2277,5,0,0,0,0,0,0,0,0,0,0 //NC_RESEARCHFE#Research Fire/Earth#
+4058,2278,5,2276,1,0,0,0,0,0,0,0,0 //NC_AXEBOOMERANG#Axe Boomerang#
+4058,2279,5,2278,3,0,0,0,0,0,0,0,0 //NC_POWERSWING#Power Swing#
+4058,2280,5,2276,1,0,0,0,0,0,0,0,0 //NC_AXETORNADO#Axe Tornado#
+4058,2281,5,2277,2,0,0,0,0,0,0,0,0 //NC_SILVERSNIPER#FAW - Silver Sniper#
+4058,2282,5,2277,2,0,0,0,0,0,0,0,0 //NC_MAGICDECOY#FAW - Magic Decoy#
+4058,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
+4058,2535,1,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
+//Guillotine Cross (non-trans)
+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#
+4059,48,10,0,0,0,0,0,0,0,0,0,0 //TF_DOUBLE#Double Attack#
+4059,49,10,0,0,0,0,0,0,0,0,0,0 //TF_MISS#Improve Dodge#
+4059,50,10,0,0,0,0,0,0,0,0,0,0 //TF_STEAL#Steal#
+4059,51,10,50,5,0,0,0,0,0,0,0,0 //TF_HIDING#Hiding#
+4059,52,10,0,0,0,0,0,0,0,0,0,0 //TF_POISON#Envenom#
+4059,53,1,52,3,0,0,0,0,0,0,0,0 //TF_DETOXIFY#Detoxify#
+4059,149,1,0,0,0,0,0,0,0,0,0,0 //TF_SPRINKLESAND#Throw Sand#
+4059,150,1,0,0,0,0,0,0,0,0,0,0 //TF_BACKSLIDING#Back Sliding#
+4059,151,1,0,0,0,0,0,0,0,0,0,0 //TF_PICKSTONE#Find Stone#
+4059,152,1,0,0,0,0,0,0,0,0,0,0 //TF_THROWSTONE#Stone Fling#
+4059,132,5,0,0,0,0,0,0,0,0,0,0 //AS_RIGHT#Righthand Mastery#
+4059,133,5,132,2,0,0,0,0,0,0,0,0 //AS_LEFT#Lefthand Mastery#
+4059,134,10,0,0,0,0,0,0,0,0,0,0 //AS_KATAR#Katar Mastery#
+4059,135,10,51,2,0,0,0,0,0,0,0,0 //AS_CLOAKING#Cloaking#
+4059,136,10,134,4,0,0,0,0,0,0,0,0 //AS_SONICBLOW#Sonic Blow#
+4059,137,5,135,2,136,5,0,0,0,0,0,0 //AS_GRIMTOOTH#Grimtooth#
+4059,138,10,52,1,0,0,0,0,0,0,0,0 //AS_ENCHANTPOISON#Enchant Poison#
+4059,139,10,138,3,0,0,0,0,0,0,0,0 //AS_POISONREACT#Poison React#
+4059,140,10,138,5,0,0,0,0,0,0,0,0 //AS_VENOMDUST#Venom Dust#
+4059,141,10,139,5,140,5,0,0,0,0,0,0 //AS_SPLASHER#Venom Splasher#
+4059,1003,1,0,0,0,0,0,0,0,0,0,0 //AS_SONICACCEL#Sonic Acceleration#
+4059,1004,1,0,0,0,0,0,0,0,0,0,0 //AS_VENOMKNIFE#Throw Venom Knife#
+4059,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4059,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4059,2021,5,138,3,0,0,0,0,0,0,0,0 //GC_VENOMIMPRESS#Venom Impress#
+4059,2022,5,136,10,0,0,0,0,0,0,0,0 //GC_CROSSIMPACT#Cross Impact#
+4059,2023,5,2022,3,0,0,0,0,0,0,0,0 //GC_DARKILLUSION#Dark Illusion#
+4059,2024,10,0,0,0,0,0,0,0,0,0,0 //GC_RESEARCHNEWPOISON#Research New Poison#
+4059,2025,1,2024,1,0,0,0,0,0,0,0,0 //GC_CREATENEWPOISON#Create New Poison#
+4059,2026,1,2024,5,0,0,0,0,0,0,0,0 //GC_ANTIDOTE#Antidote#
+4059,2027,5,2025,1,0,0,0,0,0,0,0,0 //GC_POISONINGWEAPON#Poisoning Weapon#
+4059,2028,5,133,5,0,0,0,0,0,0,0,0 //GC_WEAPONBLOCKING#Weapon Blocking#
+4059,2029,5,2028,1,0,0,0,0,0,0,0,0 //GC_COUNTERSLASH#Counter Slash#
+4059,2030,5,2028,1,0,0,0,0,0,0,0,0 //GC_WEAPONCRUSH#Weapon Crush#
+4059,2031,5,2027,3,2028,1,0,0,0,0,0,0 //GC_VENOMPRESSURE#Venom Pressure#
+4059,2032,5,2027,5,2031,5,0,0,0,0,0,0 //GC_POISONSMOKE#Poison Smoke#
+4059,2033,5,135,3,0,0,0,0,0,0,0,0 //GC_CLOAKINGEXCEED#Cloaking Exceed#
+4059,2034,1,2023,5,2033,5,0,0,0,0,0,0 //GC_PHANTOMMENACE#Phantom Menace#
+4059,2035,5,2034,1,0,0,0,0,0,0,0,0 //GC_HALLUCINATIONWALK#Hallucination Walk#
+4059,2036,5,136,10,0,0,0,0,0,0,0,0 //GC_ROLLINGCUTTER#Rolling Cutter#
+4059,2037,5,2036,1,0,0,0,0,0,0,0,0 //GC_CROSSRIPPERSLASHER#Cross Ripper Slasher#
+//Rune Knight (Trans)
+4060,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
+4060,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
+4060,2,10,0,0,0,0,0,0,0,0,0,0 //SM_SWORD#Sword Mastery#
+4060,3,10,2,1,0,0,0,0,0,0,0,0 //SM_TWOHAND#Two-Handed Sword Mastery#
+4060,4,10,0,0,0,0,0,0,0,0,0,0 //SM_RECOVERY#Increase HP Recovery#
+4060,5,10,0,0,0,0,0,0,0,0,0,0 //SM_BASH#Bash#
+4060,6,10,0,0,0,0,0,0,0,0,0,0 //SM_PROVOKE#Provoke#
+4060,7,10,5,5,0,0,0,0,0,0,0,0 //SM_MAGNUM#Magnum Break#
+4060,8,10,6,5,0,0,0,0,0,0,0,0 //SM_ENDURE#Endure#
+4060,144,1,0,0,0,0,0,0,0,0,0,0 //SM_MOVINGRECOVERY#Moving HP-Recovery#
+4060,145,1,0,0,0,0,0,0,0,0,0,0 //SM_FATALBLOW#Attack Weak Point#
+4060,146,1,0,0,0,0,0,0,0,0,0,0 //SM_AUTOBERSERK#Auto Berserk#
+4060,55,10,0,0,0,0,0,0,0,0,0,0 //KN_SPEARMASTERY#Spear Mastery#
+4060,56,10,55,1,0,0,0,0,0,0,0,0 //KN_PIERCE#Pierce#
+4060,57,10,63,1,58,3,0,0,0,0,0,0 //KN_BRANDISHSPEAR#Brandish Spear#
+4060,58,10,56,5,0,0,0,0,0,0,0,0 //KN_SPEARSTAB#Spear Stab#
+4060,59,5,56,3,0,0,0,0,0,0,0,0 //KN_SPEARBOOMERANG#Spear Boomerang#
+4060,60,10,3,1,0,0,0,0,0,0,0,0 //KN_TWOHANDQUICKEN#Twohand Quicken#
+4060,61,5,3,1,0,0,0,0,0,0,0,0 //KN_AUTOCOUNTER#Counter Attack#
+4060,62,10,5,10,7,3,3,5,60,10,61,5//KN_BOWLINGBASH#Bowling Bash#
+4060,63,1,8,1,0,0,0,0,0,0,0,0 //KN_RIDING#Peco Peco Riding#
+4060,64,5,63,1,0,0,0,0,0,0,0,0 //KN_CAVALIERMASTERY#Cavalier Mastery#
+4060,1001,1,0,0,0,0,0,0,0,0,0,0 //KN_CHARGEATK#Charge Attack#
+4060,355,5,5,5,7,5,3,5,0,0,0,0 //LK_AURABLADE#Aura Blade#
+4060,356,10,3,10,6,5,60,3,0,0,0,0 //LK_PARRYING#Parrying#
+4060,357,5,4,1,55,5,63,1,0,0,0,0 //LK_CONCENTRATION#Concentration#
+4060,358,1,4,10,6,5,8,3,0,0,0,0 //LK_TENSIONRELAX#Relax#
+4060,359,1,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //Extra column removed. Rune Knights dont require job level 50 to use Berserk.
+4060,397,5,55,10,56,5,58,5,63,1,0,0 //LK_SPIRALPIERCE#Spiral Pierce#
+4060,398,5,55,9,63,1,0,0,0,0,0,0 //LK_HEADCRUSH#Traumatic Blow#
+4060,399,10,55,9,64,3,398,3,0,0,0,0 //LK_JOINTBEAT#Vital Strike#
+4060,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4060,495,1,60,10,0,0,0,0,0,0,0,0	//KN_ONEHAND#Onehand Quicken#
+4060,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4060,2001,5,2010,2,0,0,0,0,0,0,0,0 //RK_ENCHANTBLADE#Enchant Blade#
+4060,2002,5,2001,3,0,0,0,0,0,0,0,0 //RK_SONICWAVE#Sonic Wave#
+4060,2003,10,61,1,2001,2,0,0,0,0,0,0 //RK_DEATHBOUND#Death Bound#
+4060,2004,10,2020,3,0,0,0,0,0,0,0,0 //RK_HUNDREDSPEAR#Hundred Spear#
+4060,2005,5,2001,5,0,0,0,0,0,0,0,0 //RK_WINDCUTTER#Wind Cutter#
+4060,2006,5,2002,2,2003,5,2005,3,0,0,0,0 //RK_IGNITIONBREAK#Ignition Break#
+4060,2007,5,64,1,0,0,0,0,0,0,0,0 //RK_DRAGONTRAINING#Dragon Training#
+4060,2008,10,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONBREATH#Dragon Breath#
+4060,2009,5,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONHOWLING#Dragon Howling#
+4060,2010,10,0,0,0,0,0,0,0,0,0,0 //RK_RUNEMASTERY#Rune Mastery#
+4060,2020,5,57,2,0,0,0,0,0,0,0,0 //RK_PHANTOMTHRUST#Phantom Thrust#
+//Warlock (Trans)
+4061,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
+4061,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
+4061,9,10,0,0,0,0,0,0,0,0,0,0 //MG_SRECOVERY#Increase SP Recovery#
+4061,10,1,0,0,0,0,0,0,0,0,0,0 //MG_SIGHT#Sight#
+4061,11,10,0,0,0,0,0,0,0,0,0,0 //MG_NAPALMBEAT#Napalm Beat#
+4061,12,10,11,7,13,5,0,0,0,0,0,0 //MG_SAFETYWALL#Safety Wall#
+4061,13,10,11,4,0,0,0,0,0,0,0,0 //MG_SOULSTRIKE#Soul Strike#
+4061,14,10,0,0,0,0,0,0,0,0,0,0 //MG_COLDBOLT#Cold Bolt#
+4061,15,10,14,5,0,0,0,0,0,0,0,0 //MG_FROSTDIVER#Frost Diver#
+4061,16,10,0,0,0,0,0,0,0,0,0,0 //MG_STONECURSE#Stone Curse#
+4061,17,10,19,4,0,0,0,0,0,0,0,0 //MG_FIREBALL#Fire Ball#
+4061,18,10,17,5,10,1,0,0,0,0,0,0 //MG_FIREWALL#Fire Wall#
+4061,19,10,0,0,0,0,0,0,0,0,0,0 //MG_FIREBOLT#Fire Bolt#
+4061,20,10,0,0,0,0,0,0,0,0,0,0 //MG_LIGHTNINGBOLT#Lightning Bolt#
+4061,21,10,20,4,0,0,0,0,0,0,0,0 //MG_THUNDERSTORM#Thunderstorm#
+4061,157,1,0,0,0,0,0,0,0,0,0,0 //MG_ENERGYCOAT#Energy Coat#
+4061,80,10,18,1,0,0,0,0,0,0,0,0 //WZ_FIREPILLAR#Fire Pillar#
+4061,81,10,20,1,10,1,0,0,0,0,0,0 //WZ_SIGHTRASHER#Sightrasher#
+4061,83,10,81,2,21,1,0,0,0,0,0,0 //WZ_METEOR#Meteor Storm#
+4061,84,10,11,1,20,1,0,0,0,0,0,0 //WZ_JUPITEL#Jupiter Thunder#
+4061,85,10,21,1,84,5,0,0,0,0,0,0 //WZ_VERMILION#Lord of Vermilion#
+4061,86,5,14,1,20,1,0,0,0,0,0,0 //WZ_WATERBALL#Water Ball#
+4061,87,10,16,1,15,1,0,0,0,0,0,0 //WZ_ICEWALL#Ice Wall#
+4061,88,10,87,1,0,0,0,0,0,0,0,0 //WZ_FROSTNOVA#Frost Nova#
+4061,89,10,15,1,84,3,0,0,0,0,0,0 //WZ_STORMGUST#Storm Gust#
+4061,90,5,16,1,0,0,0,0,0,0,0,0 //WZ_EARTHSPIKE#Earth Spike#
+4061,91,5,90,3,0,0,0,0,0,0,0,0 //WZ_HEAVENDRIVE#Heaven's Drive#
+4061,92,5,91,1,0,0,0,0,0,0,0,0 //WZ_QUAGMIRE#Quagmire#
+4061,93,1,0,0,0,0,0,0,0,0,0,0 //WZ_ESTIMATION#Sense#
+4061,1006,1,0,0,0,0,0,0,0,0,0,0 //WZ_SIGHTBLASTER#Sight Blaster#
+4061,364,10,9,5,13,7,0,0,0,0,0,0 //HW_SOULDRAIN#Soul Drain#
+4061,365,1,9,1,0,0,0,0,0,0,0,0 //HW_MAGICCRASHER#Stave Crasher#
+4061,366,10,0,0,0,0,0,0,0,0,0,0 //HW_MAGICPOWER#Mystical Amplification#
+4061,400,5,11,5,0,0,0,0,0,0,0,0 //HW_NAPALMVULCAN#Napalm Vulcan#
+4061,483,1,93,1,87,1,0,0,0,0,0,0 //HW_GANBANTEIN#Ganbantein#
+4061,484,5,365,1,366,10,92,1,0,0,0,0 //HW_GRAVITATION#Gravitation#
+4061,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4061,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4061,2201,5,2202,3,0,0,0,0,0,0,0,0 //WL_WHITEIMPRISON#White Imprison#
+4061,2202,5,2210,1,0,0,0,0,0,0,0,0 //WL_SOULEXPANSION#Soul Expansion#
+4061,2203,5,2224,1,0,0,0,0,0,0,0,0 //WL_FROSTMISTY#Frosty Misty#
+4061,2204,5,2203,2,0,0,0,0,0,0,0,0 //WL_JACKFROST#Jack Frost#
+4061,2205,5,92,1,0,0,0,0,0,0,0,0 //WL_MARSHOFABYSS#Marsh of Abyss#
+4061,2206,5,2201,1,2209,1,2230,2,0,0,0,0 //WL_RECOGNIZEDSPELL#Recognized Spell#
+4061,2207,5,2229,1,0,0,0,0,0,0,0,0 //WL_SIENNAEXECRATE#Sienna Execrate#
+4061,2208,3,0,0,0,0,0,0,0,0,0,0 //WL_RADIUS#Radius#
+4061,2209,5,2210,1,0,0,0,0,0,0,0,0 //WL_STASIS#Stasis#
+4061,2210,5,2208,1,0,0,0,0,0,0,0,0 //WL_DRAINLIFE#Drain Life#
+4061,2211,5,2222,1,0,0,0,0,0,0,0,0 //WL_CRIMSONROCK#Crimson Rock#
+4061,2212,5,2211,2,0,0,0,0,0,0,0,0 //WL_HELLINFERNO#Hell Inferno#
+4061,2213,5,2212,3,0,0,0,0,0,0,0,0 //WL_COMET#Comet#
+4061,2214,5,2223,1,0,0,0,0,0,0,0,0 //WL_CHAINLIGHTNING#Chain Lightning#
+4061,2216,5,2207,2,0,0,0,0,0,0,0,0 //WL_EARTHSTRAIN#Earth Strain#
+4061,2217,5,2204,5,2212,5,2214,5,2216,5,0,0 //WL_TETRAVORTEX#Tetra Vortex#
+4061,2222,5,83,1,0,0,0,0,0,0,0,0 //WL_SUMMONFB#Summon Fire Ball#
+4061,2223,5,85,1,0,0,0,0,0,0,0,0 //WL_SUMMONBL#Summon Lightning Ball#
+4061,2224,5,89,1,0,0,0,0,0,0,0,0 //WL_SUMMONWB#Summon Water Ball#
+4061,2229,5,91,1,0,0,0,0,0,0,0,0 //WL_SUMMONSTONE#Summon Stone#
+4061,2230,2,0,0,0,0,0,0,0,0,0,0 //WL_RELEASE#Release#
+4061,2231,1,0,0,0,0,0,0,0,0,0,0 //WL_READING_SB#Reading Spellbook#
+4061,2232,5,0,0,0,0,0,0,0,0,0,0 //WL_FREEZE_SP#Freeze Spell#
+//Ranger (Trans)
+4062,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
+4062,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
+4062,43,10,0,0,0,0,0,0,0,0,0,0 //AC_OWL#Owl's Eye#
+4062,44,10,43,3,0,0,0,0,0,0,0,0 //AC_VULTURE#Vulture's Eye#
+4062,45,10,44,1,0,0,0,0,0,0,0,0 //AC_CONCENTRATION#Improve Concentration#
+4062,46,10,0,0,0,0,0,0,0,0,0,0 //AC_DOUBLE#Double Strafe#
+4062,47,10,46,5,0,0,0,0,0,0,0,0 //AC_SHOWER#Arrow Shower#
+4062,147,1,0,0,0,0,0,0,0,0,0,0 //AC_MAKINGARROW#Arrow Crafting#
+4062,148,1,0,0,0,0,0,0,0,0,0,0 //AC_CHARGEARROW#Arrow Repel#
+4062,115,5,0,0,0,0,0,0,0,0,0,0 //HT_SKIDTRAP#Skid Trap#
+4062,116,5,0,0,0,0,0,0,0,0,0,0 //HT_LANDMINE#Land Mine#
+4062,117,5,115,1,0,0,0,0,0,0,0,0 //HT_ANKLESNARE#Ankle Snare#
+4062,118,5,117,1,0,0,0,0,0,0,0,0 //HT_SHOCKWAVE#Shockwave Trap#
+4062,119,5,120,1,0,0,0,0,0,0,0,0 //HT_SANDMAN#Sandman#
+4062,120,5,115,1,0,0,0,0,0,0,0,0 //HT_FLASHER#Flasher#
+4062,121,5,120,1,0,0,0,0,0,0,0,0 //HT_FREEZINGTRAP#Freezing Trap#
+4062,122,5,116,1,119,1,121,1,0,0,0,0 //HT_BLASTMINE#Blast Mine#
+4062,123,5,118,1,122,1,0,0,0,0,0,0 //HT_CLAYMORETRAP#Claymore Trap#
+4062,124,1,116,1,0,0,0,0,0,0,0,0 //HT_REMOVETRAP#Remove Trap#
+4062,125,1,118,1,124,1,0,0,0,0,0,0 //HT_TALKIEBOX#Talkie Box#
+4062,126,10,0,0,0,0,0,0,0,0,0,0 //HT_BEASTBANE#Beast Bane#
+4062,127,1,126,1,0,0,0,0,0,0,0,0 //HT_FALCON#Falconry Mastery#
+4062,128,10,129,5,0,0,0,0,0,0,0,0 //HT_STEELCROW#Steel Crow#
+4062,129,5,127,1,0,0,0,0,0,0,0,0 //HT_BLITZBEAT#Blitz Beat#
+4062,130,4,45,1,127,1,0,0,0,0,0,0 //HT_DETECTING#Detect#
+4062,131,5,124,1,127,1,0,0,0,0,0,0 //HT_SPRINGTRAP#Spring Trap#
+4062,1009,1,0,0,0,0,0,0,0,0,0,0 //HT_PHANTASMIC#Phantasmic Arrow#
+4062,380,10,43,10,44,10,45,10,127,1,0,0 //SN_SIGHT#Falcon Eyes#
+4062,381,5,128,3,44,5,129,5,127,1,0,0 //SN_FALCONASSAULT#Falcon Assault#
+4062,382,5,45,10,46,5,0,0,0,0,0,0 //SN_SHARPSHOOTING#Focused Arrow Strike#
+4062,383,10,45,9,0,0,0,0,0,0,0,0 //SN_WINDWALK#Wind Walker#
+4062,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4062,499,1,46,10,0,0,0,0,0,0,0,0	//HT_POWER#Beast Strafing#
+4062,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4062,2233,10,2236,5,0,0,0,0,0,0,0,0 //RA_ARROWSTORM#Arrow Storm#
+4062,2234,5,2233,5,2247,1,0,0,0,0,0,0 //RA_FEARBREEZE#Fear Breeze#
+4062,2235,10,0,0,0,0,0,0,0,0,0,0 //RA_RANGERMAIN#Ranger Main#
+4062,2236,10,117,5,0,0,0,0,0,0,0,0 //RA_AIMEDBOLT#Aimed Bolt#
+4062,2237,1,2239,3,0,0,0,0,0,0,0,0 //RA_DETONATOR#Detonator#
+4062,2238,5,118,5,0,0,0,0,0,0,0,0 //RA_ELECTRICSHOCKER#Electric Shocker#
+4062,2239,5,2248,3,0,0,0,0,0,0,0,0 //RA_CLUSTERBOMB#Cluster Bomb#
+4062,2240,1,0,0,0,0,0,0,0,0,0,0 //RA_WUGMASTERY#Warg Mastery#
+4062,2241,3,2240,1,0,0,0,0,0,0,0,0 //RA_WUGRIDER#Warg Rider#
+4062,2242,1,2241,1,0,0,0,0,0,0,0,0 //RA_WUGDASH#Warg Dash#
+4062,2243,5,2245,1,0,0,0,0,0,0,0,0 //RA_WUGSTRIKE#Warg Strike#
+4062,2244,5,2240,1,0,0,0,0,0,0,0,0 //RA_WUGBITE#Warg Bite#
+4062,2245,10,2240,1,0,0,0,0,0,0,0,0 //RA_TOOTHOFWUG#Tooth Of Warg#
+4062,2246,5,2245,3,0,0,0,0,0,0,0,0 //RA_SENSITIVEKEEN#Sensitive Keen#
+4062,2247,5,2235,1,0,0,0,0,0,0,0,0 //RA_CAMOUFLAGE#Camouflage#
+4062,2248,5,123,1,124,1,0,0,0,0,0,0 //RA_RESEARCHTRAP#Research Trap#
+4062,2249,1,2248,1,0,0,0,0,0,0,0,0 //RA_MAGENTATRAP#Magenta Trap#
+4062,2250,1,2248,1,0,0,0,0,0,0,0,0 //RA_COBALTTRAP#Cobalt Trap#
+4062,2251,1,2248,1,0,0,0,0,0,0,0,0 //RA_MAIZETRAP#Maize Trap#
+4062,2252,1,2248,1,0,0,0,0,0,0,0,0 //RA_VERDURETRAP#Verdure Trap#
+4062,2253,5,2237,1,0,0,0,0,0,0,0,0 //RA_FIRINGTRAP#Firing Trap#
+4062,2254,5,2237,1,0,0,0,0,0,0,0,0 //RA_ICEBOUNDTRAP#Icebound Trap#
+//Arch Bishop	(Trans)
+4063,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
+4063,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
+4063,22,10,0,0,0,0,0,0,0,0,0,0 //AL_DP#Divine Protection#
+4063,23,10,22,3,0,0,0,0,0,0,0,0 //AL_DEMONBANE#Demon Bane#
+4063,24,1,0,0,0,0,0,0,0,0,0,0 //AL_RUWACH#Ruwach#
+4063,25,1,27,4,0,0,0,0,0,0,0,0 //AL_PNEUMA#Pneuma#
+4063,26,2,24,1,0,0,0,0,0,0,0,0 //AL_TELEPORT#Teleport#
+4063,27,4,26,2,0,0,0,0,0,0,0,0 //AL_WARP#Warp Portal#
+4063,28,10,0,0,0,0,0,0,0,0,0,0 //AL_HEAL#Heal#
+4063,29,10,28,3,0,0,0,0,0,0,0,0 //AL_INCAGI#Increase AGI#
+4063,30,10,29,1,0,0,0,0,0,0,0,0 //AL_DECAGI#Decrease AGI#
+4063,31,1,0,0,0,0,0,0,0,0,0,0 //AL_HOLYWATER#Aqua Benedicta#
+4063,32,10,23,3,0,0,0,0,0,0,0,0 //AL_CRUCIS#Signum Crusis#
+4063,33,10,22,3,0,0,0,0,0,0,0,0 //AL_ANGELUS#Angelus#
+4063,34,10,22,5,0,0,0,0,0,0,0,0 //AL_BLESSING#Blessing#
+4063,35,1,28,2,0,0,0,0,0,0,0,0 //AL_CURE#Cure#
+4063,156,1,0,0,0,0,0,0,0,0,0,0 //AL_HOLYLIGHT#Holy Light#
+4063,9,10,0,0,0,0,0,0,0,0,0,0 //MG_SRECOVERY#Increase SP Recovery#
+4063,12,10,68,4,70,3,0,0,0,0,0,0 //MG_SAFETYWALL#Safety Wall#
+4063,54,4,72,1,9,4,0,0,0,0,0,0 //ALL_RESURRECTION#Resurrection#
+4063,65,10,0,0,0,0,0,0,0,0,0,0 //PR_MACEMASTERY#Mace Mastery#
+4063,66,5,0,0,0,0,0,0,0,0,0,0 //PR_IMPOSITIO#Impositio Manus#
+4063,67,3,66,2,0,0,0,0,0,0,0,0 //PR_SUFFRAGIUM#Suffragium#
+4063,68,5,31,1,66,3,0,0,0,0,0,0 //PR_ASPERSIO#Aspersio#
+4063,69,5,75,3,68,5,0,0,0,0,0,0 //PR_BENEDICTIO#B.S Sacramenti#
+4063,70,10,28,1,0,0,0,0,0,0,0,0 //PR_SANCTUARY#Sanctuary#
+4063,71,4,72,1,0,0,0,0,0,0,0,0 //PR_SLOWPOISON#Slow Poison#
+4063,72,1,0,0,0,0,0,0,0,0,0,0 //PR_STRECOVERY#Status Recovery#
+4063,73,10,33,2,0,0,0,0,0,0,0,0 //PR_KYRIE#Kyrie Eleison#
+4063,74,5,0,0,0,0,0,0,0,0,0,0 //PR_MAGNIFICAT#Magnificat#
+4063,75,5,73,4,74,3,0,0,0,0,0,0 //PR_GLORIA#Gloria#
+4063,76,10,24,1,0,0,0,0,0,0,0,0 //PR_LEXDIVINA#Lex Divina#
+4063,77,10,54,1,76,3,0,0,0,0,0,0 //PR_TURNUNDEAD#Turn Undead#
+4063,78,1,76,5,0,0,0,0,0,0,0,0 //PR_LEXAETERNA#Lex Aeterna#
+4063,79,10,12,1,78,1,77,3,0,0,0,0 //PR_MAGNUS#Magnus Exorcismus#
+4063,1014,1,0,0,0,0,0,0,0,0,0,0 //PR_REDEMPTIO#Redemptio#
+4063,361,5,33,1,9,3,66,3,0,0,0,0 //HP_ASSUMPTIO#Assumptio#
+4063,362,5,75,2,9,1,73,3,0,0,0,0 //HP_BASILICA#Basilica#
+4063,363,10,68,3,9,5,76,5,0,0,0,0 //HP_MEDITATIO#Meditatio#
+4063,481,5,65,10,23,10,0,0,0,0,0,0 //HP_MANARECHARGE#Mana Recharge#
+4063,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4063,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4063,2038,5,77,1,0,0,0,0,0,0,0,0 //AB_JUDEX#Judex#
+4063,2039,1,2041,3,0,0,0,0,0,0,0,0 //AB_ANCILLA#Ancilla#
+4063,2040,10,79,1,2038,1,2039,1,0,0,0,0 //AB_ADORAMUS#Adoramus#
+4063,2041,3,34,1,0,0,0,0,0,0,0,0 //AB_CLEMENTIA#Crementia#
+4063,2042,3,29,1,0,0,0,0,0,0,0,0 //AB_CANTO#Canto Candidus#
+4063,2043,3,28,1,0,0,0,0,0,0,0,0 //AB_CHEAL#Coluceo Heal#
+4063,2044,5,2039,1,2051,1,0,0,0,0,0,0 //AB_EPICLESIS#Epiclesis#
+4063,2045,10,73,1,0,0,0,0,0,0,0,0 //AB_PRAEFATIO#Praefatio#
+4063,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
+4063,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
+4063,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
+4063,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
+4063,2050,1,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
+4063,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
+4063,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#
+4063,2053,5,2046,5,2054,5,0,0,0,0,0,0 //AB_EXPIATIO#Expiatio#
+4063,2054,10,68,1,0,0,0,0,0,0,0,0 //AB_DUPLELIGHT#Duple Light#
+4063,2057,5,2052,1,0,0,0,0,0,0,0,0 //AB_SILENTIUM#Silentium#
+4063,2515,5,2044,1,2053,1,0,0,0,0,0,0 //AB_SECRAMENT#Secrament#
+//Mechanic (Trans)
+4064,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
+4064,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
+4064,36,10,0,0,0,0,0,0,0,0,0,0 //MC_INCCARRY#Enlarge Weight Limit#
+4064,37,10,36,3,0,0,0,0,0,0,0,0 //MC_DISCOUNT#Discount#
+4064,38,10,37,3,0,0,0,0,0,0,0,0 //MC_OVERCHARGE#Overcharge#
+4064,39,10,36,5,0,0,0,0,0,0,0,0 //MC_PUSHCART#Pushcart#
+4064,40,1,0,0,0,0,0,0,0,0,0,0 //MC_IDENTIFY#Item Appraisal#
+4064,41,10,39,3,0,0,0,0,0,0,0,0 //MC_VENDING#Vending#
+4064,42,10,0,0,0,0,0,0,0,0,0,0 //MC_MAMMONITE#Mammonite#
+4064,153,1,0,0,0,0,0,0,0,0,0,0 //MC_CARTREVOLUTION#Cart Revolution#
+4064,154,1,0,0,0,0,0,0,0,0,0,0 //MC_CHANGECART#Change Cart#
+4064,155,1,0,0,0,0,0,0,0,0,0,0 //MC_LOUD#Crazy Uproar#
+4064,94,5,0,0,0,0,0,0,0,0,0,0 //BS_IRON#Iron Tempering#
+4064,95,5,94,1,0,0,0,0,0,0,0,0 //BS_STEEL#Steel Tempering#
+4064,96,5,94,1,0,0,0,0,0,0,0,0 //BS_ENCHANTEDSTONE#Enchanted Stone Craft#
+4064,97,5,96,1,0,0,0,0,0,0,0,0 //BS_ORIDEOCON#Oridecon Research#
+4064,98,3,0,0,0,0,0,0,0,0,0,0 //BS_DAGGER#Smith Dagger#
+4064,99,3,98,1,0,0,0,0,0,0,0,0 //BS_SWORD#Smith Sword#
+4064,100,3,99,1,0,0,0,0,0,0,0,0 //BS_TWOHANDSWORD#Smith Two-handed Sword#
+4064,101,3,99,2,0,0,0,0,0,0,0,0 //BS_AXE#Smith Axe#
+4064,102,3,103,1,0,0,0,0,0,0,0,0 //BS_MACE#Smith Mace#
+4064,103,3,98,1,0,0,0,0,0,0,0,0 //BS_KNUCKLE#Smith Knucklebrace#
+4064,104,3,98,2,0,0,0,0,0,0,0,0 //BS_SPEAR#Smith Spear#
+4064,105,1,0,0,0,0,0,0,0,0,0,0 //BS_HILTBINDING#Hilt Binding#
+4064,106,1,95,1,105,1,0,0,0,0,0,0 //BS_FINDINGORE#Ore Discovery#
+4064,107,10,105,1,0,0,0,0,0,0,0,0 //BS_WEAPONRESEARCH#Weaponry Research#
+4064,108,1,107,1,0,0,0,0,0,0,0,0 //BS_REPAIRWEAPON#Weapon Repair#
+4064,109,5,0,0,0,0,0,0,0,0,0,0 //BS_SKINTEMPER#Skin Tempering#
+4064,110,5,0,0,0,0,0,0,0,0,0,0 //BS_HAMMERFALL#Hammer Fall#
+4064,111,5,110,2,0,0,0,0,0,0,0,0 //BS_ADRENALINE#Adrenaline Rush#
+4064,112,5,107,2,111,2,0,0,0,0,0,0 //BS_WEAPONPERFECT#Weapon Perfection#
+4064,113,5,111,3,0,0,0,0,0,0,0,0 //BS_OVERTHRUST#Power-Thrust#
+4064,114,5,112,3,113,2,0,0,0,0,0,0 //BS_MAXIMIZE#Maximize Power#
+4064,1012,1,0,0,0,0,0,0,0,0,0,0 //BS_UNFAIRLYTRICK#Unfair Trick#
+4064,1013,1,0,0,0,0,0,0,0,0,0,0 //BS_GREED#Greed#
+4064,384,10,109,3,105,1,107,5,113,3,0,0 //WS_MELTDOWN#Shattering Strike#
+4064,387,1,39,5,153,1,154,1,105,1,0,0 //WS_CARTBOOST#Cart Boost#
+4064,477,10,107,10,0,0,0,0,0,0,0,0 //WS_WEAPONREFINE#Upgrade Weapon#
+4064,485,10,42,10,110,5,387,1,0,0,0,0 //WS_CARTTERMINATION#Cart Termination#
+4064,486,5,113,5,0,0,0,0,0,0,0,0 //WS_OVERTHRUSTMAX#Maximum Power Thrust#
+4064,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4064,459,1,111,5,0,0,0,0,0,0,0,0	//BS_ADRENALINE2#Full Adrenaline Rush#
+4064,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4064,2255,5,0,0,0,0,0,0,0,0,0,0 //NC_MADOLICENCE#Mado License#
+4064,2256,5,2255,1,0,0,0,0,0,0,0,0 //NC_BOOSTKNUCKLE#Boost Knuckle#
+4064,2257,3,2256,2,0,0,0,0,0,0,0,0 //NC_PILEBUNKER#Pile Bunker#
+4064,2258,3,2256,2,0,0,0,0,0,0,0,0 //NC_VULCANARM#Vulcan Arm#
+4064,2259,3,2258,3,0,0,0,0,0,0,0,0 //NC_FLAMELAUNCHER#Flame Launcher#
+4064,2260,3,2258,3,0,0,0,0,0,0,0,0 //NC_COLDSLOWER#Cold Slower#
+4064,2261,3,2259,2,2260,2,0,0,0,0,0,0 //NC_ARMSCANNON#Arm Cannon#
+4064,2262,3,2255,1,0,0,0,0,0,0,0,0 //NC_ACCELERATION#Acceleration#
+4064,2263,1,2262,1,0,0,0,0,0,0,0,0 //NC_HOVERING#Hovering#
+4064,2264,1,2263,1,0,0,0,0,0,0,0,0 //NC_F_SIDESLIDE#Front-Side Slide#
+4064,2265,1,2263,1,0,0,0,0,0,0,0,0 //NC_B_SIDESLIDE#Back-Side Slide#
+4064,2266,4,2255,4,0,0,0,0,0,0,0,0 //NC_MAINFRAME#Mainframe Restructure#
+4064,2267,3,2266,2,0,0,0,0,0,0,0,0 //NC_SELFDESTRUCTION#Self Destruction#
+4064,2268,4,2266,2,0,0,0,0,0,0,0,0 //NC_SHAPESHIFT#Shape Shift#
+4064,2269,1,2267,2,0,0,0,0,0,0,0,0 //NC_EMERGENCYCOOL#Emergency Cool#
+4064,2270,1,2268,2,0,0,0,0,0,0,0,0 //NC_INFRAREDSCAN#Infrared Scan#
+4064,2271,3,2270,1,0,0,0,0,0,0,0,0 //NC_ANALYZE#Analyze#
+4064,2272,3,2269,1,0,0,0,0,0,0,0,0 //NC_MAGNETICFIELD#Magnetic Field#
+4064,2273,3,2272,2,0,0,0,0,0,0,0,0 //NC_NEUTRALBARRIER#Neutral Barrier#
+4064,2274,3,2271,3,2273,2,0,0,0,0,0,0 //NC_STEALTHFIELD#Stealth Field#
+4064,2275,5,2255,1,0,0,0,0,0,0,0,0 //NC_REPAIR#Repair#
+4064,2276,10,0,0,0,0,0,0,0,0,0,0 //NC_TRAININGAXE#Axe Training#
+4064,2277,5,0,0,0,0,0,0,0,0,0,0 //NC_RESEARCHFE#Research Fire/Earth#
+4064,2278,5,2276,1,0,0,0,0,0,0,0,0 //NC_AXEBOOMERANG#Axe Boomerang#
+4064,2279,5,2278,3,0,0,0,0,0,0,0,0 //NC_POWERSWING#Power Swing#
+4064,2280,5,2276,1,0,0,0,0,0,0,0,0 //NC_AXETORNADO#Axe Tornado#
+4064,2281,5,2277,2,0,0,0,0,0,0,0,0 //NC_SILVERSNIPER#FAW - Silver Sniper#
+4064,2282,5,2277,2,0,0,0,0,0,0,0,0 //NC_MAGICDECOY#FAW - Magic Decoy#
+4064,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
+4064,2535,1,41,1,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store#
+//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#
+4065,48,10,0,0,0,0,0,0,0,0,0,0 //TF_DOUBLE#Double Attack#
+4065,49,10,0,0,0,0,0,0,0,0,0,0 //TF_MISS#Improve Dodge#
+4065,50,10,0,0,0,0,0,0,0,0,0,0 //TF_STEAL#Steal#
+4065,51,10,50,5,0,0,0,0,0,0,0,0 //TF_HIDING#Hiding#
+4065,52,10,0,0,0,0,0,0,0,0,0,0 //TF_POISON#Envenom#
+4065,53,1,52,3,0,0,0,0,0,0,0,0 //TF_DETOXIFY#Detoxify#
+4065,149,1,0,0,0,0,0,0,0,0,0,0 //TF_SPRINKLESAND#Throw Sand#
+4065,150,1,0,0,0,0,0,0,0,0,0,0 //TF_BACKSLIDING#Back Sliding#
+4065,151,1,0,0,0,0,0,0,0,0,0,0 //TF_PICKSTONE#Find Stone#
+4065,152,1,0,0,0,0,0,0,0,0,0,0 //TF_THROWSTONE#Stone Fling#
+4065,132,5,0,0,0,0,0,0,0,0,0,0 //AS_RIGHT#Righthand Mastery#
+4065,133,5,132,2,0,0,0,0,0,0,0,0 //AS_LEFT#Lefthand Mastery#
+4065,134,10,0,0,0,0,0,0,0,0,0,0 //AS_KATAR#Katar Mastery#
+4065,135,10,51,2,0,0,0,0,0,0,0,0 //AS_CLOAKING#Cloaking#
+4065,136,10,134,4,0,0,0,0,0,0,0,0 //AS_SONICBLOW#Sonic Blow#
+4065,137,5,135,2,136,5,0,0,0,0,0,0 //AS_GRIMTOOTH#Grimtooth#
+4065,138,10,52,1,0,0,0,0,0,0,0,0 //AS_ENCHANTPOISON#Enchant Poison#
+4065,139,10,138,3,0,0,0,0,0,0,0,0 //AS_POISONREACT#Poison React#
+4065,140,10,138,5,0,0,0,0,0,0,0,0 //AS_VENOMDUST#Venom Dust#
+4065,141,10,139,5,140,5,0,0,0,0,0,0 //AS_SPLASHER#Venom Splasher#
+4065,1003,1,0,0,0,0,0,0,0,0,0,0 //AS_SONICACCEL#Sonic Acceleration#
+4065,1004,1,0,0,0,0,0,0,0,0,0,0 //AS_VENOMKNIFE#Throw Venom Knife#
+4065,376,5,48,5,134,7,0,0,0,0,0,0 //ASC_KATAR#Advanced Katar Mastery#
+4065,378,5,407,1,0,0,0,0,0,0,0,0 //ASC_EDP#Deadly Poison Enchantment#
+4065,379,10,48,5,135,3,138,6,52,5,0,0 //ASC_BREAKER#Soul Destroyer#
+4065,406,10,132,3,134,5,136,5,379,1,0,0 //ASC_METEORASSAULT#Meteor Assault#
+4065,407,1,52,10,53,1,138,5,0,0,0,0 //ASC_CDP#Create Deadly Poison#
+4065,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
+4065,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
+4065,2021,5,138,3,0,0,0,0,0,0,0,0 //GC_VENOMIMPRESS#Venom Impress#
+4065,2022,5,136,10,0,0,0,0,0,0,0,0 //GC_CROSSIMPACT#Cross Impact#
+4065,2023,5,2022,3,0,0,0,0,0,0,0,0 //GC_DARKILLUSION#Dark Illusion#
+4065,2024,10,0,0,0,0,0,0,0,0,0,0 //GC_RESEARCHNEWPOISON#Research New Poison#
+4065,2025,1,2024,1,0,0,0,0,0,0,0,0 //GC_CREATENEWPOISON#Create New Poison#
+4065,2026,1,2024,5,0,0,0,0,0,0,0,0 //GC_ANTIDOTE#Antidote#
+4065,2027,5,2025,1,0,0,0,0,0,0,0,0 //GC_POISONINGWEAPON#Poisoning Weapon#
+4065,2028,5,133,5,0,0,0,0,0,0,0,0 //GC_WEAPONBLOCKING#Weapon Blocking#
+4065,2029,5,2028,1,0,0,0,0,0,0,0,0 //GC_COUNTERSLASH#Counter Slash#
+4065,2030,5,2028,1,0,0,0,0,0,0,0,0 //GC_WEAPONCRUSH#Weapon Crush#
+4065,2031,5,2027,3,2028,1,0,0,0,0,0,0 //GC_VENOMPRESSURE#Venom Pressure#
+4065,2032,5,2027,5,2031,5,0,0,0,0,0,0 //GC_POISONSMOKE#Poison Smoke#
+4065,2033,5,135,3,0,0,0,0,0,0,0,0 //GC_CLOAKINGEXCEED#Cloaking Exceed#
+4065,2034,1,2023,5,2033,5,0,0,0,0,0,0 //GC_PHANTOMMENACE#Phantom Menace#
+4065,2035,5,2034,1,0,0,0,0,0,0,0,0 //GC_HALLUCINATIONWALK#Hallucination Walk#
+4065,2036,5,136,10,0,0,0,0,0,0,0,0 //GC_ROLLINGCUTTER#Rolling Cutter#
+4065,2037,5,2036,1,0,0,0,0,0,0,0,0 //GC_CROSSRIPPERSLASHER#Cross Ripper Slasher#

+ 21 - 0
db/skill_unit_db.txt

@@ -33,6 +33,7 @@
  70,0x83,    , -1, 1,1000,all,   0x018	//PR_SANCTUARY
  70,0x83,    , -1, 1,1000,all,   0x018	//PR_SANCTUARY
  79,0x84,    , -1, 1,3000,enemy, 0x018	//PR_MAGNUS
  79,0x84,    , -1, 1,3000,enemy, 0x018	//PR_MAGNUS
  80,0x87,0x88,  0, 1,2000,enemy, 0x006	//WZ_FIREPILLAR
  80,0x87,0x88,  0, 1,2000,enemy, 0x006	//WZ_FIREPILLAR
+ 82,0x86,    ,  0, 3,1000,enemy, 0x018	//WZ_FIREIVY
  83,0x86,    ,  0, 3,1000,enemy, 0x010	//WZ_METEOR
  83,0x86,    ,  0, 3,1000,enemy, 0x010	//WZ_METEOR
  85,0x86,    ,  0, 6:6:6:6:6:6:6:6:6:6:8,1250,enemy,0x018	//WZ_VERMILION
  85,0x86,    ,  0, 6:6:6:6:6:6:6:6:6:6:8,1250,enemy,0x018	//WZ_VERMILION
  87,0x8d,    , -1, 0,  -1,all,   0x010	//WZ_ICEWALL
  87,0x8d,    , -1, 0,  -1,all,   0x010	//WZ_ICEWALL
@@ -95,6 +96,26 @@
 535,0xbd,    , -1, 0,  20,enemy, 0x010	//NJ_KAENSIN
 535,0xbd,    , -1, 0,  20,enemy, 0x010	//NJ_KAENSIN
 538,0xbb,    ,  1:1:1:2:2:2:3:3:3:4,0,-1,all,0x010	//NJ_SUITON
 538,0xbb,    ,  1:1:1:2:2:2:3:3:3:4,0,-1,all,0x010	//NJ_SUITON
 670,0xc7,    ,  1, 4:7:10:13:16:19:22:25:28:31,1000,all,0x008	//NPC_EVILLAND
 670,0xc7,    ,  1, 4:7:10:13:16:19:22:25:28:31,1000,all,0x008	//NPC_EVILLAND
+
+2044,0xca,    ,  0, 3,1000,all,   0x018	//AB_EPICLESIS
+
+2032,0xe1,    ,  2, 0,1000,enemy, 0x018	//GC_POISONSMOKE
+
+2214,0x86,    ,  0, 5, 100,enemy, 0x080	//WL_CHAINLIGHTNING
+2216,0xcb,    , -1, 2,2000,enemy, 0x018	//WL_EARTHSTRAIN
+
+2238,0xd8,    ,  0, 1,1000,enemy, 0x006	//RA_ELECTRICSHOCKER
+2239,0xd9,    ,  0, 1,1000,enemy, 0x006	//RA_CLUSTERBOMB
+2249,0xd2,    ,  0, 1,1000,enemy, 0x026	//RA_MAGENTATRAP
+2250,0xd3,    ,  0, 1,1000,enemy, 0x026	//RA_COBALTTRAP
+2251,0xd4,    ,  0, 1,1000,enemy, 0x026	//RA_MAIZETRAP
+2252,0xd5,    ,  0, 1,1000,enemy, 0x026	//RA_VERDURETRAP
+2253,0xd6,    ,  0, 1,1000,enemy, 0x006	//RA_FIRINGTRAP
+2254,0xd7,    ,  0, 1,1000,enemy, 0x006	//RA_ICEBOUNDTRAP
+
+2273,0xe2,    ,  1, 0, 500,friend,0x000	//NC_NEUTRALBARRIER
+2274,0xe3,    ,  1, 0, 500,all,   0x000	//NC_STEALTHFIELD
+
 8208,0x86,    ,  0, 2,1000,enemy, 0x080	//MA_SHOWER
 8208,0x86,    ,  0, 2,1000,enemy, 0x080	//MA_SHOWER
 8209,0x90,    ,  0, 1,1000,enemy, 0x006	//MA_SKIDTRAP
 8209,0x90,    ,  0, 1,1000,enemy, 0x006	//MA_SKIDTRAP
 8210,0x93,    ,  0, 0,1000,enemy, 0x006	//MA_LANDMINE
 8210,0x93,    ,  0, 0,1000,enemy, 0x006	//MA_LANDMINE

+ 29 - 0
db/spellbook_db.txt

@@ -0,0 +1,29 @@
+//============================================================
+// Preserve points database for Reading Spellbook. [LimitLine/3CeAm]
+// Structure:
+// SkillID,PreservePoints,Required Book
+//============================================================
+//To add more entries skill.h MAX_SKILL_SPELLBOOK_DB must be increased
+
+//Mage
+14,7,6190	//Cold Bolt
+19,7,6189	//Fire Bolt
+20,7,6191	//Lightning Bolt
+21,9,6197	//Thunder Storm
+
+//Wizard
+83,10,6194	//Meteor Storm
+84,9,6198	//Jupitel Thunder
+85,10,6193	//Lord of Vermillion
+86,9,6199	//Water Ball
+89,10,6192	//Storm Gust
+90,8,6201	//Earth Spike
+91,9,6200	//Heaven's Drive
+
+//Warlock
+2210,8,6205	//Drain Life
+2211,12,6204	//Crimson Rock
+2213,22,6195	//Comet
+2214,12,6203	//Chain Lightning
+2216,12,6202	//Earth Strain
+2217,22,6196	//Tetra Vortex

+ 255 - 0
db/statpoint_renewal.txt

@@ -0,0 +1,255 @@
+48
+51
+54
+57
+60
+64
+68
+72
+76
+80
+85
+90
+95
+100
+105
+111
+117
+123
+129
+135
+142
+149
+156
+163
+170
+178
+186
+194
+202
+210
+219
+228
+237
+246
+255
+265
+275
+285
+295
+305
+316
+327
+338
+349
+360
+372
+384
+396
+408
+420
+433
+446
+459
+472
+485
+499
+513
+527
+541
+555
+570
+585
+600
+615
+630
+646
+662
+678
+694
+710
+727
+744
+761
+778
+795
+813
+831
+849
+867
+885
+904
+923
+942
+961
+980
+1000
+1020
+1040
+1060
+1080
+1101
+1122
+1143
+1164
+1185
+1207
+1229
+1251
+1273
+1295
+1318
+1341
+1364
+1387
+1410
+1433
+1456
+1479
+1502
+1525
+1549
+1573
+1597
+1621
+1645
+1669
+1693
+1717
+1741
+1765
+1790
+1815
+1840
+1865
+1890
+1915
+1940
+1965
+1990
+2015
+2041
+2067
+2093
+2119
+2145
+2171
+2197
+2223
+2249
+2275
+2302
+2329
+2356
+2383
+2410
+2437
+2464
+2491
+2518
+2545
+2573
+2601
+2629
+2657
+2685
+2713
+2743
+2769
+2797
+2825
+2854
+2883
+2912
+2941
+2970
+2999
+3028
+3057
+3086
+3115
+3145
+3175
+3205
+3235
+3265
+3295
+3325
+3355
+3385
+3415
+3446
+3477
+3508
+3539
+3570
+3601
+3632
+3663
+3694
+3725
+3757
+3789
+3821
+3853
+3885
+3917
+3949
+3981
+4013
+4045
+4078
+4111
+4114
+4177
+4210
+4243
+4276
+4309
+4342
+4375
+4409
+4443
+4477
+4511
+4545
+4579
+4613
+4647
+4681
+4715
+4750
+4785
+4820
+4855
+4890
+4925
+4960
+5030
+5065
+5100
+5136
+5172
+5208
+5244
+5280
+5316
+5352
+5388
+5424
+5460
+5497
+5537
+5571
+5608
+5645
+5682
+5719
+5793
+5830
+5868
+5906
+5944
+5982
+6020
+6058

+ 1 - 1
sql-files/main.sql

@@ -164,7 +164,7 @@ CREATE TABLE IF NOT EXISTS `global_reg_value` (
   `char_id` int(11) unsigned NOT NULL default '0',
   `char_id` int(11) unsigned NOT NULL default '0',
   `str` varchar(255) NOT NULL default '',
   `str` varchar(255) NOT NULL default '',
   `value` varchar(255) NOT NULL default '0',
   `value` varchar(255) NOT NULL default '0',
-  `type` int(11) NOT NULL default '3',
+  `type` tinyint(1) NOT NULL default '3',
   `account_id` int(11) unsigned NOT NULL default '0',
   `account_id` int(11) unsigned NOT NULL default '0',
   PRIMARY KEY  (`char_id`,`str`,`account_id`),
   PRIMARY KEY  (`char_id`,`str`,`account_id`),
   KEY `account_id` (`account_id`),
   KEY `account_id` (`account_id`),

+ 1 - 0
sql-files/upgrade_svn15003.sql

@@ -0,0 +1 @@
+ALTER TABLE `global_reg_value` MODIFY `type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '3';

+ 53 - 2
src/common/mmo.h

@@ -44,8 +44,8 @@
 // 20110928 - 2011-09-28aRagexeRE+ - 0x6b, 0x6d
 // 20110928 - 2011-09-28aRagexeRE+ - 0x6b, 0x6d
 
 
 #ifndef PACKETVER
 #ifndef PACKETVER
-	#define PACKETVER	20081126
-	//#define PACKETVER 20100707
+	#define PACKETVER 20110609
+	//#define PACKETVER	20100730
 #endif
 #endif
 // backward compatible PACKETVER 8 and 9
 // backward compatible PACKETVER 8 and 9
 #if PACKETVER == 8
 #if PACKETVER == 8
@@ -176,6 +176,7 @@ enum item_types {
 	IT_UNKNOWN2,//9
 	IT_UNKNOWN2,//9
 	IT_AMMO,    //10
 	IT_AMMO,    //10
 	IT_DELAYCONSUME,//11
 	IT_DELAYCONSUME,//11
+	IT_THROWWEAPON= 17,//17
 	IT_CASH = 18,
 	IT_CASH = 18,
 	IT_MAX 
 	IT_MAX 
 };
 };
@@ -646,6 +647,56 @@ enum {
 	JOB_STAR_GLADIATOR,
 	JOB_STAR_GLADIATOR,
 	JOB_STAR_GLADIATOR2,
 	JOB_STAR_GLADIATOR2,
 	JOB_SOUL_LINKER,
 	JOB_SOUL_LINKER,
+	/**
+	 * 3.1 (2.1)
+	 **/
+	JOB_RUNE_KNIGHT = 4054,
+	JOB_WARLOCK,
+	JOB_RANGER,
+	JOB_ARCH_BISHOP,
+	JOB_MECHANIC,
+	JOB_GUILLOTINE_CROSS,
+	/**
+	 * 3.1 (2.1 Trans)
+	 **/
+	JOB_RUNE_KNIGHT_T,
+	JOB_WARLOCK_T,
+	JOB_RANGER_T,
+	JOB_ARCH_BISHOP_T,
+	JOB_MECHANIC_T,
+	JOB_GUILLOTINE_CROSS_T,
+	/**
+	 * 3.2 (2.2)
+	 **/
+	JOB_ROYAL_GUARD,
+	JOB_SORCERER,
+	JOB_MINSTREL,
+	JOB_WANDERER,
+	JOB_SURA,
+	JOB_GENETIC,
+	JOB_SHADOW_CHASER,
+	/**
+	 * 3.2 (2.2 Trans)
+	 **/
+	JOB_ROYAL_GUARD_T,
+	JOB_SORCERER_T,
+	JOB_MINSTREL_T,
+	JOB_WANDERER_T,
+	JOB_SURA_T,
+	JOB_GENETIC_T,
+	JOB_SHADOW_CHASER_T,
+	/**
+	 * 3.x Mounts / Vehicles
+	 **/
+	JOB_RUNE_KNIGHT2,
+	JOB_RUNE_KNIGHT_T2,
+	JOB_ROYAL_GUARD2,
+	JOB_ROYAL_GUARD_T2,
+	JOB_RANGER2,
+	JOB_RANGER_T2,
+	JOB_MECHANIC2,
+	JOB_MECHANIC_T2,
+
 	JOB_MAX,
 	JOB_MAX,
 };
 };
 
 

+ 27 - 0
src/common/showmsg.c

@@ -4,6 +4,8 @@
 #include "../common/cbasetypes.h"
 #include "../common/cbasetypes.h"
 #include "../common/strlib.h" // StringBuf
 #include "../common/strlib.h" // StringBuf
 #include "showmsg.h"
 #include "showmsg.h"
+#include "core.h" //[Ind] - For SERVER_TYPE
+#include "version.h" //[Ind] - For SERVER_TYPE values
 
 
 #include <stdio.h>
 #include <stdio.h>
 #include <string.h>
 #include <string.h>
@@ -51,6 +53,8 @@ int stdout_with_ansisequence = 0;
 
 
 int msg_silent = 0; //Specifies how silent the console is.
 int msg_silent = 0; //Specifies how silent the console is.
 
 
+int console_msg_log = 0;//[Ind] msg error logging
+
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////
 /// static/dynamic buffer for the messages
 /// static/dynamic buffer for the messages
 
 
@@ -683,6 +687,29 @@ int _vShowMessage(enum msg_type flag, const char *string, va_list ap)
 		ShowError("Empty string passed to _vShowMessage().\n");
 		ShowError("Empty string passed to _vShowMessage().\n");
 		return 1;
 		return 1;
 	}
 	}
+	if(
+		( flag == MSG_WARNING && console_msg_log&1 ) ||
+		( ( flag == MSG_ERROR || flag == MSG_SQL ) && console_msg_log&2 ) ||
+		( flag == MSG_DEBUG && console_msg_log&4 ) ) {//[Ind]
+		FILE *log = NULL;
+		if( (log = fopen(SERVER_TYPE == ATHENA_SERVER_MAP ? "./log/map-msg_log.log" : "./log/unknown.log","a+")) ) {
+			char timestring[255];
+			time_t curtime;
+			time(&curtime);
+			strftime(timestring, 254, "%m/%d/%Y %H:%M:%S", localtime(&curtime));
+			fprintf(log,"(%s) [ %s ] : ",
+				timestring,
+				flag == MSG_WARNING ? "Warning" :
+				flag == MSG_ERROR ? "Error" :
+				flag == MSG_SQL ? "SQL Error" :
+				flag == MSG_DEBUG ? "Debug" :
+				"Unknown");
+			va_copy(apcopy, ap);
+			vfprintf(log,string,apcopy);
+			va_end(apcopy);
+			fclose(log);
+		}
+	}
 	if(
 	if(
 	    (flag == MSG_INFORMATION && msg_silent&1) ||
 	    (flag == MSG_INFORMATION && msg_silent&1) ||
 	    (flag == MSG_STATUS && msg_silent&2) ||
 	    (flag == MSG_STATUS && msg_silent&2) ||

+ 1 - 0
src/common/showmsg.h

@@ -67,6 +67,7 @@
 
 
 extern int stdout_with_ansisequence; //If the color ansi sequences are to be used. [flaviojs]
 extern int stdout_with_ansisequence; //If the color ansi sequences are to be used. [flaviojs]
 extern int msg_silent; //Specifies how silent the console is. [Skotlex]
 extern int msg_silent; //Specifies how silent the console is. [Skotlex]
+extern int console_msg_log; //Specifies what error messages to log. [Ind]
 extern char timestamp_format[20]; //For displaying Timestamps [Skotlex]
 extern char timestamp_format[20]; //For displaying Timestamps [Skotlex]
 
 
 enum msg_type {
 enum msg_type {

+ 3 - 1
src/map/Makefile.in

@@ -34,7 +34,9 @@ MAP_H = map.h chrif.h clif.h pc.h status.h npc.h \
 	storage.h skill.h atcommand.h battle.h battleground.h \
 	storage.h skill.h atcommand.h battle.h battleground.h \
 	intif.h trade.h party.h vending.h guild.h pet.h \
 	intif.h trade.h party.h vending.h guild.h pet.h \
 	log.h mail.h date.h unit.h homunculus.h mercenary.h quest.h instance.h mapreg.h \
 	log.h mail.h date.h unit.h homunculus.h mercenary.h quest.h instance.h mapreg.h \
-	buyingstore.h searchstore.h duel.h
+	buyingstore.h searchstore.h duel.h \
+	RRConfig/Core.h RRConfig/Renewal.h RRConfig/Secure.h RRConfig/Data/Const.h \
+	RRConfig/Skills/General.h RRConfig/Skills/Mage_Classes.h RRConfig/Skills/Swordsman_Classes.h
 
 
 HAVE_MYSQL=@HAVE_MYSQL@
 HAVE_MYSQL=@HAVE_MYSQL@
 ifeq ($(HAVE_MYSQL),yes)
 ifeq ($(HAVE_MYSQL),yes)

+ 28 - 0
src/map/RRConfig/Core.h

@@ -0,0 +1,28 @@
+#ifndef _RRCONFIGS_
+#define _RRCONFIGS_
+/**
+ * Ragnarok Resources Configuration File (http://ro-resources.net)
+ * The following settings are applied upon compiling the program,
+ * therefore any settings you disable will not even be added to the program
+ * making these settings the most performance-effiecient possible
+ **/
+
+/**
+ * @INFO: RREmu Settings Core
+ * - For detailed guidance on these check http://trac.ro-resources.net/wiki/CoreConfiguration
+ **/
+
+/**
+ * No settings past this point
+ **/
+#include "./Renewal.h"
+#include "./Secure.h"
+#include "./Skills/General.h"
+/**
+ * Constants come last; so they process anything that could've been modified in early includes
+ **/
+#include "./Data/Const.h"
+/**
+ * End of File
+ **/
+#endif

+ 33 - 0
src/map/RRConfig/Data/Const.h

@@ -0,0 +1,33 @@
+#ifndef _RRCONFIGS_CONST_
+#define _RRCONFIGS_CONST_
+/**
+ * Ragnarok Resources Configuration File (http://ro-resources.net)
+ * The following settings are applied upon compiling the program,
+ * therefore any settings you disable will not even be added to the program
+ * making these settings the most performance-effiecient possible
+ **/
+
+/**
+ * @INFO: This file holds constants that aims at making code smoother and more efficient
+ */
+
+/**
+ * "Constants"
+ **/
+#define CONST_CASTRATE_SCALE ( RECASTING ? RECASTING_VMIN : battle_config.castrate_dex_scale )
+#define CONST_CASTRATE_CALC ( RECASTING ? ((status_get_dex(bl)*2)+status_get_int(bl)) : status_get_dex(bl) )
+
+/**
+ * "Sane Checks" to save you from compiling with cool bugs 
+ **/
+#if SECURE_NPCTIMEOUT_INTERVAL <= 0
+	#error SECURE_NPCTIMEOUT_INTERVAL should be at least 1 (1s)
+#endif
+#if SECURE_NPCTIMEOUT < 0
+	#error SECURE_NPCTIMEOUT cannot be lower than 0
+#endif
+
+/**
+ * End of File
+ **/
+#endif

+ 53 - 0
src/map/RRConfig/Renewal.h

@@ -0,0 +1,53 @@
+#ifndef _RRCONFIGS_RE_
+#define _RRCONFIGS_RE_
+/**
+ * Ragnarok Resources Configuration File (http://ro-resources.net)
+ * The following settings are applied upon compiling the program,
+ * therefore any settings you disable will not even be added to the program
+ * making these settings the most performance-effiecient possible
+ **/
+
+/**
+ * @INFO: This file holds general-purpose renewal settings, for class-specific ones check /src/map/RRConfig/Skills folder
+ **/
+
+/**
+ * Game Server Mode
+ * @values: 1 or 0
+ *	1 : renewal support, such as renewal-exclusive formulas
+ *    -> Note some features may be enabled/disabled at this file despite this setting being ON
+ *  0 : renewal support disabled, use original formulas
+ **/
+#define RRMODE 1
+
+/**
+ * Renewal Cast Time
+ * @values: 1 (enabled) or 0 (disabled)
+ *  1 : Cast Time is decreased by DEX*2+INT, 20% of the cast time is not reduced by stats,
+ *  - for example, on a skill whose cast time is 10s, only 8s may be reduced. other 2s are
+ *  - part of a "fixed cast time" that is only reduced by special items and skills (such as
+ *  - Arch Bishop's Sacrament skill).
+ *  0 : the old cast time method, influenced by dex, items and skills.
+ **/
+#define RECASTING 1
+
+/**
+ * Renewal Cast Time : Variable-Free
+ * - Value required for no variable cast time with stats.
+ * - Formula: (casterDex x 2) + (casterInt)
+ * Default: 530
+ **/
+#define RECASTING_VMIN 530
+
+/**
+ * Renewal Enchant Deadly Poison Change
+ * - In RE EDP no longer increases final damage by 400%.
+ * - it increases your weapon atk and your stat atk
+ * - it doesn't affect grimtooth
+ **/
+#define RE_EDP 1
+
+/**
+ * End of File
+ **/
+#endif

+ 36 - 0
src/map/RRConfig/Secure.h

@@ -0,0 +1,36 @@
+#ifndef _RRCONFIGS_SECURE_
+#define _RRCONFIGS_SECURE_
+/**
+ * Ragnarok Resources Configuration File (http://ro-resources.net)
+ * The following settings are applied upon compiling the program,
+ * therefore any settings you disable will not even be added to the program
+ * making these settings the most performance-effiecient possible
+ **/
+
+/**
+ * @INFO: This file holds optional security settings
+ **/
+
+/**
+ * Optional NPC Dialog Timer
+ * When enabled all npcs dialog will 'timeout' if user is on idle for longer than the amount of seconds allowed
+ * - On 'timeout' the npc dialog window changes it's next/menu to a 'close' button
+ * @values
+ * - ? : Desired idle time in seconds (e.g. 10)
+ * - 0 : Disabled
+ **/
+#define SECURE_NPCTIMEOUT 0
+
+/**
+ * (Secure) Optional NPC Dialog Timer
+ * @requirement : SECURE_NPCTIMEOUT must be enabled
+ * Minimum Interval Between timeout checks in seconds
+ * Default: 1s
+ **/
+#define SECURE_NPCTIMEOUT_INTERVAL 1
+
+
+/**
+ * End of File
+ **/
+#endif

+ 23 - 0
src/map/RRConfig/Skills/General.h

@@ -0,0 +1,23 @@
+#ifndef _RRCONFIGS_SKILLS_GENERAL_
+#define _RRCONFIGS_SKILLS_GENERAL_
+/**
+ * Ragnarok Resources Configuration File (http://ro-resources.net)
+ * The following settings are applied upon compiling the program,
+ * therefore any settings you disable will not even be added to the program
+ * making these settings the most performance-effiecient possible
+ **/
+
+/**
+ * Default Magical Reflection Behavior
+ * - When reflecting, reflected damage depends on gears caster is wearing, not target
+ * - When disabled damage depends on gears target is wearing, not caster.
+ * @values 1 (enabled) or 0 (disabled)
+ **/
+#define RR_MAGIC_REFLECTION 1
+
+/**
+ * No settings past this point
+ **/
+#include "Mage_Classes.h"
+#include "Swordsman_Classes.h"
+#endif

+ 19 - 0
src/map/RRConfig/Skills/Mage_Classes.h

@@ -0,0 +1,19 @@
+#ifndef _RRCONFIGS_SKILLS_MAGE_
+#define _RRCONFIGS_SKILLS_MAGE_
+/**
+ * Ragnarok Resources Configuration File (http://ro-resources.net)
+ * The following settings are applied upon compiling the program,
+ * therefore any settings you disable will not even be added to the program
+ * making these settings the most performance-effiecient possible
+ **/
+
+/**
+ * (Wizard/HW/Warlock) enable Fire Ivy skill? (1 OR 0)
+ * Default: 0 (disabled)
+ **/
+#define FIREIVY_ON 0
+
+/**
+ * No settings past this point
+ **/
+#endif

+ 19 - 0
src/map/RRConfig/Skills/Swordsman_Classes.h

@@ -0,0 +1,19 @@
+#ifndef _RRCONFIGS_SKILLS_SWORDS_
+#define _RRCONFIGS_SKILLS_SWORDS_
+/**
+ * Ragnarok Resources Configuration File (http://ro-resources.net)
+ * The following settings are applied upon compiling the program,
+ * therefore any settings you disable will not even be added to the program
+ * making these settings the most performance-effiecient possible
+ **/
+
+/**
+ * (Rune Knight) the maximum rune items a character may have of the same type
+ * Default: 20
+ **/
+#define MAX_RUNE 20
+
+/**
+ * No settings past this point
+ **/
+#endif

+ 257 - 73
src/map/atcommand.c

@@ -1255,7 +1255,7 @@ ACMD_FUNC(jobchange)
 	if (!message || !*message || sscanf(message, "%d %d", &job, &upper) < 1)
 	if (!message || !*message || sscanf(message, "%d %d", &job, &upper) < 1)
 	{
 	{
 		int i, found = 0;
 		int i, found = 0;
-		const struct { char name[16]; int id; } jobs[] = {
+		const struct { char name[24]; int id; } jobs[] = {
 			{ "novice",		0 },
 			{ "novice",		0 },
 			{ "swordsman",	1 },
 			{ "swordsman",	1 },
 			{ "mage",		2 },
 			{ "mage",		2 },
@@ -1330,6 +1330,32 @@ ACMD_FUNC(jobchange)
 			{ "taekwon girl",	4046 },
 			{ "taekwon girl",	4046 },
 			{ "star gladiator",	4047 },
 			{ "star gladiator",	4047 },
 			{ "soul linker",	4049 },
 			{ "soul linker",	4049 },
+			{ "rune knight",	4054 },
+			{ "warlock",		4055 },
+			{ "ranger",			4056 },
+			{ "arch bishop",	4057 },
+			{ "mechanic",		4058 },
+			{ "guillotine",		4059 },
+			{ "rune knight (Trans)",	4060 },
+			{ "warlock (Trans)",		4061 },
+			{ "ranger (Trans)",		4062 },
+			{ "arch bishop (Trans)",	4063 },
+			{ "mechanic (Trans)",		4064 },
+			{ "guillotine (Trans)",	4065 },
+			{ "royal guard",	4066 },
+			{ "sorcerer",		4067 },
+			{ "minstrel",		4068 },
+			{ "wanderer",		4069 },
+			{ "sura",			4070 },
+			{ "genetic",		4071 },
+			{ "shadow chaser",	4072 },
+			{ "royal guard (Trans)",	4073 },
+			{ "sorcerer (Trans)",		4074 },
+			{ "minstrel (Trans)",		4075 },
+			{ "wanderer (Trans)",		4076 },
+			{ "sura (Trans)",			4077 },
+			{ "genetic (Trans)",		4078 },
+			{ "shadow chaser (Trans)",	4079 },
 		};
 		};
 
 
 		for (i=0; i < ARRAYLENGTH(jobs); i++) {
 		for (i=0; i < ARRAYLENGTH(jobs); i++) {
@@ -1343,28 +1369,56 @@ ACMD_FUNC(jobchange)
 
 
 		if (!found) {
 		if (!found) {
 			clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange <job name/ID>).");
 			clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange <job name/ID>).");
-			clif_displaymessage(fd, "   0 Novice            7 Knight           14 Crusader         21 N/A");
-			clif_displaymessage(fd, "   1 Swordman          8 Priest           15 Monk             22 N/A");
-			clif_displaymessage(fd, "   2 Mage              9 Wizard           16 Sage             23 Super Novice");
-			clif_displaymessage(fd, "   3 Archer           10 Blacksmith       17 Rogue            24 Gunslinger");
-			clif_displaymessage(fd, "   4 Acolyte          11 Hunter           18 Alchemist        25 Ninja");
-			clif_displaymessage(fd, "   5 Merchant         12 Assassin         19 Bard             26 N/A");
-			clif_displaymessage(fd, "   6 Thief            13 N/A              20 Dancer           27 N/A");
-			clif_displaymessage(fd, "4001 Novice High    4008 Lord Knight      4015 Paladin        4022 N/A");
-			clif_displaymessage(fd, "4002 Swordman High  4009 High Priest      4016 Champion");
-			clif_displaymessage(fd, "4003 Mage High      4010 High Wizard      4017 Professor");
-			clif_displaymessage(fd, "4004 Archer High    4011 Whitesmith       4018 Stalker");
-			clif_displaymessage(fd, "4005 Acolyte High   4012 Sniper           4019 Creator");
-			clif_displaymessage(fd, "4006 Merchant High  4013 Assassin Cross   4020 Clown");
-			clif_displaymessage(fd, "4007 Thief High     4014 N/A              4021 Gypsy");
-			clif_displaymessage(fd, "4023 Baby Novice    4030 Baby Knight      4037 Baby Crusader  4044 N/A");
-			clif_displaymessage(fd, "4024 Baby Swordsman 4031 Baby Priest      4038 Baby Monk      4045 Super Baby");
-			clif_displaymessage(fd, "4025 Baby Mage      4032 Baby Wizard      4039 Baby Sage      4046 Taekwon Kid");
-			clif_displaymessage(fd, "4026 Baby Archer    4033 Baby Blacksmith  4040 Baby Rogue     4047 Taekwon Master");
-			clif_displaymessage(fd, "4027 Baby Acolyte   4034 Baby Hunter      4041 Baby Alchemist 4048 N/A");
-			clif_displaymessage(fd, "4028 Baby Merchant  4035 Baby Assassin    4042 Baby Bard      4049 Soul Linker");
-			clif_displaymessage(fd, "4029 Baby Thief     4036 N/A              4043 Baby Dancer");
-			clif_displaymessage(fd, "[upper]: -1 (default) to automatically determine the 'level', 0 to force normal job, 1 to force high job.");
+			clif_displaymessage(fd, "----- Novice / 1st Class -----");
+			clif_displaymessage(fd, "   0 Novice            1 Swordman          2 Mage              3 Archer");
+			clif_displaymessage(fd, "   4 Acolyte           5 Merchant          6 Thief");
+			clif_displaymessage(fd, "----- 2nd Class -----");
+			clif_displaymessage(fd, "   7 Knight            8 Priest            9 Wizard           10 Blacksmith");
+			clif_displaymessage(fd, "  11 Hunter           12 Assassin         14 Crusader         15 Monk");
+			clif_displaymessage(fd, "  16 Sage             17 Rogue            18 Alchemist        19 Bard");
+			clif_displaymessage(fd, "  20 Dancer");
+			clif_displaymessage(fd, "----- High Novice / High 1st Class -----");
+			clif_displaymessage(fd, "4001 Novice High    4002 Swordman High  4003 Mage High      4004 Archer High");
+			clif_displaymessage(fd, "4005 Acolyte High   4006 Merchant High  4007 Thief High");
+			clif_displaymessage(fd, "----- Transcendent 2nd Class -----");
+			clif_displaymessage(fd, "4008 Lord Knight    4009 High Priest    4010 High Wizard    4011 Whitesmith");
+			clif_displaymessage(fd, "4012 Sniper         4013 Assassin Cross 4015 Paladin        4016 Champion");
+			clif_displaymessage(fd, "4017 Professor      4018 Stalker        4019 Creator        4020 Clown");
+			clif_displaymessage(fd, "4021 Gypsy");
+			clif_displaymessage(fd, "----- 3rd Class (Regular to 3rd) -----");
+			clif_displaymessage(fd, "4054 Rune Knight    4055 Warlock        4056 Ranger         4057 Arch Bishop");
+			clif_displaymessage(fd, "4058 Mechanic       4059 Guillotine Cross 4066 Royal Guard  4067 Sorcerer");
+			clif_displaymessage(fd, "4068 Minstrel       4069 Wanderer       4070 Sura           4071 Genetic");
+			clif_displaymessage(fd, "4072 Shadow Chaser");
+			clif_displaymessage(fd, "----- 3rd Class (Transcendent to 3rd) -----");
+			clif_displaymessage(fd, "4060 Rune Knight    4061 Warlock        4062 Ranger         4063 Arch Bishop");
+			clif_displaymessage(fd, "4064 Mechanic       4065 Guillotine Cross 4073 Royal Guard  4074 Sorcerer");
+			clif_displaymessage(fd, "4075 Minstrel       4076 Wanderer       4077 Sura           4078 Genetic");
+			clif_displaymessage(fd, "4079 Shadow Chaser");
+			clif_displaymessage(fd, "----- Expanded Class -----");
+			clif_displaymessage(fd, "  23 Super Novice     24 Gunslinger       25 Ninja            26 Xmas");
+			clif_displaymessage(fd, "  27 Summer         4046 Taekwon        4047 Star Gladiator 4049 Soul Linker");
+			//clif_displaymessage(fd, "4050 Gangsi         4051 Death Knight   4052 Dark Collector");
+			clif_displaymessage(fd, "---- 1st And 2nd Baby Class ----");
+			clif_displaymessage(fd, "4023 Baby Novice    4024 Baby Swordsman 4025 Baby Mage      4026 Baby Archer");
+			clif_displaymessage(fd, "4027 Baby Acolyte   4028 Baby Merchant  4029 Baby Thief     4030 Baby Knight");
+			clif_displaymessage(fd, "4031 Baby Priest    4032 Baby Wizard    4033 Baby Blacksmith 4034 Baby Hunter");
+			clif_displaymessage(fd, "4035 Baby Assassin  4037 Baby Crusader  4038 Baby Monk      4039 Baby Sage");
+			clif_displaymessage(fd, "4040 Baby Rogue     4041 Baby Alchemist 4042 Baby Bard      4043 Baby Dancer");
+			clif_displaymessage(fd, "4045 Super Baby");
+			//clif_displaymessage(fd, "---- 3rd Baby Class ----");
+			//clif_displaymessage(fd, "4096 Baby Rune Knight    4097 Baby Warlock        4098 Baby Ranger");
+			//clif_displaymessage(fd, "4099 Baby Arch Bishop    4100 Baby Mechanic       4101 Baby Guillotine Cross");
+			//clif_displaymessage(fd, "4102 Baby Royal Guard    4103 Baby Sorcerer       4104 Baby Minstrel");
+			//clif_displaymessage(fd, "4105 Baby Wanderer       4106 Baby Sura           4107 Baby Genetic");
+			//clif_displaymessage(fd, "4108 Baby Shadow Chaser");
+			//clif_displaymessage(fd, "---- Mounts, Modes, And Others ----");
+			//clif_displaymessage(fd, "  13 Knight (Peco)    21 Crusader (Peco)  22 Wedding          26 Christmas");
+			//clif_displaymessage(fd, "  27 Summer 4014 Lord Knight (Peco) 4022 Paladin (Peco)  4036 Baby Knight (Peco)");
+			//clif_displaymessage(fd, "4044 Baby Crusader (Peco) 4048 Star Gladiator (Union) 4080 Rune Knight (Dragon)");
+			//clif_displaymessage(fd, "4081 Rune Knight Trans (Dragon) 4082 Royal Guard (Gryphon)");
+			//clif_displaymessage(fd, "4083 Royal Guard Trans (Gryphon) 4084 Ranger (Warg) 4085 Ranger Trans (Warg)");
+			//clif_displaymessage(fd, "4086 Mechanic (Mado) 4087 Mechanic Trans (Mado)");
 			return -1;
 			return -1;
 		}
 		}
 	}
 	}
@@ -1384,28 +1438,56 @@ ACMD_FUNC(jobchange)
 		}
 		}
 	} else {
 	} else {
 		clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange <job name/ID>).");
 		clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange <job name/ID>).");
-		clif_displaymessage(fd, "   0 Novice            7 Knight           14 Crusader         21 N/A");
-		clif_displaymessage(fd, "   1 Swordman          8 Priest           15 Monk             22 N/A");
-		clif_displaymessage(fd, "   2 Mage              9 Wizard           16 Sage             23 Super Novice");
-		clif_displaymessage(fd, "   3 Archer           10 Blacksmith       17 Rogue            24 Gunslinger");
-		clif_displaymessage(fd, "   4 Acolyte          11 Hunter           18 Alchemist        25 Ninja");
-		clif_displaymessage(fd, "   5 Merchant         12 Assassin         19 Bard             26 N/A");
-		clif_displaymessage(fd, "   6 Thief            13 N/A              20 Dancer           27 N/A");
-		clif_displaymessage(fd, "4001 Novice High    4008 Lord Knight      4015 Paladin        4022 N/A");
-		clif_displaymessage(fd, "4002 Swordman High  4009 High Priest      4016 Champion");
-		clif_displaymessage(fd, "4003 Mage High      4010 High Wizard      4017 Professor");
-		clif_displaymessage(fd, "4004 Archer High    4011 Whitesmith       4018 Stalker");
-		clif_displaymessage(fd, "4005 Acolyte High   4012 Sniper           4019 Creator");
-		clif_displaymessage(fd, "4006 Merchant High  4013 Assassin Cross   4020 Clown");
-		clif_displaymessage(fd, "4007 Thief High     4014 N/A              4021 Gypsy");
-		clif_displaymessage(fd, "4023 Baby Novice    4030 Baby Knight      4037 Baby Crusader  4044 N/A");
-		clif_displaymessage(fd, "4024 Baby Swordsman 4031 Baby Priest      4038 Baby Monk      4045 Super Baby");
-		clif_displaymessage(fd, "4025 Baby Mage      4032 Baby Wizard      4039 Baby Sage      4046 Taekwon Kid");
-		clif_displaymessage(fd, "4026 Baby Archer    4033 Baby Blacksmith  4040 Baby Rogue     4047 Taekwon Master");
-		clif_displaymessage(fd, "4027 Baby Acolyte   4034 Baby Hunter      4041 Baby Alchemist 4048 N/A");
-		clif_displaymessage(fd, "4028 Baby Merchant  4035 Baby Assassin    4042 Baby Bard      4049 Soul Linker");
-		clif_displaymessage(fd, "4029 Baby Thief     4036 N/A              4043 Baby Dancer");
-		clif_displaymessage(fd, "[upper]: -1 (default) to automatically determine the 'level', 0 to force normal job, 1 to force high job.");
+			clif_displaymessage(fd, "----- Novice / 1st Class -----");
+			clif_displaymessage(fd, "   0 Novice            1 Swordman          2 Mage              3 Archer");
+			clif_displaymessage(fd, "   4 Acolyte           5 Merchant          6 Thief");
+			clif_displaymessage(fd, "----- 2nd Class -----");
+			clif_displaymessage(fd, "   7 Knight            8 Priest            9 Wizard           10 Blacksmith");
+			clif_displaymessage(fd, "  11 Hunter           12 Assassin         14 Crusader         15 Monk");
+			clif_displaymessage(fd, "  16 Sage             17 Rogue            18 Alchemist        19 Bard");
+			clif_displaymessage(fd, "  20 Dancer");
+			clif_displaymessage(fd, "----- High Novice / High 1st Class -----");
+			clif_displaymessage(fd, "4001 Novice High    4002 Swordman High  4003 Mage High      4004 Archer High");
+			clif_displaymessage(fd, "4005 Acolyte High   4006 Merchant High  4007 Thief High");
+			clif_displaymessage(fd, "----- Transcendent 2nd Class -----");
+			clif_displaymessage(fd, "4008 Lord Knight    4009 High Priest    4010 High Wizard    4011 Whitesmith");
+			clif_displaymessage(fd, "4012 Sniper         4013 Assassin Cross 4015 Paladin        4016 Champion");
+			clif_displaymessage(fd, "4017 Professor      4018 Stalker        4019 Creator        4020 Clown");
+			clif_displaymessage(fd, "4021 Gypsy");
+			clif_displaymessage(fd, "----- 3rd Class (Regular to 3rd) -----");
+			clif_displaymessage(fd, "4054 Rune Knight    4055 Warlock        4056 Ranger         4057 Arch Bishop");
+			clif_displaymessage(fd, "4058 Mechanic       4059 Guillotine Cross 4066 Royal Guard  4067 Sorcerer");
+			clif_displaymessage(fd, "4068 Minstrel       4069 Wanderer       4070 Sura           4071 Genetic");
+			clif_displaymessage(fd, "4072 Shadow Chaser");
+			clif_displaymessage(fd, "----- 3rd Class (Transcendent to 3rd) -----");
+			clif_displaymessage(fd, "4060 Rune Knight    4061 Warlock        4062 Ranger         4063 Arch Bishop");
+			clif_displaymessage(fd, "4064 Mechanic       4065 Guillotine Cross 4073 Royal Guard  4074 Sorcerer");
+			clif_displaymessage(fd, "4075 Minstrel       4076 Wanderer       4077 Sura           4078 Genetic");
+			clif_displaymessage(fd, "4079 Shadow Chaser");
+			clif_displaymessage(fd, "----- Expanded Class -----");
+			clif_displaymessage(fd, "  23 Super Novice     24 Gunslinger       25 Ninja            26 Xmas");
+			clif_displaymessage(fd, "  27 Summer         4046 Taekwon        4047 Star Gladiator 4049 Soul Linker");
+			//clif_displaymessage(fd, "4050 Gangsi         4051 Death Knight   4052 Dark Collector");
+			clif_displaymessage(fd, "---- 1st And 2nd Baby Class ----");
+			clif_displaymessage(fd, "4023 Baby Novice    4024 Baby Swordsman 4025 Baby Mage      4026 Baby Archer");
+			clif_displaymessage(fd, "4027 Baby Acolyte   4028 Baby Merchant  4029 Baby Thief     4030 Baby Knight");
+			clif_displaymessage(fd, "4031 Baby Priest    4032 Baby Wizard    4033 Baby Blacksmith 4034 Baby Hunter");
+			clif_displaymessage(fd, "4035 Baby Assassin  4037 Baby Crusader  4038 Baby Monk      4039 Baby Sage");
+			clif_displaymessage(fd, "4040 Baby Rogue     4041 Baby Alchemist 4042 Baby Bard      4043 Baby Dancer");
+			clif_displaymessage(fd, "4045 Super Baby");
+			//clif_displaymessage(fd, "---- 3rd Baby Class ----");
+			//clif_displaymessage(fd, "4096 Baby Rune Knight    4097 Baby Warlock        4098 Baby Ranger");
+			//clif_displaymessage(fd, "4099 Baby Arch Bishop    4100 Baby Mechanic       4101 Baby Guillotine Cross");
+			//clif_displaymessage(fd, "4102 Baby Royal Guard    4103 Baby Sorcerer       4104 Baby Minstrel");
+			//clif_displaymessage(fd, "4105 Baby Wanderer       4106 Baby Sura           4107 Baby Genetic");
+			//clif_displaymessage(fd, "4108 Baby Shadow Chaser");
+			//clif_displaymessage(fd, "---- Mounts, Modes, And Others ----");
+			//clif_displaymessage(fd, "  13 Knight (Peco)    21 Crusader (Peco)  22 Wedding          26 Christmas");
+			//clif_displaymessage(fd, "  27 Summer 4014 Lord Knight (Peco) 4022 Paladin (Peco)  4036 Baby Knight (Peco)");
+			//clif_displaymessage(fd, "4044 Baby Crusader (Peco) 4048 Star Gladiator (Union) 4080 Rune Knight (Dragon)");
+			//clif_displaymessage(fd, "4081 Rune Knight Trans (Dragon) 4082 Royal Guard (Gryphon)");
+			//clif_displaymessage(fd, "4083 Royal Guard Trans (Gryphon) 4084 Ranger (Warg) 4085 Ranger Trans (Warg)");
+			//clif_displaymessage(fd, "4086 Mechanic (Mado) 4087 Mechanic Trans (Mado)");
 		return -1;
 		return -1;
 	}
 	}
 
 
@@ -2842,7 +2924,7 @@ ACMD_FUNC(displaystatus)
 	if (i < 2) flag = 1;
 	if (i < 2) flag = 1;
 	if (i < 3) tick = 0;
 	if (i < 3) tick = 0;
 
 
-	clif_status_change(&sd->bl, type, flag, tick);
+	clif_status_change(&sd->bl, type, flag, tick, 0, 0, 0);
 
 
 	return 0;
 	return 0;
 }
 }
@@ -4395,8 +4477,11 @@ ACMD_FUNC(mapinfo)
 		strcat(atcmd_output, "Fireworks | ");
 		strcat(atcmd_output, "Fireworks | ");
 	if (map[m_id].flag.leaves)
 	if (map[m_id].flag.leaves)
 		strcat(atcmd_output, "Leaves | ");
 		strcat(atcmd_output, "Leaves | ");
-	if (map[m_id].flag.rain)
-		strcat(atcmd_output, "Rain | ");
+	/**
+	 * No longer available, keeping here just in case it's back someday. [Ind]
+	 **/		
+	//if (map[m_id].flag.rain)
+	//	strcat(atcmd_output, "Rain | ");
 	if (map[m_id].flag.nightenabled)
 	if (map[m_id].flag.nightenabled)
 		strcat(atcmd_output, "Displays Night | ");
 		strcat(atcmd_output, "Displays Night | ");
 	clif_displaymessage(fd, atcmd_output);
 	clif_displaymessage(fd, atcmd_output);
@@ -4510,7 +4595,26 @@ ACMD_FUNC(mapinfo)
 ACMD_FUNC(mount_peco)
 ACMD_FUNC(mount_peco)
 {
 {
 	nullpo_retr(-1, sd);
 	nullpo_retr(-1, sd);
-
+	if( pc_checkskill(sd,RK_DRAGONTRAINING) > 0 ) {
+		if( !(sd->sc.option&OPTION_DRAGON1) ) {
+			clif_displaymessage(sd->fd,"You have mounted your Dragon");
+			pc_setoption(sd, sd->sc.option|OPTION_DRAGON1);
+		} else {
+			clif_displaymessage(sd->fd,"You have released your Dragon");
+			pc_setoption(sd, sd->sc.option&~OPTION_DRAGON1);
+		}
+		return 0;
+	}
+	if( (sd->class_&MAPID_THIRDMASK) == MAPID_MECHANIC ) {
+		if( !(sd->sc.option&OPTION_MADOGEAR) ) {
+			clif_displaymessage(sd->fd,"You have mounted your Mado Gear");
+			pc_setoption(sd, sd->sc.option|OPTION_MADOGEAR);
+		} else {
+			clif_displaymessage(sd->fd,"You have released your Mado Gear");
+			pc_setoption(sd, sd->sc.option&~OPTION_MADOGEAR);
+		}
+		return 0;
+	}
 	if (!pc_isriding(sd)) { // if actually no peco
 	if (!pc_isriding(sd)) { // if actually no peco
 		if (!pc_checkskill(sd, KN_RIDING))
 		if (!pc_checkskill(sd, KN_RIDING))
 		{
 		{
@@ -6117,24 +6221,26 @@ ACMD_FUNC(autolootitem)
 
 
 	return 0;
 	return 0;
 }
 }
-
+/**
+ * No longer available, keeping here just in case it's back someday. [Ind]
+ **/	
 /*==========================================
 /*==========================================
  * It is made to rain.
  * It is made to rain.
  *------------------------------------------*/
  *------------------------------------------*/
-ACMD_FUNC(rain)
-{
-	nullpo_retr(-1, sd);
-	if (map[sd->bl.m].flag.rain) {
-		map[sd->bl.m].flag.rain=0;
-		clif_weather(sd->bl.m);
-		clif_displaymessage(fd, "The rain has stopped.");
-	} else {
-		map[sd->bl.m].flag.rain=1;
-		clif_weather(sd->bl.m);
-		clif_displaymessage(fd, "It is made to rain.");
-	}
-	return 0;
-}
+//ACMD_FUNC(rain)
+//{
+//	nullpo_retr(-1, sd);
+//	if (map[sd->bl.m].flag.rain) {
+//		map[sd->bl.m].flag.rain=0;
+//		clif_weather(sd->bl.m);
+//		clif_displaymessage(fd, "The rain has stopped.");
+//	} else {
+//		map[sd->bl.m].flag.rain=1;
+//		clif_weather(sd->bl.m);
+//		clif_displaymessage(fd, "It is made to rain.");
+//	}
+//	return 0;
+//}
 
 
 /*==========================================
 /*==========================================
  * It is made to snow.
  * It is made to snow.
@@ -6273,7 +6379,10 @@ ACMD_FUNC(fireworks)
 ACMD_FUNC(clearweather)
 ACMD_FUNC(clearweather)
 {
 {
 	nullpo_retr(-1, sd);
 	nullpo_retr(-1, sd);
-	map[sd->bl.m].flag.rain=0;
+	/**
+	 * No longer available, keeping here just in case it's back someday. [Ind]
+	 **/		
+	//map[sd->bl.m].flag.rain=0;
 	map[sd->bl.m].flag.snow=0;
 	map[sd->bl.m].flag.snow=0;
 	map[sd->bl.m].flag.sakura=0;
 	map[sd->bl.m].flag.sakura=0;
 	map[sd->bl.m].flag.clouds=0;
 	map[sd->bl.m].flag.clouds=0;
@@ -7763,13 +7872,72 @@ ACMD_FUNC(fakename)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * @mapflag [flag name] [1|0|on|off] [map name] by Lupus
- * => Shows information about the map flags [map name]
- * Also set flags
+ * Ragnarok Resources
  *------------------------------------------*/
  *------------------------------------------*/
-ACMD_FUNC(mapflag)
-{
-// WIP
+ACMD_FUNC(mapflag) {
+#define checkflag( cmd ) if ( map[ sd->bl.m ].flag.cmd ) clif_displaymessage(sd->fd,#cmd)
+#define setflag( cmd ) \
+	if ( strcmp( flag_name , #cmd ) == 0 && ( flag == 0 || flag == 1 ) ){\
+		map[ sd->bl.m ].flag.cmd = flag;\
+		sprintf(atcmd_output,"[ @mapflag ] %s flag has been set to %s",#cmd,flag?"On":"Off");\
+		clif_displaymessage(sd->fd,atcmd_output);\
+		return 0;\
+	}
+	unsigned char flag_name[100];
+	int flag=9,i;
+	nullpo_retr(-1, sd);
+	memset(flag_name, '\0', sizeof(flag_name));
+	
+	if (!message || !*message || (sscanf(message, "%99s %d", flag_name, &flag) < 1)) {
+		clif_displaymessage(sd->fd,"Enabled Mapflags in this map:");
+		clif_displaymessage(sd->fd,"----------------------------------");
+		checkflag(autotrade);			checkflag(allowks);				checkflag(nomemo);		checkflag(noteleport);
+		checkflag(noreturn);			checkflag(monster_noteleport);	checkflag(nosave);		checkflag(nobranch);
+		checkflag(noexppenalty);		checkflag(pvp);					checkflag(pvp_noparty);	checkflag(pvp_noguild);
+		checkflag(pvp_nightmaredrop);	checkflag(pvp_nocalcrank);		checkflag(gvg_castle);	checkflag(gvg);
+		checkflag(gvg_dungeon);			checkflag(gvg_noparty);			checkflag(battleground);checkflag(nozenypenalty);
+		checkflag(notrade);				checkflag(noskill);				checkflag(nowarp);		checkflag(nowarpto);
+		checkflag(noicewall);			checkflag(snow);				checkflag(clouds);		checkflag(clouds2);
+		checkflag(fog);					checkflag(fireworks);			checkflag(sakura);		checkflag(leaves);
+		checkflag(nogo);				checkflag(nobaseexp);
+		checkflag(nojobexp);			checkflag(nomobloot);			checkflag(nomvploot);	checkflag(nightenabled);
+		checkflag(restricted);			checkflag(nodrop);				checkflag(novending);	checkflag(loadevent);
+		checkflag(nochat);				checkflag(partylock);			checkflag(guildlock);	checkflag(src4instance);
+		clif_displaymessage(sd->fd," ");
+		clif_displaymessage(sd->fd,"Usage: \"@mapflag monster_teleport 1\" (0=Off 1=On)");
+		clif_displaymessage(sd->fd,"Use: \"@mapflag available\" to list the available mapflags");
+		return 1;
+	}
+	for (i = 0; flag_name[i]; i++) flag_name[i] = tolower(flag_name[i]); //lowercase
+			
+	setflag(autotrade);			setflag(allowks);			setflag(nomemo);			setflag(noteleport);
+	setflag(noreturn);			setflag(monster_noteleport);setflag(nosave);			setflag(nobranch);
+	setflag(noexppenalty);		setflag(pvp);				setflag(pvp_noparty);		setflag(pvp_noguild);
+	setflag(pvp_nightmaredrop);	setflag(pvp_nocalcrank);	setflag(gvg_castle);		setflag(gvg);
+	setflag(gvg_dungeon);		setflag(gvg_noparty);		setflag(battleground);		setflag(nozenypenalty);
+	setflag(notrade);			setflag(noskill);			setflag(nowarp);			setflag(nowarpto);
+	setflag(noicewall);			setflag(snow);				setflag(clouds);			setflag(clouds2);
+	setflag(fog);				setflag(fireworks);			setflag(sakura);			setflag(leaves);
+	setflag(nogo);				setflag(nobaseexp);
+	setflag(nojobexp);			setflag(nomobloot);			setflag(nomvploot);			setflag(nightenabled);
+	setflag(restricted);		setflag(nodrop);			setflag(novending);			setflag(loadevent);
+	setflag(nochat);			setflag(partylock);			setflag(guildlock);			setflag(src4instance);
+
+	clif_displaymessage(sd->fd,"Invalid flag name or flag");
+	clif_displaymessage(sd->fd,"Usage: \"@mapflag monster_teleport 1\" (0=Off | 1=On)");
+	clif_displaymessage(sd->fd,"Available Flags:");
+	clif_displaymessage(sd->fd,"----------------------------------");
+	clif_displaymessage(sd->fd,"town, autotrade, allowks, nomemo, noteleport, noreturn, monster_noteleport, nosave,");
+	clif_displaymessage(sd->fd,"nobranch, noexppenalty, pvp, pvp_noparty, pvp_noguild, pvp_nightmaredrop,");
+	clif_displaymessage(sd->fd,"pvp_nocalcrank, gvg_castle, gvg, gvg_dungeon, gvg_noparty, battleground,");
+	clif_displaymessage(sd->fd,"nozenypenalty, notrade, noskill, nowarp, nowarpto, noicewall, snow, clouds, clouds2,");
+	clif_displaymessage(sd->fd,"fog, fireworks, sakura, leaves, nogo, nobaseexp, nojobexp, nomobloot,");
+	clif_displaymessage(sd->fd,"nomvploot, nightenabled, restricted, nodrop, novending, loadevent, nochat, partylock,");
+	clif_displaymessage(sd->fd,"guildlock, src4instance");
+
+#undef checkflag
+#undef setflag
+
 	return 0;
 	return 0;
 }
 }
 
 
@@ -8581,8 +8749,17 @@ ACMD_FUNC(font)
 
 
 	return 0;
 	return 0;
 }
 }
-
-
+ACMD_FUNC(new_mount) {
+	clif_displaymessage(sd->fd,"NOTICE: If you crash with mount your LUA is outdated");
+	if( !(sd->sc.option&OPTION_MOUNTING) ) {
+		clif_displaymessage(sd->fd,"You have mounted.");
+		pc_setoption(sd, sd->sc.option|OPTION_MOUNTING);
+	} else {
+		clif_displaymessage(sd->fd,"You have released your mount");
+		pc_setoption(sd, sd->sc.option&~OPTION_MOUNTING);
+	}
+	return 0;
+}
 /*==========================================
 /*==========================================
  * atcommand_info[] structure definition
  * atcommand_info[] structure definition
  *------------------------------------------*/
  *------------------------------------------*/
@@ -8885,6 +9062,10 @@ AtCommandInfo atcommand_info[] = {
 	{ "delitem",           60,60,     atcommand_delitem },
 	{ "delitem",           60,60,     atcommand_delitem },
 	{ "charcommands",       1,1,      atcommand_commands },
 	{ "charcommands",       1,1,      atcommand_commands },
 	{ "font",               1,1,      atcommand_font },
 	{ "font",               1,1,      atcommand_font },
+	/**
+	 * For Testing Purposes, not going to be here after we're done.
+	 **/
+	{ "newmount",           0,99,     atcommand_new_mount },
 };
 };
 
 
 
 
@@ -9025,9 +9206,12 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message
 	info = get_atcommandinfo_byname(command);
 	info = get_atcommandinfo_byname(command);
 	if( info == NULL || info->func == NULL || ( type && ((*atcmd_msg == atcommand_symbol && pc_isGM(sd) < info->level) || (*atcmd_msg == charcommand_symbol && pc_isGM(sd) < info->level2)) ) )
 	if( info == NULL || info->func == NULL || ( type && ((*atcmd_msg == atcommand_symbol && pc_isGM(sd) < info->level) || (*atcmd_msg == charcommand_symbol && pc_isGM(sd) < info->level2)) ) )
 	{
 	{
+		if( pc_isGM(sd) ) {
 			sprintf(output, msg_txt(153), command); // "%s is Unknown Command."
 			sprintf(output, msg_txt(153), command); // "%s is Unknown Command."
 			clif_displaymessage(fd, output);
 			clif_displaymessage(fd, output);
 			return true;
 			return true;
+		} else
+			return false;
 	}
 	}
 	
 	
 	//Attempt to use the command
 	//Attempt to use the command

+ 590 - 30
src/map/battle.c

@@ -118,7 +118,7 @@ static int battle_getenemy_sub(struct block_list *bl, va_list ap)
 
 
 	if (bl->id == target->id)
 	if (bl->id == target->id)
 		return 0;
 		return 0;
-	if (*c >= 24)
+	if (*c >= 23)
 		return 0;
 		return 0;
 	if (status_isdead(bl))
 	if (status_isdead(bl))
 		return 0;
 		return 0;
@@ -136,8 +136,47 @@ struct block_list* battle_getenemy(struct block_list *target, int type, int rang
 	int c = 0;
 	int c = 0;
 	memset(bl_list, 0, sizeof(bl_list));
 	memset(bl_list, 0, sizeof(bl_list));
 	map_foreachinrange(battle_getenemy_sub, target, range, type, bl_list, &c, target);
 	map_foreachinrange(battle_getenemy_sub, target, range, type, bl_list, &c, target);
-	if (c == 0 || c > 24)
+	if (c == 0 )
+		return NULL;
+	if( c >= 24 )
+		c = 23;
+	return bl_list[rand()%c];
+}
+static int battle_getenemyarea_sub(struct block_list *bl, va_list ap)
+{
+	struct block_list **bl_list, *src;
+	int *c, ignore_id;
+
+	bl_list = va_arg(ap, struct block_list **);
+	c = va_arg(ap, int *);
+	src = va_arg(ap, struct block_list *);
+	ignore_id = va_arg(ap, int);
+
+	if( bl->id == src->id || bl->id == ignore_id )
+		return 0; // Ignores Caster and a possible pre-target
+	if( *c >= 23 )
+		return 0;
+	if( status_isdead(bl) )
+		return 0;
+	if( battle_check_target(src, bl, BCT_ENEMY) > 0 )
+	{ // Is Enemy!...
+		bl_list[(*c)++] = bl;
+		return 1;
+	}
+	return 0;	
+}
+
+// Pick a random enemy
+struct block_list* battle_getenemyarea(struct block_list *src, int x, int y, int range, int type, int ignore_id)
+{
+	struct block_list *bl_list[24];
+	int c = 0;
+	memset(bl_list, 0, sizeof(bl_list));
+	map_foreachinarea(battle_getenemyarea_sub, src->m, x - range, y - range, x + range, y + range, type, bl_list, &c, src, ignore_id);
+	if( c == 0 )
 		return NULL;
 		return NULL;
+	if( c >= 24 )
+		c = 23;
 	return bl_list[rand()%c];
 	return bl_list[rand()%c];
 }
 }
 
 
@@ -212,7 +251,6 @@ int battle_delay_damage (unsigned int tick, int amotion, struct block_list *src,
 	
 	
 	return 0;
 	return 0;
 }
 }
-
 int battle_attr_ratio(int atk_elem,int def_type, int def_lv)
 int battle_attr_ratio(int atk_elem,int def_type, int def_lv)
 {
 {
 	
 	
@@ -316,6 +354,20 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag
 			d->dmg_lv = ATK_BLOCK;
 			d->dmg_lv = ATK_BLOCK;
 			return 0;
 			return 0;
 		}
 		}
+		if( sc->data[SC_WHITEIMPRISON] && skill_num != HW_GRAVITATION && skill_num != PA_PRESSURE ) { // Gravitation and Pressure do damage without removing the effect
+			if( skill_num == MG_NAPALMBEAT ||
+				skill_num == MG_SOULSTRIKE ||
+				skill_num == WL_SOULEXPANSION ||
+				(skill_num && skill_get_ele(skill_num, skill_lv) == ELE_GHOST) ||
+				(!skill_num && (status_get_status_data(src))->rhw.ele == ELE_GHOST)
+					)
+				status_change_end(bl,SC_WHITEIMPRISON,-1); // Those skills do damage and removes effect
+			else
+			{
+				d->dmg_lv = ATK_BLOCK;
+				return 0;
+			}
+		}
 
 
 		if( sc->data[SC_SAFETYWALL] && (flag&(BF_SHORT|BF_MAGIC))==BF_SHORT )
 		if( sc->data[SC_SAFETYWALL] && (flag&(BF_SHORT|BF_MAGIC))==BF_SHORT )
 		{
 		{
@@ -334,7 +386,13 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag
 			d->dmg_lv = ATK_BLOCK;
 			d->dmg_lv = ATK_BLOCK;
 			return 0;
 			return 0;
 		}
 		}
-
+		if( sc->data[SC_WEAPONBLOCKING] && flag&(BF_SHORT|BF_WEAPON) && rand()%100 < sc->data[SC_WEAPONBLOCKING]->val2 )
+		{
+			clif_skill_nodamage(bl,src,GC_WEAPONBLOCKING,1,1);
+			d->dmg_lv = ATK_NONE;
+			sc_start2(bl,SC_COMBO,100,GC_WEAPONBLOCKING,src->id,2000);
+			return 0;
+		}
 		if( (sce=sc->data[SC_AUTOGUARD]) && flag&BF_WEAPON && !(skill_get_nk(skill_num)&NK_NO_CARDFIX_ATK) && rand()%100 < sce->val2 )
 		if( (sce=sc->data[SC_AUTOGUARD]) && flag&BF_WEAPON && !(skill_get_nk(skill_num)&NK_NO_CARDFIX_ATK) && rand()%100 < sce->val2 )
 		{
 		{
 			int delay;
 			int delay;
@@ -487,6 +545,14 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag
 				status_change_end(bl, SC_REJECTSWORD, INVALID_TIMER);
 				status_change_end(bl, SC_REJECTSWORD, INVALID_TIMER);
 		}
 		}
 
 
+		//Finally added to remove the status of immobile when aimedbolt is used. [Jobbie]
+		if( skill_num == RA_AIMEDBOLT && (sc->data[SC_BITE] || sc->data[SC_ANKLE] || sc->data[SC_ELECTRICSHOCKER]) )
+		{
+			status_change_end(bl, SC_BITE, -1);
+			status_change_end(bl, SC_ANKLE, -1);
+			status_change_end(bl, SC_ELECTRICSHOCKER, -1);
+		}
+
 		//Finally Kyrie because it may, or not, reduce damage to 0.
 		//Finally Kyrie because it may, or not, reduce damage to 0.
 		if((sce = sc->data[SC_KYRIE]) && damage > 0){
 		if((sce = sc->data[SC_KYRIE]) && damage > 0){
 			sce->val2-=damage;
 			sce->val2-=damage;
@@ -539,6 +605,8 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag
 						break;
 						break;
 					}
 					}
 		}
 		}
+		if( sc->data[SC_POISONINGWEAPON] && skill_num != GC_VENOMPRESSURE && (flag&BF_WEAPON) && damage > 0 && rand()%100 < sc->data[SC_POISONINGWEAPON]->val3 )
+			sc_start(bl,sc->data[SC_POISONINGWEAPON]->val2,100,sc->data[SC_POISONINGWEAPON]->val1,skill_get_time2(GC_POISONINGWEAPON,sc->data[SC_POISONINGWEAPON]->val1));
 	}
 	}
 
 
 	if (battle_config.pk_mode && sd && bl->type == BL_PC && damage)
 	if (battle_config.pk_mode && sd && bl->type == BL_PC && damage)
@@ -720,6 +788,12 @@ int battle_addmastery(struct map_session_data *sd,struct block_list *target,int
 		(battle_check_undead(status->race,status->def_ele) || status->race==RC_DEMON) )
 		(battle_check_undead(status->race,status->def_ele) || status->race==RC_DEMON) )
 		damage += (skill*(int)(3+(sd->status.base_level+1)*0.05));	// submitted by orn
 		damage += (skill*(int)(3+(sd->status.base_level+1)*0.05));	// submitted by orn
 		//damage += (skill * 3);
 		//damage += (skill * 3);
+	if( (skill = pc_checkskill(sd, RA_RANGERMAIN)) > 0 && (status->race == RC_BRUTE || status->race == RC_PLANT || status->race == RC_FISH) )
+		damage += (skill * 5);
+	if( (skill = pc_checkskill(sd,NC_RESEARCHFE)) > 0 && (status->def_ele == ELE_FIRE || status->def_ele == ELE_EARTH) )
+		damage += (skill * 10);
+	if( (sd->sc.option&OPTION_MADOGEAR) )
+		damage += 20 + 20 * pc_checkskill(sd, NC_MADOLICENCE);
 
 
 	if((skill = pc_checkskill(sd,HT_BEASTBANE)) > 0 && (status->race==RC_BRUTE || status->race==RC_INSECT) ) {
 	if((skill = pc_checkskill(sd,HT_BEASTBANE)) > 0 && (status->race==RC_BRUTE || status->race==RC_INSECT) ) {
 		damage += (skill * 4);
 		damage += (skill * 4);
@@ -755,11 +829,15 @@ int battle_addmastery(struct map_session_data *sd,struct block_list *target,int
 		case W_2HAXE:
 		case W_2HAXE:
 			if((skill = pc_checkskill(sd,AM_AXEMASTERY)) > 0)
 			if((skill = pc_checkskill(sd,AM_AXEMASTERY)) > 0)
 				damage += (skill * 3);
 				damage += (skill * 3);
+			if((skill = pc_checkskill(sd,NC_TRAININGAXE)) > 0)
+				damage += (skill * 5);
 			break;
 			break;
 		case W_MACE:
 		case W_MACE:
 		case W_2HMACE:
 		case W_2HMACE:
 			if((skill = pc_checkskill(sd,PR_MACEMASTERY)) > 0)
 			if((skill = pc_checkskill(sd,PR_MACEMASTERY)) > 0)
 				damage += (skill * 3);
 				damage += (skill * 3);
+			if((skill = pc_checkskill(sd,NC_TRAININGAXE)) > 0)
+				damage += (skill * 5);
 			break;
 			break;
 		case W_FIST:
 		case W_FIST:
 			if((skill = pc_checkskill(sd,TK_RUN)) > 0)
 			if((skill = pc_checkskill(sd,TK_RUN)) > 0)
@@ -1278,6 +1356,9 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 				if(sd && pc_checkskill(sd,AS_SONICACCEL)>0)
 				if(sd && pc_checkskill(sd,AS_SONICACCEL)>0)
 					hitrate += hitrate * 50 / 100;
 					hitrate += hitrate * 50 / 100;
 				break;
 				break;
+			case GC_VENOMPRESSURE:
+				hitrate += 10 + 4 * skill_lv;
+				break;
 		}
 		}
 
 
 		// Weaponry Research hidden bonus
 		// Weaponry Research hidden bonus
@@ -1727,6 +1808,160 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 				case NPC_VAMPIRE_GIFT:
 				case NPC_VAMPIRE_GIFT:
 					skillratio += ((skill_lv-1)%5+1)*100;
 					skillratio += ((skill_lv-1)%5+1)*100;
 					break;
 					break;
+				case RK_SONICWAVE: {
+						int level = status_get_lv(src);
+						skillratio += 400 + 100 * skill_lv;
+						if( level > 100 )
+							skillratio += skillratio * (level - 100) / 200;
+					}
+					break;
+				case RK_HUNDREDSPEAR: {
+						int level = status_get_lv(src);
+						skillratio += 500 + 40 * skill_lv;
+						if( level > 100 )
+							skillratio += skillratio * (level - 100) / 200;
+					}
+					break;
+				case RK_WINDCUTTER: {
+						int level = status_get_lv(src);
+						skillratio += 50 * skill_lv;
+						if( level > 100 )
+							skillratio += skillratio * (level - 50) / 200;
+					}
+					break;
+				case RK_IGNITIONBREAK: {
+						int level = status_get_lv(src);
+						i = distance_bl(src,target);
+						if( i < 2 )
+							skillratio = 200 + 200 * skill_lv;
+						else if( i < 4 )
+							skillratio = 100 + 200 * skill_lv;
+						else
+							skillratio = 100 + 100 * skill_lv;
+						if( level > 100 )
+							skillratio += skillratio * (level - 100) / 200;
+						if( sstatus->rhw.ele == ELE_FIRE )
+							skillratio +=  skillratio / 2;
+					}
+					break;
+				case RK_CRUSHSTRIKE:
+					if( sd )
+					{
+						short index = sd->equip_index[EQI_HAND_R];
+						if( index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON )
+							skillratio = sstatus->rhw.atk + 100 * sd->inventory_data[index]->wlv * (sd->status.inventory[index].refine + 6);
+					}
+					break;
+				case RK_STORMBLAST:
+					skillratio = 100 * (sd ? pc_checkskill(sd,RK_RUNEMASTERY) : 1) +  100 * (sstatus->int_ / 4);
+					break;
+				case RK_PHANTOMTHRUST:
+					skillratio = 50 * skill_lv + 10 * ( sd ? pc_checkskill(sd,KN_SPEARMASTERY) : 10);
+					//if( s_level > 100 ) skillratio += skillratio * s_level / 150;	// Base level bonus. This is official, but is disabled until I can confirm something with was changed or not. [Rytech]
+					//if( s_level > 100 ) skillratio += skillratio * (s_level - 100) / 200;	// Base level bonus.
+					break;
+				/**
+				 * GC Guilotine Cross
+				 **/
+				case GC_CROSSIMPACT:
+					skillratio += 1050 + 50 * skill_lv;
+					break;
+				case GC_PHANTOMMENACE:
+					skillratio += 200;
+					break;
+				case GC_COUNTERSLASH:
+					skillratio += 200 + (100 * skill_lv) + sstatus->agi;
+					break;
+				case GC_ROLLINGCUTTER:
+					skillratio += 20 * skill_lv;
+					break;
+				case GC_CROSSRIPPERSLASHER:
+					skillratio += 60 + 40 * skill_lv;
+					if( sc && sc->data[SC_ROLLINGCUTTER] )
+						skillratio += 25 * sc->data[SC_ROLLINGCUTTER]->val1;
+					break;
+				/**
+				 * Arch Bishop
+				 **/
+				case AB_DUPLELIGHT_MELEE:
+					skillratio += 10 * skill_lv;
+					break;
+				/**
+				 * Ranger
+				 **/
+				case RA_ARROWSTORM:
+					skillratio += 100 + 50 * skill_lv;
+					if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+					break;
+				case RA_AIMEDBOLT:
+					skillratio += 400 + 50 * skill_lv;
+					if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+					if( tsc && (tsc->data[SC_BITE] || tsc->data[SC_ANKLE] || tsc->data[SC_ELECTRICSHOCKER]) )
+						wd.div_ = tstatus->size + 2 + rand()%2;
+					break;
+				case RA_CLUSTERBOMB:
+					skillratio += 100 + 100 * skill_lv;
+					break;
+				case RA_WUGDASH:
+					skillratio = 500;
+					break;
+				case RA_WUGSTRIKE:
+					skillratio = 200 * skill_lv;
+					break;
+				case RA_WUGBITE:
+					skillratio += 300 + 200 * skill_lv;
+					if ( skill_lv == 5 ) skillratio += 100;
+					break;
+				case RA_SENSITIVEKEEN:
+					skillratio += 50 * skill_lv;
+					break;
+				/**
+				 * Mechanic
+				 **/
+				case NC_BOOSTKNUCKLE:
+					skillratio += 100 + 100 * skill_lv + sstatus->dex;
+					if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+					break;
+				case NC_PILEBUNKER:
+					skillratio += 200 + 100 * skill_lv + sstatus->str;
+					if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+					break;
+				case NC_VULCANARM:
+					skillratio = 70 * skill_lv + sstatus->dex;
+					if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+					break;
+				case NC_FLAMELAUNCHER:
+				case NC_COLDSLOWER:
+					skillratio += 200 + 300 * skill_lv;
+					if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+					break;
+				case NC_ARMSCANNON:
+					switch( tstatus->size ) {
+						case 0: skillratio += 100 + 500 * skill_lv; break;// Small
+						case 1: skillratio += 100 + 400 * skill_lv; break;// Medium
+						case 2: skillratio += 100 + 300 * skill_lv; break;// Large
+					}
+					if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+					//NOTE: Their's some other factors that affects damage, but not sure how exactly. Will recheck one day. [Rytech]
+					break;
+				case NC_AXEBOOMERANG:
+					skillratio += 60 + 40 * skill_lv;
+					if( sd ) {
+						short index = sd->equip_index[EQI_HAND_R];
+						if( index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON )
+						skillratio += sd->inventory_data[index]->weight / 10;// Weight is divided by 10 since 10 weight in coding make 1 whole actural weight. [Rytech]
+					}
+					if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+					break;
+				case NC_POWERSWING:
+					skillratio += 80 + 20 * skill_lv + sstatus->str + sstatus->dex;
+					if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+					break;
+				case NC_AXETORNADO:
+					skillratio += 100 + 100 * skill_lv + sstatus->vit;
+					if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+					break;
+
 			}
 			}
 
 
 			ATK_RATE(skillratio);
 			ATK_RATE(skillratio);
@@ -1755,6 +1990,16 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 				case NJ_SYURIKEN:
 				case NJ_SYURIKEN:
 					ATK_ADD(4*skill_lv);
 					ATK_ADD(4*skill_lv);
 					break;
 					break;
+				/**
+				 * Ranger
+				 **/
+				case RA_WUGDASH:
+				case RA_WUGSTRIKE:
+				case RA_WUGBITE:
+					if(sd)
+						ATK_ADD(30*pc_checkskill(sd, RA_TOOTHOFWUG));
+					break;
+
 			}
 			}
 		}
 		}
 		//Div fix.
 		//Div fix.
@@ -1764,13 +2009,17 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 		if (sc) {
 		if (sc) {
 			if(sc->data[SC_TRUESIGHT])
 			if(sc->data[SC_TRUESIGHT])
 				ATK_ADDRATE(2*sc->data[SC_TRUESIGHT]->val1);
 				ATK_ADDRATE(2*sc->data[SC_TRUESIGHT]->val1);
-
+		#if RE_EDP == 0
+			/**
+			 * In RE EDP doesn't affect your final damage but your atk and weapon atk
+			 **/
 			if(sc->data[SC_EDP] &&
 			if(sc->data[SC_EDP] &&
 			  	skill_num != ASC_BREAKER &&
 			  	skill_num != ASC_BREAKER &&
 				skill_num != ASC_METEORASSAULT &&
 				skill_num != ASC_METEORASSAULT &&
 				skill_num != AS_SPLASHER &&
 				skill_num != AS_SPLASHER &&
 				skill_num != AS_VENOMKNIFE)
 				skill_num != AS_VENOMKNIFE)
 				ATK_ADDRATE(sc->data[SC_EDP]->val3);
 				ATK_ADDRATE(sc->data[SC_EDP]->val3);
+		#endif
 		}
 		}
 
 
 		switch (skill_num) {
 		switch (skill_num) {
@@ -1787,6 +2036,10 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 					sc->data[SC_SPIRIT]->val2 == SL_CRUSADER)
 					sc->data[SC_SPIRIT]->val2 == SL_CRUSADER)
 					ATK_ADDRATE(100);
 					ATK_ADDRATE(100);
 				break;
 				break;
+			case NC_AXETORNADO:
+				if( (sstatus->rhw.ele) == ELE_WIND || (sstatus->lhw.ele) == ELE_WIND )
+					ATK_ADDRATE(50);
+				break;
 		}
 		}
 		
 		
 		if( sd )
 		if( sd )
@@ -1881,6 +2134,9 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 				if((battle_check_undead(sstatus->race,sstatus->def_ele) || sstatus->race==RC_DEMON) && //This bonus already doesnt work vs players
 				if((battle_check_undead(sstatus->race,sstatus->def_ele) || sstatus->race==RC_DEMON) && //This bonus already doesnt work vs players
 					src->type == BL_MOB && (skill=pc_checkskill(tsd,AL_DP)) > 0)
 					src->type == BL_MOB && (skill=pc_checkskill(tsd,AL_DP)) > 0)
 					vit_def += skill*(int)(3 +(tsd->status.base_level+1)*0.04);   // submitted by orn
 					vit_def += skill*(int)(3 +(tsd->status.base_level+1)*0.04);   // submitted by orn
+				if( src->type == BL_MOB && (skill=pc_checkskill(tsd,RA_RANGERMAIN))>0 && 
+					(sstatus->race == RC_BRUTE || sstatus->race == RC_FISH || sstatus->race == RC_PLANT) )
+					vit_def += skill*5;
 			} else { //Mob-Pet vit-eq
 			} else { //Mob-Pet vit-eq
 				//VIT + rnd(0,[VIT/20]^2-1)
 				//VIT + rnd(0,[VIT/20]^2-1)
 				vit_def = (def2/20)*(def2/20);
 				vit_def = (def2/20)*(def2/20);
@@ -2293,20 +2549,34 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 		struct Damage md = battle_calc_misc_attack(src, target, skill_num, skill_lv, wflag);
 		struct Damage md = battle_calc_misc_attack(src, target, skill_num, skill_lv, wflag);
 		wd.damage += md.damage;
 		wd.damage += md.damage;
 	}
 	}
-
-	//SG_FUSION hp penalty [Komurka]
-	if (sc && sc->data[SC_FUSION])
-	{
-		int hp= sstatus->max_hp;
-		if (sd && tsd) {
-			hp = 8*hp/100;
-			if (100*sstatus->hp <= 20*sstatus->max_hp)
-				hp = sstatus->hp;
-		} else
-			hp = 2*hp/100; //2% hp loss per hit
-		status_zap(src, hp, 0);
+	if( sc ) {
+		//SG_FUSION hp penalty [Komurka]
+		if (sc->data[SC_FUSION])
+		{
+			int hp= sstatus->max_hp;
+			if (sd && tsd) {
+				hp = 8*hp/100;
+				if (100*sstatus->hp <= 20*sstatus->max_hp)
+					hp = sstatus->hp;
+			} else
+				hp = 2*hp/100; //2% hp loss per hit
+			status_zap(src, hp, 0);
+		}
+	/**
+	 * affecting non-skills
+	 **/
+	if( !skill_num ) {
+		/**
+		 * RK Enchant Blade
+		 **/
+		if( sc->data[SC_ENCHANTBLADE] && sd && ( (flag.rh && sd->weapontype1) || (flag.lh && sd->weapontype2) ) ) {
+			struct Damage md = battle_calc_magic_attack(src, target, RK_ENCHANTBLADE, pc_checkskill(sd,RK_ENCHANTBLADE), wflag);
+			wd.damage += md.damage;
+			wd.flag |= md.flag;
+		}
 	}
 	}
 
 
+	}
 	return wd;
 	return wd;
 }
 }
 
 
@@ -2398,6 +2668,10 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 			case AL_HEAL:
 			case AL_HEAL:
 			case PR_BENEDICTIO:
 			case PR_BENEDICTIO:
 			case PR_SANCTUARY:
 			case PR_SANCTUARY:
+			/**
+			 * Arch Bishop
+			 **/
+			case AB_HIGHNESSHEAL:
 				ad.damage = skill_calc_heal(src, target, skill_num, skill_lv, false);
 				ad.damage = skill_calc_heal(src, target, skill_num, skill_lv, false);
 				break;
 				break;
 			case PR_ASPERSIO:
 			case PR_ASPERSIO:
@@ -2417,14 +2691,31 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 			case PF_SOULBURN:
 			case PF_SOULBURN:
 				ad.damage = tstatus->sp * 2;
 				ad.damage = tstatus->sp * 2;
 				break;
 				break;
+			/**
+			 * Arch Bishop
+			 **/
+			case AB_RENOVATIO:
+				//Damage calculation from iRO wiki. [Jobbie]
+				ad.damage = (int)((15 * status_get_lv(src)) + (1.5 * sstatus->int_));
+				break;
 			default:
 			default:
 			{
 			{
+			#if RRMODE //Renewal MATK Appliance according to doddler (?title=Renewal_Changes#Upgrade_MATK)
+				/**
+				 * min: (weaponMATK+upgradeMATK) * 2 + 1.5 * statusMATK
+				 * max: [weaponMATK+upgradeMATK+(wMatk*wLvl)/10] * 2 + 1.5 * statusMATK
+				 * yes this formula MATCHES their site: matk_max already holds weaponmatk+upgradematk, and
+				 * -> statusMATK holds the %Matk modifier stuff from earlier and lastly:
+				 * -> the mdef part is not applied at this point, but later.
+				 **/
+				MATK_ADD(sstatus->matk_max * 2 + 15/10 * sstatus->matk_min + rand()% ( sstatus->matk_max + (sstatus->matk_max*sstatus->wlv) / 10 * 2 * 10/15 * sstatus->matk_min ) );
+			#else //Ancient MATK Appliance
 				if (sstatus->matk_max > sstatus->matk_min) {
 				if (sstatus->matk_max > sstatus->matk_min) {
 					MATK_ADD(sstatus->matk_min+rand()%(1+sstatus->matk_max-sstatus->matk_min));
 					MATK_ADD(sstatus->matk_min+rand()%(1+sstatus->matk_max-sstatus->matk_min));
 				} else {
 				} else {
 					MATK_ADD(sstatus->matk_min);
 					MATK_ADD(sstatus->matk_min);
 				}
 				}
-
+			#endif
 				if(nk&NK_SPLASHSPLIT){ // Divide MATK in case of multiple targets skill
 				if(nk&NK_SPLASHSPLIT){ // Divide MATK in case of multiple targets skill
 					if(mflag>0)
 					if(mflag>0)
 						ad.damage/= mflag;
 						ad.damage/= mflag;
@@ -2470,6 +2761,11 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 					case WZ_SIGHTRASHER:
 					case WZ_SIGHTRASHER:
 						skillratio += 20*skill_lv;
 						skillratio += 20*skill_lv;
 						break;
 						break;
+#if FIREIVY_ON
+					case WZ_FIREIVY:
+						skillratio += 20*skill_lv-15;
+						break;
+#endif
 					case WZ_VERMILION:
 					case WZ_VERMILION:
 						skillratio += 20*skill_lv-20;
 						skillratio += 20*skill_lv-20;
 						break;
 						break;
@@ -2513,6 +2809,193 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 					case NPC_EARTHQUAKE:
 					case NPC_EARTHQUAKE:
 						skillratio += 100 +100*skill_lv +100*(skill_lv/2);
 						skillratio += 100 +100*skill_lv +100*(skill_lv/2);
 						break;
 						break;
+					/**
+					 * Arch Bishop
+					 **/
+					case AB_JUDEX:
+						skillratio += 180 + 20 * skill_lv;
+						if (skill_lv > 4) skillratio += 20;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case AB_ADORAMUS:
+						skillratio += 400 + 100 * skill_lv;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case AB_DUPLELIGHT_MAGIC:
+						skillratio += 100 + 20 * skill_lv;
+						break;
+					/**
+					 * Warlock
+					 **/
+					case WL_SOULEXPANSION:
+						skillratio += 300 + 100 * skill_lv + sstatus->int_;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case WL_FROSTMISTY:
+						skillratio += 100 + 100 * skill_lv;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case WL_JACKFROST:
+						{
+							struct status_change *tsc = status_get_sc(target);
+							if( tsc && tsc->data[SC_FREEZING] )
+							{
+								skillratio += 900 + 300 * skill_lv;
+								if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+							}
+							else
+								skillratio += 400 + 100 * skill_lv;
+								if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						}
+						break;
+					case WL_DRAINLIFE:
+						skillratio = 200 * skill_lv + sstatus->int_;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case WL_CRIMSONROCK:
+						skillratio += 1200 + 300 * skill_lv;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case WL_HELLINFERNO:
+						if( status_get_element(target) == ELE_FIRE )
+							skillratio = 60 * skill_lv;
+						else
+							skillratio = 240 * skill_lv;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case WL_COMET: {
+						struct status_change * sc = status_get_sc(src);
+						if( sc )
+							i = distance_xy(target->x, target->y, sc->comet_x, sc->comet_y);
+						else
+							i = 8;
+						if( i < 2 ) skillratio = 2500 + 500 * skill_lv;
+						else
+						if( i < 4 ) skillratio = 1600 + 400 * skill_lv;
+						else
+						if( i < 6 ) skillratio = 1200 + 300 * skill_lv;
+						else
+						skillratio = 800 + 200 * skill_lv;
+						}
+						break;
+					case WL_CHAINLIGHTNING_ATK:
+						skillratio += 100 + 300 * skill_lv;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case WL_EARTHSTRAIN:
+						skillratio += 1900 + 100 * skill_lv;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case WL_TETRAVORTEX_FIRE:
+					case WL_TETRAVORTEX_WATER:
+					case WL_TETRAVORTEX_WIND:
+					case WL_TETRAVORTEX_GROUND:
+						skillratio += 400 + 500 * skill_lv;
+						break;
+					case WL_SUMMON_ATK_FIRE:
+					case WL_SUMMON_ATK_WATER:
+					case WL_SUMMON_ATK_WIND:
+					case WL_SUMMON_ATK_GROUND:
+						skillratio = skill_lv * (status_get_lv(src) + ( sd ? sd->status.job_level : 50 ));// This is close to official, but lacking a little info to finalize. [Rytech]
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case LG_RAYOFGENESIS:
+						skillratio = (skillratio + 200) * skill_lv;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						break;
+					case WM_METALICSOUND:
+						skillratio += 120 * skill_lv + 60 * ( sd? pc_checkskill(sd, WM_LESSON) : 10 ) - 100;
+						break;
+					case WM_SEVERE_RAINSTORM:
+						skillratio += 50 * skill_lv;
+						break;
+					case WM_REVERBERATION_MAGIC:
+						skillratio += 100 * (sd ? pc_checkskill(sd, WM_REVERBERATION) : 1);
+						break;
+					case SO_FIREWALK: {
+						struct status_change * sc = status_get_sc(src);
+						skillratio = 300;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						if( sc && sc->data[SC_HEATER_OPTION] )
+							skillratio += skillratio * sc->data[SC_HEATER_OPTION]->val3 / 100;
+						}
+						break;
+					case SO_ELECTRICWALK: {
+						struct status_change * sc = status_get_sc(src);
+						skillratio = 300;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						if( sc && sc->data[SC_BLAST_OPTION] )
+							skillratio += skillratio * sc->data[SC_BLAST_OPTION]->val2 / 100;
+						}
+						break;
+					case SO_EARTHGRAVE: {
+						struct status_change * sc = status_get_sc(src);
+						skillratio = ( 200 * ( sd ? pc_checkskill(sd, SA_SEISMICWEAPON) : 10 ) + sstatus->int_ * skill_lv );
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						if( sc && sc->data[SC_CURSED_SOIL_OPTION] )
+							skillratio += skillratio * sc->data[SC_CURSED_SOIL_OPTION]->val2 / 100;
+						}
+						break;
+					case SO_DIAMONDDUST: {
+						struct status_change * sc = status_get_sc(src);
+						skillratio = ( 200 * ( sd ? pc_checkskill(sd, SA_FROSTWEAPON) : 10 ) + sstatus->int_ * skill_lv );
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						if( sc && sc->data[SC_COOLER_OPTION] )
+							skillratio += skillratio * sc->data[SC_COOLER_OPTION]->val3 / 100;
+						}
+						break;
+					case SO_POISON_BUSTER: {
+						struct status_change * sc = status_get_sc(src);
+						skillratio += 1100 + 300 * skill_lv;
+						if( sc && sc->data[SC_CURSED_SOIL_OPTION] )
+							skillratio += skillratio * sc->data[SC_CURSED_SOIL_OPTION]->val2 / 100;
+						}
+						break;
+					case SO_PSYCHIC_WAVE: {
+						struct status_change * sc = status_get_sc(src);
+						skillratio += -100 + skill_lv * 70 + (sstatus->int_ * 3);
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						if( sc ){
+							if( sc->data[SC_HEATER_OPTION] )
+								skillratio += skillratio * sc->data[SC_HEATER_OPTION]->val3 / 100;
+							else if(sc->data[SC_COOLER_OPTION] )
+								skillratio += skillratio * sc->data[SC_COOLER_OPTION]->val3 / 100;
+							else if(sc->data[SC_BLAST_OPTION] )
+								skillratio += skillratio * sc->data[SC_BLAST_OPTION]->val2 / 100;
+							else if(sc->data[SC_CURSED_SOIL_OPTION] )
+								skillratio += skillratio * sc->data[SC_CURSED_SOIL_OPTION]->val3 / 100;
+						}
+						}
+						break;
+					case SO_VARETYR_SPEAR: {
+						struct status_change * sc = status_get_sc(src);
+						skillratio += -100 + ( 100 * ( sd ? pc_checkskill(sd, SA_LIGHTNINGLOADER) : 10 ) + sstatus->int_ * skill_lv );
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						if( sc && sc->data[SC_BLAST_OPTION] )
+							skillratio += skillratio * sc->data[SC_BLAST_OPTION]->val2 / 100;
+						}
+						break;
+					case SO_CLOUD_KILL: {
+						struct status_change * sc = status_get_sc(src);
+						skillratio += -100 + skill_lv * 40;
+						if( status_get_lv(src) > 100 ) skillratio += skillratio * (status_get_lv(src) - 100) / 200;	// Base level bonus.
+						if( sc && sc->data[SC_CURSED_SOIL_OPTION] )
+							skillratio += skillratio * sc->data[SC_CURSED_SOIL_OPTION]->val2 / 100;
+						}
+						break;
+					case GN_DEMONIC_FIRE:
+						if( skill_lv > 20)
+						{	// Fire expansion Lv.2
+							skillratio += 110 + 20 * (skill_lv - 20) + status_get_int(src) * 3;	// Need official INT bonus. [LimitLine]
+						}
+						else if( skill_lv > 10 )
+						{	// Fire expansion Lv.1
+							skillratio += 110 + 20 * (skill_lv - 10) / 2;
+						}
+						else
+							skillratio += 110 + 20 * skill_lv;
+						break;
+
 				}
 				}
 
 
 				MATK_RATE(skillratio);
 				MATK_RATE(skillratio);
@@ -2550,10 +3033,19 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 					//mdef2-= mdef2* i/100;
 					//mdef2-= mdef2* i/100;
 				}
 				}
 			}
 			}
+		#if RRMODE
+			/**
+			 * RE MDEF Reduction (from doddler:?title=Renewal_Changes#MDEF)
+			 * Damage from magic = Magic Attack * 111.5/(111.5+eMDEF) 
+			 * Damage = Magic Attack * 111.5/(111.5+eMDEF) - sMDEF 
+			 **/
+			ad.damage = ad.damage * ((1115/10) - mdef)/(1115/10) - mdef2;
+		#else
 			if(battle_config.magic_defense_type)
 			if(battle_config.magic_defense_type)
 				ad.damage = ad.damage - mdef*battle_config.magic_defense_type - mdef2;
 				ad.damage = ad.damage - mdef*battle_config.magic_defense_type - mdef2;
 			else
 			else
 				ad.damage = ad.damage * (100-mdef)/100 - mdef2;
 				ad.damage = ad.damage * (100-mdef)/100 - mdef2;
+		#endif
 		}
 		}
 		
 		
 		if (skill_num == NPC_EARTHQUAKE)
 		if (skill_num == NPC_EARTHQUAKE)
@@ -2805,6 +3297,32 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
 	case NPC_EVILLAND:
 	case NPC_EVILLAND:
 		md.damage = skill_calc_heal(src,target,skill_num,skill_lv,false);
 		md.damage = skill_calc_heal(src,target,skill_num,skill_lv,false);
 		break;
 		break;
+	case RK_DRAGONBREATH:
+		md.damage = ((status_get_hp(src) / 50) + (status_get_max_sp(src) / 4)) * skill_lv;
+		if (status_get_lv(src) > 100) md.damage = md.damage * status_get_lv(src) / 150;
+		if (sd) md.damage = md.damage * (100 + 5 * (pc_checkskill(sd,RK_DRAGONTRAINING) - 1)) / 100;
+		break;
+	/**
+	 * Ranger
+	 **/
+	case RA_CLUSTERBOMB:
+	case RA_FIRINGTRAP:
+ 	case RA_ICEBOUNDTRAP:
+		md.damage = (2 * skill_lv * (sstatus->dex + 100));
+		if (status_get_lv(src) > 100) md.damage += md.damage * (status_get_lv(src) - 50) / 200 + 15 / 10;
+		md.damage = md.damage * 2;// Without BaseLv Bonus
+		md.damage = md.damage + (5 * sstatus->int_) + (40 * ( sd ? pc_checkskill(sd,RA_RESEARCHTRAP) : 10 ) );
+		break;
+	/**
+	 * Mechanic
+	 **/
+	case NC_SELFDESTRUCTION:
+		md.damage = (sd?pc_checkskill(sd,NC_MAINFRAME):10) * skill_lv * (status_get_sp(src) + sstatus->vit);
+		if (status_get_lv(src) > 100) md.damage = md.damage * status_get_lv(src) / 150;// Base level bonus.
+		if (sd) md.damage = md.damage + status_get_hp(src);
+		status_set_sp(src, 0, 0);
+		break;
+
 	}
 	}
 
 
 	if (nk&NK_SPLASHSPLIT){ // Divide ATK among targets
 	if (nk&NK_SPLASHSPLIT){ // Divide ATK among targets
@@ -2906,11 +3424,23 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
 	else if( map[target->m].flag.battleground )
 	else if( map[target->m].flag.battleground )
 		md.damage=battle_calc_bg_damage(src,target,md.damage,md.div_,skill_num,skill_lv,md.flag);
 		md.damage=battle_calc_bg_damage(src,target,md.damage,md.div_,skill_num,skill_lv,md.flag);
 
 
-	if (skill_num == NJ_ZENYNAGE && sd)
-	{	//Time to Pay Up.
-		if ( md.damage > sd->status.zeny )
-			md.damage=sd->status.zeny;
-		pc_payzeny(sd, md.damage);
+	switch( skill_num ) {
+		case RA_CLUSTERBOMB:
+		case RA_FIRINGTRAP:
+ 		case RA_ICEBOUNDTRAP:
+			{
+				struct Damage wd;
+				wd = battle_calc_weapon_attack(src,target,skill_num,skill_lv,mflag);
+				md.damage += wd.damage;
+			}
+			break;
+		case NJ_ZENYNAGE:
+			if( sd ) {
+				if ( md.damage > sd->status.zeny )
+					md.damage = sd->status.zeny;
+				pc_payzeny(sd, md.damage);
+			}
+		break;
 	}
 	}
 
 
 	return md;
 	return md;
@@ -2943,10 +3473,10 @@ struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct bl
 }
 }
 
 
 //Calculates BF_WEAPON returned damage.
 //Calculates BF_WEAPON returned damage.
-int battle_calc_return_damage(struct block_list* bl, int damage, int flag)
+int battle_calc_return_damage(struct block_list* bl, struct block_list *src, int *dmg, int flag)
 {
 {
 	struct map_session_data* sd = NULL;
 	struct map_session_data* sd = NULL;
-	int rdamage = 0;
+	int rdamage = 0, damage = *dmg;
 
 
 	sd = BL_CAST(BL_PC, bl);
 	sd = BL_CAST(BL_PC, bl);
 
 
@@ -2959,10 +3489,24 @@ int battle_calc_return_damage(struct block_list* bl, int damage, int flag)
 			if(rdamage < 1) rdamage = 1;
 			if(rdamage < 1) rdamage = 1;
 		}
 		}
 		sc = status_get_sc(bl);
 		sc = status_get_sc(bl);
-		if (sc && sc->data[SC_REFLECTSHIELD])
-		{
-			rdamage += damage * sc->data[SC_REFLECTSHIELD]->val2 / 100;
-			if (rdamage < 1) rdamage = 1;
+		if( sc && sc->count ) {
+			if (sc->data[SC_REFLECTSHIELD]) {
+				rdamage += damage * sc->data[SC_REFLECTSHIELD]->val2 / 100;
+				if (rdamage < 1) rdamage = 1;
+			}
+			if(sc->data[SC_DEATHBOUND] && !(src->type == BL_MOB && is_boss(src)) ) {
+				int dir = map_calc_dir(bl,src->x,src->y),
+					t_dir = unit_getdir(bl), rd1 = 0;
+
+				if( distance_bl(src,bl) <= 0 || !map_check_dir(dir,t_dir) ) {
+					rd1 = min(damage,status_get_max_hp(bl)) * sc->data[SC_DEATHBOUND]->val2 / 100; // Amplify damage.
+					*dmg = rd1 * 30 / 100; // Received damge = 30% of amplifly damage.
+					clif_skill_damage(src,bl,gettick(), status_get_amotion(src), 0, -30000, 1, RK_DEATHBOUND, sc->data[SC_DEATHBOUND]->val1,6);
+					status_change_end(bl,SC_DEATHBOUND,-1);
+					rdamage += rd1;
+					if (rdamage < 1) rdamage = 1;
+				}
+			}
 		}
 		}
 	} else {
 	} else {
 		if (sd && sd->long_weapon_damage_return)
 		if (sd && sd->long_weapon_damage_return)
@@ -3165,7 +3709,17 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
 	damage = wd.damage + wd.damage2;
 	damage = wd.damage + wd.damage2;
 	if( damage > 0 && src != target )
 	if( damage > 0 && src != target )
 	{
 	{
-		rdamage = battle_calc_return_damage(target, damage, wd.flag);
+		if( sc && sc->data[SC_DUPLELIGHT] && (wd.flag&BF_SHORT) && rand()%100 <= 10+2*sc->data[SC_DUPLELIGHT]->val1 )
+		{	// Activates it only from melee damage
+			int skillid;
+			if( rand()%2 == 1 )
+				skillid = AB_DUPLELIGHT_MELEE;
+			else
+				skillid = AB_DUPLELIGHT_MAGIC;
+			skill_attack(skill_get_type(skillid), src, src, target, skillid, sc->data[SC_DUPLELIGHT]->val1, tick, SD_LEVEL);
+		}
+
+		rdamage = battle_calc_return_damage(target,src, &damage, wd.flag);
 		if( rdamage > 0 )
 		if( rdamage > 0 )
 		{
 		{
 			rdelay = clif_damage(src, src, tick, wd.amotion, sstatus->dmotion, rdamage, 1, 4, 0);
 			rdelay = clif_damage(src, src, tick, wd.amotion, sstatus->dmotion, rdamage, 1, 4, 0);
@@ -3373,6 +3927,8 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 					case WZ_SIGHTBLASTER:
 					case WZ_SIGHTBLASTER:
 					case SM_MAGNUM:
 					case SM_MAGNUM:
 					case MS_MAGNUM:
 					case MS_MAGNUM:
+					case RA_DETONATOR:
+					case RA_SENSITIVEKEEN:
 						state |= BCT_ENEMY;
 						state |= BCT_ENEMY;
 						strip_enemy = 0;
 						strip_enemy = 0;
 						break;
 						break;
@@ -4023,6 +4579,10 @@ static const struct _battle_data {
 	{ "bg_magic_attack_damage_rate",        &battle_config.bg_magic_damage_rate,            60,     0,      INT_MAX,        },
 	{ "bg_magic_attack_damage_rate",        &battle_config.bg_magic_damage_rate,            60,     0,      INT_MAX,        },
 	{ "bg_misc_attack_damage_rate",         &battle_config.bg_misc_damage_rate,             60,     0,      INT_MAX,        },
 	{ "bg_misc_attack_damage_rate",         &battle_config.bg_misc_damage_rate,             60,     0,      INT_MAX,        },
 	{ "bg_flee_penalty",                    &battle_config.bg_flee_penalty,                 20,     0,      INT_MAX,        },
 	{ "bg_flee_penalty",                    &battle_config.bg_flee_penalty,                 20,     0,      INT_MAX,        },
+	/**
+	 * RR-Specific
+	 **/
+	{ "max_third_parameter",                &battle_config.max_third_parameter,                 20,     0,      INT_MAX,        },
 };
 };
 
 
 
 

+ 6 - 1
src/map/battle.h

@@ -35,7 +35,7 @@ struct block_list;
 
 
 struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct block_list *target,int skill_num,int skill_lv,int count);
 struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct block_list *target,int skill_num,int skill_lv,int count);
 
 
-int battle_calc_return_damage(struct block_list *bl, int damage, int flag);
+int battle_calc_return_damage(struct block_list *bl, struct block_list *src, int *, int flag);
 
 
 void battle_drain(struct map_session_data *sd, struct block_list *tbl, int rdamage, int ldamage, int race, int boss);
 void battle_drain(struct map_session_data *sd, struct block_list *tbl, int rdamage, int ldamage, int race, int boss);
 
 
@@ -497,6 +497,8 @@ extern struct Battle_Config
 	int bg_magic_damage_rate;
 	int bg_magic_damage_rate;
 	int bg_misc_damage_rate;
 	int bg_misc_damage_rate;
 	int bg_flee_penalty;
 	int bg_flee_penalty;
+	//[RR]
+	int max_third_parameter;
 } battle_config;
 } battle_config;
 
 
 void do_init_battle(void);
 void do_init_battle(void);
@@ -507,4 +509,7 @@ extern void battle_set_defaults(void);
 int battle_set_value(const char* w1, const char* w2);
 int battle_set_value(const char* w1, const char* w2);
 int battle_get_value(const char* w1);
 int battle_get_value(const char* w1);
 
 
+//
+struct block_list* battle_getenemyarea(struct block_list *src, int x, int y, int range, int type, int ignore_id);
+
 #endif /* _BATTLE_H_ */
 #endif /* _BATTLE_H_ */

+ 7 - 1
src/map/chrif.c

@@ -505,7 +505,13 @@ void chrif_on_ready(void)
 	ShowStatus("Map Server is now online.\n");
 	ShowStatus("Map Server is now online.\n");
 	chrif_state = 2;
 	chrif_state = 2;
 	chrif_check_shutdown();
 	chrif_check_shutdown();
-
+	/**
+	 * while we're not fully ready
+	 **/
+	ShowMessage(""CL_XXBL""CL_BT_YELLOW"============= WARNING ============="CL_XXBL""CL_CLL""CL_NORMAL"\n");
+	ShowMessage(""CL_XXBL"- "CL_BT_YELLOW"This version is under development and shouldn't be used as a real server"CL_XXBL""CL_CLL""CL_NORMAL"\n");
+	ShowMessage(""CL_XXBL"- "CL_BT_YELLOW"For bugs, comments and suggestions: http://ro-resources.net "CL_XXBL""CL_CLL""CL_NORMAL"\n");
+	ShowMessage(""CL_XXBL"- "CL_BT_YELLOW"Thank you for trying out"CL_XXBL""CL_CLL""CL_NORMAL"\n");
 	//If there are players online, send them to the char-server. [Skotlex]
 	//If there are players online, send them to the char-server. [Skotlex]
 	send_users_tochar();
 	send_users_tochar();
 
 

File diff suppressed because it is too large
+ 167 - 117
src/map/clif.c


+ 27 - 3
src/map/clif.h

@@ -343,7 +343,7 @@ int clif_skill_estimation(struct map_session_data *sd,struct block_list *dst);
 void clif_skill_warppoint(struct map_session_data* sd, short skill_num, short skill_lv, unsigned short map1, unsigned short map2, unsigned short map3, unsigned short map4);
 void clif_skill_warppoint(struct map_session_data* sd, short skill_num, short skill_lv, unsigned short map1, unsigned short map2, unsigned short map3, unsigned short map4);
 void clif_skill_memomessage(struct map_session_data* sd, int type);
 void clif_skill_memomessage(struct map_session_data* sd, int type);
 void clif_skill_teleportmessage(struct map_session_data* sd, int type);
 void clif_skill_teleportmessage(struct map_session_data* sd, int type);
-int clif_skill_produce_mix_list(struct map_session_data *sd, int trigger);
+int clif_skill_produce_mix_list(struct map_session_data *sd, int skillid, int trigger);
 void clif_cooking_list(struct map_session_data *sd, int trigger);
 void clif_cooking_list(struct map_session_data *sd, int trigger);
 
 
 int clif_produceeffect(struct map_session_data* sd,int flag,int nameid);
 int clif_produceeffect(struct map_session_data* sd,int flag,int nameid);
@@ -361,7 +361,7 @@ void clif_bladestop(struct block_list* src, int dst_id, int active);
 void clif_changemapcell(int fd, int m, int x, int y, int type, enum send_target target);
 void clif_changemapcell(int fd, int m, int x, int y, int type, enum send_target target);
 
 
 int clif_status_load(struct block_list *bl,int type, int flag);
 int clif_status_load(struct block_list *bl,int type, int flag);
-int clif_status_change(struct block_list *bl,int type,int flag,unsigned int tick);
+int clif_status_change(struct block_list *bl,int type,int flag,unsigned int tick,int val1, int val2, int val3);
 
 
 int clif_wis_message(int fd, const char* nick, const char* mes, int mes_len);
 int clif_wis_message(int fd, const char* nick, const char* mes, int mes_len);
 int clif_wis_end(int fd,int flag);
 int clif_wis_end(int fd,int flag);
@@ -629,5 +629,29 @@ void clif_search_store_info_ack(struct map_session_data* sd);
 void clif_search_store_info_failed(struct map_session_data* sd, unsigned char reason);
 void clif_search_store_info_failed(struct map_session_data* sd, unsigned char reason);
 void clif_open_search_store_info(struct map_session_data* sd);
 void clif_open_search_store_info(struct map_session_data* sd);
 void clif_search_store_info_click_ack(struct map_session_data* sd, short x, short y);
 void clif_search_store_info_click_ack(struct map_session_data* sd, short x, short y);
-
+/**
+ * 3CeAM
+ **/
+void clif_msgtable(int fd, int line);
+void clif_msgtable_num(int fd, int line, int num);
+/**
+ * Rune Knight
+ **/
+void clif_millenniumshield(struct map_session_data *sd, short shields );
+/**
+ * Warlock
+ **/
+int clif_spellbook_list(struct map_session_data *sd);
+/**
+ * Mechanic
+ **/
+int clif_magicdecoy_list(struct map_session_data *sd, int skill_lv, short x, short y);
+/**
+ * Guilotine Cross
+ **/
+int clif_poison_list(struct map_session_data *sd, int skill_lv);
+/**
+ * [RRInd] for the new mounts
+ **/
+int clif_status_load_notick(struct block_list *bl,int type,int flag,int val1, int val2, int val3);
 #endif /* _CLIF_H_ */
 #endif /* _CLIF_H_ */

+ 46 - 3
src/map/itemdb.c

@@ -706,7 +706,35 @@ static int itemdb_gendercheck(struct item_data *id)
 
 
 	return (battle_config.ignore_items_gender) ? 2 : id->sex;
 	return (battle_config.ignore_items_gender) ? 2 : id->sex;
 }
 }
-
+/**
+ * [RRInd]
+ * For backwards compatibility, in Renewal mode, MATK from weapons comes from the atk slot
+ * We use a ':' delimiter which, if not found, assumes the weapon does not provide any matk.
+ **/
+void itemdb_rr_split_atoi(char *str, int *atk, int *matk) {
+	int i, val[2];
+
+	for (i=0; i<2; i++) {
+		if (!str) break;
+		val[i] = atoi(str);
+		str = strchr(str,':');
+		if (str)
+			*str++=0;
+	}
+	if( i == 0 ) {
+		*atk = *matk = 0;
+		return;//no data found
+	}
+	if( i == 1 ) {//Single Value, we assume it's the ATK
+		*atk = val[0];
+		*matk = 0;
+		return;
+	}
+	//We assume we have 2 values.
+	*atk = val[0];
+	*matk = val[1];
+	return;
+}
 /*==========================================
 /*==========================================
  * processes one itemdb entry
  * processes one itemdb entry
  *------------------------------------------*/
  *------------------------------------------*/
@@ -736,7 +764,7 @@ static bool itemdb_parse_dbrow(char** str, const char* source, int line, int scr
 
 
 	id->type = atoi(str[3]);
 	id->type = atoi(str[3]);
 
 
-	if( id->type < 0 || id->type == IT_UNKNOWN || id->type == IT_UNKNOWN2 || ( id->type > IT_DELAYCONSUME && id->type < IT_CASH ) || id->type >= IT_MAX )
+	if( id->type < 0 || id->type == IT_UNKNOWN || id->type == IT_UNKNOWN2 || ( id->type > IT_THROWWEAPON && id->type < IT_CASH ) || id->type >= IT_MAX )
 	{// catch invalid item types
 	{// catch invalid item types
 		ShowWarning("itemdb_parse_dbrow: Invalid item type %d for item %d. IT_ETC will be used.\n", id->type, nameid);
 		ShowWarning("itemdb_parse_dbrow: Invalid item type %d for item %d. IT_ETC will be used.\n", id->type, nameid);
 		id->type = IT_ETC;
 		id->type = IT_ETC;
@@ -773,7 +801,11 @@ static bool itemdb_parse_dbrow(char** str, const char* source, int line, int scr
 			id->value_buy, id->value_sell, nameid, id->jname);
 			id->value_buy, id->value_sell, nameid, id->jname);
 
 
 	id->weight = atoi(str[6]);
 	id->weight = atoi(str[6]);
+#if RRMODE
+	itemdb_rr_split_atoi(str[7],&id->atk,&id->matk);
+#else
 	id->atk = atoi(str[7]);
 	id->atk = atoi(str[7]);
+#endif
 	id->def = atoi(str[8]);
 	id->def = atoi(str[8]);
 	id->range = atoi(str[9]);
 	id->range = atoi(str[9]);
 	id->slot = atoi(str[10]);
 	id->slot = atoi(str[10]);
@@ -835,7 +867,14 @@ static bool itemdb_parse_dbrow(char** str, const char* source, int line, int scr
  *------------------------------------------*/
  *------------------------------------------*/
 static int itemdb_readdb(void)
 static int itemdb_readdb(void)
 {
 {
-	const char* filename[] = { "item_db.txt", "item_db2.txt" };
+	/**
+	 * ro-resources inheritance: item_db -> item_db_re -> item_db2 (user customs)
+	 **/
+#if RRMODE
+	const char* filename[] = { "item_db.txt","item_db_re.txt","item_db2.txt" };
+#else
+	const char* filename[] = { "item_db.txt","item_db2.txt" };
+#endif
 	int fi;
 	int fi;
 
 
 	for( fi = 0; fi < ARRAYLENGTH(filename); ++fi )
 	for( fi = 0; fi < ARRAYLENGTH(filename); ++fi )
@@ -947,7 +986,11 @@ static int itemdb_readdb(void)
  *======================================*/
  *======================================*/
 static int itemdb_read_sqldb(void)
 static int itemdb_read_sqldb(void)
 {
 {
+#if RRMODE
+	const char* item_db_name[] = { item_db_db, item_db_re_db, item_db2_db };
+#else
 	const char* item_db_name[] = { item_db_db, item_db2_db };
 	const char* item_db_name[] = { item_db_db, item_db2_db };
+#endif
 	int fi;
 	int fi;
 	
 	
 	for( fi = 0; fi < ARRAYLENGTH(item_db_name); ++fi )
 	for( fi = 0; fi < ARRAYLENGTH(item_db_name); ++fi )

+ 41 - 1
src/map/itemdb.h

@@ -5,6 +5,7 @@
 #define _ITEMDB_H_
 #define _ITEMDB_H_
 
 
 #include "../common/mmo.h" // ITEM_NAME_LENGTH
 #include "../common/mmo.h" // ITEM_NAME_LENGTH
+#include "map.h" //RRMODE
 
 
 #define MAX_RANDITEM	11000
 #define MAX_RANDITEM	11000
 
 
@@ -13,6 +14,11 @@
 
 
 #define MAX_SEARCH	5  //Designed for search functions, species max number of matches to display.
 #define MAX_SEARCH	5  //Designed for search functions, species max number of matches to display.
 
 
+/**
+ * Arch Bishop
+ **/
+#define ITEMID_ANCILLA 12333
+
 #define ITEMID_YELLOW_GEMSTONE 715
 #define ITEMID_YELLOW_GEMSTONE 715
 #define ITEMID_RED_GEMSTONE 716
 #define ITEMID_RED_GEMSTONE 716
 #define ITEMID_BLUE_GEMSTONE 717
 #define ITEMID_BLUE_GEMSTONE 717
@@ -50,6 +56,9 @@ struct item_data {
 	int equip;
 	int equip;
 	int weight;
 	int weight;
 	int atk;
 	int atk;
+#if RRMODE
+	int matk;//[RRInd] -- used in RE for matk
+#endif
 	int def;
 	int def;
 	int range;
 	int range;
 	int slot;
 	int slot;
@@ -61,7 +70,7 @@ struct item_data {
 //Lupus: I rearranged order of these fields due to compatibility with ITEMINFO script command
 //Lupus: I rearranged order of these fields due to compatibility with ITEMINFO script command
 //		some script commands should be revised as well...
 //		some script commands should be revised as well...
 	unsigned int class_base[3];	//Specifies if the base can wear this item (split in 3 indexes per type: 1-1, 2-1, 2-2)
 	unsigned int class_base[3];	//Specifies if the base can wear this item (split in 3 indexes per type: 1-1, 2-1, 2-2)
-	unsigned class_upper : 3; //Specifies if the upper-type can equip it (bitfield, 1: normal, 2: upper, 3: baby)
+	unsigned class_upper : 4; //Specifies if the upper-type can equip it (bitfield, 1: normal, 2: upper, 3: baby,4:third)
 	struct {
 	struct {
 		unsigned short chance;
 		unsigned short chance;
 		int id;
 		int id;
@@ -143,4 +152,35 @@ void itemdb_reload(void);
 void do_final_itemdb(void);
 void do_final_itemdb(void);
 int do_init_itemdb(void);
 int do_init_itemdb(void);
 
 
+/**
+ * Rune Knight
+ **/
+enum {
+	ITEMID_NAUTHIZ = 12725,
+	ITEMID_RAIDO,
+	ITEMID_BERKANA,
+	ITEMID_ISA,
+	ITEMID_OTHILA,
+	ITEMID_URUZ,
+	ITEMID_THURISAZ,
+	ITEMID_WYRD,
+	ITEMID_HAGALAZ,
+} rune_list;
+#define itemdb_is_rune(n) (n >= ITEMID_NAUTHIZ && n <= ITEMID_HAGALAZ)
+/**
+ * Warlock
+ **/
+#define itemdb_is_spellbook(n) (n >= 6188 && n <= 6205)
+/**
+ * Ranger
+ **/
+#define ITEMID_TRAP_ALLOY 7940
+/**
+ * Mechanic
+ **/
+#define itemdb_is_element(n) (n >= 990 && n <= 993)
+/**
+ * Guilotine Cross
+ **/
+#define itemdb_is_poison(n) (n >= 12717 && n <= 12724)
 #endif /* _ITEMDB_H_ */
 #endif /* _ITEMDB_H_ */

+ 102 - 54
src/map/map.c

@@ -68,6 +68,7 @@ Sql* mmysql_handle;
 int db_use_sqldbs = 0;
 int db_use_sqldbs = 0;
 char item_db_db[32] = "item_db";
 char item_db_db[32] = "item_db";
 char item_db2_db[32] = "item_db2";
 char item_db2_db[32] = "item_db2";
+char item_db_re_db[32] = "item_db_re";
 char mob_db_db[32] = "mob_db";
 char mob_db_db[32] = "mob_db";
 char mob_db2_db[32] = "mob_db2";
 char mob_db2_db[32] = "mob_db2";
 
 
@@ -3204,6 +3205,9 @@ int map_config_read(char *cfgName)
 		else
 		else
 		if (strcmpi(w1, "import") == 0)
 		if (strcmpi(w1, "import") == 0)
 			map_config_read(w2);
 			map_config_read(w2);
+		else
+		if (strcmpi(w1, "console_msg_log") == 0)
+			console_msg_log = atoi(w2);//[Ind]
 		else
 		else
 			ShowWarning("Unknown setting '%s' in file %s\n", w1, cfgName);
 			ShowWarning("Unknown setting '%s' in file %s\n", w1, cfgName);
 	}
 	}
@@ -3526,41 +3530,39 @@ void do_abort(void)
 /*======================================================
 /*======================================================
  * Map-Server Version Screen [MC Cameri]
  * Map-Server Version Screen [MC Cameri]
  *------------------------------------------------------*/
  *------------------------------------------------------*/
-void map_helpscreen(int flag)
-{
-	puts("Usage: map-server [options]");
-	puts("Options:");
-	puts(CL_WHITE"  Commands\t\t\tDescription"CL_RESET);
-	puts("-----------------------------------------------------------------------------");
-	puts("  --help, --h, --?, /?		Displays this help screen");
-	puts("  --map-config <file>		Load map-server configuration from <file>");
-	puts("  --battle-config <file>	Load battle configuration from <file>");
-	puts("  --atcommand-config <file>	Load atcommand configuration from <file>");
-	puts("  --script-config <file>	Load script configuration from <file>");
-	puts("  --msg-config <file>		Load message configuration from <file>");
-	puts("  --grf-path-file <file>	Load grf path file configuration from <file>");
-	puts("  --sql-config <file>		Load inter-server configuration from <file>");
-	puts("				(SQL Only)");
-	puts("  --log-config <file>		Load logging configuration from <file>");
-	puts("				(SQL Only)");
-	puts("  --version, --v, -v, /v	Displays the server's version");
-	puts("\n");
-	if (flag) exit(EXIT_FAILURE);
+static void map_helpscreen(bool do_exit)
+{
+	ShowInfo("Usage: %s [options]\n", SERVER_NAME);
+	ShowInfo("\n");
+	ShowInfo("Options:\n");
+	ShowInfo("  -?, -h [--help]\t\tDisplays this help screen.\n");
+	ShowInfo("  -v [--version]\t\tDisplays the server's version.\n");
+	ShowInfo("  --run-once\t\t\tCloses server after loading (testing).\n");
+	ShowInfo("  --map-config <file>\t\tAlternative map-server configuration.\n");
+	ShowInfo("  --battle-config <file>\tAlternative battle configuration.\n");
+	ShowInfo("  --atcommand-config <file>\tAlternative atcommand configuration.\n");
+	ShowInfo("  --script-config <file>\tAlternative script configuration.\n");
+	ShowInfo("  --msg-config <file>\t\tAlternative message configuration.\n");
+	ShowInfo("  --grf-path <file>\t\tAlternative GRF path configuration.\n");
+	ShowInfo("  --inter-config <file>\t\tAlternative inter-server configuration.\n");
+	ShowInfo("  --log-config <file>\t\tAlternative logging configuration.\n");
+	if( do_exit )
+		exit(EXIT_SUCCESS);
 }
 }
 
 
 /*======================================================
 /*======================================================
  * Map-Server Version Screen [MC Cameri]
  * Map-Server Version Screen [MC Cameri]
  *------------------------------------------------------*/
  *------------------------------------------------------*/
-void map_versionscreen(int flag)
+static void map_versionscreen(bool do_exit)
 {
 {
-	ShowInfo(CL_WHITE "eAthena version %d.%02d.%02d, Athena Mod version %d" CL_RESET"\n",
-		ATHENA_MAJOR_VERSION, ATHENA_MINOR_VERSION, ATHENA_REVISION,
-		ATHENA_MOD_VERSION);
-	ShowInfo(CL_GREEN "Website/Forum:" CL_RESET "\thttp://eathena.deltaanime.net/\n");
-	ShowInfo(CL_GREEN "IRC Channel:" CL_RESET "\tirc://irc.deltaanime.net/#athena\n");
-	ShowInfo("\nOpen " CL_WHITE "readme.html" CL_RESET " for more information.");
-	if (ATHENA_RELEASE_FLAG) ShowNotice("This version is not for release.\n");
-	if (flag) exit(EXIT_FAILURE);
+	ShowInfo(CL_WHITE"eAthena version %d.%02d.%02d, Athena Mod version %d" CL_RESET"\n", ATHENA_MAJOR_VERSION, ATHENA_MINOR_VERSION, ATHENA_REVISION, ATHENA_MOD_VERSION);
+	ShowInfo(CL_GREEN"Website/Forum:"CL_RESET"\thttp://eathena.ws/\n");
+	ShowInfo(CL_GREEN"IRC Channel:"CL_RESET"\tirc://irc.deltaanime.net/#athena\n");
+	ShowInfo("Open "CL_WHITE"readme.html"CL_RESET" for more information.\n");
+	if(ATHENA_RELEASE_FLAG)
+		ShowNotice("This version is not for release.\n");
+	if( do_exit )
+		exit(EXIT_SUCCESS);
 }
 }
 
 
 /*======================================================
 /*======================================================
@@ -3591,6 +3593,16 @@ void do_shutdown(void)
 	}
 	}
 }
 }
 
 
+static bool map_arg_next_value(const char* option, int i, int argc)
+{
+	if( i >= argc-1 )
+	{
+		ShowWarning("Missing value for option '%s'.\n", option);
+		return false;
+	}
+
+	return true;
+}
 
 
 int do_init(int argc, char *argv[])
 int do_init(int argc, char *argv[])
 {
 {
@@ -3611,31 +3623,67 @@ int do_init(int argc, char *argv[])
 
 
 	srand(gettick());
 	srand(gettick());
 
 
-	for (i = 1; i < argc ; i++) {
-		if (strcmp(argv[i], "--help") == 0 || strcmp(argv[i], "--h") == 0 || strcmp(argv[i], "--?") == 0 || strcmp(argv[i], "/?") == 0)
-			map_helpscreen(1);
-		else if (strcmp(argv[i], "--version") == 0 || strcmp(argv[i], "--v") == 0 || strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "/v") == 0)
-			map_versionscreen(1);
-		else if (strcmp(argv[i], "--map_config") == 0 || strcmp(argv[i], "--map-config") == 0)
-			MAP_CONF_NAME=argv[i+1];
-		else if (strcmp(argv[i],"--battle_config") == 0 || strcmp(argv[i],"--battle-config") == 0)
-			BATTLE_CONF_FILENAME = argv[i+1];
-		else if (strcmp(argv[i],"--atcommand_config") == 0 || strcmp(argv[i],"--atcommand-config") == 0)
-			ATCOMMAND_CONF_FILENAME = argv[i+1];
-		else if (strcmp(argv[i],"--script_config") == 0 || strcmp(argv[i],"--script-config") == 0)
-			SCRIPT_CONF_NAME = argv[i+1];
-		else if (strcmp(argv[i],"--msg_config") == 0 || strcmp(argv[i],"--msg-config") == 0)
-			MSG_CONF_NAME = argv[i+1];
-		else if (strcmp(argv[i],"--grf_path_file") == 0 || strcmp(argv[i],"--grf-path-file") == 0)
-			GRF_PATH_FILENAME = argv[i+1];
-#ifndef TXT_ONLY
-		else if (strcmp(argv[i],"--inter_config") == 0 || strcmp(argv[i],"--inter-config") == 0)
-			INTER_CONF_NAME = argv[i+1];
-#endif
-		else if (strcmp(argv[i],"--log_config") == 0 || strcmp(argv[i],"--log-config") == 0)
-			LOG_CONF_NAME = argv[i+1];
-		else if (strcmp(argv[i],"--run_once") == 0)	// close the map-server as soon as its done.. for testing [Celest]
-			runflag = 0;
+	for( i = 1; i < argc ; i++ )
+	{
+		const char* arg = argv[i];
+
+		if( arg[0] != '-' && ( arg[0] != '/' || arg[1] == '-' ) )
+		{// -, -- and /
+			ShowError("Unknown option '%s'.\n", argv[i]);
+			exit(EXIT_FAILURE);
+		}
+		else if( (++arg)[0] == '-' )
+		{// long option
+			arg++;
+
+			if( strcmp(arg, "help") == 0 )
+				map_helpscreen(true);
+			else if( strcmp(arg, "version") == 0 )
+				map_versionscreen(true);
+			else if( strcmp(arg, "map-config") == 0 ) {
+				if( map_arg_next_value(arg, i, argc) )
+					MAP_CONF_NAME = argv[++i];
+			} else if( strcmp(arg, "battle-config") == 0 ) {
+				if( map_arg_next_value(arg, i, argc) )
+					BATTLE_CONF_FILENAME = argv[++i];
+			} else if( strcmp(arg, "atcommand-config") == 0 ) {
+				if( map_arg_next_value(arg, i, argc) )
+					ATCOMMAND_CONF_FILENAME = argv[++i];
+			} else if( strcmp(arg, "script-config") == 0 ) {
+				if( map_arg_next_value(arg, i, argc) )
+					SCRIPT_CONF_NAME = argv[++i];
+			} else if( strcmp(arg, "msg-config") == 0 ) {
+				if( map_arg_next_value(arg, i, argc) )
+					MSG_CONF_NAME = argv[++i];
+			} else if( strcmp(arg, "grf-path-file") == 0 ) {
+				if( map_arg_next_value(arg, i, argc) )
+					GRF_PATH_FILENAME = argv[++i];
+			} else if( strcmp(arg, "inter-config") == 0 ) {
+				if( map_arg_next_value(arg, i, argc) )
+					INTER_CONF_NAME = argv[++i];
+			} else if( strcmp(arg, "log-config") == 0 ) {
+				if( map_arg_next_value(arg, i, argc) )
+					LOG_CONF_NAME = argv[++i];
+			} else if( strcmp(arg, "run-once") == 0 ) // close the map-server as soon as its done.. for testing [Celest]
+				runflag = CORE_ST_STOP;
+			else {
+				ShowError("Unknown option '%s'.\n", argv[i]);
+				exit(EXIT_FAILURE);
+			}
+		}
+		else switch( arg[0] )
+		{// short option
+			case '?':
+			case 'h':
+				map_helpscreen(true);
+				break;
+			case 'v':
+				map_versionscreen(true);
+				break;
+			default:
+				ShowError("Unknown option '%s'.\n", argv[i]);
+				exit(EXIT_FAILURE);
+		}
 	}
 	}
 
 
 	map_config_read(MAP_CONF_NAME);
 	map_config_read(MAP_CONF_NAME);

+ 38 - 5
src/map/map.h

@@ -10,6 +10,11 @@
 #include "../common/mapindex.h"
 #include "../common/mapindex.h"
 #include "../common/db.h"
 #include "../common/db.h"
 
 
+/**
+ * [ro-resources.net]
+ **/
+#include "./RRConfig/Core.h"
+
 #include <stdarg.h>
 #include <stdarg.h>
 
 
 struct npc_data;
 struct npc_data;
@@ -46,7 +51,7 @@ enum E_MAPSERVER_ST
 #define NATURAL_HEAL_INTERVAL 500
 #define NATURAL_HEAL_INTERVAL 500
 #define MIN_FLOORITEM 2
 #define MIN_FLOORITEM 2
 #define MAX_FLOORITEM START_ACCOUNT_NUM
 #define MAX_FLOORITEM START_ACCOUNT_NUM
-#define MAX_LEVEL 99
+#define MAX_LEVEL 150
 #define MAX_DROP_PER_MAP 48
 #define MAX_DROP_PER_MAP 48
 #define MAX_IGNORE_LIST 20 // official is 14
 #define MAX_IGNORE_LIST 20 // official is 14
 #define MAX_VENDING 12
 #define MAX_VENDING 12
@@ -68,10 +73,12 @@ enum E_MAPSERVER_ST
 
 
 #define JOBL_UPPER 0x1000 //4096
 #define JOBL_UPPER 0x1000 //4096
 #define JOBL_BABY 0x2000  //8192
 #define JOBL_BABY 0x2000  //8192
+#define JOBL_THIRD 0x4000 //16384
 
 
 //for filtering and quick checking.
 //for filtering and quick checking.
 #define MAPID_UPPERMASK 0x0fff
 #define MAPID_UPPERMASK 0x0fff
 #define MAPID_BASEMASK 0x00ff
 #define MAPID_BASEMASK 0x00ff
+#define MAPID_THIRDMASK (JOBL_THIRD|MAPID_UPPERMASK)
 //First Jobs
 //First Jobs
 //Note the oddity of the novice:
 //Note the oddity of the novice:
 //Super Novices are considered the 2-1 version of the novice! Novices are considered a first class type, too...
 //Super Novices are considered the 2-1 version of the novice! Novices are considered a first class type, too...
@@ -154,6 +161,31 @@ enum {
 	MAPID_BABY_ALCHEMIST,
 	MAPID_BABY_ALCHEMIST,
 	MAPID_BABY_ROGUE,
 	MAPID_BABY_ROGUE,
 	MAPID_BABY_SOUL_LINKER,
 	MAPID_BABY_SOUL_LINKER,
+	MAPID_RUNE_KNIGHT = JOBL_THIRD|JOBL_2_1|0x1,
+	MAPID_WARLOCK,
+	MAPID_RANGER,
+	MAPID_ARCH_BISHOP,
+	MAPID_MECHANIC,
+	MAPID_GUILLOTINE_CROSS,
+	MAPID_ROYAL_GUARD = JOBL_THIRD|JOBL_2_2|0x1,
+	MAPID_SORCERER,
+	MAPID_MINSTRELWANDERER,
+	MAPID_SURA,
+	MAPID_GENETIC,
+	MAPID_SHADOW_CHASER,
+	MAPID_RUNE_KNIGHT_T = JOBL_THIRD|JOBL_UPPER|JOBL_2_1|0x1,
+	MAPID_WARLOCK_T,
+	MAPID_RANGER_T,
+	MAPID_ARCH_BISHOP_T,
+	MAPID_MECHANIC_T,
+	MAPID_GUILLOTINE_CROSS_T,
+	MAPID_ROYAL_GUARD_T = JOBL_THIRD|JOBL_UPPER|JOBL_2_2|0x1,
+	MAPID_SORCERER_T,
+	MAPID_MINSTRELWANDERER_T,
+	MAPID_SURA_T,
+	MAPID_GENETIC_T,
+	MAPID_SHADOW_CHASER_T,
+
 };
 };
 
 
 //Max size for inputs to Graffiti, Talkie Box and Vending text prompts
 //Max size for inputs to Graffiti, Talkie Box and Vending text prompts
@@ -476,7 +508,10 @@ struct map_data {
 		unsigned fireworks : 1;
 		unsigned fireworks : 1;
 		unsigned sakura : 1; // [Valaris]
 		unsigned sakura : 1; // [Valaris]
 		unsigned leaves : 1; // [Valaris]
 		unsigned leaves : 1; // [Valaris]
-		unsigned rain : 1; // [Valaris]
+		/**
+		 * No longer available, keeping here just in case it's back someday. [Ind]
+		 **/	
+		//unsigned rain : 1; // [Valaris]
 		unsigned nogo : 1; // [Valaris]
 		unsigned nogo : 1; // [Valaris]
 		unsigned nobaseexp	: 1; // [Lorky] added by Lupus
 		unsigned nobaseexp	: 1; // [Lorky] added by Lupus
 		unsigned nojobexp	: 1; // [Lorky]
 		unsigned nojobexp	: 1; // [Lorky]
@@ -643,7 +678,6 @@ int map_random_dir(struct block_list *bl, short *x, short *y); // [Skotlex]
 
 
 int cleanup_sub(struct block_list *bl, va_list ap);
 int cleanup_sub(struct block_list *bl, va_list ap);
 
 
-void map_helpscreen(int flag); // [Valaris]
 int map_delmap(char* mapname);
 int map_delmap(char* mapname);
 void map_flags_init(void);
 void map_flags_init(void);
 
 
@@ -667,8 +701,6 @@ extern char *SCRIPT_CONF_NAME;
 extern char *MSG_CONF_NAME;
 extern char *MSG_CONF_NAME;
 extern char *GRF_PATH_FILENAME;
 extern char *GRF_PATH_FILENAME;
 
 
-extern char *map_server_dns;
-
 //Useful typedefs from jA [Skotlex]
 //Useful typedefs from jA [Skotlex]
 typedef struct map_session_data TBL_PC;
 typedef struct map_session_data TBL_PC;
 typedef struct npc_data         TBL_NPC;
 typedef struct npc_data         TBL_NPC;
@@ -697,6 +729,7 @@ extern Sql* logmysql_handle;
 
 
 extern char item_db_db[32];
 extern char item_db_db[32];
 extern char item_db2_db[32];
 extern char item_db2_db[32];
+extern char item_db_re_db[32];
 extern char mob_db_db[32];
 extern char mob_db_db[32];
 extern char mob_db2_db[32];
 extern char mob_db2_db[32];
 
 

+ 23 - 4
src/map/mob.c

@@ -2163,8 +2163,12 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
 				merc_hom_gainexp(tmpsd[i]->hd, base_exp);
 				merc_hom_gainexp(tmpsd[i]->hd, base_exp);
 			if(base_exp || job_exp)
 			if(base_exp || job_exp)
 			{
 			{
-				if( md->dmglog[i].flag != MDLF_PET || battle_config.pet_attack_exp_to_master )
+				if( md->dmglog[i].flag != MDLF_PET || battle_config.pet_attack_exp_to_master ) {
+#if RRMODE
+					party_renewal_exp_mod(&base_exp,&job_exp,tmpsd[i]->status.base_level,md->level);
+#endif
 					pc_gainexp(tmpsd[i], &md->bl, base_exp, job_exp, false);
 					pc_gainexp(tmpsd[i], &md->bl, base_exp, job_exp, false);
+				}
 			}
 			}
 			if(zeny) // zeny from mobs [Valaris]
 			if(zeny) // zeny from mobs [Valaris]
 				pc_getzeny(tmpsd[i], zeny);
 				pc_getzeny(tmpsd[i], zeny);
@@ -2185,6 +2189,11 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
 		struct item_drop_list *dlist = ers_alloc(item_drop_list_ers, struct item_drop_list);
 		struct item_drop_list *dlist = ers_alloc(item_drop_list_ers, struct item_drop_list);
 		struct item_drop *ditem;
 		struct item_drop *ditem;
 		int drop_rate;
 		int drop_rate;
+#if RRMODE
+		int drop_modifier = mvp_sd ? party_renewal_drop_mod(mvp_sd->status.base_level - md->level) :
+							second_sd ? party_renewal_drop_mod(second_sd->status.base_level - md->level) :
+							third_sd ? party_renewal_drop_mod(third_sd->status.base_level - md->level) : 100;
+#endif
 		dlist->m = md->bl.m;
 		dlist->m = md->bl.m;
 		dlist->x = md->bl.x;
 		dlist->x = md->bl.x;
 		dlist->y = md->bl.y;
 		dlist->y = md->bl.y;
@@ -2226,7 +2235,10 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
 			// Increase drop rate if user has SC_ITEMBOOST
 			// Increase drop rate if user has SC_ITEMBOOST
 			if (sd && sd->sc.data[SC_ITEMBOOST]) // now rig the drop rate to never be over 90% unless it is originally >90%.
 			if (sd && sd->sc.data[SC_ITEMBOOST]) // now rig the drop rate to never be over 90% unless it is originally >90%.
 				drop_rate = max(drop_rate,cap_value((int)(0.5+drop_rate*(sd->sc.data[SC_ITEMBOOST]->val1)/100.),0,9000));
 				drop_rate = max(drop_rate,cap_value((int)(0.5+drop_rate*(sd->sc.data[SC_ITEMBOOST]->val1)/100.),0,9000));
-
+#if RRMODE
+			if( drop_modifier != 100 )
+				drop_rate = drop_rate * drop_modifier / 100;
+#endif
 			// attempt to drop the item
 			// attempt to drop the item
 			if (rand() % 10000 >= drop_rate)
 			if (rand() % 10000 >= drop_rate)
 					continue;
 					continue;
@@ -2437,8 +2449,11 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
 		delete_timer(md->deletetimer,mob_timer_delete);
 		delete_timer(md->deletetimer,mob_timer_delete);
 		md->deletetimer = INVALID_TIMER;
 		md->deletetimer = INVALID_TIMER;
 	}
 	}
-
-	mob_deleteslave(md);
+	/**
+	 * Only loops if necessary (e.g. a poring would never need to loop)
+	 **/
+	if( md->can_summon )
+		mob_deleteslave(md);
 	
 	
 	map_freeblock_unlock();
 	map_freeblock_unlock();
 
 
@@ -2700,6 +2715,10 @@ int mob_summonslave(struct mob_data *md2,int *value,int amount,int skill_id)
 
 
 	if(mobdb_checkid(value[0]) == 0)
 	if(mobdb_checkid(value[0]) == 0)
 		return 0;
 		return 0;
+	/**
+	 * Flags this monster is able to summon; saves a worth amount of memory upon deletion
+	 **/
+	md2->can_summon = 1;
 
 
 	while(count < 5 && mobdb_checkid(value[count])) count++;
 	while(count < 5 && mobdb_checkid(value[count])) count++;
 	if(count < 1) return 0;
 	if(count < 1) return 0;

+ 5 - 0
src/map/mob.h

@@ -161,6 +161,11 @@ struct mob_data {
 	short skillidx;
 	short skillidx;
 	unsigned int skilldelay[MAX_MOBSKILL];
 	unsigned int skilldelay[MAX_MOBSKILL];
 	char npc_event[EVENT_NAME_LENGTH];
 	char npc_event[EVENT_NAME_LENGTH];
+	/**
+	 * Did this monster summon something?
+	 * Used to flag summon deletions, saves a worth amount of memory
+	 **/
+	bool can_summon : 1;
 };
 };
 
 
 
 

+ 41 - 3
src/map/npc.c

@@ -199,7 +199,33 @@ struct npc_data* npc_name2id(const char* name)
 {
 {
 	return (struct npc_data *) strdb_get(npcname_db, name);
 	return (struct npc_data *) strdb_get(npcname_db, name);
 }
 }
-
+/**
+ * For the Secure NPC Timeout option (check RRConfig/Secure.h) [RR]
+ **/
+#if SECURE_NPCTIMEOUT
+/**
+ * Timer to check for idle time and timeout the dialog if necessary
+ **/
+int npc_rr_secure_timeout_timer(int tid, unsigned int tick, int id, intptr_t data) {
+	struct map_session_data* sd = NULL;
+	if( (sd = map_id2sd(id)) == NULL || !sd->npc_id )
+		return 0;//Not logged in anymore OR no longer attached to a npc
+
+	if( DIFF_TICK(tick,sd->npc_idle_tick) > (SECURE_NPCTIMEOUT*1000) ) {
+		/**
+		 * If we still have the NPC script attached, tell it to stop.
+		 **/
+		if( sd->st )
+			sd->st->state = END;
+		/**
+		 * This guy's been idle for longer than allowed, close him.
+		 **/
+		clif_scriptclose(sd,sd->npc_id);
+	} else //Create a new instance of ourselves to continue
+		sd->npc_idle_timer = add_timer(gettick() + (SECURE_NPCTIMEOUT_INTERVAL*1000),npc_rr_secure_timeout_timer,sd->bl.id,0);
+	return 0;
+}
+#endif
 /*==========================================
 /*==========================================
  * イベントキューのイベント処理
  * イベントキューのイベント処理
  *------------------------------------------*/
  *------------------------------------------*/
@@ -1114,6 +1140,15 @@ int npc_scriptcont(struct map_session_data* sd, int id)
 			return 1;
 			return 1;
 		}
 		}
 	}
 	}
+	/**
+	 * For the Secure NPC Timeout option (check RRConfig/Secure.h) [RR]
+	 **/
+#if SECURE_NPCTIMEOUT
+	/**
+	 * Update the last NPC iteration
+	 **/
+	sd->npc_idle_tick = gettick();
+#endif
 	run_script_main(sd->st);
 	run_script_main(sd->st);
 
 
 	return 0;
 	return 0;
@@ -3058,8 +3093,11 @@ static const char* npc_parse_mapflag(char* w1, char* w2, char* w3, char* w4, con
 		map[m].flag.sakura=state;
 		map[m].flag.sakura=state;
 	else if (!strcmpi(w3,"leaves"))
 	else if (!strcmpi(w3,"leaves"))
 		map[m].flag.leaves=state;
 		map[m].flag.leaves=state;
-	else if (!strcmpi(w3,"rain"))
-		map[m].flag.rain=state;
+	/**
+	 * No longer available, keeping here just in case it's back someday. [Ind]
+	 **/	
+	//else if (!strcmpi(w3,"rain"))
+	//	map[m].flag.rain=state;
 	else if (!strcmpi(w3,"nightenabled"))
 	else if (!strcmpi(w3,"nightenabled"))
 		map[m].flag.nightenabled=state;
 		map[m].flag.nightenabled=state;
 	else if (!strcmpi(w3,"nogo"))
 	else if (!strcmpi(w3,"nogo"))

+ 7 - 0
src/map/npc.h

@@ -157,4 +157,11 @@ int npc_cashshop_buy(struct map_session_data *sd, int nameid, int amount, int po
 
 
 extern struct npc_data* fake_nd;
 extern struct npc_data* fake_nd;
 
 
+/**
+ * For the Secure NPC Timeout option (check RRConfig/Secure.h) [RR]
+ **/
+#if SECURE_NPCTIMEOUT
+int npc_rr_secure_timeout_timer(int tid, unsigned int tick, int id, intptr_t data);
+#endif
+
 #endif /* _NPC_H_ */
 #endif /* _NPC_H_ */

+ 58 - 5
src/map/party.c

@@ -566,7 +566,7 @@ int party_member_withdraw(int party_id, int account_id, int char_id)
 		ARR_FIND( 0, MAX_PARTY, i, p->party.member[i].account_id == account_id && p->party.member[i].char_id == char_id );
 		ARR_FIND( 0, MAX_PARTY, i, p->party.member[i].account_id == account_id && p->party.member[i].char_id == char_id );
 		if( i < MAX_PARTY )
 		if( i < MAX_PARTY )
 		{
 		{
-			clif_party_withdraw(p,sd,account_id,p->party.member[i].name,0x00);
+			clif_party_withdraw(p,sd,account_id,p->party.member[i].name,0x0);
 			memset(&p->party.member[i], 0, sizeof(p->party.member[0]));
 			memset(&p->party.member[i], 0, sizeof(p->party.member[0]));
 			memset(&p->data[i], 0, sizeof(p->data[0]));
 			memset(&p->data[i], 0, sizeof(p->data[0]));
 			p->party.count--;
 			p->party.count--;
@@ -912,13 +912,64 @@ int party_send_xy_clear(struct party_data *p)
 	}
 	}
 	return 0;
 	return 0;
 }
 }
-
+#if RRMODE
+/**
+ * Renewal Drop Earning Modifier
+ **/
+int party_renewal_drop_mod(int diff) {
+	if( diff >= -10 && diff <= 5 )
+		return 100;//no change.
+	if( diff > 0 ) {
+		if( diff > 5 && diff < 10 )
+			return 90;
+		if( diff > 9 && diff < 15 )
+			return 75;
+		if( diff > 14 && diff < 30 )
+			return 60;
+	} else {
+		if( diff <= -10 && diff <= -14 )
+			return 75;//75%
+	}
+	//other chases: 50%
+	return 50;
+}
+/**
+ * Renewal Experience Earning Mode
+ **/
+void party_renewal_exp_mod(unsigned int *base_exp, unsigned int *job_exp, int lvl, int moblvl) {
+	int diff = lvl - moblvl, boost = 0;
+	//-2 ~ +5: 100%
+	if( diff >= -2 && diff <= 5 )
+		return;//we don't change anything, it's 100% boost
+	//-3 ~ -10: +5% boost for each
+	if( diff >= -10 && diff <= -3 )
+		boost = 100 + (( -diff * 5 ) - 15 );
+	// 40% boost if difference is <= -10
+	else if ( diff <= -10 )
+		boost = 40;
+	else {
+		boost = ( diff > 5 && diff < 11 ) ? 95 :
+				( diff > 10 && diff < 16 ) ? 90 :
+				( diff > 15 && diff < 21 ) ? 85 :
+				( diff > 20 && diff < 26 ) ? 60 :
+				( diff > 25 && diff < 31 ) ? 35 :
+				10;
+	}
+	if( *base_exp )
+		*base_exp = (unsigned int)cap_value(*base_exp * boost / 100, 1, UINT_MAX);
+	if( *job_exp )
+		*job_exp  = (unsigned int)cap_value(*job_exp  * boost / 100, 1, UINT_MAX);
+	return;
+}
+#endif
 // exp share and added zeny share [Valaris]
 // exp share and added zeny share [Valaris]
 int party_exp_share(struct party_data* p, struct block_list* src, unsigned int base_exp, unsigned int job_exp, int zeny)
 int party_exp_share(struct party_data* p, struct block_list* src, unsigned int base_exp, unsigned int job_exp, int zeny)
 {
 {
 	struct map_session_data* sd[MAX_PARTY];
 	struct map_session_data* sd[MAX_PARTY];
 	unsigned int i, c;
 	unsigned int i, c;
-
+#if RRMODE
+	int src_lvl = status_get_lv(src);
+#endif
 	nullpo_ret(p);
 	nullpo_ret(p);
 
 
 	// count the number of players eligible for exp sharing
 	// count the number of players eligible for exp sharing
@@ -945,8 +996,10 @@ int party_exp_share(struct party_data* p, struct block_list* src, unsigned int b
 			zeny = (unsigned int) cap_value(zeny * bonus/100, INT_MIN, INT_MAX);
 			zeny = (unsigned int) cap_value(zeny * bonus/100, INT_MIN, INT_MAX);
 	}
 	}
 
 
-	for (i = 0; i < c; i++)
-	{
+	for (i = 0; i < c; i++) {
+#if RRMODE
+		party_renewal_exp_mod(&base_exp,&job_exp,sd[i]->status.base_level,src_lvl);
+#endif
 		pc_gainexp(sd[i], src, base_exp, job_exp, false);
 		pc_gainexp(sd[i], src, base_exp, job_exp, false);
 		if (zeny) // zeny from mobs [Valaris]
 		if (zeny) // zeny from mobs [Valaris]
 			pc_getzeny(sd[i],zeny);
 			pc_getzeny(sd[i],zeny);

+ 5 - 0
src/map/party.h

@@ -92,4 +92,9 @@ void party_booking_update(struct map_session_data *sd, short* job);
 void party_booking_search(struct map_session_data *sd, short level, short mapid, short job, unsigned long lastindex, short resultcount);
 void party_booking_search(struct map_session_data *sd, short level, short mapid, short job, unsigned long lastindex, short resultcount);
 bool party_booking_delete(struct map_session_data *sd);
 bool party_booking_delete(struct map_session_data *sd);
 
 
+#if RRMODE
+void party_renewal_exp_mod(unsigned int *base_exp, unsigned int *job_exp, int lvl, int moblvl);
+int party_renewal_drop_mod(int diff);
+#endif
+
 #endif /* _PARTY_H_ */
 #endif /* _PARTY_H_ */

+ 205 - 23
src/map/pc.c

@@ -395,7 +395,7 @@ int pc_makesavestatus(struct map_session_data *sd)
 
 
   	//Only copy the Cart/Peco/Falcon options, the rest are handled via 
   	//Only copy the Cart/Peco/Falcon options, the rest are handled via 
 	//status change load/saving. [Skotlex]
 	//status change load/saving. [Skotlex]
-	sd->status.option = sd->sc.option&(OPTION_CART|OPTION_FALCON|OPTION_RIDING);
+	sd->status.option = sd->sc.option&(OPTION_CART|OPTION_FALCON|OPTION_RIDING|OPTION_DRAGON|OPTION_WUGRIDER|OPTION_WUG|OPTION_MADOGEAR|OPTION_MOUNTING);
 		
 		
 	if (sd->sc.data[SC_JAILED])
 	if (sd->sc.data[SC_JAILED])
 	{	//When Jailed, do not move last point.
 	{	//When Jailed, do not move last point.
@@ -765,10 +765,14 @@ int pc_isequip(struct map_session_data *sd,int n)
 	//Not equipable by class. [Skotlex]
 	//Not equipable by class. [Skotlex]
 	if (!(1<<(sd->class_&MAPID_BASEMASK)&item->class_base[(sd->class_&JOBL_2_1)?1:((sd->class_&JOBL_2_2)?2:0)]))
 	if (!(1<<(sd->class_&MAPID_BASEMASK)&item->class_base[(sd->class_&JOBL_2_1)?1:((sd->class_&JOBL_2_2)?2:0)]))
 		return 0;
 		return 0;
-	
-	//Not equipable by upper class. [Skotlex]
-	if(!(1<<((sd->class_&JOBL_UPPER)?1:((sd->class_&JOBL_BABY)?2:0))&item->class_upper))
+	//Not usable by upper class. [Inkfish]
+	while( 1 ) {
+		if( item->class_upper&1 && !(sd->class_&(JOBL_UPPER|JOBL_THIRD|JOBL_BABY)) ) break;
+		if( item->class_upper&2 && sd->class_&(JOBL_UPPER|JOBL_THIRD) ) break;
+		if( item->class_upper&4 && sd->class_&JOBL_BABY ) break;
+		if( item->class_upper&8 && sd->class_&JOBL_THIRD ) break;
 		return 0;
 		return 0;
+	}
 
 
 	return 1;
 	return 1;
 }
 }
@@ -825,7 +829,17 @@ bool pc_authok(struct map_session_data *sd, int login_id2, time_t expiration_tim
 	sd->invincible_timer = INVALID_TIMER;
 	sd->invincible_timer = INVALID_TIMER;
 	sd->npc_timer_id = INVALID_TIMER;
 	sd->npc_timer_id = INVALID_TIMER;
 	sd->pvp_timer = INVALID_TIMER;
 	sd->pvp_timer = INVALID_TIMER;
-	
+	/**
+	 * For the Secure NPC Timeout option (check RRConfig/Secure.h) [RR]
+	 **/
+#if SECURE_NPCTIMEOUT
+	/**
+	 * Initialize to defaults/expected
+	 **/
+	sd->npc_idle_timer = INVALID_TIMER;
+	sd->npc_idle_tick = tick;
+#endif
+
 	sd->canuseitem_tick = tick;
 	sd->canuseitem_tick = tick;
 	sd->canusecashfood_tick = tick;
 	sd->canusecashfood_tick = tick;
 	sd->canequip_tick = tick;
 	sd->canequip_tick = tick;
@@ -915,7 +929,7 @@ bool pc_authok(struct map_session_data *sd, int login_id2, time_t expiration_tim
 
 
 	if (battle_config.display_version == 1){
 	if (battle_config.display_version == 1){
 		char buf[256];
 		char buf[256];
-		sprintf(buf, "eAthena SVN version: %s", get_svn_revision());
+		sprintf(buf, "SVN version: %s", get_svn_revision());
 		clif_displaymessage(sd->fd, buf);
 		clif_displaymessage(sd->fd, buf);
 	}
 	}
 
 
@@ -3379,7 +3393,15 @@ int pc_additem(struct map_session_data *sd,struct item *item_data,int amount)
 	w = data->weight*amount;
 	w = data->weight*amount;
 	if(sd->weight + w > sd->max_weight)
 	if(sd->weight + w > sd->max_weight)
 		return 2;
 		return 2;
-
+	if( itemdb_is_rune(item_data->nameid) ) {
+		int rune = pc_search_inventory(sd,item_data->nameid);
+		if( ( rune >= 0 && sd->status.inventory[rune].amount + amount > MAX_RUNE ) ||
+			( rune == -1 && amount > MAX_RUNE )
+				) {
+			clif_msgtable(sd->fd,0x61b);
+			return 1;
+		}
+	}
 	i = MAX_INVENTORY;
 	i = MAX_INVENTORY;
 
 
 	if( itemdb_isstackable2(data) && item_data->expire_time == 0 )
 	if( itemdb_isstackable2(data) && item_data->expire_time == 0 )
@@ -3662,6 +3684,17 @@ int pc_isUseitem(struct map_session_data *sd,int n)
 	if( nameid >= 12153 && nameid <= 12182 && sd->md != NULL )
 	if( nameid >= 12153 && nameid <= 12182 && sd->md != NULL )
 		return 0; // Mercenary Scrolls
 		return 0; // Mercenary Scrolls
 
 
+	/**
+	 * Only Rune Knights may use runes
+	 **/
+	if( itemdb_is_rune(nameid) && (sd->class_&MAPID_THIRDMASK) != MAPID_RUNE_KNIGHT )
+		return 0;
+	/**
+	 * Only GCross may use poisons
+	 **/
+	else if( itemdb_is_poison(nameid) && (sd->class_&MAPID_THIRDMASK) != MAPID_GUILLOTINE_CROSS )
+		return 0;
+
 	//added item_noequip.txt items check by Maya&[Lupus]
 	//added item_noequip.txt items check by Maya&[Lupus]
 	if (
 	if (
 		(!map_flag_vs(sd->bl.m) && item->flag.no_equip&1) || // Normal
 		(!map_flag_vs(sd->bl.m) && item->flag.no_equip&1) || // Normal
@@ -3685,13 +3718,14 @@ int pc_isUseitem(struct map_session_data *sd,int n)
 		(item->class_base[sd->class_&JOBL_2_1?1:(sd->class_&JOBL_2_2?2:0)])
 		(item->class_base[sd->class_&JOBL_2_1?1:(sd->class_&JOBL_2_2?2:0)])
 	))
 	))
 		return 0;
 		return 0;
-	
-	//Not usable by upper class. [Skotlex]
-	if(!(
-		(1<<(sd->class_&JOBL_UPPER?1:(sd->class_&JOBL_BABY?2:0))) &
-		item->class_upper
-	))
+	//Not usable by upper class. [Inkfish]
+	while( 1 ) {
+		if( item->class_upper&1 && !(sd->class_&(JOBL_UPPER|JOBL_THIRD|JOBL_BABY)) ) break;
+		if( item->class_upper&2 && sd->class_&(JOBL_UPPER|JOBL_THIRD) ) break;
+		if( item->class_upper&4 && sd->class_&JOBL_BABY ) break;
+		if( item->class_upper&8 && sd->class_&JOBL_THIRD ) break;
 		return 0;
 		return 0;
+	}
 
 
 	//Dead Branch & Bloody Branch & Porings Box
 	//Dead Branch & Bloody Branch & Porings Box
 	if((log_config.branch > 0) && (nameid == 604 || nameid == 12103 || nameid == 12109))
 	if((log_config.branch > 0) && (nameid == 604 || nameid == 12103 || nameid == 12109))
@@ -4534,6 +4568,36 @@ int pc_jobid2mapid(unsigned short b_class)
 		case JOB_BABY_MONK:         return MAPID_BABY_MONK;
 		case JOB_BABY_MONK:         return MAPID_BABY_MONK;
 		case JOB_BABY_ALCHEMIST:    return MAPID_BABY_ALCHEMIST;
 		case JOB_BABY_ALCHEMIST:    return MAPID_BABY_ALCHEMIST;
 		case JOB_BABY_ROGUE:        return MAPID_BABY_ROGUE;
 		case JOB_BABY_ROGUE:        return MAPID_BABY_ROGUE;
+	//3.1 non-trans
+		case JOB_RUNE_KNIGHT:		return MAPID_RUNE_KNIGHT;
+		case JOB_WARLOCK:			return MAPID_WARLOCK;
+		case JOB_RANGER:			return MAPID_RANGER;
+		case JOB_ARCH_BISHOP:       return MAPID_ARCH_BISHOP;
+		case JOB_MECHANIC:			return MAPID_MECHANIC;
+		case JOB_GUILLOTINE_CROSS:	return MAPID_GUILLOTINE_CROSS;
+	//3.1 trans
+		case JOB_RUNE_KNIGHT_T:		return MAPID_RUNE_KNIGHT_T;
+		case JOB_WARLOCK_T:			return MAPID_WARLOCK_T;
+		case JOB_RANGER_T:			return MAPID_RANGER_T;
+		case JOB_ARCH_BISHOP_T:		return MAPID_ARCH_BISHOP_T;
+		case JOB_MECHANIC_T:		return MAPID_MECHANIC_T;
+		case JOB_GUILLOTINE_CROSS_T:return MAPID_GUILLOTINE_CROSS_T;
+	//3.2 non-trans
+		case JOB_ROYAL_GUARD:		return MAPID_ROYAL_GUARD;
+		case JOB_SORCERER:			return MAPID_SORCERER;
+		case JOB_MINSTREL:			return MAPID_MINSTRELWANDERER;
+		case JOB_WANDERER:			return MAPID_MINSTRELWANDERER;
+		case JOB_SURA:				return MAPID_SURA;
+		case JOB_GENETIC:			return MAPID_GENETIC;
+		case JOB_SHADOW_CHASER:		return MAPID_SHADOW_CHASER;
+	//3.2 trans
+		case JOB_ROYAL_GUARD_T:		return MAPID_ROYAL_GUARD_T;
+		case JOB_SORCERER_T:		return MAPID_SORCERER_T;
+		case JOB_MINSTREL_T:		return MAPID_MINSTRELWANDERER_T;
+		case JOB_WANDERER_T:		return MAPID_MINSTRELWANDERER_T;
+		case JOB_SURA_T:			return MAPID_SURA_T;
+		case JOB_GENETIC_T:			return MAPID_GENETIC_T;
+		case JOB_SHADOW_CHASER_T:	return MAPID_SHADOW_CHASER_T;
 		default:
 		default:
 			return -1;
 			return -1;
 	}
 	}
@@ -4620,6 +4684,34 @@ int pc_mapid2jobid(unsigned short class_, int sex)
 		case MAPID_BABY_MONK:       return JOB_BABY_MONK;
 		case MAPID_BABY_MONK:       return JOB_BABY_MONK;
 		case MAPID_BABY_ALCHEMIST:  return JOB_BABY_ALCHEMIST;
 		case MAPID_BABY_ALCHEMIST:  return JOB_BABY_ALCHEMIST;
 		case MAPID_BABY_ROGUE:      return JOB_BABY_ROGUE;
 		case MAPID_BABY_ROGUE:      return JOB_BABY_ROGUE;
+	//3.1 non-trans
+		case MAPID_RUNE_KNIGHT:		return JOB_RUNE_KNIGHT;
+		case MAPID_WARLOCK:			return JOB_WARLOCK;
+		case MAPID_RANGER:			return JOB_RANGER;
+		case MAPID_ARCH_BISHOP:     return JOB_ARCH_BISHOP;
+		case MAPID_MECHANIC:		return JOB_MECHANIC;
+		case MAPID_GUILLOTINE_CROSS:return JOB_GUILLOTINE_CROSS;
+	//3.1 trans
+		case MAPID_RUNE_KNIGHT_T:	return JOB_RUNE_KNIGHT_T;
+		case MAPID_WARLOCK_T:		return JOB_WARLOCK_T;
+		case MAPID_RANGER_T:		return JOB_RANGER_T;
+		case MAPID_ARCH_BISHOP_T:   return JOB_ARCH_BISHOP_T;
+		case MAPID_MECHANIC_T:		return JOB_MECHANIC_T;
+		case MAPID_GUILLOTINE_CROSS_T:return JOB_GUILLOTINE_CROSS_T;
+	//3.2 non-trans
+		case MAPID_ROYAL_GUARD:		return JOB_ROYAL_GUARD;
+		case MAPID_SORCERER:		return JOB_SORCERER;
+		case MAPID_MINSTRELWANDERER:return sex?JOB_MINSTREL:JOB_WANDERER;
+		case MAPID_SURA:			return JOB_SURA;
+		case MAPID_GENETIC:			return JOB_GENETIC;
+		case MAPID_SHADOW_CHASER:	return JOB_SHADOW_CHASER;
+	//3.2 trans
+		case MAPID_ROYAL_GUARD_T:	return JOB_ROYAL_GUARD_T;
+		case MAPID_SORCERER_T:		return JOB_SORCERER_T;
+		case MAPID_MINSTRELWANDERER_T:return sex?JOB_MINSTREL_T:JOB_WANDERER_T;
+		case MAPID_SURA_T:			return JOB_SURA_T;
+		case MAPID_GENETIC_T:			return JOB_GENETIC_T;
+		case MAPID_SHADOW_CHASER_T:	return JOB_SHADOW_CHASER_T;
 		default:
 		default:
 			return -1;
 			return -1;
 	}
 	}
@@ -4898,7 +4990,7 @@ int pc_checkjoblevelup(struct map_session_data *sd)
 	status_calc_pc(sd,0);
 	status_calc_pc(sd,0);
 	clif_misceffect(&sd->bl,1);
 	clif_misceffect(&sd->bl,1);
 	if (pc_checkskill(sd, SG_DEVIL) && !pc_nextjobexp(sd))
 	if (pc_checkskill(sd, SG_DEVIL) && !pc_nextjobexp(sd))
-		clif_status_change(&sd->bl,SI_DEVIL, 1, 0); //Permanent blind effect from SG_DEVIL.
+		clif_status_change(&sd->bl,SI_DEVIL, 1, 0, 0, 0, 1); //Permanent blind effect from SG_DEVIL.
 
 
 	npc_script_event(sd, NPCE_JOBLVUP);
 	npc_script_event(sd, NPCE_JOBLVUP);
 	return 1;
 	return 1;
@@ -5131,7 +5223,11 @@ int pc_need_status_point(struct map_session_data* sd, int type, int val)
 		swap(low, high);
 		swap(low, high);
 
 
 	for ( ; low < high; low++ )
 	for ( ; low < high; low++ )
+#if RRMODE //Renewal Stat Cost Formula
+		sp += (low < 100) ? (2 + (low - 1) / 10) : (16 + 4 * ((low - 100) / 5));
+#else
 		sp += ( 1 + (low + 9) / 10 );
 		sp += ( 1 + (low + 9) / 10 );
+#endif
 	
 	
 	return sp;
 	return sp;
 }
 }
@@ -5480,7 +5576,16 @@ int pc_resetskill(struct map_session_data* sd, int flag)
 			i &= ~OPTION_CART;
 			i &= ~OPTION_CART;
 		if( i&OPTION_FALCON && pc_checkskill(sd, HT_FALCON) )
 		if( i&OPTION_FALCON && pc_checkskill(sd, HT_FALCON) )
 			i &= ~OPTION_FALCON;
 			i &= ~OPTION_FALCON;
-
+		if( i&OPTION_DRAGON && pc_checkskill(sd, RK_DRAGONTRAINING) )
+			i &= ~OPTION_DRAGON;
+		if( i&OPTION_WUG && pc_checkskill(sd, RA_WUGMASTERY) )
+			i &= ~OPTION_WUG;
+		if( i&OPTION_WUGRIDER && pc_checkskill(sd, RA_WUGRIDER) )
+			i &= ~OPTION_WUGRIDER;
+		if( i&OPTION_MADOGEAR && ( sd->class_&MAPID_THIRDMASK ) == MAPID_MECHANIC )
+			i &= ~OPTION_MADOGEAR;
+		if( i&OPTION_MOUNTING )
+			i &= ~OPTION_MOUNTING;
 		if( i != sd->sc.option )
 		if( i != sd->sc.option )
 			pc_setoption(sd, i);
 			pc_setoption(sd, i);
 
 
@@ -6400,7 +6505,14 @@ int pc_jobchange(struct map_session_data *sd,int job, int upper)
 		i&=~OPTION_CART;
 		i&=~OPTION_CART;
 	if(i&OPTION_FALCON && !pc_checkskill(sd, HT_FALCON))
 	if(i&OPTION_FALCON && !pc_checkskill(sd, HT_FALCON))
 		i&=~OPTION_FALCON;
 		i&=~OPTION_FALCON;
-
+	if( i&OPTION_DRAGON && !pc_checkskill(sd,RK_DRAGONTRAINING) )
+		i&=~OPTION_DRAGON;
+	if( i&OPTION_WUGRIDER && !pc_checkskill(sd,RA_WUGMASTERY) )
+		i&=~OPTION_WUGRIDER;
+	if( i&OPTION_WUG && !pc_checkskill(sd,RA_WUGMASTERY) )
+		i&=~OPTION_WUG;
+	if( i&OPTION_MADOGEAR ) //You do not need a skill for this.
+		i&=~OPTION_MADOGEAR;
 	if(i != sd->sc.option)
 	if(i != sd->sc.option)
 		pc_setoption(sd, i);
 		pc_setoption(sd, i);
 
 
@@ -6528,15 +6640,15 @@ int pc_setoption(struct map_session_data *sd,int type)
 	sd->sc.option=type;
 	sd->sc.option=type;
 	clif_changeoption(&sd->bl);
 	clif_changeoption(&sd->bl);
 
 
-	if (type&OPTION_RIDING && !(p_type&OPTION_RIDING) && (sd->class_&MAPID_BASEMASK) == MAPID_SWORDMAN)
-	{	//We are going to mount. [Skotlex]
+	if( (type&OPTION_RIDING && !(p_type&OPTION_RIDING)) || (type&OPTION_DRAGON && !(p_type&OPTION_DRAGON) && pc_checkskill(sd,RK_DRAGONTRAINING) > 0) )
+	{ // Mounting
 		clif_status_load(&sd->bl,SI_RIDING,1);
 		clif_status_load(&sd->bl,SI_RIDING,1);
-		status_calc_pc(sd,0); //Mounting/Umounting affects walk and attack speeds.
+		status_calc_pc(sd,0);
 	}
 	}
-	else if (!(type&OPTION_RIDING) && p_type&OPTION_RIDING && (sd->class_&MAPID_BASEMASK) == MAPID_SWORDMAN)
-	{	//We are going to dismount.
+	else if( (!(type&OPTION_RIDING) && p_type&OPTION_RIDING) || (!(type&OPTION_DRAGON) && p_type&OPTION_DRAGON && pc_checkskill(sd,RK_DRAGONTRAINING) > 0) )
+	{ // Dismount
 		clif_status_load(&sd->bl,SI_RIDING,0);
 		clif_status_load(&sd->bl,SI_RIDING,0);
-		status_calc_pc(sd,0); //Mounting/Umounting affects walk and attack speeds.
+		status_calc_pc(sd,0);
 	}
 	}
 
 
 	if(type&OPTION_CART && !(p_type&OPTION_CART))
 	if(type&OPTION_CART && !(p_type&OPTION_CART))
@@ -6553,11 +6665,49 @@ int pc_setoption(struct map_session_data *sd,int type)
 			status_calc_pc(sd,0); //Remove speed penalty.
 			status_calc_pc(sd,0); //Remove speed penalty.
 	}
 	}
 
 
+	if (type&OPTION_MOUNTING && !(p_type&OPTION_MOUNTING)) {
+		clif_status_load_notick(&sd->bl,SI_ALL_RIDING,2,1,0,0);
+		status_calc_pc(sd,0); 
+	} else if (!(type&OPTION_MOUNTING) && p_type&OPTION_MOUNTING) {
+		clif_status_load_notick(&sd->bl,SI_ALL_RIDING,0,0,0,0);
+		status_calc_pc(sd,0);
+	}
+
+
 	if (type&OPTION_FALCON && !(p_type&OPTION_FALCON)) //Falcon ON
 	if (type&OPTION_FALCON && !(p_type&OPTION_FALCON)) //Falcon ON
 		clif_status_load(&sd->bl,SI_FALCON,1);
 		clif_status_load(&sd->bl,SI_FALCON,1);
 	else if (!(type&OPTION_FALCON) && p_type&OPTION_FALCON) //Falcon OFF
 	else if (!(type&OPTION_FALCON) && p_type&OPTION_FALCON) //Falcon OFF
 		clif_status_load(&sd->bl,SI_FALCON,0);
 		clif_status_load(&sd->bl,SI_FALCON,0);
 
 
+	if( (sd->class_&MAPID_THIRDMASK) == MAPID_RANGER ) {
+		if( type&OPTION_WUGRIDER && !(p_type&OPTION_WUGRIDER) ) { // Mounting
+			clif_status_load(&sd->bl,SI_WUGRIDER,1);
+			status_calc_pc(sd,0);
+		} else if( !(type&OPTION_WUGRIDER) && p_type&OPTION_WUGRIDER ) { // Dismount
+			clif_status_load(&sd->bl,SI_WUGRIDER,0);
+			status_calc_pc(sd,0);
+		}
+	}
+	if( (sd->class_&MAPID_THIRDMASK) == MAPID_MECHANIC ) {
+		if( type&OPTION_MADOGEAR && !(p_type&OPTION_MADOGEAR) ) {
+			status_calc_pc(sd, 0);
+			status_change_end(&sd->bl,SC_MAXIMIZEPOWER,-1);
+			status_change_end(&sd->bl,SC_OVERTHRUST,-1);
+			status_change_end(&sd->bl,SC_WEAPONPERFECTION,-1);
+			status_change_end(&sd->bl,SC_ADRENALINE,-1);
+			status_change_end(&sd->bl,SC_CARTBOOST,-1);
+			status_change_end(&sd->bl,SC_MELTDOWN,-1);
+			status_change_end(&sd->bl,SC_MAXOVERTHRUST,-1);
+		} else if( !(type&OPTION_MADOGEAR) && p_type&OPTION_MADOGEAR ) {
+			status_calc_pc(sd, 0);
+			status_change_end(&sd->bl,SC_SHAPESHIFT,-1);
+			status_change_end(&sd->bl,SC_HOVERING,-1);
+			status_change_end(&sd->bl,SC_ACCELERATION,-1);
+			status_change_end(&sd->bl,SC_OVERHEAT_LIMITPOINT,-1);
+			status_change_end(&sd->bl,SC_OVERHEAT,-1);
+		}
+	}
+
 	if (type&OPTION_FLYING && !(p_type&OPTION_FLYING))
 	if (type&OPTION_FLYING && !(p_type&OPTION_FLYING))
 		new_look = JOB_STAR_GLADIATOR2;
 		new_look = JOB_STAR_GLADIATOR2;
 	else if (!(type&OPTION_FLYING) && p_type&OPTION_FLYING)
 	else if (!(type&OPTION_FLYING) && p_type&OPTION_FLYING)
@@ -6644,7 +6794,7 @@ int pc_setriding(TBL_PC* sd, int flag)
 		if( pc_checkskill(sd,KN_RIDING) > 0 ) // ライディングスキル所持
 		if( pc_checkskill(sd,KN_RIDING) > 0 ) // ライディングスキル所持
 			pc_setoption(sd, sd->sc.option|OPTION_RIDING);
 			pc_setoption(sd, sd->sc.option|OPTION_RIDING);
 	} else if( pc_isriding(sd) ){
 	} else if( pc_isriding(sd) ){
-		pc_setoption(sd, sd->sc.option&~OPTION_RIDING);
+			pc_setoption(sd, sd->sc.option&~OPTION_RIDING);
 	}
 	}
 
 
 	return 0;
 	return 0;
@@ -7801,6 +7951,30 @@ void pc_setstand(struct map_session_data *sd){
 	sd->state.dead_sit = sd->vd.dead_sit = 0;
 	sd->state.dead_sit = sd->vd.dead_sit = 0;
 }
 }
 
 
+/**
+ * Mechanic (MADO GEAR)
+ **/
+void pc_overheat(struct map_session_data *sd, int val) {
+	int heat = val, skill,
+		limit[] = { 10, 20, 28, 46, 66 };
+
+	if( !(sd->sc.option&OPTION_MADOGEAR) || sd->sc.data[SC_OVERHEAT] )
+		return; // already burning
+
+	skill = cap_value(pc_checkskill(sd,NC_MAINFRAME),0,4);
+	if( sd->sc.data[SC_OVERHEAT_LIMITPOINT] ) {
+		heat += sd->sc.data[SC_OVERHEAT_LIMITPOINT]->val1;
+		status_change_end(&sd->bl,SC_OVERHEAT_LIMITPOINT,-1);
+	}
+
+	heat = max(0,heat); // Avoid negative HEAT
+	if( heat >= limit[skill] )
+		sc_start(&sd->bl,SC_OVERHEAT,100,0,1000);
+	else
+		sc_start(&sd->bl,SC_OVERHEAT_LIMITPOINT,100,heat,30000);
+
+	return;
+}
 int pc_split_str(char *str,char **val,int num)
 int pc_split_str(char *str,char **val,int num)
 {
 {
 	int i;
 	int i;
@@ -8060,7 +8234,11 @@ int pc_readdb(void)
 	// スキルツリ?
 	// スキルツリ?
 	memset(statp,0,sizeof(statp));
 	memset(statp,0,sizeof(statp));
 	i=1;
 	i=1;
+#if RRMODE
+	sprintf(line, "%s/statpoint_renewal.txt", db_path);
+#else
 	sprintf(line, "%s/statpoint.txt", db_path);
 	sprintf(line, "%s/statpoint.txt", db_path);
+#endif
 	fp=fopen(line,"r");
 	fp=fopen(line,"r");
 	if(fp == NULL){
 	if(fp == NULL){
 		ShowWarning("Can't read '"CL_WHITE"%s"CL_RESET"'... Generating DB.\n",line);
 		ShowWarning("Can't read '"CL_WHITE"%s"CL_RESET"'... Generating DB.\n",line);
@@ -8079,7 +8257,11 @@ int pc_readdb(void)
 			i++;
 			i++;
 		}
 		}
 		fclose(fp);
 		fclose(fp);
+	#if RRMODE
+		ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","statpoint_renewal.txt");
+	#else
 		ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","statpoint.txt");
 		ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","statpoint.txt");
+	#endif
 	}
 	}
 	// generate the remaining parts of the db if necessary
 	// generate the remaining parts of the db if necessary
 	k = battle_config.use_statpoint_table; //save setting
 	k = battle_config.use_statpoint_table; //save setting

+ 43 - 4
src/map/pc.h

@@ -21,6 +21,9 @@
 #define MAX_PC_SKILL_REQUIRE 5
 #define MAX_PC_SKILL_REQUIRE 5
 #define MAX_PC_FEELHATE 3
 #define MAX_PC_FEELHATE 3
 
 
+//For Warlock
+#define MAX_SPELLBOOK 10
+
 struct weapon_data {
 struct weapon_data {
 	int atkmods[3];
 	int atkmods[3];
 	// all the variables except atkmods get zero'ed in each call of status_calc_pc
 	// all the variables except atkmods get zero'ed in each call of status_calc_pc
@@ -405,6 +408,13 @@ struct map_session_data {
 		bool changed; // if true, should sync with charserver on next mailbox request
 		bool changed; // if true, should sync with charserver on next mailbox request
 	} mail;
 	} mail;
 
 
+	// Reading SpellBook
+	struct {
+		unsigned short skillid;
+		unsigned char level;
+		unsigned char points;
+	} rsb[MAX_SPELLBOOK];
+
 	//Quest log system [Kevin] [Inkfish]
 	//Quest log system [Kevin] [Inkfish]
 	int num_quests;
 	int num_quests;
 	int avail_quests;
 	int avail_quests;
@@ -420,13 +430,33 @@ struct map_session_data {
 	unsigned int bg_id;
 	unsigned int bg_id;
 	unsigned short user_font;
 	unsigned short user_font;
 
 
+	/**
+	 * For the Secure NPC Timeout option (check RRConfig/Secure.h) [RR]
+	 **/
+#if SECURE_NPCTIMEOUT
+	/**
+	 * ID of the timer
+	 * @info
+	 * - value is -1 (INVALID_TIMER constant) when not being used
+	 * - timer is cancelled upon closure of the current npc's instance
+	 **/
+	int npc_idle_timer;
+	/**
+	 * Tick on the last recorded NPC iteration (next/menu/whatever)
+	 * @info
+	 * - It is updated on every NPC iteration as mentioned above
+	 **/
+	unsigned int npc_idle_tick;
+#endif
+
 	// temporary debugging of bug #3504
 	// temporary debugging of bug #3504
 	const char* delunit_prevfile;
 	const char* delunit_prevfile;
 	int delunit_prevline;
 	int delunit_prevline;
 };
 };
 
 
 //Update this max as necessary. 55 is the value needed for Super Baby currently
 //Update this max as necessary. 55 is the value needed for Super Baby currently
-#define MAX_SKILL_TREE 55
+//Raised to 75 due to 3rds
+#define MAX_SKILL_TREE 75
 //Total number of classes (for data storage)
 //Total number of classes (for data storage)
 #define CLASS_COUNT (JOB_MAX - JOB_NOVICE_HIGH + JOB_MAX_BASIC)
 #define CLASS_COUNT (JOB_MAX - JOB_NOVICE_HIGH + JOB_MAX_BASIC)
 
 
@@ -538,7 +568,12 @@ enum equip_index {
 #define pc_isinvisible(sd)    ( (sd)->sc.option&OPTION_INVISIBLE )
 #define pc_isinvisible(sd)    ( (sd)->sc.option&OPTION_INVISIBLE )
 #define pc_is50overweight(sd) ( (sd)->weight*100 >= (sd)->max_weight*battle_config.natural_heal_weight_rate )
 #define pc_is50overweight(sd) ( (sd)->weight*100 >= (sd)->max_weight*battle_config.natural_heal_weight_rate )
 #define pc_is90overweight(sd) ( (sd)->weight*10 >= (sd)->max_weight*9 )
 #define pc_is90overweight(sd) ( (sd)->weight*10 >= (sd)->max_weight*9 )
-#define pc_maxparameter(sd)   ( (sd)->class_&JOBL_BABY ? battle_config.max_baby_parameter : battle_config.max_parameter )
+#define pc_maxparameter(sd)   ( (sd)->class_&JOBL_THIRD ? battle_config.max_third_parameter : (sd)->class_&JOBL_BABY ? battle_config.max_baby_parameter : battle_config.max_parameter )
+/** 
+ * Ranger
+ **/
+#define pc_iswug(sd)       ( (sd)->sc.option&OPTION_WUG )
+#define pc_isridingwug(sd) ( (sd)->sc.option&OPTION_WUGRIDER )
 
 
 #define pc_stop_walking(sd, type) unit_stop_walking(&(sd)->bl, type)
 #define pc_stop_walking(sd, type) unit_stop_walking(&(sd)->bl, type)
 #define pc_stop_attack(sd) unit_stop_attack(&(sd)->bl)
 #define pc_stop_attack(sd) unit_stop_attack(&(sd)->bl)
@@ -550,7 +585,8 @@ enum equip_index {
 #define pcdb_checkid(class_) \
 #define pcdb_checkid(class_) \
 ( \
 ( \
 	( (class_) >= JOB_NOVICE      && (class_) <  JOB_MAX_BASIC   ) \
 	( (class_) >= JOB_NOVICE      && (class_) <  JOB_MAX_BASIC   ) \
-||	( (class_) >= JOB_NOVICE_HIGH && (class_) <  JOB_MAX         ) \
+||	( (class_) >= JOB_NOVICE_HIGH && (class_) <= JOB_SOUL_LINKER ) \
+||	( (class_) >= JOB_RUNE_KNIGHT && (class_) <  JOB_MAX         ) \
 )
 )
 
 
 int pc_class2idx(int class_);
 int pc_class2idx(int class_);
@@ -785,5 +821,8 @@ void pc_inventory_rental_add(struct map_session_data *sd, int seconds);
 
 
 int pc_read_motd(void); // [Valaris]
 int pc_read_motd(void); // [Valaris]
 int pc_disguise(struct map_session_data *sd, int class_);
 int pc_disguise(struct map_session_data *sd, int class_);
-
+/**
+ * Mechanic (Mado Gear)
+ **/
+void pc_overheat(struct map_session_data *sd, int val);
 #endif /* _PC_H_ */
 #endif /* _PC_H_ */

+ 173 - 9
src/map/script.c

@@ -325,7 +325,10 @@ enum {
 	MF_FOG,
 	MF_FOG,
 	MF_SAKURA,
 	MF_SAKURA,
 	MF_LEAVES,
 	MF_LEAVES,
-	MF_RAIN,	//20
+	/**
+	 * No longer available, keeping here just in case it's back someday. [Ind]
+	 **/		
+	//MF_RAIN,	//20
 	// 21 free
 	// 21 free
 	MF_NOGO = 22,
 	MF_NOGO = 22,
 	MF_CLOUDS,
 	MF_CLOUDS,
@@ -3365,7 +3368,18 @@ static void script_detach_state(struct script_state* st, bool dequeue_event)
 	{
 	{
 		sd->st = st->bk_st;
 		sd->st = st->bk_st;
 		sd->npc_id = st->bk_npcid;
 		sd->npc_id = st->bk_npcid;
-
+		/**
+		 * For the Secure NPC Timeout option (check RRConfig/Secure.h) [RR]
+		 **/
+	#if SECURE_NPCTIMEOUT
+		/**
+		 * We're done with this NPC session, so we cancel the timer (if existent) and move on
+		 **/
+		if( sd->npc_idle_timer != INVALID_TIMER ) {
+			delete_timer(sd->npc_idle_timer,npc_rr_secure_timeout_timer);
+			sd->npc_idle_timer = INVALID_TIMER;
+		}
+	#endif
 		if(st->bk_st)
 		if(st->bk_st)
 		{
 		{
 			//Remove tag for removal.
 			//Remove tag for removal.
@@ -3407,6 +3421,14 @@ static void script_attach_state(struct script_state* st)
 		}
 		}
 		sd->st = st;
 		sd->st = st;
 		sd->npc_id = st->oid;
 		sd->npc_id = st->oid;
+/**
+ * For the Secure NPC Timeout option (check RRConfig/Secure.h) [RR]
+ **/
+#if SECURE_NPCTIMEOUT
+		if( sd->npc_idle_timer == INVALID_TIMER )
+			sd->npc_idle_timer = add_timer(gettick() + (SECURE_NPCTIMEOUT_INTERVAL*1000),npc_rr_secure_timeout_timer,sd->bl.id,0);
+		sd->npc_idle_tick = gettick();
+#endif
 	}
 	}
 }
 }
 
 
@@ -7549,7 +7571,7 @@ BUILDIN_FUNC(checkriding)
 	if( sd == NULL )
 	if( sd == NULL )
 		return 0;// no player attached, report source
 		return 0;// no player attached, report source
 
 
-	if( pc_isriding(sd) )
+	if( pc_isriding(sd) || sd->sc.option&OPTION_MOUNTING )
 		script_pushint(st, 1);
 		script_pushint(st, 1);
 	else
 	else
 		script_pushint(st, 0);
 		script_pushint(st, 0);
@@ -7771,7 +7793,7 @@ BUILDIN_FUNC(produce)
 		return 0;
 		return 0;
 
 
 	trigger=script_getnum(st,2);
 	trigger=script_getnum(st,2);
-	clif_skill_produce_mix_list(sd, trigger);
+	clif_skill_produce_mix_list(sd, -1, trigger);
 	return 0;
 	return 0;
 }
 }
 /*==========================================
 /*==========================================
@@ -9146,7 +9168,7 @@ BUILDIN_FUNC(roclass)
 }
 }
 
 
 /*==========================================
 /*==========================================
- *Œg‘Ñ—‘›z‰»‹@Žg—p
+ * Tells client to open a hatching window, used for pet incubator
  *------------------------------------------*/
  *------------------------------------------*/
 BUILDIN_FUNC(birthpet)
 BUILDIN_FUNC(birthpet)
 {
 {
@@ -9616,7 +9638,10 @@ BUILDIN_FUNC(getmapflag)
 			case MF_FIREWORKS:			script_pushint(st,map[m].flag.fireworks); break;
 			case MF_FIREWORKS:			script_pushint(st,map[m].flag.fireworks); break;
 			case MF_SAKURA:				script_pushint(st,map[m].flag.sakura); break;
 			case MF_SAKURA:				script_pushint(st,map[m].flag.sakura); break;
 			case MF_LEAVES:				script_pushint(st,map[m].flag.leaves); break;
 			case MF_LEAVES:				script_pushint(st,map[m].flag.leaves); break;
-			case MF_RAIN:				script_pushint(st,map[m].flag.rain); break;
+			/**
+			 * No longer available, keeping here just in case it's back someday. [Ind]
+			 **/				
+			//case MF_RAIN:				script_pushint(st,map[m].flag.rain); break;
 			case MF_NIGHTENABLED:		script_pushint(st,map[m].flag.nightenabled); break;
 			case MF_NIGHTENABLED:		script_pushint(st,map[m].flag.nightenabled); break;
 			case MF_NOGO:				script_pushint(st,map[m].flag.nogo); break;
 			case MF_NOGO:				script_pushint(st,map[m].flag.nogo); break;
 			case MF_NOBASEEXP:			script_pushint(st,map[m].flag.nobaseexp); break;
 			case MF_NOBASEEXP:			script_pushint(st,map[m].flag.nobaseexp); break;
@@ -9686,7 +9711,10 @@ BUILDIN_FUNC(setmapflag)
 			case MF_FIREWORKS:			map[m].flag.fireworks=1; break;
 			case MF_FIREWORKS:			map[m].flag.fireworks=1; break;
 			case MF_SAKURA:				map[m].flag.sakura=1; break;
 			case MF_SAKURA:				map[m].flag.sakura=1; break;
 			case MF_LEAVES:				map[m].flag.leaves=1; break;
 			case MF_LEAVES:				map[m].flag.leaves=1; break;
-			case MF_RAIN:				map[m].flag.rain=1; break;
+			/**
+			 * No longer available, keeping here just in case it's back someday. [Ind]
+			 **/				
+			//case MF_RAIN:				map[m].flag.rain=1; break;
 			case MF_NIGHTENABLED:		map[m].flag.nightenabled=1; break;
 			case MF_NIGHTENABLED:		map[m].flag.nightenabled=1; break;
 			case MF_NOGO:				map[m].flag.nogo=1; break;
 			case MF_NOGO:				map[m].flag.nogo=1; break;
 			case MF_NOBASEEXP:			map[m].flag.nobaseexp=1; break;
 			case MF_NOBASEEXP:			map[m].flag.nobaseexp=1; break;
@@ -9753,7 +9781,10 @@ BUILDIN_FUNC(removemapflag)
 			case MF_FIREWORKS:			map[m].flag.fireworks=0; break;
 			case MF_FIREWORKS:			map[m].flag.fireworks=0; break;
 			case MF_SAKURA:				map[m].flag.sakura=0; break;
 			case MF_SAKURA:				map[m].flag.sakura=0; break;
 			case MF_LEAVES:				map[m].flag.leaves=0; break;
 			case MF_LEAVES:				map[m].flag.leaves=0; break;
-			case MF_RAIN:				map[m].flag.rain=0; break;
+			/**
+			 * No longer available, keeping here just in case it's back someday. [Ind]
+			 **/	
+			//case MF_RAIN:				map[m].flag.rain=0; break;
 			case MF_NIGHTENABLED:		map[m].flag.nightenabled=0; break;
 			case MF_NIGHTENABLED:		map[m].flag.nightenabled=0; break;
 			case MF_NOGO:				map[m].flag.nogo=0; break;
 			case MF_NOGO:				map[m].flag.nogo=0; break;
 			case MF_NOBASEEXP:			map[m].flag.nobaseexp=0; break;
 			case MF_NOBASEEXP:			map[m].flag.nobaseexp=0; break;
@@ -14951,8 +14982,133 @@ BUILDIN_FUNC(searchstores)
 	searchstore_open(sd, uses, effect);
 	searchstore_open(sd, uses, effect);
 	return 0;
 	return 0;
 }
 }
+/// Displays a number as large digital clock.
+/// showdigit <value>[,<type>];
+BUILDIN_FUNC(showdigit)
+{
+	unsigned int type = 0;
+	int value;
+	struct map_session_data* sd;
+
+	if( ( sd = script_rid2sd(st) ) == NULL )
+	{
+		return 0;
+	}
+
+	value = script_getnum(st,2);
+
+	if( script_hasdata(st,3) )
+	{
+		type = script_getnum(st,3);
 
 
+		if( type > 3 )
+		{
+			ShowError("buildin_showdigit: Invalid type %u.\n", type);
+			return 1;
+		}
+	}
 
 
+	clif_showdigit(sd, (unsigned char)type, value);
+	return 0;
+}
+/**
+ * Rune Knight
+ **/
+BUILDIN_FUNC(makerune) {
+	TBL_PC* sd;
+	if( (sd = script_rid2sd(st)) == NULL )
+		return 0;
+	clif_skill_produce_mix_list(sd,RK_RUNEMASTERY,24);
+	sd->itemid = script_getnum(st,2);
+	return 0;
+}
+/**
+ * checkdragon() returns 1 if mounting a dragon or 0 otherwise.
+ **/
+BUILDIN_FUNC(checkdragon) {
+	TBL_PC* sd;
+	if( (sd = script_rid2sd(st)) == NULL )
+		return 0;
+	if( sd->sc.option&OPTION_DRAGON )
+		script_pushint(st,1);
+	else
+		script_pushint(st,0);
+	return 0;
+}
+/**
+ * setdragon({optional Color}) returns 1 on success or 0 otherwise
+ * - Toggles the dragon on a RK if he can mount;
+ * @param Color - when not provided uses the green dragon;
+ * - 1 : Green Dragon
+ * - 2 : Brown Dragon
+ * - 3 : Gray Dragon
+ * - 4 : Blue Dragon
+ * - 5 : Red Dragon
+ **/
+BUILDIN_FUNC(setdragon) {
+	TBL_PC* sd;
+	int color = script_hasdata(st,2) ? script_getnum(st,2) : 0;
+	unsigned int option = OPTION_DRAGON1;
+	if( (sd = script_rid2sd(st)) == NULL )
+		return 0;
+	if( !pc_checkskill(sd,RK_DRAGONTRAINING) || (sd->class_&MAPID_THIRDMASK) != MAPID_RUNE_KNIGHT )
+		script_pushint(st,0);//Doesn't have the skill or it's not a Rune Knight
+	else if ( sd->sc.option&OPTION_DRAGON ) {//Is mounted; release
+		pc_setoption(sd, sd->sc.option&~OPTION_DRAGON);
+		script_pushint(st,1);
+	} else {//Not mounted; Mount now.
+		if( color ) {
+			option = ( color == 1 ? OPTION_DRAGON1 :
+					   color == 2 ? OPTION_DRAGON2 :
+					   color == 3 ? OPTION_DRAGON3 :
+					   color == 4 ? OPTION_DRAGON4 :
+					   color == 5 ? OPTION_DRAGON5 : 0);
+			if( !option ) {
+				ShowWarning("script_setdragon: Unknown Color %d used; changing to green (1)\n",color);
+				option = OPTION_DRAGON1;
+			}
+		}
+		pc_setoption(sd, sd->sc.option|option);
+		script_pushint(st,1);
+	}
+	return 0;
+}
+
+/**
+ * ismounting() returns 1 if mounting a new mount or 0 otherwise
+ **/
+BUILDIN_FUNC(ismounting) {
+	TBL_PC* sd;
+	if( (sd = script_rid2sd(st)) == NULL )
+		return 0;
+	if( sd->sc.option&OPTION_MOUNTING )
+		script_pushint(st,1);
+	else
+		script_pushint(st,0);
+	return 0;
+}
+
+/**
+ * setmounting() returns 1 on success or 0 otherwise
+ * - Toggles new mounts on a player when he can mount
+ * - Will fail if the player is mounting a non-new mount, e.g. dragon, peco, wug, etc.
+ * - Will unmount the player is he is already mounting
+ **/
+BUILDIN_FUNC(setmounting) {
+	TBL_PC* sd;
+	if( (sd = script_rid2sd(st)) == NULL )
+		return 0;
+	if( sd->sc.option&(OPTION_WUGRIDER|OPTION_RIDING|OPTION_DRAGON|OPTION_MADOGEAR) )
+		script_pushint(st,0);//can't mount with one of these
+	else {
+		if( sd->sc.option&OPTION_MOUNTING )
+			pc_setoption(sd, sd->sc.option&~OPTION_MOUNTING);//release mount
+		else
+			pc_setoption(sd, sd->sc.option|OPTION_MOUNTING);//mount
+		script_pushint(st,1);//in both cases, return 1.
+	}
+	return 0;
+}
 // declarations that were supposed to be exported from npc_chat.c
 // declarations that were supposed to be exported from npc_chat.c
 #ifdef PCRE_SUPPORT
 #ifdef PCRE_SUPPORT
 BUILDIN_FUNC(defpattern);
 BUILDIN_FUNC(defpattern);
@@ -15317,6 +15473,7 @@ struct script_function buildin_func[] = {
 	BUILDIN_DEF(pushpc,"ii"),
 	BUILDIN_DEF(pushpc,"ii"),
 	BUILDIN_DEF(buyingstore,"i"),
 	BUILDIN_DEF(buyingstore,"i"),
 	BUILDIN_DEF(searchstores,"ii"),
 	BUILDIN_DEF(searchstores,"ii"),
+	BUILDIN_DEF(showdigit,"i?"),
 	// WoE SE
 	// WoE SE
 	BUILDIN_DEF(agitstart2,""),
 	BUILDIN_DEF(agitstart2,""),
 	BUILDIN_DEF(agitend2,""),
 	BUILDIN_DEF(agitend2,""),
@@ -15348,7 +15505,14 @@ struct script_function buildin_func[] = {
 	BUILDIN_DEF(instance_npcname,"s?"),
 	BUILDIN_DEF(instance_npcname,"s?"),
 	BUILDIN_DEF(has_instance,"s?"),
 	BUILDIN_DEF(has_instance,"s?"),
 	BUILDIN_DEF(instance_warpall,"sii?"),
 	BUILDIN_DEF(instance_warpall,"sii?"),
-
+	/**
+	 * 3rd-related
+	 **/
+	BUILDIN_DEF(makerune,"i"),
+	BUILDIN_DEF(checkdragon,""),//[Ind]
+	BUILDIN_DEF(setdragon,"?"),//[Ind]
+	BUILDIN_DEF(ismounting,""),//[Ind]
+	BUILDIN_DEF(setmounting,""),//[Ind]
 	//Quest Log System [Inkfish]
 	//Quest Log System [Inkfish]
 	BUILDIN_DEF(setquest, "i"),
 	BUILDIN_DEF(setquest, "i"),
 	BUILDIN_DEF(erasequest, "i"),
 	BUILDIN_DEF(erasequest, "i"),

File diff suppressed because it is too large
+ 765 - 20
src/map/skill.c


+ 54 - 5
src/map/skill.h

@@ -13,7 +13,7 @@ struct skill_unit_group;
 struct status_change_entry;
 struct status_change_entry;
 
 
 #define MAX_SKILL_DB			MAX_SKILL
 #define MAX_SKILL_DB			MAX_SKILL
-#define MAX_SKILL_PRODUCE_DB	150
+#define MAX_SKILL_PRODUCE_DB	170
 #define MAX_PRODUCE_RESOURCE	12
 #define MAX_PRODUCE_RESOURCE	12
 #define MAX_SKILL_ARROW_DB		150
 #define MAX_SKILL_ARROW_DB		150
 #define MAX_ARROW_RESOURCE		5
 #define MAX_ARROW_RESOURCE		5
@@ -91,7 +91,7 @@ struct s_skill_db {
 	int range[MAX_SKILL_LEVEL],hit,inf,element[MAX_SKILL_LEVEL],nk,splash[MAX_SKILL_LEVEL],max;
 	int range[MAX_SKILL_LEVEL],hit,inf,element[MAX_SKILL_LEVEL],nk,splash[MAX_SKILL_LEVEL],max;
 	int num[MAX_SKILL_LEVEL];
 	int num[MAX_SKILL_LEVEL];
 	int cast[MAX_SKILL_LEVEL],walkdelay[MAX_SKILL_LEVEL],delay[MAX_SKILL_LEVEL];
 	int cast[MAX_SKILL_LEVEL],walkdelay[MAX_SKILL_LEVEL],delay[MAX_SKILL_LEVEL];
-	int upkeep_time[MAX_SKILL_LEVEL],upkeep_time2[MAX_SKILL_LEVEL];
+	int upkeep_time[MAX_SKILL_LEVEL],upkeep_time2[MAX_SKILL_LEVEL],cooldown[MAX_SKILL_LEVEL];
 	int castcancel,cast_def_rate;
 	int castcancel,cast_def_rate;
 	int inf2,maxcount[MAX_SKILL_LEVEL],skill_type;
 	int inf2,maxcount[MAX_SKILL_LEVEL],skill_type;
 	int blewcount[MAX_SKILL_LEVEL];
 	int blewcount[MAX_SKILL_LEVEL];
@@ -290,7 +290,7 @@ int skill_clear_group(struct block_list *bl, int flag);
 int skill_unit_ondamaged(struct skill_unit *src,struct block_list *bl,int damage,unsigned int tick);
 int skill_unit_ondamaged(struct skill_unit *src,struct block_list *bl,int damage,unsigned int tick);
 
 
 int skill_castfix( struct block_list *bl, int skill_id, int skill_lv);
 int skill_castfix( struct block_list *bl, int skill_id, int skill_lv);
-int skill_castfix_sc( struct block_list *bl, int time);
+int skill_castfix_sc( struct block_list *bl, int time, int skill_id, int skill_lv);
 int skill_delayfix( struct block_list *bl, int skill_id, int skill_lv);
 int skill_delayfix( struct block_list *bl, int skill_id, int skill_lv);
 
 
 // Skill conditions check and remove [Inkfish]
 // Skill conditions check and remove [Inkfish]
@@ -368,6 +368,14 @@ enum {
 	ST_RECOV_WEIGHT_RATE,
 	ST_RECOV_WEIGHT_RATE,
 	ST_MOVE_ENABLE,
 	ST_MOVE_ENABLE,
 	ST_WATER,
 	ST_WATER,
+	/**
+	 * 3rd States
+	 **/
+	ST_RIDINGDRAGON,
+	ST_WUG,
+	ST_RIDINGWUG,
+	ST_MADO,
+	ST_ELEMENTALSPIRIT,
 };
 };
 
 
 enum e_skill {
 enum e_skill {
@@ -1310,7 +1318,7 @@ enum e_skill {
 	GN_S_PHARMACY,
 	GN_S_PHARMACY,
 	GN_SLINGITEM_RANGEMELEEATK,
 	GN_SLINGITEM_RANGEMELEEATK,
 
 
-	AB_SECRAMENT,
+	AB_SECRAMENT=2515,
 	WM_SEVERE_RAINSTORM_MELEE,
 	WM_SEVERE_RAINSTORM_MELEE,
 	SR_HOWLINGOFLION,
 	SR_HOWLINGOFLION,
 	SR_RIDEINLIGHTNING,
 	SR_RIDEINLIGHTNING,
@@ -1547,5 +1555,46 @@ enum {
 
 
 	UNT_MAX = 0x190
 	UNT_MAX = 0x190
 };
 };
-
+/**
+ * Warlock
+ **/
+#define MAX_SKILL_SPELLBOOK_DB	17
+enum wl_spheres {
+	WLS_FIRE = 0x44,
+	WLS_WIND,
+	WLS_WATER,
+	WLS_STONE,
+};
+int skill_spellbook (struct map_session_data *sd, int nameid);
+/**
+ * Guilottine Cross
+ **/
+#define MAX_SKILL_MAGICMUSHROOM_DB 22
+struct s_skill_magicmushroom_db {
+	int skillid;
+};
+extern struct s_skill_magicmushroom_db skill_magicmushroom_db[MAX_SKILL_MAGICMUSHROOM_DB];
+/**
+ * Ranger
+ **/
+int skill_detonator(struct block_list *bl, va_list ap);
+bool skill_check_camouflage(struct block_list *bl, struct status_change_entry *sce);
+/**
+ * Mechanic
+ **/
+int skill_magicdecoy(struct map_session_data *sd, int nameid);
+/**
+ * Guiltoine Cross
+ **/
+int skill_poisoningweapon( struct map_session_data *sd, int nameid);
+enum gx_poison {
+	PO_PARALYSE = 12717,
+	PO_LEECHESEND,
+	PO_OBLIVIONCURSE,
+	PO_DEATHHURT,
+	PO_TOXIN,
+	PO_PYREXIA,
+	PO_MAGICMUSHROOM,
+	PO_VENOMBLEED
+};
 #endif /* _SKILL_H_ */
 #endif /* _SKILL_H_ */

File diff suppressed because it is too large
+ 590 - 32
src/map/status.c


+ 268 - 13
src/map/status.h

@@ -329,7 +329,248 @@ typedef enum sc_type {
 	SC_FOOD_VIT_CASH,
 	SC_FOOD_VIT_CASH,
 	SC_FOOD_DEX_CASH,
 	SC_FOOD_DEX_CASH,
 	SC_FOOD_INT_CASH,
 	SC_FOOD_INT_CASH,
-	SC_FOOD_LUK_CASH,
+	SC_FOOD_LUK_CASH,//308
+	/**
+	 * 3rd
+	 **/
+	SC_FEAR,//309
+	SC_BURNING,//310
+	SC_FREEZING,//311
+	/**
+	 * Rune Knight
+	 **/
+	SC_ENCHANTBLADE,//312
+	SC_DEATHBOUND,//313
+	SC_MILLENNIUMSHIELD,
+	SC_CRUSHSTRIKE,//315
+	SC_REFRESH,
+	SC_REUSE_REFRESH,
+	SC_GIANTGROWTH,
+	SC_STONEHARDSKIN,
+	SC_VITALITYACTIVATION,//320
+	SC_STORMBLAST,
+	SC_FIGHTINGSPIRIT,
+	SC_ABUNDANCE,
+	/**
+	 * Arch Bishop
+     **/
+	SC_ADORAMUS,
+	SC_EPICLESIS,//325
+	SC_ORATIO,
+	SC_LAUDAAGNUS,
+	SC_LAUDARAMUS,
+	SC_RENOVATIO,
+	SC_EXPIATIO,//330
+	SC_DUPLELIGHT,
+	SC_SECRAMENT,
+	/**
+	 * Warlock
+	 **/
+	SC_WHITEIMPRISON,
+	SC_MARSHOFABYSS,
+	SC_RECOGNIZEDSPELL,//335
+	SC_STASIS,
+	SC_SPHERE_1,
+	SC_SPHERE_2,
+	SC_SPHERE_3,
+	SC_SPHERE_4,//340
+	SC_SPHERE_5,
+	SC_READING_SB,
+	SC_FREEZINGSPELL,
+	/**
+	 * Ranger
+	 **/
+	SC_FEARBREEZE,
+	SC_ELECTRICSHOCKER,//345
+	SC_WUGDASH,
+	SC_BITE,
+	SC_CAMOUFLAGE,
+	/**
+	 * Mechanic
+	 **/
+	SC_ACCELERATION,
+	SC_HOVERING,//350
+	SC_SHAPESHIFT,
+	SC_INFRAREDSCAN,
+	SC_ANALYZE,
+	SC_MAGNETICFIELD,
+	SC_NEUTRALBARRIER,//355
+	SC_NEUTRALBARRIER_MASTER,
+	SC_STEALTHFIELD,
+	SC_STEALTHFIELD_MASTER,
+	SC_OVERHEAT,
+	SC_OVERHEAT_LIMITPOINT,//360
+	/**
+	 * Guillotine Cross
+	 **/
+	SC_VENOMIMPRESS,
+	SC_POISONINGWEAPON,
+	SC_WEAPONBLOCKING,
+	SC_CLOAKINGEXCEED,
+	SC_HALLUCINATIONWALK,//365
+	SC_HALLUCINATIONWALK_POSTDELAY,
+	SC_ROLLINGCUTTER,
+	SC_TOXIN,
+	SC_PARALYSE,
+	SC_VENOMBLEED,//370
+	SC_MAGICMUSHROOM,
+	SC_DEATHHURT,
+	SC_PYREXIA,
+	SC_OBLIVIONCURSE,
+	SC_LEECHESEND,//375
+	/**
+	 * Royal Guard
+	 **/
+	SC_REFLECTDAMAGE,
+	SC_FORCEOFVANGUARD,
+	SC_SHIELDSPELL_DEF,
+	SC_SHIELDSPELL_MDEF,
+	SC_SHIELDSPELL_REF,//380
+	SC_EXEEDBREAK,
+	SC_PRESTIGE,
+	SC_BANDING,
+	SC_BANDING_DEFENCE,
+	SC_EARTHDRIVE,//385
+	SC_INSPIRATION,
+	/**
+	 * Sorcerer
+	 **/
+	SC_SPELLFIST,
+	SC_CRYSTALIZE,
+	SC_STRIKING,
+	SC_WARMER,//390
+	SC_VACUUM_EXTREME,
+	SC_PROPERTYWALK,
+	/**
+	 * Minstrel / Wanderer
+	 **/
+	SC_SWINGDANCE,
+	SC_SYMPHONYOFLOVER,
+	SC_MOONLITSERENADE,//395
+	SC_RUSHWINDMILL,
+	SC_ECHOSONG,
+	SC_HARMONIZE,
+	SC_VOICEOFSIREN,
+	SC_DEEPSLEEP,//400
+	SC_SIRCLEOFNATURE,
+	SC_GLOOMYDAY,
+	SC_GLOOMYDAY_SK,
+	SC_SONGOFMANA,
+	SC_DANCEWITHWUG,//405
+	SC_SATURDAYNIGHTFEVER,
+	SC_LERADSDEW,
+	SC_MELODYOFSINK,
+	SC_BEYONDOFWARCRY,
+	SC_UNLIMITEDHUMMINGVOICE,//410
+	SC_SITDOWN_FORCE,
+	/**
+	 * Sura
+	 **/
+	SC_CRESCENTELBOW,
+	SC_CURSEDCIRCLE_ATKER,
+	SC_CURSEDCIRCLE_TARGET,
+	SC_LIGHTNINGWALK,//415
+	SC_RAISINGDRAGON,
+	SC_GT_ENERGYGAIN,
+	SC_GT_CHANGE,
+	SC_GT_REVITALIZE,
+	/**
+	 * Genetic
+	 **/
+	SC_GN_CARTBOOST,//420
+	SC_THORNSTRAP,
+	SC_BLOODSUCKER,
+	SC_SMOKEPOWDER,
+	SC_TEARGAS,
+	SC_MANDRAGORA,//425
+	SC_STOMACHACHE,
+	SC_MYSTERIOUS_POWDER,
+	SC_MELON_BOMB,
+	SC_BANANA_BOMB,
+	SC_BANANA_BOMB_SITDOWN,//430
+	SC_SAVAGE_STEAK,
+	SC_COCKTAIL_WARG_BLOOD,
+	SC_MINOR_BBQ,
+	SC_SIROMA_ICE_TEA,
+	SC_DROCERA_HERB_STEAMED,//435
+	SC_PUTTI_TAILS_NOODLES,
+	SC_BOOST500,
+	SC_FULL_SWING_K,
+	SC_MANA_PLUS,
+	SC_MUSTLE_M,//440
+	SC_LIFE_FORCE_F,
+	SC_EXTRACT_WHITE_POTION_Z,
+	SC_VITATA_500,
+	SC_EXTRACT_SALAMINE_JUICE,
+	/**
+	 * Shadow Chaser
+	 **/
+	SC__REPRODUCE,//445
+	SC__AUTOSHADOWSPELL,
+	SC__SHADOWFORM,
+	SC__BODYPAINT,
+	SC__INVISIBILITY,
+	SC__DEADLYINFECT,//450
+	SC__ENERVATION,
+	SC__GROOMY,
+	SC__IGNORANCE,
+	SC__LAZINESS,
+	SC__UNLUCKY,//455
+	SC__WEAKNESS,
+	SC__STRIPACCESSORY,
+	SC__MANHOLE,
+	SC_CHAOS,
+	SC__BLOODYLUST,//460
+	/**
+	 * Elemental Spirits
+	 **/
+	SC_CIRCLE_OF_FIRE,
+	SC_CIRCLE_OF_FIRE_OPTION,
+	SC_FIRE_CLOAK,
+	SC_FIRE_CLOAK_OPTION,
+	SC_WATER_SCREEN,//465
+	SC_WATER_SCREEN_OPTION,
+	SC_WATER_DROP,
+	SC_WATER_DROP_OPTION,
+	SC_WATER_BARRIER,
+	SC_WIND_STEP,//470
+	SC_WIND_STEP_OPTION,
+	SC_WIND_CURTAIN,
+	SC_WIND_CURTAIN_OPTION,
+	SC_ZEPHYR,
+	SC_SOLID_SKIN,//475
+	SC_SOLID_SKIN_OPTION,
+	SC_STONE_SHIELD,
+	SC_STONE_SHIELD_OPTION,
+	SC_POWER_OF_GAIA,
+	SC_PYROTECHNIC,//480
+	SC_PYROTECHNIC_OPTION,
+	SC_HEATER,
+	SC_HEATER_OPTION,
+	SC_TROPIC,
+	SC_TROPIC_OPTION,//485
+	SC_AQUAPLAY,
+	SC_AQUAPLAY_OPTION,
+	SC_COOLER,
+	SC_COOLER_OPTION,
+	SC_CHILLY_AIR,//490
+	SC_CHILLY_AIR_OPTION,
+	SC_GUST,
+	SC_GUST_OPTION,
+	SC_BLAST,
+	SC_BLAST_OPTION,//495
+	SC_WILD_STORM,
+	SC_WILD_STORM_OPTION,
+	SC_PETROLOGY,
+	SC_PETROLOGY_OPTION,
+	SC_CURSED_SOIL,//500
+	SC_CURSED_SOIL_OPTION,
+	SC_UPHEAVAL,
+	SC_UPHEAVAL_OPTION,
+	SC_TIDAL_WEAPON,
+	SC_TIDAL_WEAPON_OPTION,//505
+	SC_ROCK_CRUSHER,
+	SC_ROCK_CRUSHER_ATK,
 
 
 	SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
 	SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
 } sc_type;
 } sc_type;
@@ -652,7 +893,7 @@ enum si_type {
 	SI_CASH_PLUSONLYJOBEXP = 312,
 	SI_CASH_PLUSONLYJOBEXP = 312,
 //	SI_PARTYFLEE = 313,
 //	SI_PARTYFLEE = 313,
 //	SI_ANGEL_PROTECT = 314,
 //	SI_ANGEL_PROTECT = 314,
-/*
+
 	SI_ENDURE_MDEF = 315,
 	SI_ENDURE_MDEF = 315,
 	SI_ENCHANTBLADE = 316,
 	SI_ENCHANTBLADE = 316,
 	SI_DEATHBOUND = 317,
 	SI_DEATHBOUND = 317,
@@ -701,11 +942,11 @@ enum si_type {
 	SI_CAMOUFLAGE = 360,
 	SI_CAMOUFLAGE = 360,
 	SI_ACCELERATION = 361,
 	SI_ACCELERATION = 361,
 	SI_HOVERING = 362,
 	SI_HOVERING = 362,
-	SI_SUMMON1 = 363,
-	SI_SUMMON2 = 364,
-	SI_SUMMON3 = 365,
-	SI_SUMMON4 = 366,
-	SI_SUMMON5 = 367,
+	SI_SPHERE_1 = 363,
+	SI_SPHERE_2 = 364,
+	SI_SPHERE_3 = 365,
+	SI_SPHERE_4 = 366,
+	SI_SPHERE_5 = 367,
 	SI_MVPCARD_TAOGUNKA = 368,
 	SI_MVPCARD_TAOGUNKA = 368,
 	SI_MVPCARD_MISTRESS = 369,
 	SI_MVPCARD_MISTRESS = 369,
 	SI_MVPCARD_ORCHERO = 370,
 	SI_MVPCARD_ORCHERO = 370,
@@ -719,15 +960,15 @@ enum si_type {
 	SI_NEUTRALBARRIER_MASTER = 378,
 	SI_NEUTRALBARRIER_MASTER = 378,
 	SI_STEALTHFIELD = 379,
 	SI_STEALTHFIELD = 379,
 	SI_STEALTHFIELD_MASTER = 380,
 	SI_STEALTHFIELD_MASTER = 380,
-*/
+
 	SI_MANU_ATK = 381, 
 	SI_MANU_ATK = 381, 
 	SI_MANU_DEF = 382, 
 	SI_MANU_DEF = 382, 
 	SI_SPL_ATK = 383, 
 	SI_SPL_ATK = 383, 
 	SI_SPL_DEF = 384, 
 	SI_SPL_DEF = 384, 
-//	SI_REPRODUCE = 385,
+	SI_REPRODUCE = 385,
 	SI_MANU_MATK = 386,
 	SI_MANU_MATK = 386,
 	SI_SPL_MATK = 387,
 	SI_SPL_MATK = 387,
-/*
+
 	SI_STR_SCROLL = 388,
 	SI_STR_SCROLL = 388,
 	SI_INT_SCROLL = 389,
 	SI_INT_SCROLL = 389,
 	SI_LG_REFLECTDAMAGE = 390,
 	SI_LG_REFLECTDAMAGE = 390,
@@ -812,7 +1053,7 @@ enum si_type {
 	SI_BLOCKING_PLAY = 469,
 	SI_BLOCKING_PLAY = 469,
 	SI_MANDRAGORA = 470,
 	SI_MANDRAGORA = 470,
 	SI_ACTIVATE = 471,
 	SI_ACTIVATE = 471,
-	SI_AB_SECRAMENT = 472,
+	SI_SECRAMENT = 472,
 	SI_ASSUMPTIO2 = 473,
 	SI_ASSUMPTIO2 = 473,
 	SI_TK_SEVENWIND = 474,
 	SI_TK_SEVENWIND = 474,
 	SI_LIMIT_ODINS_RECALL = 475,
 	SI_LIMIT_ODINS_RECALL = 475,
@@ -912,7 +1153,7 @@ enum si_type {
 	SI_WIND_INSIGNIA = 569,
 	SI_WIND_INSIGNIA = 569,
 	SI_EARTH_INSIGNIA = 570,
 	SI_EARTH_INSIGNIA = 570,
 	SI_EQUIPED_FLOOR = 571,
 	SI_EQUIPED_FLOOR = 571,
-*/
+	SI_ALL_RIDING = 613,//awesome 571-613 gap, we're missing quite a few stuff here.
 };
 };
 
 
 // JOINTBEAT stackable ailments
 // JOINTBEAT stackable ailments
@@ -1033,6 +1274,7 @@ enum {
 	OPTION_DRAGON3   = 0x01000000,
 	OPTION_DRAGON3   = 0x01000000,
 	OPTION_DRAGON4   = 0x02000000,
 	OPTION_DRAGON4   = 0x02000000,
 	OPTION_DRAGON5   = 0x04000000,
 	OPTION_DRAGON5   = 0x04000000,
+	OPTION_MOUNTING  = 0x08000000,//dull name (cuz ind named it :/)
 	// compound constants
 	// compound constants
 	OPTION_CART      = OPTION_CART1|OPTION_CART2|OPTION_CART3|OPTION_CART4|OPTION_CART5,
 	OPTION_CART      = OPTION_CART1|OPTION_CART2|OPTION_CART3|OPTION_CART4|OPTION_CART5,
 	OPTION_DRAGON    = OPTION_DRAGON1|OPTION_DRAGON2|OPTION_DRAGON3|OPTION_DRAGON4|OPTION_DRAGON5,
 	OPTION_DRAGON    = OPTION_DRAGON1|OPTION_DRAGON2|OPTION_DRAGON3|OPTION_DRAGON4|OPTION_DRAGON5,
@@ -1123,6 +1365,12 @@ struct status_data {
 		aspd_rate;
 		aspd_rate;
 	unsigned char
 	unsigned char
 		def_ele, ele_lv,
 		def_ele, ele_lv,
+#if RRMODE
+		/**
+		 * in RE weapon level is used in several areas, keeping it here saves performance
+		 **/
+		wlv,
+#endif
 		size, race;
 		size, race;
 	signed char
 	signed char
 		def, mdef;
 		def, mdef;
@@ -1187,7 +1435,8 @@ struct status_change {
 	//TODO: See if it is possible to implement the following SC's without requiring extra parameters while the SC is inactive.
 	//TODO: See if it is possible to implement the following SC's without requiring extra parameters while the SC is inactive.
 	unsigned char jb_flag; //Joint Beat type flag
 	unsigned char jb_flag; //Joint Beat type flag
 	unsigned short mp_matk_min, mp_matk_max; //Previous matk min/max for ground spells (Amplify magic power)
 	unsigned short mp_matk_min, mp_matk_max; //Previous matk min/max for ground spells (Amplify magic power)
-	int sg_id; //ID of the previous Storm gust that hit you
+	//int sg_id; //ID of the previous Storm gust that hit you
+	short comet_x, comet_y; // Point where src casted Comet - required to calculate damage from this point
 	unsigned char sg_counter; //Storm gust counter (previous hits from storm gust)
 	unsigned char sg_counter; //Storm gust counter (previous hits from storm gust)
 	struct status_change_entry *data[SC_MAX];
 	struct status_change_entry *data[SC_MAX];
 };
 };
@@ -1260,6 +1509,12 @@ unsigned char status_calc_attack_element(struct block_list *bl, struct status_ch
 #define status_get_race(bl) status_get_status_data(bl)->race
 #define status_get_race(bl) status_get_status_data(bl)->race
 #define status_get_size(bl) status_get_status_data(bl)->size
 #define status_get_size(bl) status_get_status_data(bl)->size
 #define status_get_mode(bl) status_get_status_data(bl)->mode
 #define status_get_mode(bl) status_get_status_data(bl)->mode
+#if RRMODE
+	/**
+	 * in RE weapon level is used in several areas, keeping it here saves performance
+	 **/
+	#define status_get_wlv(bl) status_get_status_data(bl)->wlv
+#endif
 int status_get_party_id(struct block_list *bl);
 int status_get_party_id(struct block_list *bl);
 int status_get_guild_id(struct block_list *bl);
 int status_get_guild_id(struct block_list *bl);
 int status_get_emblem_id(struct block_list *bl);
 int status_get_emblem_id(struct block_list *bl);

+ 73 - 7
src/map/unit.c

@@ -444,7 +444,7 @@ int unit_run(struct block_list *bl)
 
 
 	if(to_x == bl->x && to_y == bl->y) {
 	if(to_x == bl->x && to_y == bl->y) {
 		//If you can't run forward, you must be next to a wall, so bounce back. [Skotlex]
 		//If you can't run forward, you must be next to a wall, so bounce back. [Skotlex]
-		clif_status_change(bl, SI_BUMP, 1, 0);
+		clif_status_change(bl, SI_BUMP, 1, 0, 0, 0, 0);
 
 
 		//Set running to 0 beforehand so status_change_end knows not to enable spurt [Kevin]
 		//Set running to 0 beforehand so status_change_end knows not to enable spurt [Kevin]
 		unit_bl2ud(bl)->state.running = 0;
 		unit_bl2ud(bl)->state.running = 0;
@@ -452,7 +452,7 @@ int unit_run(struct block_list *bl)
 
 
 		skill_blown(bl,bl,skill_get_blewcount(TK_RUN,lv),unit_getdir(bl),0);
 		skill_blown(bl,bl,skill_get_blewcount(TK_RUN,lv),unit_getdir(bl),0);
 		clif_fixpos(bl); //Why is a clif_slide (skill_blown) AND a fixpos needed? Ask Aegis.
 		clif_fixpos(bl); //Why is a clif_slide (skill_blown) AND a fixpos needed? Ask Aegis.
-		clif_status_change(bl, SI_BUMP, 0, 0);
+		clif_status_change(bl, SI_BUMP, 0, 0, 0, 0, 0);
 		return 0;
 		return 0;
 	}
 	}
 	if (unit_walktoxy(bl, to_x, to_y, 1))
 	if (unit_walktoxy(bl, to_x, to_y, 1))
@@ -464,7 +464,7 @@ int unit_run(struct block_list *bl)
 	} while (--i > 0 && !unit_walktoxy(bl, to_x, to_y, 1));
 	} while (--i > 0 && !unit_walktoxy(bl, to_x, to_y, 1));
 	if (i==0) {
 	if (i==0) {
 		// copy-paste from above
 		// copy-paste from above
-		clif_status_change(bl, SI_BUMP, 1, 0);
+		clif_status_change(bl, SI_BUMP, 1, 0, 0, 0, 0);
 
 
 		//Set running to 0 beforehand so status_change_end knows not to enable spurt [Kevin]
 		//Set running to 0 beforehand so status_change_end knows not to enable spurt [Kevin]
 		unit_bl2ud(bl)->state.running = 0;
 		unit_bl2ud(bl)->state.running = 0;
@@ -472,7 +472,73 @@ int unit_run(struct block_list *bl)
 
 
 		skill_blown(bl,bl,skill_get_blewcount(TK_RUN,lv),unit_getdir(bl),0);
 		skill_blown(bl,bl,skill_get_blewcount(TK_RUN,lv),unit_getdir(bl),0);
 		clif_fixpos(bl);
 		clif_fixpos(bl);
-		clif_status_change(bl, SI_BUMP, 0, 0);
+		clif_status_change(bl, SI_BUMP, 0, 0, 0, 0, 0);
+		return 0;
+	}
+	return 1;
+}
+
+//Exclusive function to Wug Dash state. [Jobbie/3CeAM]
+int unit_wugdash(struct block_list *bl, struct map_session_data *sd) {
+	struct status_change *sc = status_get_sc(bl);
+	short to_x,to_y,dir_x,dir_y;
+	int lv;
+	int i;
+	if (!(sc && sc->data[SC_WUGDASH]))
+		return 0;
+	
+	nullpo_ret(sd);
+	nullpo_ret(bl);
+
+	if (!unit_can_move(bl)) {
+		status_change_end(bl,SC_WUGDASH,-1);
+		return 0;
+	}
+	
+	lv = sc->data[SC_WUGDASH]->val1;
+	dir_x = dirx[sc->data[SC_WUGDASH]->val2];
+	dir_y = diry[sc->data[SC_WUGDASH]->val2];
+
+	to_x = bl->x;
+	to_y = bl->y;
+	for(i=0;i<AREA_SIZE;i++)
+	{
+		if(!map_getcell(bl->m,to_x+dir_x,to_y+dir_y,CELL_CHKPASS))
+			break;
+
+		if(sc->data[SC_WUGDASH] && map_count_oncell(bl->m, to_x+dir_x, to_y+dir_y, BL_PC|BL_MOB|BL_NPC))
+			break;
+			
+		to_x += dir_x;
+		to_y += dir_y;
+	}
+
+	if(to_x == bl->x && to_y == bl->y) {
+
+		unit_bl2ud(bl)->state.running = 0;
+		status_change_end(bl,SC_WUGDASH,-1);
+
+		if( sd ){
+			clif_fixpos(bl);
+			skill_castend_damage_id(bl, &sd->bl, RA_WUGDASH, lv, gettick(), SD_LEVEL);
+		}
+		return 0;
+	}
+	if (unit_walktoxy(bl, to_x, to_y, 1))
+		return 1;
+	do {
+		to_x -= dir_x;
+		to_y -= dir_y;
+	} while (--i > 0 && !unit_walktoxy(bl, to_x, to_y, 1));
+	if (i==0) {
+
+		unit_bl2ud(bl)->state.running = 0;
+		status_change_end(bl,SC_WUGDASH,-1);
+		
+		if( sd ){
+			clif_fixpos(bl);
+			skill_castend_damage_id(bl, &sd->bl, RA_WUGDASH, lv, gettick(), SD_LEVEL);
+		}
 		return 0;
 		return 0;
 	}
 	}
 	return 1;
 	return 1;
@@ -992,7 +1058,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh
 	if( !target || src->m != target->m || !src->prev || !target->prev )
 	if( !target || src->m != target->m || !src->prev || !target->prev )
 		return 0;
 		return 0;
 
 
-	if( mob_ksprotected(src, target) )
+	if( battle_config.ksprotection && sd && mob_ksprotected(src, target) )
 		return 0;
 		return 0;
 
 
 	//Normally not needed because clif.c checks for it, but the at/char/script commands don't! [Skotlex]
 	//Normally not needed because clif.c checks for it, but the at/char/script commands don't! [Skotlex]
@@ -1130,7 +1196,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh
   	
   	
 	// moved here to prevent Suffragium from ending if skill fails
 	// moved here to prevent Suffragium from ending if skill fails
 	if (!(skill_get_castnodex(skill_num, skill_lv)&2))
 	if (!(skill_get_castnodex(skill_num, skill_lv)&2))
-		casttime = skill_castfix_sc(src, casttime);
+		casttime = skill_castfix_sc(src, casttime, skill_num, skill_lv);
 
 
 	if( casttime > 0 || temp )
 	if( casttime > 0 || temp )
 	{ 
 	{ 
@@ -1272,7 +1338,7 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh
 
 
 	// moved here to prevent Suffragium from ending if skill fails
 	// moved here to prevent Suffragium from ending if skill fails
 	if (!(skill_get_castnodex(skill_num, skill_lv)&2))
 	if (!(skill_get_castnodex(skill_num, skill_lv)&2))
-		casttime = skill_castfix_sc(src, casttime);
+		casttime = skill_castfix_sc(src, casttime, skill_num, skill_lv);
 
 
 	ud->state.skillcastcancel = castcancel&&casttime>0?1:0;
 	ud->state.skillcastcancel = castcancel&&casttime>0?1:0;
 	if( !sd || sd->skillitem != skill_num || skill_get_cast(skill_num,skill_lv) )
 	if( !sd || sd->skillitem != skill_num || skill_get_cast(skill_num,skill_lv) )

+ 4 - 0
src/map/unit.h

@@ -126,6 +126,10 @@ int unit_changeviewsize(struct block_list *bl,short size);
 // �‰Šú‰»ƒ‹�[ƒ`ƒ“
 // �‰Šú‰»ƒ‹�[ƒ`ƒ“
 int do_init_unit(void);
 int do_init_unit(void);
 int do_final_unit(void);
 int do_final_unit(void);
+/**
+ * Ranger
+ **/
+int unit_wugdash(struct block_list *bl, struct map_session_data *sd);
 
 
 extern const short dirx[8];
 extern const short dirx[8];
 extern const short diry[8];
 extern const short diry[8];

+ 7 - 0
vcproj-10/map-server_sql.vcxproj

@@ -173,6 +173,13 @@
     <ClInclude Include="..\src\map\pc.h" />
     <ClInclude Include="..\src\map\pc.h" />
     <ClInclude Include="..\src\map\pet.h" />
     <ClInclude Include="..\src\map\pet.h" />
     <ClInclude Include="..\src\map\quest.h" />
     <ClInclude Include="..\src\map\quest.h" />
+    <ClInclude Include="..\src\map\RRConfig\Core.h" />
+    <ClInclude Include="..\src\map\RRConfig\Renewal.h" />
+    <ClInclude Include="..\src\map\RRConfig\Secure.h" />
+    <ClInclude Include="..\src\map\RRConfig\Data\Const.h" />
+    <ClInclude Include="..\src\map\RRConfig\Skills\General.h" />
+    <ClInclude Include="..\src\map\RRConfig\Skills\Mage_Classes.h" />
+    <ClInclude Include="..\src\map\RRConfig\Skills\Swordsman_Classes.h" />
     <ClInclude Include="..\src\map\script.h" />
     <ClInclude Include="..\src\map\script.h" />
     <ClInclude Include="..\src\map\searchstore.h" />
     <ClInclude Include="..\src\map\searchstore.h" />
     <ClInclude Include="..\src\map\skill.h" />
     <ClInclude Include="..\src\map\skill.h" />

+ 3 - 0
vcproj-10/map-server_sql.vcxproj.filters

@@ -115,6 +115,9 @@
     <ClCompile Include="..\src\common\core.c">
     <ClCompile Include="..\src\common\core.c">
       <Filter>common</Filter>
       <Filter>common</Filter>
     </ClCompile>
     </ClCompile>
+    <ClCompile Include="..\src\common\des.c">
+      <Filter>common</Filter>
+    </ClCompile>
     <ClCompile Include="..\src\common\db.c">
     <ClCompile Include="..\src\common\db.c">
       <Filter>common</Filter>
       <Filter>common</Filter>
     </ClCompile>
     </ClCompile>

+ 7 - 0
vcproj-10/map-server_txt.vcxproj

@@ -205,6 +205,13 @@
     <ClInclude Include="..\src\map\pc.h" />
     <ClInclude Include="..\src\map\pc.h" />
     <ClInclude Include="..\src\map\pet.h" />
     <ClInclude Include="..\src\map\pet.h" />
     <ClInclude Include="..\src\map\quest.h" />
     <ClInclude Include="..\src\map\quest.h" />
+    <ClInclude Include="..\src\map\RRConfig\Core.h" />
+    <ClInclude Include="..\src\map\RRConfig\Renewal.h" />
+    <ClInclude Include="..\src\map\RRConfig\Secure.h" />
+    <ClInclude Include="..\src\map\RRConfig\Data\Const.h" />
+    <ClInclude Include="..\src\map\RRConfig\Skills\General.h" />
+    <ClInclude Include="..\src\map\RRConfig\Skills\Mage_Classes.h" />
+    <ClInclude Include="..\src\map\RRConfig\Skills\Swordsman_Classes.h" />
     <ClInclude Include="..\src\map\script.h" />
     <ClInclude Include="..\src\map\script.h" />
     <ClInclude Include="..\src\map\searchstore.h" />
     <ClInclude Include="..\src\map\searchstore.h" />
     <ClInclude Include="..\src\map\skill.h" />
     <ClInclude Include="..\src\map\skill.h" />

+ 3 - 0
vcproj-10/map-server_txt.vcxproj.filters

@@ -189,6 +189,9 @@
     <ClInclude Include="..\src\common\db.h">
     <ClInclude Include="..\src\common\db.h">
       <Filter>common</Filter>
       <Filter>common</Filter>
     </ClInclude>
     </ClInclude>
+    <ClInclude Include="..\src\common\des.h">
+      <Filter>common</Filter>
+    </ClInclude>
     <ClInclude Include="..\src\common\ers.h">
     <ClInclude Include="..\src\common\ers.h">
       <Filter>common</Filter>
       <Filter>common</Filter>
     </ClInclude>
     </ClInclude>

+ 6 - 0
vcproj-10/mapcache.vcxproj.filters

@@ -4,6 +4,9 @@
     <ClCompile Include="..\src\common\core.c">
     <ClCompile Include="..\src\common\core.c">
       <Filter>common</Filter>
       <Filter>common</Filter>
     </ClCompile>
     </ClCompile>
+    <ClCompile Include="..\src\common\des.c">
+      <Filter>common</Filter>
+    </ClCompile>
     <ClCompile Include="..\src\common\grfio.c">
     <ClCompile Include="..\src\common\grfio.c">
       <Filter>common</Filter>
       <Filter>common</Filter>
     </ClCompile>
     </ClCompile>
@@ -30,6 +33,9 @@
     <ClInclude Include="..\src\common\core.h">
     <ClInclude Include="..\src\common\core.h">
       <Filter>common</Filter>
       <Filter>common</Filter>
     </ClInclude>
     </ClInclude>
+    <ClInclude Include="..\src\common\des.h">
+      <Filter>common</Filter>
+    </ClInclude>
     <ClInclude Include="..\src\common\grfio.h">
     <ClInclude Include="..\src\common\grfio.h">
       <Filter>common</Filter>
       <Filter>common</Filter>
     </ClInclude>
     </ClInclude>

+ 0 - 324
vcproj-6/char-server_sql.dsp

@@ -1,324 +0,0 @@
-# Microsoft Developer Studio Project File - Name="char_sql" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=char_sql - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "char-server_sql.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "char-server_sql.mak" CFG="char_sql - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "char_sql - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "char_sql - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "char_sql - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\char_sql\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /Zi /O2 /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mysql\include" /I "..\3rdparty\mt19937ar" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /FD /GF /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib ws2_32.lib libmysql.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\3rdparty\mysql\lib"
-
-!ELSEIF  "$(CFG)" == "char_sql - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\char_sql\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /Gi /ZI /Od /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mysql\include" /I "..\3rdparty\mt19937ar" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib ws2_32.lib libmysql.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\3rdparty\mysql\lib"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "char_sql - Win32 Release"
-# Name "char_sql - Win32 Debug"
-# Begin Group "3rdparty"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\common\cbasetypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mmo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugin.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\sql.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\sql.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\version.h
-# End Source File
-# End Group
-# Begin Group "char_sql"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\char_sql\char.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\char.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_auction.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_auction.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_guild.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_guild.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_homun.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_homun.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_mail.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_mail.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_mercenary.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_mercenary.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_party.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_party.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_pet.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_pet.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_quest.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_quest.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_storage.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_storage.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\inter.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\inter.h
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 300
vcproj-6/char-server_txt.dsp

@@ -1,300 +0,0 @@
-# Microsoft Developer Studio Project File - Name="char_txt" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=char_txt - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "char-server_txt.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "char-server_txt.mak" CFG="char_txt - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "char_txt - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "char_txt - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "char_txt - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\char_txt\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /Zi /O2 /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mt19937ar" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /D "TXT_ONLY" /FD /GF /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386
-
-!ELSEIF  "$(CFG)" == "char_txt - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\char_txt\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /Gi /ZI /Od /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mt19937ar" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /D "TXT_ONLY" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "char_txt - Win32 Release"
-# Name "char_txt - Win32 Debug"
-# Begin Group "3rdparty"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\common\cbasetypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\lock.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\lock.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mmo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugin.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\version.h
-# End Source File
-# End Group
-# Begin Group "char_txt"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\char\char.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\char.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_guild.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_guild.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_homun.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_homun.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_party.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_party.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_pet.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_pet.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_status.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_status.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_storage.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_storage.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\inter.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\inter.h
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 276
vcproj-6/login-server_sql.dsp

@@ -1,276 +0,0 @@
-# Microsoft Developer Studio Project File - Name="login_sql" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=login_sql - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "login-server_sql.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "login-server_sql.mak" CFG="login_sql - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "login_sql - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "login_sql - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "login_sql - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\login_sql\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /Zi /O2 /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mysql\include" /I "..\3rdparty\mt19937ar" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /D "WITH_SQL" /FD /GF /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib ws2_32.lib libmysql.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\3rdparty\mysql\lib"
-
-!ELSEIF  "$(CFG)" == "login_sql - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\login_sql\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /Gi /ZI /Od /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mysql\include" /I "..\3rdparty\mt19937ar" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /D "WITH_SQL" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib ws2_32.lib libmysql.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\3rdparty\mysql\lib"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "login_sql - Win32 Release"
-# Name "login_sql - Win32 Debug"
-# Begin Group "3rdparty"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\common\cbasetypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\md5calc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\md5calc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mmo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugin.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\sql.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\sql.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\version.h
-# End Source File
-# End Group
-# Begin Group "login_sql"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\login\account.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\account_sql.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\ipban.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\ipban_sql.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\login.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\login.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\loginlog.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\loginlog_sql.c
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 276
vcproj-6/login-server_txt.dsp

@@ -1,276 +0,0 @@
-# Microsoft Developer Studio Project File - Name="login_txt" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=login_txt - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "login-server_txt.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "login-server_txt.mak" CFG="login_txt - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "login_txt - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "login_txt - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "login_txt - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\login_txt\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /Zi /O2 /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mt19937ar" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /D "WITH_TXT" /FD /GF /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386
-
-!ELSEIF  "$(CFG)" == "login_txt - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\login_txt\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /Gi /ZI /Od /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mt19937ar" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /D "WITH_TXT" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "login_txt - Win32 Release"
-# Name "login_txt - Win32 Debug"
-# Begin Group "3rdparty"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\common\cbasetypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\lock.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\lock.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\md5calc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\md5calc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mmo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugin.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\version.h
-# End Source File
-# End Group
-# Begin Group "login_txt"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\login\account.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\account_txt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\ipban.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\ipban_txt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\login.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\login.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\loginlog.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\loginlog_txt.c
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 528
vcproj-6/map-server_sql.dsp

@@ -1,528 +0,0 @@
-# Microsoft Developer Studio Project File - Name="map_sql" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=map_sql - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "map-server_sql.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "map-server_sql.mak" CFG="map_sql - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "map_sql - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "map_sql - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "map_sql - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\map_sql\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /Zi /O2 /I "..\3rdparty\mysql\include" /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\pcre\include" /I "..\3rdparty\zlib\include" /I "..\3rdparty\mt19937ar" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /D "PCRE_SUPPORT" /FD /GF /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 libmysql.lib kernel32.lib ws2_32.lib pcre.lib zdll.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\3rdparty\mysql\lib" /libpath:"..\3rdparty\pcre\lib" /libpath:"..\3rdparty\zlib\lib"
-
-!ELSEIF  "$(CFG)" == "map_sql - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\map_sql\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /Gi /ZI /Od /I "..\3rdparty\mysql\include" /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\pcre\include" /I "..\3rdparty\zlib\include" /I "..\3rdparty\mt19937ar" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /D "PCRE_SUPPORT" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 libmysql.lib kernel32.lib ws2_32.lib pcre.lib zdll.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\3rdparty\mysql\lib" /libpath:"..\3rdparty\pcre\lib" /libpath:"..\3rdparty\zlib\lib"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "map_sql - Win32 Release"
-# Name "map_sql - Win32 Debug"
-# Begin Group "3rdparty"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\common\cbasetypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\grfio.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\grfio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\md5calc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\md5calc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mmo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugin.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\sql.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\sql.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\version.h
-# End Source File
-# End Group
-# Begin Group "map_sql"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\map\atcommand.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\atcommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\battle.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\battle.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\battleground.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\battleground.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\buyingstore.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\buyingstore.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\chat.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\chat.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\chrif.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\chrif.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\clif.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\clif.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\date.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\date.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\duel.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\duel.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\guild.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\guild.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\homunculus.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\homunculus.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\instance.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\instance.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\intif.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\intif.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\itemdb.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\itemdb.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\log.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\log.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mail.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mail.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\map.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\map.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mapreg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mapreg_sql.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mercenary.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mercenary.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mob.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mob.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\npc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\npc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\npc_chat.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\party.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\party.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\path.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\path.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\pc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\pc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\pet.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\pet.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\quest.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\quest.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\script.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\script.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\searchstore.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\searchstore.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\skill.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\skill.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\status.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\status.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\storage.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\storage.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\trade.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\trade.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\unit.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\unit.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\vending.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\vending.h
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 528
vcproj-6/map-server_txt.dsp

@@ -1,528 +0,0 @@
-# Microsoft Developer Studio Project File - Name="map_txt" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=map_txt - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "map-server_txt.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "map-server_txt.mak" CFG="map_txt - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "map_txt - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "map_txt - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "map_txt - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\map_txt\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /Zi /O2 /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\pcre\include" /I "..\3rdparty\zlib\include" /I "..\3rdparty\mt19937ar" /D "NDEBUG" /D "TXT_ONLY" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /D "PCRE_SUPPORT" /FD /GF /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib ws2_32.lib pcre.lib zdll.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\3rdparty\pcre\lib" /libpath:"..\3rdparty\zlib\lib"
-
-!ELSEIF  "$(CFG)" == "map_txt - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\map_txt\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /Gi /ZI /Od /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\pcre\include" /I "..\3rdparty\zlib\include" /I "..\3rdparty\mt19937ar" /D "_DEBUG" /D "TXT_ONLY" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D FD_SETSIZE=4096 /D "DB_MANUAL_CAST_TO_UNION" /D "PCRE_SUPPORT" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib ws2_32.lib pcre.lib zdll.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\3rdparty\pcre\lib" /libpath:"..\3rdparty\zlib\lib"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "map_txt - Win32 Release"
-# Name "map_txt - Win32 Debug"
-# Begin Group "3rdparty"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\3rdparty\mt19937ar\mt19937ar.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\common\cbasetypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\grfio.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\grfio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\lock.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\lock.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\md5calc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\md5calc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mmo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\nullpo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugin.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\plugins.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\random.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\socket.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\version.h
-# End Source File
-# End Group
-# Begin Group "map_txt"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\map\atcommand.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\atcommand.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\battle.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\battle.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\battleground.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\battleground.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\buyingstore.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\buyingstore.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\chat.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\chat.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\chrif.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\chrif.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\clif.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\clif.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\date.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\date.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\duel.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\duel.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\guild.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\guild.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\homunculus.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\homunculus.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\instance.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\instance.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\intif.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\intif.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\itemdb.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\itemdb.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\log.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\log.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mail.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mail.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\map.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\map.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mapreg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mapreg_txt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mercenary.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mercenary.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mob.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\mob.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\npc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\npc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\npc_chat.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\party.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\party.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\path.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\path.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\pc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\pc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\pet.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\pet.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\quest.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\quest.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\script.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\script.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\searchstore.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\searchstore.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\skill.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\skill.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\status.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\status.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\storage.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\storage.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\trade.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\trade.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\unit.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\unit.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\vending.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\map\vending.h
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 160
vcproj-6/mapcache.dsp

@@ -1,160 +0,0 @@
-# Microsoft Developer Studio Project File - Name="mapcache" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=mapcache - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "mapcache.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "mapcache.mak" CFG="mapcache - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "mapcache - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "mapcache - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "mapcache - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\mapcache\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /Zi /O2 /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\zlib\include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D "MINICORE" /FD /GF /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib zdll.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\3rdparty\zlib\lib"
-
-!ELSEIF  "$(CFG)" == "mapcache - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\mapcache\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /Gi /ZI /Od /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\zlib\include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D "MINICORE" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib zdll.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\3rdparty\zlib\lib"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "mapcache - Win32 Release"
-# Name "mapcache - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\common\cbasetypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\grfio.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\grfio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mmo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\version.h
-# End Source File
-# End Group
-# Begin Group "mapcache"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\tool\mapcache.c
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 107
vcproj-6/plugin-console.dsp

@@ -1,107 +0,0 @@
-# Microsoft Developer Studio Project File - Name="plugin_console" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=plugin_console - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "plugin-console.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "plugin-console.mak" CFG="plugin_console - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "plugin_console - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "plugin_console - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "plugin_console - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\plugins"
-# PROP Intermediate_Dir "tmp\plugin_console\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CONSOLE_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /O2 /I "..\3rdparty\msinttypes\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_WIN32" /D "__WIN32" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /Oicf /win32
-# SUBTRACT MTL /mktyplib203
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"..\plugins\console.dll"
-
-!ELSEIF  "$(CFG)" == "plugin_console - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\plugins"
-# PROP Intermediate_Dir "tmp\plugin_console\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CONSOLE_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "..\3rdparty\msinttypes\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_WIN32" /D "__WIN32" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /Oicf /win32
-# SUBTRACT MTL /mktyplib203
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib /nologo /dll /debug /machine:I386 /out:"..\plugins\console.dll" /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "plugin_console - Win32 Release"
-# Name "plugin_console - Win32 Debug"
-# Begin Group "console"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\plugins\console.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\plugins\console.def
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 107
vcproj-6/plugin-pid.dsp

@@ -1,107 +0,0 @@
-# Microsoft Developer Studio Project File - Name="plugin_pid" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=plugin_pid - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "plugin-pid.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "plugin-pid.mak" CFG="plugin_pid - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "plugin_pid - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "plugin_pid - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "plugin_pid - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\plugins"
-# PROP Intermediate_Dir "tmp\plugin_pid\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PID_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /O2 /I "..\3rdparty\msinttypes\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_WIN32" /D "__WIN32" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /Oicf /win32
-# SUBTRACT MTL /mktyplib203
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"..\plugins\pid.dll"
-
-!ELSEIF  "$(CFG)" == "plugin_pid - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\plugins"
-# PROP Intermediate_Dir "tmp\plugin_pid\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PID_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "..\3rdparty\msinttypes\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_WIN32" /D "__WIN32" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /Oicf /win32
-# SUBTRACT MTL /mktyplib203
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib /nologo /dll /debug /machine:I386 /out:"..\plugins\pid.dll" /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "plugin_pid - Win32 Release"
-# Name "plugin_pid - Win32 Debug"
-# Begin Group "pid"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\plugins\pid.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\plugins\pid.def
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 576
vcproj-6/txt-converter-char.dsp

@@ -1,576 +0,0 @@
-# Microsoft Developer Studio Project File - Name="txt_converter_char" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=txt_converter_char - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "txt-converter-char.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "txt-converter-char.mak" CFG="txt_converter_char - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "txt_converter_char - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "txt_converter_char - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /O2 /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mysql\include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D "DB_MANUAL_CAST_TO_UNION" /D "MINICORE" /D "TXT_SQL_CONVERT" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib libmysql.lib /nologo /subsystem:console /machine:I386 /libpath:"..\3rdparty\mysql\lib"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mysql\include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D "DB_MANUAL_CAST_TO_UNION" /D "MINICORE" /D "TXT_SQL_CONVERT" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib libmysql.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\3rdparty\mysql\lib"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "txt_converter_char - Win32 Release"
-# Name "txt_converter_char - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\common\cbasetypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\lock.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\lock.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mapindex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mmo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\sql.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\sql.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\version.h
-# End Source File
-# End Group
-# Begin Group "char_sql"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\char_sql\char.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\char.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_guild.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_guild.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_mercenary.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_mercenary.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_party.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_party.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_pet.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_pet.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_storage.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\int_storage.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\inter.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char_sql\inter.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_sql"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_sql"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "char_txt"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\char\char.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\char.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_guild.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_guild.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_party.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_party.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_pet.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_pet.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_storage.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\int_storage.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\inter.c
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\char\inter.h
-
-!IF  "$(CFG)" == "txt_converter_char - Win32 Release"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Release\char_txt"
-
-!ELSEIF  "$(CFG)" == "txt_converter_char - Win32 Debug"
-
-# PROP Intermediate_Dir "tmp\txt_converter_char\Debug\char_txt"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "converter"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE="..\src\txt-converter\char-converter.c"
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 200
vcproj-6/txt-converter-login.dsp

@@ -1,200 +0,0 @@
-# Microsoft Developer Studio Project File - Name="txt_converter_login" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=txt_converter_login - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "txt-converter-login.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "txt-converter-login.mak" CFG="txt_converter_login - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "txt_converter_login - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "txt_converter_login - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "txt_converter_login - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\txt_converter_login\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /O2 /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mysql\include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D "DB_MANUAL_CAST_TO_UNION" /D "MINICORE" /D "TXT_SQL_CONVERT" /D "WITH_SQL" /D "WITH_TXT" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib libmysql.lib /nologo /subsystem:console /machine:I386 /libpath:"..\3rdparty\mysql\lib"
-
-!ELSEIF  "$(CFG)" == "txt_converter_login - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".."
-# PROP Intermediate_Dir "tmp\txt_converter_login\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\3rdparty\msinttypes\include" /I "..\3rdparty\mysql\include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "__WIN32" /D "DB_MANUAL_CAST_TO_UNION" /D "MINICORE" /D "TXT_SQL_CONVERT" /D "WITH_SQL" /D "WITH_TXT" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x405 /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib libmysql.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\3rdparty\mysql\lib"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "txt_converter_login - Win32 Release"
-# Name "txt_converter_login - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\common\cbasetypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\core.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\db.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\ers.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\lock.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\lock.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\malloc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\mmo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\showmsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\sql.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\sql.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\strlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\timer.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\common\version.h
-# End Source File
-# End Group
-# Begin Group "login"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\src\login\account.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\account_sql.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\login\account_txt.c
-# End Source File
-# End Group
-# Begin Group "converter"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE="..\src\txt-converter\login-converter.c"
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 332
vcproj-7.1/char-server_sql.vcproj

@@ -1,332 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="char-server_sql"
-	ProjectGUID="{D356871D-58E1-450B-967A-E4E9646175AF}"
-	RootNamespace="char-server_sql"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="TRUE"
-				ExceptionHandling="FALSE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="TRUE"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="4"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrtd.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\char-server_sql.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="TRUE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				EnableFiberSafeOptimizations="TRUE"
-				OptimizeForProcessor="2"
-				OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				StringPooling="TRUE"
-				RuntimeLibrary="3"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="3"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrt.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\char-server_sql.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="TRUE"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				OptimizeForWindows98="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="char_sql"
-			Filter="">
-			<File
-				RelativePath="..\src\char_sql\char.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\char.h">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_auction.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_auction.h">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_guild.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_guild.h">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_homun.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_homun.h">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_mail.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_mail.h">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_mercenary.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_mercenary.h">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_party.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_party.h">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_pet.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_pet.h">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_quest.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_quest.h">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_storage.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_storage.h">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\inter.c">
-			</File>
-			<File
-				RelativePath="..\src\char_sql\inter.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			Filter="">
-			<File
-				RelativePath="..\src\common\cbasetypes.h">
-			</File>
-			<File
-				RelativePath="..\src\common\core.c">
-			</File>
-			<File
-				RelativePath="..\src\common\core.h">
-			</File>
-			<File
-				RelativePath="..\src\common\db.c">
-			</File>
-			<File
-				RelativePath="..\src\common\db.h">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.c">
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h">
-			</File>
-			<File
-				RelativePath="..\src\common\random.c">
-			</File>
-			<File
-				RelativePath="..\src\common\random.h">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h">
-			</File>
-			<File
-				RelativePath="..\src\common\sql.c">
-			</File>
-			<File
-				RelativePath="..\src\common\sql.h">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h">
-			</File>
-			<File
-				RelativePath="..\src\common\version.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="3rdparty"
-			Filter="">
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c">
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 307
vcproj-7.1/char-server_txt.vcproj

@@ -1,307 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="char-server_txt"
-	ProjectGUID="{D356871D-58E1-450B-967A-E3E9646175AF}"
-	RootNamespace="char-server_txt"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;TXT_ONLY;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="TRUE"
-				ExceptionHandling="FALSE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="TRUE"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="4"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrtd.lib oldnames.lib ws2_32.lib"
-				OutputFile="$(OutDir)\char-server.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories=""
-				IgnoreAllDefaultLibraries="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\char-server.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="TRUE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				EnableFiberSafeOptimizations="TRUE"
-				OptimizeForProcessor="2"
-				OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;TXT_ONLY;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				StringPooling="TRUE"
-				RuntimeLibrary="3"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="3"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrt.lib oldnames.lib ws2_32.lib"
-				OutputFile="$(OutDir)\char-server.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories=""
-				IgnoreAllDefaultLibraries="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\char-server.pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				OptimizeForWindows98="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="char_txt"
-			Filter="">
-			<File
-				RelativePath="..\src\char\char.c">
-			</File>
-			<File
-				RelativePath="..\src\char\char.h">
-			</File>
-			<File
-				RelativePath="..\src\char\int_guild.c">
-			</File>
-			<File
-				RelativePath="..\src\char\int_guild.h">
-			</File>
-			<File
-				RelativePath="..\src\char\int_homun.c">
-			</File>
-			<File
-				RelativePath="..\src\char\int_homun.h">
-			</File>
-			<File
-				RelativePath="..\src\char\int_party.c">
-			</File>
-			<File
-				RelativePath="..\src\char\int_party.h">
-			</File>
-			<File
-				RelativePath="..\src\char\int_pet.c">
-			</File>
-			<File
-				RelativePath="..\src\char\int_pet.h">
-			</File>
-			<File
-				RelativePath="..\src\char\int_status.c">
-			</File>
-			<File
-				RelativePath="..\src\char\int_status.h">
-			</File>
-			<File
-				RelativePath="..\src\char\int_storage.c">
-			</File>
-			<File
-				RelativePath="..\src\char\int_storage.h">
-			</File>
-			<File
-				RelativePath="..\src\char\inter.c">
-			</File>
-			<File
-				RelativePath="..\src\char\inter.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			Filter="">
-			<File
-				RelativePath="..\src\common\cbasetypes.h">
-			</File>
-			<File
-				RelativePath="..\src\common\core.c">
-			</File>
-			<File
-				RelativePath="..\src\common\core.h">
-			</File>
-			<File
-				RelativePath="..\src\common\db.c">
-			</File>
-			<File
-				RelativePath="..\src\common\db.h">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.c">
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h">
-			</File>
-			<File
-				RelativePath="..\src\common\random.c">
-			</File>
-			<File
-				RelativePath="..\src\common\random.h">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h">
-			</File>
-			<File
-				RelativePath="..\src\common\version.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="3rdparty"
-			Filter="">
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c">
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 291
vcproj-7.1/login-server_sql.vcproj

@@ -1,291 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="login-server_sql"
-	ProjectGUID="{D356871D-58E1-450B-967A-E5E9646175AF}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;WITH_SQL"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="TRUE"
-				ExceptionHandling="FALSE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="TRUE"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="4"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrtd.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\login-server_sql.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="TRUE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				EnableFiberSafeOptimizations="TRUE"
-				OptimizeForProcessor="2"
-				OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;WITH_SQL"
-				StringPooling="TRUE"
-				RuntimeLibrary="3"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=""
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="3"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrt.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\login-server_sql.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="TRUE"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				OptimizeForWindows98="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="login_sql"
-			Filter="">
-			<File
-				RelativePath="..\src\login\account.h">
-			</File>
-			<File
-				RelativePath="..\src\login\account_sql.c">
-			</File>
-			<File
-				RelativePath="..\src\login\ipban.h">
-			</File>
-			<File
-				RelativePath="..\src\login\ipban_sql.c">
-			</File>
-			<File
-				RelativePath="..\src\login\login.c">
-			</File>
-			<File
-				RelativePath="..\src\login\login.h">
-			</File>
-			<File
-				RelativePath="..\src\login\loginlog.h">
-			</File>
-			<File
-				RelativePath="..\src\login\loginlog_sql.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			Filter="">
-			<File
-				RelativePath="..\src\common\cbasetypes.h">
-			</File>
-			<File
-				RelativePath="..\src\common\core.c">
-			</File>
-			<File
-				RelativePath="..\src\common\core.h">
-			</File>
-			<File
-				RelativePath="..\src\common\db.c">
-			</File>
-			<File
-				RelativePath="..\src\common\db.h">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h">
-			</File>
-			<File
-				RelativePath="..\src\common\random.c">
-			</File>
-			<File
-				RelativePath="..\src\common\random.h">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h">
-			</File>
-			<File
-				RelativePath="..\src\common\sql.c">
-			</File>
-			<File
-				RelativePath="..\src\common\sql.h">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h">
-			</File>
-			<File
-				RelativePath="..\src\common\version.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="3rdparty"
-			Filter="">
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c">
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 288
vcproj-7.1/login-server_txt.vcproj

@@ -1,288 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="login-server_txt"
-	ProjectGUID="{D356871D-58E1-450B-967A-E2E9646175AF}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;WITH_TXT"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="TRUE"
-				ExceptionHandling="FALSE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="TRUE"
-				DisableLanguageExtensions="FALSE"
-				DefaultCharIsUnsigned="FALSE"
-				TreatWChar_tAsBuiltInType="FALSE"
-				ForceConformanceInForLoopScope="FALSE"
-				RuntimeTypeInfo="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				WarnAsError="FALSE"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="4"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrtd.lib oldnames.lib ws2_32.lib"
-				ShowProgress="0"
-				OutputFile="$(OutDir)\login-server.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories=""
-				IgnoreAllDefaultLibraries="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\login-server.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="TRUE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				EnableFiberSafeOptimizations="TRUE"
-				OptimizeForProcessor="2"
-				OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;WITH_TXT"
-				StringPooling="TRUE"
-				RuntimeLibrary="3"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="3"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrt.lib oldnames.lib ws2_32.lib"
-				OutputFile="$(OutDir)\login-server.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories=""
-				IgnoreAllDefaultLibraries="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\login-server.pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				OptimizeForWindows98="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="login_txt"
-			Filter="">
-			<File
-				RelativePath="..\src\login\account.h">
-			</File>
-			<File
-				RelativePath="..\src\login\account_txt.c">
-			</File>
-			<File
-				RelativePath="..\src\login\ipban.h">
-			</File>
-			<File
-				RelativePath="..\src\login\ipban_txt.c">
-			</File>
-			<File
-				RelativePath="..\src\login\login.c">
-			</File>
-			<File
-				RelativePath="..\src\login\login.h">
-			</File>
-			<File
-				RelativePath="..\src\login\loginlog.h">
-			</File>
-			<File
-				RelativePath="..\src\login\loginlog_txt.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			Filter="">
-			<File
-				RelativePath="..\src\common\cbasetypes.h">
-			</File>
-			<File
-				RelativePath="..\src\common\core.c">
-			</File>
-			<File
-				RelativePath="..\src\common\core.h">
-			</File>
-			<File
-				RelativePath="..\src\common\db.c">
-			</File>
-			<File
-				RelativePath="..\src\common\db.h">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h">
-			</File>
-			<File
-				RelativePath="..\src\common\random.c">
-			</File>
-			<File
-				RelativePath="..\src\common\random.h">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h">
-			</File>
-			<File
-				RelativePath="..\src\common\version.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="3rdparty"
-			Filter="">
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c">
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 490
vcproj-7.1/map-server_sql.vcproj

@@ -1,490 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="map-server_sql"
-	ProjectGUID="{D356871D-58E1-450B-967A-E6E9646175AF}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/wd4018
-/wd4100"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="TRUE"
-				ExceptionHandling="FALSE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="TRUE"
-				DefaultCharIsUnsigned="FALSE"
-				ForceConformanceInForLoopScope="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="4"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrtd.lib oldnames.lib ws2_32.lib libmysql.lib zdll.lib pcre.lib"
-				OutputFile="$(OutDir)\map-server_sql.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib"
-				IgnoreAllDefaultLibraries="TRUE"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="TRUE">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/wd4018
-/wd4100"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				EnableFiberSafeOptimizations="TRUE"
-				OptimizeForProcessor="2"
-				OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;PCRE_SUPPORT;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				StringPooling="TRUE"
-				RuntimeLibrary="3"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="3"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrt.lib oldnames.lib ws2_32.lib libmysql.lib zdll.lib pcre.lib"
-				OutputFile="$(OutDir)\map-server_sql.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib"
-				IgnoreAllDefaultLibraries="TRUE"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				OptimizeForWindows98="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="map_sql"
-			Filter="">
-			<File
-				RelativePath="..\src\map\atcommand.c">
-			</File>
-			<File
-				RelativePath="..\src\map\atcommand.h">
-			</File>
-			<File
-				RelativePath="..\src\map\battle.c">
-			</File>
-			<File
-				RelativePath="..\src\map\battle.h">
-			</File>
-			<File
-				RelativePath="..\src\map\battleground.c">
-			</File>
-			<File
-				RelativePath="..\src\map\battleground.h">
-			</File>
-			<File
-				RelativePath="..\src\map\buyingstore.c">
-			</File>
-			<File
-				RelativePath="..\src\map\buyingstore.h">
-			</File>
-			<File
-				RelativePath="..\src\map\chat.c">
-			</File>
-			<File
-				RelativePath="..\src\map\chat.h">
-			</File>
-			<File
-				RelativePath="..\src\map\chrif.c">
-			</File>
-			<File
-				RelativePath="..\src\map\chrif.h">
-			</File>
-			<File
-				RelativePath="..\src\map\clif.c">
-			</File>
-			<File
-				RelativePath="..\src\map\clif.h">
-			</File>
-			<File
-				RelativePath="..\src\map\date.c">
-			</File>
-			<File
-				RelativePath="..\src\map\date.h">
-			</File>
-			<File
-				RelativePath="..\src\map\duel.c">
-			</File>
-			<File
-				RelativePath="..\src\map\duel.h">
-			</File>
-			<File
-				RelativePath="..\src\map\guild.c">
-			</File>
-			<File
-				RelativePath="..\src\map\guild.h">
-			</File>
-			<File
-				RelativePath="..\src\map\intif.c">
-			</File>
-			<File
-				RelativePath="..\src\map\intif.h">
-			</File>
-			<File
-				RelativePath="..\src\map\itemdb.c">
-			</File>
-			<File
-				RelativePath="..\src\map\itemdb.h">
-			</File>
-			<File
-				RelativePath="..\src\map\log.c">
-			</File>
-			<File
-				RelativePath="..\src\map\log.h">
-			</File>
-			<File
-				RelativePath="..\src\map\mail.c">
-			</File>
-			<File
-				RelativePath="..\src\map\mail.h">
-			</File>
-			<File
-				RelativePath="..\src\map\map.c">
-			</File>
-			<File
-				RelativePath="..\src\map\map.h">
-			</File>
-			<File
-				RelativePath="..\src\map\mapreg.h">
-			</File>
-			<File
-				RelativePath="..\src\map\mapreg_sql.c">
-			</File>
-			<File
-				RelativePath="..\src\map\homunculus.c">
-			</File>
-			<File
-				RelativePath="..\src\map\homunculus.h">
-			</File>
-			<File
-				RelativePath="..\src\map\instance.c">
-			</File>
-			<File
-				RelativePath="..\src\map\instance.h">
-			</File>
-			<File
-				RelativePath="..\src\map\mercenary.c">
-			</File>
-			<File
-				RelativePath="..\src\map\mercenary.h">
-			</File>
-			<File
-				RelativePath="..\src\map\mob.c">
-			</File>
-			<File
-				RelativePath="..\src\map\mob.h">
-			</File>
-			<File
-				RelativePath="..\src\map\npc.c">
-			</File>
-			<File
-				RelativePath="..\src\map\npc.h">
-			</File>
-			<File
-				RelativePath="..\src\map\npc_chat.c">
-			</File>
-			<File
-				RelativePath="..\src\map\party.c">
-			</File>
-			<File
-				RelativePath="..\src\map\party.h">
-			</File>
-			<File
-				RelativePath="..\src\map\path.c">
-			</File>
-			<File
-				RelativePath="..\src\map\path.h">
-			</File>
-			<File
-				RelativePath="..\src\map\pc.c">
-			</File>
-			<File
-				RelativePath="..\src\map\pc.h">
-			</File>
-			<File
-				RelativePath="..\src\map\pet.c">
-			</File>
-			<File
-				RelativePath="..\src\map\pet.h">
-			</File>
-			<File
-				RelativePath="..\src\map\quest.c">
-			</File>
-			<File
-				RelativePath="..\src\map\quest.h">
-			</File>
-			<File
-				RelativePath="..\src\map\script.c">
-			</File>
-			<File
-				RelativePath="..\src\map\script.h">
-			</File>
-			<File
-				RelativePath="..\src\map\searchstore.c">
-			</File>
-			<File
-				RelativePath="..\src\map\searchstore.h">
-			</File>
-			<File
-				RelativePath="..\src\map\skill.c">
-			</File>
-			<File
-				RelativePath="..\src\map\skill.h">
-			</File>
-			<File
-				RelativePath="..\src\map\status.c">
-			</File>
-			<File
-				RelativePath="..\src\map\status.h">
-			</File>
-			<File
-				RelativePath="..\src\map\storage.c">
-			</File>
-			<File
-				RelativePath="..\src\map\storage.h">
-			</File>
-			<File
-				RelativePath="..\src\map\trade.c">
-			</File>
-			<File
-				RelativePath="..\src\map\trade.h">
-			</File>
-			<File
-				RelativePath="..\src\map\unit.c">
-			</File>
-			<File
-				RelativePath="..\src\map\unit.h">
-			</File>
-			<File
-				RelativePath="..\src\map\vending.c">
-			</File>
-			<File
-				RelativePath="..\src\map\vending.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			Filter="">
-			<File
-				RelativePath="..\src\common\cbasetypes.h">
-			</File>
-			<File
-				RelativePath="..\src\common\core.c">
-			</File>
-			<File
-				RelativePath="..\src\common\core.h">
-			</File>
-			<File
-				RelativePath="..\src\common\db.c">
-			</File>
-			<File
-				RelativePath="..\src\common\db.h">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h">
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.c">
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.h">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.c">
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.h">
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h">
-			</File>
-			<File
-				RelativePath="..\src\common\random.c">
-			</File>
-			<File
-				RelativePath="..\src\common\random.h">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h">
-			</File>
-			<File
-				RelativePath="..\src\common\sql.c">
-			</File>
-			<File
-				RelativePath="..\src\common\sql.h">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h">
-			</File>
-			<File
-				RelativePath="..\src\common\version.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="3rdparty"
-			Filter="">
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c">
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 484
vcproj-7.1/map-server_txt.vcproj

@@ -1,484 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="map-server_txt"
-	ProjectGUID="{D356871D-58E1-450B-967A-E1E9646175AF}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/wd4018
-/wd4100"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;TXT_ONLY;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="TRUE"
-				ExceptionHandling="FALSE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="TRUE"
-				DefaultCharIsUnsigned="FALSE"
-				ForceConformanceInForLoopScope="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="4"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/FIXED:NO"
-				AdditionalDependencies="msvcrtd.lib oldnames.lib ws2_32.lib zdll.lib pcre.lib"
-				OutputFile="$(OutDir)\map-server.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\zlib\lib;..\3rdparty\pcre\lib"
-				IgnoreAllDefaultLibraries="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\map-server.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="TRUE">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalOptions="/wd4018
-/wd4100"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				EnableFiberSafeOptimizations="TRUE"
-				OptimizeForProcessor="2"
-				OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;PCRE_SUPPORT;TXT_ONLY;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				StringPooling="TRUE"
-				RuntimeLibrary="3"
-				EnableEnhancedInstructionSet="0"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="3"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrt.lib oldnames.lib ws2_32.lib zdll.lib pcre.lib"
-				OutputFile="$(OutDir)\map-server.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\zlib\lib;..\3rdparty\pcre\lib"
-				IgnoreAllDefaultLibraries="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\map-server.pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				OptimizeForWindows98="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="map_txt"
-			Filter="">
-			<File
-				RelativePath="..\src\map\atcommand.c">
-			</File>
-			<File
-				RelativePath="..\src\map\atcommand.h">
-			</File>
-			<File
-				RelativePath="..\src\map\battle.c">
-			</File>
-			<File
-				RelativePath="..\src\map\battle.h">
-			</File>
-			<File
-				RelativePath="..\src\map\battleground.c">
-			</File>
-			<File
-				RelativePath="..\src\map\battleground.h">
-			</File>
-			<File
-				RelativePath="..\src\map\buyingstore.c">
-			</File>
-			<File
-				RelativePath="..\src\map\buyingstore.h">
-			</File>
-			<File
-				RelativePath="..\src\map\chat.c">
-			</File>
-			<File
-				RelativePath="..\src\map\chat.h">
-			</File>
-			<File
-				RelativePath="..\src\map\chrif.c">
-			</File>
-			<File
-				RelativePath="..\src\map\chrif.h">
-			</File>
-			<File
-				RelativePath="..\src\map\clif.c">
-			</File>
-			<File
-				RelativePath="..\src\map\clif.h">
-			</File>
-			<File
-				RelativePath="..\src\map\date.c">
-			</File>
-			<File
-				RelativePath="..\src\map\date.h">
-			</File>
-			<File
-				RelativePath="..\src\map\duel.c">
-			</File>
-			<File
-				RelativePath="..\src\map\duel.h">
-			</File>
-			<File
-				RelativePath="..\src\map\guild.c">
-			</File>
-			<File
-				RelativePath="..\src\map\guild.h">
-			</File>
-			<File
-				RelativePath="..\src\map\intif.c">
-			</File>
-			<File
-				RelativePath="..\src\map\intif.h">
-			</File>
-			<File
-				RelativePath="..\src\map\itemdb.c">
-			</File>
-			<File
-				RelativePath="..\src\map\itemdb.h">
-			</File>
-			<File
-				RelativePath="..\src\map\log.c">
-			</File>
-			<File
-				RelativePath="..\src\map\log.h">
-			</File>
-			<File
-				RelativePath="..\src\map\mail.c">
-			</File>
-			<File
-				RelativePath="..\src\map\mail.h">
-			</File>
-			<File
-				RelativePath="..\src\map\map.c">
-			</File>
-			<File
-				RelativePath="..\src\map\map.h">
-			</File>
-			<File
-				RelativePath="..\src\map\mapreg.h">
-			</File>
-			<File
-				RelativePath="..\src\map\mapreg_txt.c">
-			</File>
-			<File
-				RelativePath="..\src\map\homunculus.c">
-			</File>
-			<File
-				RelativePath="..\src\map\homunculus.h">
-			</File>
-			<File
-				RelativePath="..\src\map\instance.c">
-			</File>
-			<File
-				RelativePath="..\src\map\instance.h">
-			</File>
-			<File
-				RelativePath="..\src\map\mercenary.c">
-			</File>
-			<File
-				RelativePath="..\src\map\mercenary.h">
-			</File>
-			<File
-				RelativePath="..\src\map\mob.c">
-			</File>
-			<File
-				RelativePath="..\src\map\mob.h">
-			</File>
-			<File
-				RelativePath="..\src\map\npc.c">
-			</File>
-			<File
-				RelativePath="..\src\map\npc.h">
-			</File>
-			<File
-				RelativePath="..\src\map\npc_chat.c">
-			</File>
-			<File
-				RelativePath="..\src\map\party.c">
-			</File>
-			<File
-				RelativePath="..\src\map\party.h">
-			</File>
-			<File
-				RelativePath="..\src\map\path.c">
-			</File>
-			<File
-				RelativePath="..\src\map\path.h">
-			</File>
-			<File
-				RelativePath="..\src\map\pc.c">
-			</File>
-			<File
-				RelativePath="..\src\map\pc.h">
-			</File>
-			<File
-				RelativePath="..\src\map\pet.c">
-			</File>
-			<File
-				RelativePath="..\src\map\pet.h">
-			</File>
-			<File
-				RelativePath="..\src\map\quest.c">
-			</File>
-			<File
-				RelativePath="..\src\map\quest.h">
-			</File>
-			<File
-				RelativePath="..\src\map\script.c">
-			</File>
-			<File
-				RelativePath="..\src\map\script.h">
-			</File>
-			<File
-				RelativePath="..\src\map\searchstore.c">
-			</File>
-			<File
-				RelativePath="..\src\map\searchstore.h">
-			</File>
-			<File
-				RelativePath="..\src\map\skill.c">
-			</File>
-			<File
-				RelativePath="..\src\map\skill.h">
-			</File>
-			<File
-				RelativePath="..\src\map\status.c">
-			</File>
-			<File
-				RelativePath="..\src\map\status.h">
-			</File>
-			<File
-				RelativePath="..\src\map\storage.c">
-			</File>
-			<File
-				RelativePath="..\src\map\storage.h">
-			</File>
-			<File
-				RelativePath="..\src\map\trade.c">
-			</File>
-			<File
-				RelativePath="..\src\map\trade.h">
-			</File>
-			<File
-				RelativePath="..\src\map\unit.c">
-			</File>
-			<File
-				RelativePath="..\src\map\unit.h">
-			</File>
-			<File
-				RelativePath="..\src\map\vending.c">
-			</File>
-			<File
-				RelativePath="..\src\map\vending.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			Filter="">
-			<File
-				RelativePath="..\src\common\cbasetypes.h">
-			</File>
-			<File
-				RelativePath="..\src\common\core.c">
-			</File>
-			<File
-				RelativePath="..\src\common\core.h">
-			</File>
-			<File
-				RelativePath="..\src\common\db.c">
-			</File>
-			<File
-				RelativePath="..\src\common\db.h">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c">
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h">
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.c">
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.h">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c">
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.c">
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.h">
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c">
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c">
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h">
-			</File>
-			<File
-				RelativePath="..\src\common\random.c">
-			</File>
-			<File
-				RelativePath="..\src\common\random.h">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c">
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c">
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h">
-			</File>
-			<File
-				RelativePath="..\src\common\version.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="3rdparty"
-			Filter="">
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c">
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 199
vcproj-7.1/mapcache.vcproj

@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="windows-1250"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="mapcache"
-	ProjectGUID="{BB5C63F0-57AD-42F0-83F8-8F9323BC089C}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\zlib\include;..\3rdparty\msinttypes\include"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;MINICORE"
-				MinimalRebuild="TRUE"
-				ExceptionHandling="FALSE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				BufferSecurityCheck="TRUE"
-				EnableFunctionLevelLinking="TRUE"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="4"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrtd.lib oldnames.lib zdll.lib"
-				OutputFile="$(OutDir)\mapcache.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\zlib\lib"
-				IgnoreAllDefaultLibraries="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="TRUE">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				GlobalOptimizations="TRUE"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="TRUE"
-				ImproveFloatingPointConsistency="TRUE"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="TRUE"
-				EnableFiberSafeOptimizations="TRUE"
-				OptimizeForProcessor="2"
-				OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\3rdparty\zlib\include;..\3rdparty\msinttypes\include"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;MINICORE"
-				StringPooling="TRUE"
-				RuntimeLibrary="3"
-				DefaultCharIsUnsigned="FALSE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="3"
-				CompileAs="1"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="msvcrt.lib oldnames.lib zdll.lib"
-				OutputFile="$(OutDir)\mapcache.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\zlib\lib"
-				IgnoreAllDefaultLibraries="TRUE"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				OptimizeForWindows98="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			Filter="">
-			<File
-				RelativePath="..\src\common\cbasetypes.h">
-			</File>
-			<File
-				RelativePath="..\src\common\core.c">
-			</File>
-			<File
-				RelativePath="..\src\common\core.h">
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.c">
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.h">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c">
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h">
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c">
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c">
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c">
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h">
-			</File>
-			<File
-				RelativePath="..\src\common\version.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="mapcache"
-			Filter="">
-			<File
-				RelativePath="..\src\tool\mapcache.c">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 445
vcproj-8/char-server_sql.vcproj

@@ -1,445 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="char-server_sql"
-	ProjectGUID="{D356871D-58E1-450B-967A-E4E9646175AF}"
-	RootNamespace="char-server_sql"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="true"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				EnableFunctionLevelLinking="true"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-				CompileAs="1"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmtd.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="true"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="true"
-				EnableFiberSafeOptimizations="true"
-				WholeProgramOptimization="true"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="1"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmt.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="true"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				LinkTimeCodeGeneration="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="3rdparty"
-			>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c"
-				>
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\src\common\cbasetypes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\sql.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\sql.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\version.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="char_sql"
-			>
-			<File
-				RelativePath="..\src\char_sql\char.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\char.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_auction.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_auction.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_guild.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_guild.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_homun.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_homun.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_mail.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_mail.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_mercenary.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_mercenary.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_party.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_party.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_pet.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_pet.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_quest.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_quest.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_storage.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_storage.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\inter.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\inter.h"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 411
vcproj-8/char-server_txt.vcproj

@@ -1,411 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="char-server_txt"
-	ProjectGUID="{D356871D-58E1-450B-967A-E3E9646175AF}"
-	RootNamespace="char-server_txt"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;TXT_ONLY;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="true"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				EnableFunctionLevelLinking="true"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-				CompileAs="1"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmtd.lib oldnames.lib ws2_32.lib"
-				OutputFile="$(OutDir)\char-server.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories=""
-				IgnoreAllDefaultLibraries="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\char-server.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="true"
-				EnableFiberSafeOptimizations="true"
-				WholeProgramOptimization="true"
-				AdditionalIncludeDirectories="..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;TXT_ONLY;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="1"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmt.lib oldnames.lib ws2_32.lib"
-				OutputFile="$(OutDir)\char-server.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories=""
-				IgnoreAllDefaultLibraries="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\char-server.pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				LinkTimeCodeGeneration="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="char_txt"
-			>
-			<File
-				RelativePath="..\src\char\char.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\char.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_guild.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_guild.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_homun.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_homun.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_party.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_party.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_pet.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_pet.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_status.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_status.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_storage.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_storage.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\inter.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\inter.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\src\common\cbasetypes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\version.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="3rdparty"
-			>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c"
-				>
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 211
vcproj-8/dbghelpplug.vcproj

@@ -1,211 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="dbghelpplug"
-	ProjectGUID="{334742E0-7790-4857-A794-A54625D93487}"
-	RootNamespace="dbghelpplug"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DBGHELPPLUG_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="false"
-				MinimalRebuild="true"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="true"
-				EnableFunctionLevelLinking="true"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-				CompileAs="1"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmtd.lib"
-				OutputFile="$(OutDir)\plugins\$(ProjectName).dll"
-				LinkIncremental="2"
-				IgnoreAllDefaultLibraries="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\plugins\$(ProjectName).pdb"
-				SubSystem="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DBGHELPPLUG_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				MinimalRebuild="false"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="false"
-				DisableLanguageExtensions="false"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="0"
-				CompileAs="1"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmt.lib"
-				OutputFile="$(OutDir)\plugins\$(ProjectName).dll"
-				LinkIncremental="1"
-				IgnoreAllDefaultLibraries="true"
-				GenerateDebugInformation="false"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="plugin"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\src\plugins\dbghelpplug.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\plugins\dbghelpplug.rc"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 391
vcproj-8/login-server_sql.vcproj

@@ -1,391 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="login-server_sql"
-	ProjectGUID="{D356871D-58E1-450B-967A-E5E9646175AF}"
-	RootNamespace="login-server_sql"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;WITH_SQL"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="true"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				EnableFunctionLevelLinking="true"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-				CompileAs="1"
-				DisableSpecificWarnings="4100;4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmtd.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="true"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="true"
-				EnableFiberSafeOptimizations="true"
-				WholeProgramOptimization="true"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;WITH_SQL"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=""
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="1"
-				DisableSpecificWarnings="4100;4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmt.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="true"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				LinkTimeCodeGeneration="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="login_sql"
-			>
-			<File
-				RelativePath="..\src\login\account.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\account_sql.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\ipban.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\ipban_sql.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\login.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\login.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\loginlog.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\loginlog_sql.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\src\common\cbasetypes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\sql.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\sql.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\version.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="3rdparty"
-			>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c"
-				>
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 374
vcproj-8/login-server_txt.vcproj

@@ -1,374 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="login-server_txt"
-	ProjectGUID="{D356871D-58E1-450B-967A-E2E9646175AF}"
-	RootNamespace="login-server_txt"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;WITH_TXT"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="true"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				EnableFunctionLevelLinking="true"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-				CompileAs="1"
-				DisableSpecificWarnings="4100;4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmtd.lib oldnames.lib ws2_32.lib"
-				ShowProgress="0"
-				OutputFile="$(OutDir)\login-server.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories=""
-				IgnoreAllDefaultLibraries="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\login-server.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="true"
-				EnableFiberSafeOptimizations="true"
-				WholeProgramOptimization="true"
-				AdditionalIncludeDirectories="..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;WITH_TXT"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="1"
-				DisableSpecificWarnings="4100;4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmt.lib oldnames.lib ws2_32.lib"
-				OutputFile="$(OutDir)\login-server.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories=""
-				IgnoreAllDefaultLibraries="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\login-server.pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				LinkTimeCodeGeneration="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="login_txt"
-			>
-			<File
-				RelativePath="..\src\login\account.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\account_txt.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\ipban.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\ipban_txt.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\login.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\login.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\loginlog.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\login\loginlog_txt.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\src\common\cbasetypes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\version.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="3rdparty"
-			>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c"
-				>
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 654
vcproj-8/map-server_sql.vcproj

@@ -1,654 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="map-server_sql"
-	ProjectGUID="{D356871D-58E1-450B-967A-E6E9646175AF}"
-	RootNamespace="map-server_sql"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="true"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				EnableFunctionLevelLinking="true"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-				CompileAs="1"
-				DisableSpecificWarnings="4018;4100;4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmtd.lib oldnames.lib ws2_32.lib libmysql.lib zdll.lib pcre.lib"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib"
-				IgnoreAllDefaultLibraries="true"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="true"
-				EnableFiberSafeOptimizations="true"
-				WholeProgramOptimization="true"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="1"
-				DisableSpecificWarnings="4018;4100;4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmt.lib oldnames.lib ws2_32.lib libmysql.lib zdll.lib pcre.lib"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib"
-				IgnoreAllDefaultLibraries="true"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				LinkTimeCodeGeneration="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="3rdparty"
-			>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c"
-				>
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\src\common\cbasetypes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\sql.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\sql.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\version.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="map_sql"
-			>
-			<File
-				RelativePath="..\src\map\atcommand.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\atcommand.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\battle.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\battle.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\battleground.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\battleground.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\buyingstore.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\buyingstore.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\chat.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\chat.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\chrif.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\chrif.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\clif.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\clif.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\date.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\date.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\duel.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\duel.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\guild.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\guild.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\homunculus.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\homunculus.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\instance.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\instance.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\intif.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\intif.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\itemdb.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\itemdb.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\log.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\log.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mail.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mail.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\map.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\map.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mapreg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mapreg_sql.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mercenary.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mercenary.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mob.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mob.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\npc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\npc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\npc_chat.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\party.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\party.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\path.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\path.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\pc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\pc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\pet.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\pet.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\quest.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\quest.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\script.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\script.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\searchstore.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\searchstore.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\skill.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\skill.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\status.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\status.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\storage.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\storage.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\trade.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\trade.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\unit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\unit.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\vending.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\vending.h"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 645
vcproj-8/map-server_txt.vcproj

@@ -1,645 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="map-server_txt"
-	ProjectGUID="{D356871D-58E1-450B-967A-E1E9646175AF}"
-	RootNamespace="map-server_txt"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;TXT_ONLY;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="true"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				EnableFunctionLevelLinking="true"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-				CompileAs="1"
-				DisableSpecificWarnings="4018;4100;4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/FIXED:NO"
-				AdditionalDependencies="libcmtd.lib oldnames.lib ws2_32.lib zdll.lib pcre.lib"
-				OutputFile="$(OutDir)\map-server.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\zlib\lib;..\3rdparty\pcre\lib"
-				IgnoreAllDefaultLibraries="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\map-server.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="true"
-				EnableFiberSafeOptimizations="true"
-				WholeProgramOptimization="true"
-				AdditionalIncludeDirectories="..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;PCRE_SUPPORT;TXT_ONLY;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="false"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="1"
-				DisableSpecificWarnings="4018;4100;4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmt.lib oldnames.lib ws2_32.lib zdll.lib pcre.lib"
-				OutputFile="$(OutDir)\map-server.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\zlib\lib;..\3rdparty\pcre\lib"
-				IgnoreAllDefaultLibraries="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\map-server.pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				LinkTimeCodeGeneration="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="map_txt"
-			>
-			<File
-				RelativePath="..\src\map\atcommand.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\atcommand.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\battle.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\battle.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\battleground.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\battleground.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\buyingstore.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\buyingstore.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\chat.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\chat.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\chrif.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\chrif.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\clif.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\clif.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\date.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\date.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\duel.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\duel.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\guild.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\guild.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\homunculus.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\homunculus.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\instance.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\instance.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\intif.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\intif.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\itemdb.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\itemdb.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\log.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\log.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mail.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mail.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\map.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\map.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mapreg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mapreg_txt.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mercenary.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mercenary.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mob.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\mob.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\npc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\npc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\npc_chat.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\party.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\party.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\path.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\path.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\pc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\pc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\pet.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\pet.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\quest.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\quest.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\script.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\script.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\searchstore.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\searchstore.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\skill.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\skill.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\status.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\status.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\storage.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\storage.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\trade.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\trade.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\unit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\unit.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\vending.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\map\vending.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\src\common\cbasetypes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\md5calc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\nullpo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\plugins.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\random.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\socket.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\version.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="3rdparty"
-			>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.c"
-				>
-			</File>
-			<File
-				RelativePath="..\3rdparty\mt19937ar\mt19937ar.h"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 269
vcproj-8/mapcache.vcproj

@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="mapcache"
-	ProjectGUID="{D356871D-58E1-450B-967A-E7E9646175AF}"
-	RootNamespace="mapcache"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\zlib\include;..\3rdparty\msinttypes\include"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;MINICORE"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="true"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				EnableFunctionLevelLinking="true"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-				CompileAs="1"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/FIXED:NO"
-				AdditionalDependencies="libcmtd.lib oldnames.lib zdll.lib"
-				OutputFile="$(OutDir)\mapcache.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\zlib\lib"
-				IgnoreAllDefaultLibraries="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".."
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="true"
-				EnableFiberSafeOptimizations="true"
-				WholeProgramOptimization="true"
-				AdditionalIncludeDirectories="..\3rdparty\zlib\include;..\3rdparty\msinttypes\include"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;MINICORE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="false"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="1"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmt.lib oldnames.lib zdll.lib"
-				OutputFile="$(OutDir)\mapcache.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\zlib\lib"
-				IgnoreAllDefaultLibraries="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				LinkTimeCodeGeneration="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\src\common\cbasetypes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\grfio.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mmo.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\version.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="mapcache"
-			>
-			<File
-				RelativePath="..\src\tool\mapcache.c"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 234
vcproj-8/plugin-console.vcproj

@@ -1,234 +0,0 @@
-<?xml version="1.0" encoding="windows-1250"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="console"
-	ProjectGUID="{73E1101A-310C-4453-8F45-FD2795ABEF15}"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug/console"
-			IntermediateDirectory=".\Debug/console"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				GenerateStublessProxies="true"
-				TypeLibraryName=".\Debug/console/console.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="../3rdparty/msinttypes/include"
-				PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/console/console.pch"
-				AssemblerListingLocation=".\Debug/console/"
-				ObjectFile=".\Debug/console/"
-				ProgramDataBaseFileName=".\Debug/console/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1047"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="../plugins/console.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				ModuleDefinitionFile="..\src\plugins\console.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="../plugins/console.pdb"
-				ImportLibrary=".\Debug/console/console.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/console/console.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release/console"
-			IntermediateDirectory=".\Release/console"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				GenerateStublessProxies="true"
-				TypeLibraryName=".\Release/console/console.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="../3rdparty/msinttypes/include"
-				PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/console/console.pch"
-				AssemblerListingLocation=".\Release/console/"
-				ObjectFile=".\Release/console/"
-				ProgramDataBaseFileName=".\Release/console/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1047"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="../plugins/console.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ModuleDefinitionFile="..\src\plugins\console.def"
-				ProgramDatabaseFile="../plugins/console.pdb"
-				ImportLibrary=".\Release/console/console.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/console/console.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\src\plugins\console.c"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					AdditionalIncludeDirectories=""
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					AdditionalIncludeDirectories=""
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\src\plugins\console.def"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 234
vcproj-8/plugin-pid.vcproj

@@ -1,234 +0,0 @@
-<?xml version="1.0" encoding="windows-1250"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="pid"
-	ProjectGUID="{9509E1B9-DA2B-4153-9EE0-CBCA6597F198}"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug/pid"
-			IntermediateDirectory=".\Debug/pid"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				GenerateStublessProxies="true"
-				TypeLibraryName=".\Debug/pid/pid.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="../3rdparty/msinttypes/include"
-				PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/pid/pid.pch"
-				AssemblerListingLocation=".\Debug/pid/"
-				ObjectFile=".\Debug/pid/"
-				ProgramDataBaseFileName=".\Debug/pid/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1047"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="../plugins/pid.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				ModuleDefinitionFile="..\src\plugins\pid.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="../plugins/pid.pdb"
-				ImportLibrary=".\Debug/pid/pid.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/pid/pid.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release/pid"
-			IntermediateDirectory=".\Release/pid"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				GenerateStublessProxies="true"
-				TypeLibraryName=".\Release/pid/pid.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="../3rdparty/msinttypes/include"
-				PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/pid/pid.pch"
-				AssemblerListingLocation=".\Release/pid/"
-				ObjectFile=".\Release/pid/"
-				ProgramDataBaseFileName=".\Release/pid/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1047"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="../plugins/pid.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ModuleDefinitionFile="..\src\plugins\pid.def"
-				ProgramDatabaseFile="../plugins/pid.pdb"
-				ImportLibrary=".\Release/pid/pid.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/pid/pid.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<File
-			RelativePath="..\src\plugins\pid.c"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					AdditionalIncludeDirectories=""
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					AdditionalIncludeDirectories=""
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\src\plugins\pid.def"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 505
vcproj-8/txt-converter-char.vcproj

@@ -1,505 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="txt-converter-char"
-	ProjectGUID="{D356871D-58E1-450B-967A-EAE9646175AF}"
-	RootNamespace="txt-converter-char"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="..\tools"
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;MINICORE;TXT_SQL_CONVERT"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="true"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				EnableFunctionLevelLinking="true"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-				CompileAs="1"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmtd.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\char-converter.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="true"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\char-converter.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="..\tools"
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="true"
-				EnableFiberSafeOptimizations="true"
-				WholeProgramOptimization="true"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;MINICORE;TXT_SQL_CONVERT"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=""
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="1"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmt.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\char-converter.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="true"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\char-converter.pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				LinkTimeCodeGeneration="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="char"
-			>
-			<File
-				RelativePath="..\src\char\char.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\char.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_guild.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_guild.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_party.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_party.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_pet.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_pet.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_storage.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\int_storage.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\inter.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char\inter.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\src\common\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\mapindex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\sql.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\sql.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="char_sql"
-			>
-			<File
-				RelativePath="..\src\char_sql\char.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\char.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_guild.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_guild.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_mercenary.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_mercenary.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_party.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_party.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_pet.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_pet.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_storage.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\int_storage.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\inter.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)\$(InputName)_sql.obj"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\src\char_sql\inter.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="..\src\txt-converter\char-converter.c"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 301
vcproj-8/txt-converter-login.vcproj

@@ -1,301 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="txt-converter-login"
-	ProjectGUID="{D356871D-58E1-450B-967A-E9E9646175AF}"
-	RootNamespace="txt-converter-login"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="..\tools"
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;MINICORE;WITH_TXT;WITH_SQL"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="true"
-				ExceptionHandling="0"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				EnableFunctionLevelLinking="true"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-				CompileAs="1"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmtd.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\login-converter.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="true"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\login-converter.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="..\tools"
-			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				OmitFramePointers="true"
-				EnableFiberSafeOptimizations="true"
-				WholeProgramOptimization="true"
-				AdditionalIncludeDirectories="..\3rdparty\mysql\include;..\3rdparty\msinttypes\include"
-				PreprocessorDefinitions="WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;DB_MANUAL_CAST_TO_UNION;MINICORE;WITH_TXT;WITH_SQL"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				DefaultCharIsUnsigned="false"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=""
-				WarningLevel="3"
-				DebugInformationFormat="3"
-				CompileAs="1"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="libcmt.lib oldnames.lib ws2_32.lib libmysql.lib"
-				OutputFile="$(OutDir)\login-converter.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\3rdparty\mysql\lib"
-				IgnoreAllDefaultLibraries="true"
-				IgnoreDefaultLibraryNames=""
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\login-converter.pdb"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				LinkTimeCodeGeneration="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\src\common\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\core.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\db.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\ers.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\lock.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\malloc.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\showmsg.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\sql.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\sql.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\strlib.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\timer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\src\common\utils.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="..\src\login\account.h"
-			>
-		</File>
-		<File
-			RelativePath="..\src\login\account_sql.c"
-			>
-		</File>
-		<File
-			RelativePath="..\src\login\account_txt.c"
-			>
-		</File>
-		<File
-			RelativePath="..\src\txt-converter\login-converter.c"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 1 - 1
vcproj-9/char-server_sql.vcproj

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 <VisualStudioProject
 	ProjectType="Visual C++"
 	ProjectType="Visual C++"
-	Version="9,00"
+	Version="9.00"
 	Name="char-server_sql"
 	Name="char-server_sql"
 	ProjectGUID="{D356871D-58E1-450B-967A-E4E9646175AF}"
 	ProjectGUID="{D356871D-58E1-450B-967A-E4E9646175AF}"
 	RootNamespace="char-server_sql"
 	RootNamespace="char-server_sql"

+ 1 - 1
vcproj-9/char-server_txt.vcproj

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 <VisualStudioProject
 	ProjectType="Visual C++"
 	ProjectType="Visual C++"
-	Version="9,00"
+	Version="9.00"
 	Name="char-server_txt"
 	Name="char-server_txt"
 	ProjectGUID="{D356871D-58E1-450B-967A-E3E9646175AF}"
 	ProjectGUID="{D356871D-58E1-450B-967A-E3E9646175AF}"
 	RootNamespace="char-server_txt"
 	RootNamespace="char-server_txt"

+ 1 - 1
vcproj-9/login-server_sql.vcproj

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 <VisualStudioProject
 	ProjectType="Visual C++"
 	ProjectType="Visual C++"
-	Version="9,00"
+	Version="9.00"
 	Name="login-server_sql"
 	Name="login-server_sql"
 	ProjectGUID="{D356871D-58E1-450B-967A-E5E9646175AF}"
 	ProjectGUID="{D356871D-58E1-450B-967A-E5E9646175AF}"
 	RootNamespace="login-server_sql"
 	RootNamespace="login-server_sql"

Some files were not shown because too many files changed in this diff