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_parameter: 99
 
+// Same as max_parameter, but for 3rd classes.
+max_third_parameter: 120
+
 // Same as max_parameter, but for baby classes.
 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)
 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:
 //1: Hide Information 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
 //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
+//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
 10,0:4023,1,10,18,28,40,91,151,205,268,340
 //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
 //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
+//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; },{},{}
 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; },{},{}
-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; },{},{}
 //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; },{},{}
@@ -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; },{},{}
 //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; },{},{}
-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; },{},{}
-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; },{},{}
 //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; },{},{}
@@ -3233,8 +3233,8 @@
 6043,Letter_From_Lugen,Letter from Lugen,3,0,,10,,,,,,,,,,,,,{},{},{}
 6044,Letter_From_Otto,Letter from Otto,3,0,,10,,,,,,,,,,,,,{},{},{}
 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,,,,,,,,,,,,,{},{},{}
 6049,Marlin,Marlin,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,,,,,,,,,,,,,{},{},{}
 11054,SN_Book_Misc,SN Book Misc,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
 //===================================================================
 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; },{},{}
 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; },{},{}
-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; },{},{}
 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; },{},{}
@@ -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; } */ },{},{}
 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,,,,,,{},{},{}
-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; },{},{}
 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; },{},{}
@@ -5125,23 +5125,27 @@
 12418,Full_SwingK,Full SwingK,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,,,,,,{},{},{}
-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,,,,,,{},{},{}
 12439,F_Battle_Manual,F Battle Manual,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; },{},{}
 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; },{},{}
+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,,,,,,{},{},{}
 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,,,,,,{},{},{}
@@ -5301,28 +5306,34 @@
 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,,,,,,{},{},{}
 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,,,,,,{},{},{}
 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,,,,,,{},{},{}
@@ -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; },{},{}
 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; },{},{}
-// 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
 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; },{},{}
@@ -6735,16 +6745,16 @@
 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; },{},{}
 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,
 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; },{},{}
-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,
 //18501,Cheer_Scarf8,
 //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
 // 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 
+//*************************************************************
+//* 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
 // 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
+//*************************************************************
+//* 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
 //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
-//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
 //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

+ 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@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,,,,,,,
+//****
+// 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)
 // Client detection is faster when all clients use this version.
 // 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

+ 47 - 0
db/produce_db.txt

@@ -395,3 +395,50 @@
 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"
 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"
 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"
 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"
-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"
 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
 //
 // 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 ===========================
 //-- SM_PROVOKE
-6,0,0,0,30000,0
+6,0,0,0,30000,0,1000
 //-- SM_MAGNUM
-7,0,0,0,2000,10000
+7,0,0,0,2000,10000,2000
 //-- 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 ===============================
 //-- MG_SIGHT
-10,0,0,0,10000,0
+10,0,0,0,10000,0,0
 //-- 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
-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
-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
-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
-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
-16,1000,0,0,5000,20000
+16,1000,0,0,5000,20000,0
 //-- 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
-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
-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
-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
-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 ============================
 //-- AL_RUWACH
-24,0,0,0,10000,0
+24,0,0,0,10000,0,0
 //-- AL_PNEUMA
-25,0,0,0,10000,0
+25,0,0,0,10000,0,0
 //-- AL_TELEPORT
-26,0,0,0,0,0
+26,0,0,0,0,0,0
 //-- 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
-28,0,1000,0,0,0
+28,0,1000,0,0,0,0
 //-- 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
-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
-31,1000,500,0,0,0
+31,1000,500,0,0,0,0
 //-- AL_CRUCIS
-32,500,2000,0,60000,0
+32,500,2000,0,0,0,0
 //-- 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
-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
-35,0,1000,0,0,6000
+35,0,1000,0,0,6000,0
 //==========================================
 
 
 //===== Archer =============================
 //-- 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
-46,0,0,0,100,0
+46,0,0,0,100,0,0
 //-- AC_SHOWER
-47,0,0,0,100,0
+47,0,0,0,100,0,0
 //==========================================
 
 
 //===== Thief ==============================
 //-- 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
-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 =========
 //-- 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 =============================
 //-- KN_BRANDISHSPEAR
-57,700,0,0,0,0
+57,700,0,0,0,0,0
 
 //-- KN_SPEARBOOMERANG
-59,0,1000,0,0,0
+59,0,1000,0,0,0,0
 //-- 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
-61,0,0,0,400:800:1200:1600:2000,0
+61,0,0,0,400:800:1200:1600:2000,0,0
 //-- KN_BOWLINGBASH
-62,700,0,0,0,0
+62,700,0,0,0,0,0
 //==========================================
 
 
 //===== Priest =============================
 //-- PR_IMPOSITIO
-66,0,3000,0,60000,0
+66,0,3000,0,60000,0,0
 //-- PR_SUFFRAGIUM
-67,0,2000,0,30000:20000:10000,0
+67,0,2000,0,30000:20000:10000,0,0
 //-- 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
-69,0,0,0,40000:80000:120000:160000:200000,0
+69,0,0,0,40000:80000:120000:160000:200000,0,0
 //-- 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
-71,0,0,0,10000:20000:30000:40000,0
+71,0,0,0,10000:20000:30000:40000,0,0
 //-- PR_STRECOVERY
-72,0,2000,0,0,30000
+72,0,2000,0,0,30000,0
 //-- PR_KYRIE
-73,2000,2000,0,120000,0
+73,2000,2000,0,120000,0,0
 //-- 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
-75,0,2000,0,10000:15000:20000:25000:30000,0
+75,0,2000,0,10000:15000:20000:25000:30000,0,0
 //-- 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
-77,1000,3000,0,0,0
+77,1000,3000,0,0,0,0
 //-- PR_LEXAETERNA
-78,0,3000,0,600000,0
+78,0,3000,0,600000,0,0
 //-- 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 =============================
 //-- 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
-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
-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
-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
-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
-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
-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
-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
-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
-90,1000:2000:3000:4000:5000,700,0,0,0
+90,1000:2000:3000:4000:5000,700,0,0,0,0
 //-- 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
-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 =========================
 //-- BS_REPAIRWEAPON
-108,7500,0,0,0,0
+108,7500,0,0,0,0,0
 //-- BS_HAMMERFALL
-110,0,0,0,0,5000
+110,0,0,0,0,5000,0
 //-- 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
-112,0,0,0,10000:20000:30000:40000:50000,0
+112,0,0,0,10000:20000:30000:40000:50000,0,0
 //-- 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
-114,0,0,0,1000:2000:3000:4000:5000,0
+114,0,0,0,1000:2000:3000:4000:5000,0,0
 //==========================================
 
 
 //===== Hunter =============================
 //-- 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
-116,0,0,0,200000:160000:120000:80000:40000,5000
+116,0,0,0,200000:160000:120000:80000:40000,5000,0
 //-- 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
-118,0,0,0,200000:160000:120000:80000:40000,0
+118,0,0,0,200000:160000:120000:80000:40000,0,0
 //-- 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
-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
-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
-122,0,0,0,25000:20000:15000:10000:5000,0
+122,0,0,0,25000:20000:15000:10000:5000,0,0
 //-- 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
-125,0,0,0,600000,0
+125,0,0,0,600000,0,0
 
 //-- HT_BLITZBEAT
-129,1500,1000,0,0,0
+129,1500,1000,0,0,0,0
 //==========================================
 
 
 //===== Assassin ===========================
 //-- 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
-136,0,2000,2000,0,5000
+136,0,2000,2000,0,5000,0
 //-- 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
-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
-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
-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===============
 //-- NV_TRICKDEAD
-143,0,0,0,600000,0
+143,0,0,0,600000,0,0
 
 //-- SM_FATALBLOW
-145,0,0,0,0,5000
+145,0,0,0,0,5000,0
 
 //-- AC_CHARGEARROW
-148,1500,0,0,0,0
+148,1500,0,0,0,0,0
 //-- TF_SPRINKLESAND
-149,0,0,0,0,10000
+149,0,0,0,0,10000,0
 
 //-- TF_PICKSTONE
-151,500,0,0,0,0
+151,500,0,0,0,0,0
 //-- TF_THROWSTONE
-152,0,0,0,5000,8000
+152,0,0,0,5000,8000,0
 
 //-- MC_LOUD
-155,0,0,0,300000,0
+155,0,0,0,300000,0,0
 //-- AL_HOLYLIGHT
-156,2000,0,0,0,0
+156,2000,0,0,0,0,0
 //-- MG_ENERGYCOAT
-157,5000,0,0,300000,0
+157,5000,0,0,300000,0,0
 //==========================================
 
 
 //===== NPC Skills Part 1 ==================
 //-- NPC_ATTRICHANGE
-161,0,0,0,1800000,0
+161,0,0,0,1800000,0,0
 //-- NPC_CHANGEWATER
-162,0,0,0,1800000,0
+162,0,0,0,1800000,0,0
 //-- NPC_CHANGEGROUND
-163,0,0,0,1800000,0
+163,0,0,0,1800000,0,0
 //-- NPC_CHANGEFIRE
-164,0,0,0,1800000,0
+164,0,0,0,1800000,0,0
 //-- NPC_CHANGEWIND
-165,0,0,0,1800000,0
+165,0,0,0,1800000,0,0
 //-- NPC_CHANGEPOISON
-166,0,0,0,1800000,0
+166,0,0,0,1800000,0,0
 //-- NPC_CHANGEHOLY
-167,0,0,0,1800000,0
+167,0,0,0,1800000,0,0
 //-- NPC_CHANGEDARKNESS
-168,0,0,0,1800000,0
+168,0,0,0,1800000,0,0
 //-- NPC_CHANGETELEKINESIS
-169,0,0,0,1800000,0
+169,0,0,0,1800000,0,0
 
 //-- NPC_SELFDESTRUCTION
-173,0,0,0,3500,0
+173,0,0,0,3500,0,0
 
 //-- NPC_POISON
-176,0,0,0,0,60000
+176,0,0,0,0,60000,0
 //-- NPC_BLINDATTACK
-177,0,0,0,0,30000
+177,0,0,0,0,30000,0
 //-- 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
-180,0,0,0,0,20000
+180,0,0,0,0,20000,0
 //-- NPC_CURSEATTACK
-181,0,0,0,0,30000
+181,0,0,0,0,30000,0
 //-- NPC_SLEEPATTACK
-182,0,0,0,0,30000
+182,0,0,0,0,30000,0
 
 //-- NPC_MAGICALATTACK
-192,0,0,0,15000,0
+192,0,0,0,15000,0,0
 
 //-- 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
-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
-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
-206,0,0,0,0,3000
+206,0,0,0,0,3000,0
 //-- 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 ==============================
 //-- RG_BACKSTAB
-212,0,500,0,0,0
+212,0,500,0,0,0,0
 
 //-- 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
-215,1000,1000,0,75000:90000:105000:120000:135000,0
+215,1000,1000,0,75000:90000:105000:120000:135000,0,0
 //-- 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
-217,1000,1000,0,75000:90000:105000:120000:135000,0
+217,1000,1000,0,75000:90000:105000:120000:135000,0,0
 //-- 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
-220,0,0,0,180000,0
+220,0,0,0,180000,0,0
 //==========================================
 
 
 //===== Alchemist ==========================
 //-- 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
-230,1000,0,0,3:7:10:12:13,120000
+230,1000,0,0,3:7:10:12:13,120000,0
 //-- AM_POTIONPITCHER
-231,0,500,0,0,0
+231,0,500,0,0,0,0
 //-- 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
-233,2000,500,0,30000,0
+233,2000,500,0,30000,0,0
 //-- 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
-235,2000,0,0,120000:240000:360000:480000:600000,0
+235,2000,0,0,120000:240000:360000:480000:600000,0,0
 //-- 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
-237,2000,0,0,120000:240000:360000:480000:600000,0
+237,2000,0,0,120000:240000:360000:480000:600000,0,0
 //-- AM_RESURRECTHOMUN
-247,2000,0,0,0,0
+247,2000,0,0,0,0,0
 //==========================================
 
 
 //===== Crusader ===========================
 //-- CR_AUTOGUARD
-249,0,0,0,300000,0
+249,0,0,0,300000,0,0
 //-- CR_SHIELDCHARGE
-250,0,0,0,0,5000
+250,0,0,0,0,5000,0
 //-- CR_SHIELDBOOMERANG
-251,0,700,0,0,0
+251,0,700,0,0,0,0
 //-- CR_REFLECTSHIELD
-252,0,0,0,300000,0
+252,0,0,0,300000,0,0
 //-- 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
-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
-255,3000,0,0,0,30000:45000:60000:75000:90000
+255,3000,0,0,0,30000:45000:60000:75000:90000,0
 //-- CR_PROVIDENCE
-256,3000,0,0,180000,0
+256,3000,0,0,180000,0,0
 //-- CR_DEFENDER
-257,0,800,0,180000,0
+257,0,800,0,180000,0,0
 //-- 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 ===============================
 //-- MO_CALLSPIRITS
-261,1000,0,0,600000,0
+261,1000,0,0,600000,0,0
 //-- MO_ABSORBSPIRITS
-262,2000,0,0,0,0
+262,2000,0,0,0,0,0
 //-- MO_TRIPLEATTACK
-263,0,1000,0,0,0
+263,0,1000,0,0,0,0
 //-- MO_INVESTIGATE
-266,1000,500,0,0,0
+266,1000,500,0,0,0,0
 //-- 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
-268,5000,0,0,30000:60000:90000:120000:150000,0
+268,5000,0,0,30000:60000:90000:120000:150000,0,0
 //-- 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
-270,0,0,0,180000,0
+270,0,0,0,180000,0,0
 //-- 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
-272,0,1000,0,0,0
+272,0,1000,0,0,0,0
 //-- MO_COMBOFINISH
-273,0,700,0,0,0
+273,0,700,0,0,0,0
 //==========================================
 
 //===== Sage ===============================
 //-- 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
-277,700,0,0,0,0
+277,700,0,0,0,0,0
 
 //-- 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
-280,3000,0,0,1200000:1200000:1200000:1200000:1800000,0
+280,3000,0,0,1200000:1200000:1200000:1200000:1800000,0,0
 //-- 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
-282,3000,0,0,1200000:1200000:1200000:1200000:1800000,0
+282,3000,0,0,1200000:1200000:1200000:1200000:1800000,0,0
 //-- 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
-285,5000,0,0,60000:120000:180000:240000:300000,0
+285,5000,0,0,60000:120000:180000:240000:300000,0,0
 //-- 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
-287,5000,0,0,60000:120000:180000:240000:300000,0
+287,5000,0,0,60000:120000:180000:240000:300000,0,0
 //-- 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
-289,2000,0,0,0,0
+289,2000,0,0,0,0,0
 //-- SA_REVERSEORCISH
-294,0,0,0,1200000,0
+294,0,0,0,1200000,0,0
 //==========================================
 
 
 //===== Bard & Dancer (Ensemble Skills) ====
 //-- BD_ADAPTATION
-304,0,0,0,0,5000
+304,0,0,0,0,5000,0
 
 //-- BD_LULLABY
-306,0,0,0,60000,15000
+306,0,0,0,60000,15000,0
 //-- BD_RICHMANKIM
-307,0,0,0,60000,60000
+307,0,0,0,60000,60000,0
 //-- BD_ETERNALCHAOS
-308,0,0,0,60000,60000
+308,0,0,0,60000,60000,0
 //-- BD_DRUMBATTLEFIELD
-309,0,0,0,60000,60000
+309,0,0,0,60000,60000,0
 //-- BD_RINGNIBELUNGEN
-310,0,0,0,60000,60000
+310,0,0,0,60000,60000,0
 //-- BD_ROKISWEIL
-311,0,0,0,60000,60000
+311,0,0,0,60000,60000,0
 //-- BD_INTOABYSS
-312,0,0,0,60000,60000
+312,0,0,0,60000,60000,0
 //-- BD_SIEGFRIED
-313,0,0,0,60000,60000
+313,0,0,0,60000,60000,0
 //==========================================
 
 
 //===== Bard ===============================
 //-- BA_MUSICALSTRIKE
-316,1500,0,0,0,0
+316,1500,0,0,0,0,0
 //-- BA_DISSONANCE
-317,0,0,0,30000,3000
+317,0,0,0,30000,3000,0
 //-- 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
-319,0,0,0,60000,20000
+319,0,0,0,60000,20000,0
 //-- BA_ASSASSINCROSS
-320,0,0,0,120000,20000
+320,0,0,0,120000,20000,0
 //-- BA_POEMBRAGI
-321,0,0,0,180000,20000
+321,0,0,0,180000,20000,0
 //-- BA_APPLEIDUN
-322,0,0,0,180000,20000
+322,0,0,0,180000,20000,0
 //==========================================
 
 
 //===== Dancer =============================
 //-- DC_THROWARROW
-324,1500,0,0,0,0
+324,1500,0,0,0,0,0
 //-- DC_UGLYDANCE
-325,0,0,0,30000,3000
+325,0,0,0,30000,3000,0
 //-- DC_SCREAM
-326,0,3000,0,0,5000
+326,0,3000,0,0,5000,0
 //-- DC_HUMMING
-327,0,0,0,60000,20000
+327,0,0,0,60000,20000,0
 //-- DC_DONTFORGETME
-328,0,0,0,180000,20000
+328,0,0,0,180000,20000,0
 //-- DC_FORTUNEKISS
-329,0,0,0,120000,20000
+329,0,0,0,120000,20000,0
 //-- DC_SERVICEFORYOU
-330,0,0,0,180000,20000
+330,0,0,0,180000,20000,0
 //==========================================
 
 
 //===== Wedding Skills =====================
 //-- WE_MALE
-334,3000,0,0,0,0
+334,3000,0,0,0,0,0
 //-- WE_FEMALE
-335,3000,0,0,0,0
+335,3000,0,0,0,0,0
 //-- WE_CALLPARTNER
-336,0,0,0,20000,0
+336,0,0,0,20000,0,0
 //==========================================
 
 
 //===== NPC Skills Part 2 ==================
 //-- 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
-342,0,0,0,10000,0
+342,0,0,0,10000,0,0
 //-- NPC_CHANGEUNDEAD
-348,0,0,0,30000,0
+348,0,0,0,30000,0,0
 //-- 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
-350,0,0,0,10000:15000:20000:25000:30000,0
+350,0,0,0,10000:15000:20000:25000:30000,0,0
 //-- NPC_INVISIBLE
-353,0,0,0,30000,0
+353,0,0,0,30000,0,0
 //-- 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 ========================
 //-- 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
-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
-357,0,0,0,25000:30000:35000:40000:45000,0
+357,0,0,0,25000:30000:35000:40000:45000,0,0
 //-- LK_TENSIONRELAX
-358,0,0,0,180000,0
+358,0,0,0,180000,0,0
 //-- LK_BERSERK
-359,0,0,0,300000,15000
+359,0,0,0,300000,15000,0
 //-- LK_FURY
-360,0,0,0,300000,0
+360,0,0,0,300000,0,0
 //==========================================
 
 
 //===== High Priest ========================
 //-- 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
-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 =========================
 //-- HW_MAGICCRASHER
-365,300,300,0,0,0
+365,300,300,0,0,0,0
 //-- HW_MAGICPOWER
-366,700,0,0,30000,0
+366,700,0,0,30000,0,0
 //==========================================
 
 
 //===== Paladin ============================
 //-- 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
-368,0,2000,0,0,0
+368,0,2000,0,0,0,0
 //-- PA_GOSPEL
-369,0,0,0,60000,60000
+369,0,0,0,60000,60000,0
 //==========================================
 
 
 //===== Champion ===========================
 //-- CH_PALMSTRIKE
-370,0,300,0,0,0
+370,0,300,0,0,0,0
 //-- 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
-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 ==========================
 //-- 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
-374,3000,5000,0,0,0
+374,3000,5000,0,0,0,0
 //-- PF_SOULBURN
-375,0,0,0,0,0
+375,0,0,0,0,0,10000:10000:10000:10000:15000
 //==========================================
 
 
 //===== Assassin Cross =====================
 //-- 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
-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 =============================
 //-- SN_SIGHT
-380,0,0,0,30000,0
+380,0,0,0,30000,0,0
 //-- SN_FALCONASSAULT
-381,1000,3000,0,0,0
+381,1000,3000,0,0,0,0
 //-- SN_SHARPSHOOTING
-382,2000,1500,0,0,0
+382,2000,1500,0,0,0,0
 //-- 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 =========================
 //-- 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
-387,0,0,0,60000,0
+387,0,0,0,60000,0,0
 //==========================================
 
 
 //===== Stalker ============================
 //-- ST_CHASEWALK
-389,1200,0,0,10000,30000
+389,1200,0,0,10000,30000,0
 //-- ST_REJECTSWORD
-390,0,0,0,300000,0
+390,0,0,0,300000,0,0
 //==========================================
 
 
 //===== Clown / Gypsy ======================
 //-- 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
-395,0,0,0,20000:25000:30000:35000:40000,0
+395,0,0,0,20000:25000:30000:35000:40000,0,0
 //-- CG_MARIONETTE
-396,0,0,0,1000,0
+396,0,0,0,1000,0,0
 //==========================================
 
 //===== Mixed Advanced Skills ==============
 //-- 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
-398,0,500,0,0,120000
+398,0,500,0,0,120000,0
 //-- 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
-400,1000,1000,0,0,45000
+400,1000,1000,0,0,45000,0
 //-- CH_SOULCOLLECT
-401,2000,0,0,600000,0
+401,2000,0,0,600000,0,0
 //-- 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
-403,5000,0,0,0,0
+403,5000,0,0,0,0,0
 //-- PF_FOGWALL
-404,0,0,0,20000,10000
+404,0,0,0,20000,10000,0
 //-- 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))
-406,500,500,0,0,10000:5000:120000
+406,500,500,0,0,10000:5000:120000,0
 //-- ASC_CDP
-407,0,500,0,0,0
+407,0,500,0,0,0,0
 //==========================================
 
 
 //===== Adoption Skills ====================
 //-- WE_BABY
-408,3000,0,0,300000,0
+408,3000,0,0,300000,0,0
 //-- WE_CALLPARENT
-409,0,0,0,20000,0
+409,0,0,0,20000,0,0
 //-- WE_CALLBABY
-410,0,0,0,20000,0
+410,0,0,0,20000,0,0
 //==========================================
 
 
 //===== Taekwon ============================
 //-- 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
-415,0,0,0,0,3000
+415,0,0,0,0,3000,0
 //-- TK_TURNKICK
-417,0,0,0,0,2000
+417,0,0,0,0,2000,0
 //-- TK_SPTIME
-423,0,0,0,1800000,0
+423,0,0,0,1800000,0,0
 //-- TK_SEVENWIND
-425,0,0,0,300000,0
+425,0,0,0,300000,0,0
 //-- 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 =====================
 //-- SG_FEEL
-427,1000,0,0,0,0
+427,1000,0,0,0,0,0
 //SG_SUN_WARM
-428,0,1000,0,10000:20000:60000,0
+428,0,1000,0,10000:20000:60000,0,0
 //SG_MOON_WARM
-429,0,1000,0,10000:20000:60000,0
+429,0,1000,0,10000:20000:60000,0,0
 //SG_STAR_WARM
-430,0,1000,0,10000:20000:60000,0
+430,0,1000,0,10000:20000:60000,0,0
 //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
-432,0,1000,0,80000:160000:240000:320000,0
+432,0,1000,0,80000:160000:240000:320000,0,0
 //SG_STAR_COMFORT
-433,0,1000,0,80000:160000:240000:320000,0
+433,0,1000,0,80000:160000:240000:320000,0,0
 //-- SG_HATE
-434,1000,0,0,0,0
+434,1000,0,0,0,0,0
 //SG_FRIEND
-442,0,0,0,10000,0
+442,0,0,0,10000,0,0
 //SG_KNOWLEDGE
-443,0,0,0,600000,0
+443,0,0,0,600000,0,0
 //SG_FUSION
-444,0,1000,0,600000,0
+444,0,1000,0,600000,0,0
 //==========================================
 
 //===== Soul Linker ========================
 //-- 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
-446,0,500,0,0,0
+446,0,500,0,0,0,0
 //-- 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
-448,1000,500,0,150000:200000:250000:300000:350000,0
+448,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- 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
-450,1000,500,0,150000:200000:250000:300000:350000,0
+450,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- 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
-452,1000,500,0,150000:200000:250000:300000:350000,0
+452,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- 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
-454,1000,500,0,150000:200000:250000:300000:350000,0
+454,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- 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
-456,1000,500,0,150000:200000:250000:300000:350000,0
+456,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- 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
-458,1000,500,0,150000:200000:250000:300000:350000,0
+458,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- BS_ADRENALINE2
-459,0,0,0,150000,0
+459,0,0,0,150000,0,0
 //-- 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
-461,1000,500,0,150000:200000:250000:300000:350000,0
+461,1000,500,0,150000:200000:250000:300000:350000,0,0
 //-- 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
-463,0,500,0,1800000,500
+463,0,500,0,1800000,500,0
 //-- SL_KAUPE
-464,500,500,0,600000,0
+464,500,500,0,600000,0,0
 //-- 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
-467,100,500,0,0,0
+467,100,500,0,0,0,0
 //-- SL_STUN
-468,100,500,0,2000,0
+468,100,500,0,2000,0,0
 //-- SL_SMA
-469,2000,500,0,3000,0
+469,2000,500,0,3000,0,0
 //-- 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
-471,3000:2000:1000,500,0,10000:20000:30000,3000
+471,3000:2000:1000,500,0,10000:20000:30000,3000,0
 //-- 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
-473,0,0,0,30000,0
+473,0,0,0,30000,0,0
 
 //===== Mixed Advanced Skills ==============
 //-- ST_PRESERVE
-475,1000,0,0,600000,0
+475,1000,0,0,600000,0,0
 //-- 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
-478,1000,1000,0,0,0
+478,1000,1000,0,0,0,0
 //-- 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
-480,1000,1000,0,0,0
+480,1000,1000,0,0,0,0
 //-- PF_DOUBLECASTING
-482,2000,0,0,90000,0
+482,2000,0,0,90000,0,0
 //-- HW_GANBANTEIN
-483,3000,2000,0,0,0
+483,3000,2000,0,0,0,0
 //-- 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
-485,0,0,0,0,5000
+485,0,0,0,0,5000,0
 //-- WS_OVERTHRUSTMAX
-486,0,0,0,180000,0
+486,0,0,0,180000,0,0
 //-- CG_LONGINGFREEDOM
-487,0,0,0,180000,0
+487,0,0,0,180000,0,0
 //-- 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
-489,1000,3000,0,0,30000
+489,1000,3000,0,0,30000,0
 //-- CR_ACIDDEMONSTRATION
-490,1000,1000,0,0,0
+490,1000,1000,0,0,0,0
 //-- CR_CULTIVATION
-491,0,0,0,300000,0
+491,0,0,0,300000,0,0
 //==========================================
 
 //-- ITEM_ENCHANTARMS
-492,0,0,0,180000,0
+492,0,0,0,180000,0,0
 
 //===== Mixed Taekwon Skills ===============
 //-- TK_MISSION
-493,1000,0,0,0,0
+493,1000,0,0,0,0,0
 //-- 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
-495,0,0,0,300000,0
+495,0,0,0,300000,0,0
 //-- AM_TWILIGHT1
-496,3000,10000,0,0,0
+496,3000,10000,0,0,0,0
 //-- AM_TWILIGHT2
-497,3000,10000,0,0,0
+497,3000,10000,0,0,0,0
 //-- AM_TWILIGHT3
-498,3000,10000,0,0,0
+498,3000,10000,0,0,0,0
 //-- HT_POWER
-499,0,0,0,100,0
+499,0,0,0,100,0,0
 //==========================================
 
 
 //===== Gunslinger =========================
 //-- GS_GLITTERING
-500,0,0,0,600000,0
+500,0,0,0,600000,0,0
 //-- GS_FLING
-501,0,0,0,30000,0
+501,0,0,0,30000,0,0
 //-- GS_BULLSEYE
-503,500,0,0,0,0
+503,500,0,0,0,0,0
 //-- GS_MADNESSCANCEL
-504,3000,4000,0,15000,0
+504,3000,4000,0,15000,0,0
 //-- GS_ADJUSTMENT
-505,1000,1000,0,30000,0
+505,1000,1000,0,30000,0,0
 //-- GS_INCREASING
-506,0,1000,0,60000,0
+506,0,1000,0,60000,0,0
 //-- GS_CRACKER
-508,0,1000,0,0,5000
+508,0,1000,0,0,5000,0
 //-- 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
-513,0,0,0,30000,0
+513,0,0,0,30000,0,0
 //-- GS_PIERCINGSHOT
-514,1500,0,0,0,120000
+514,1500,0,0,0,120000,0
 //-- GS_RAPIDSHOWER
-515,0,1000,0,0,0
+515,0,1000,0,0,0,0
 //-- GS_DESPERADO
-516,0,1000,1000,1000,0
+516,0,1000,1000,1000,0,0
 //-- 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
-518,1000,1000,0,0,0
+518,1000,1000,0,0,0,0
 //-- 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
-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 ==============================
 //-- NJ_KUNAI
-524,0,1000,0,0,0
+524,0,1000,0,0,0,0
 //-- NJ_HUUMA
-525,3000,2000,0,0,0
+525,3000,2000,0,0,0,0
 //-- NJ_ZENYNAGE
-526,0,5000,0,0,0
+526,0,5000,0,0,0,0
 //-- NJ_TATAMIGAESHI
-527,0,3000,0,3000,3000
+527,0,3000,0,3000,3000,0
 //-- 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
-529,0,1000,0,0,0
+529,0,1000,0,0,0,0
 //-- 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
-531,0,1000,0,20000:30000:40000:50000:60000,0
+531,0,1000,0,20000:30000:40000:50000:60000,0,0
 //-- 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
-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
-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
-536,3000,2000,0,0,0
+536,3000,2000,0,0,0,0
 //-- 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
-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
-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
-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
-541,4000,0,0,0,0
+541,4000,0,0,0,0,0
 //-- NJ_KAMAITACHI
-542,4000,0,0,0,0
+542,4000,0,0,0,0,0
 //-- 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 =================
 //-- NPC_ICEBREATH
-655,0,0,0,0,12000
+655,0,0,0,0,12000,0
 //-- 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))
-659,0,0,0,0,5000:30000:30000:120000
+659,0,0,0,0,5000:30000:30000:120000,0
 //-- NPC_BLEEDING
-660,0,0,0,0,120000
+660,0,0,0,0,120000,0
 //-- NPC_HELLJUDGEMENT
-662,0,0,0,0,30000
+662,0,0,0,0,30000,0
 //-- NPC_WIDESILENCE
-663,0,0,0,0,30000
+663,0,0,0,0,30000,0
 //-- NPC_WIDEFREEZE
-664,0,0,0,0,12000
+664,0,0,0,0,12000,0
 //-- NPC_WIDEBLEEDING
-665,0,0,0,0,120000
+665,0,0,0,0,120000,0
 //-- NPC_WIDESTONE
-666,0,0,0,0,20000
+666,0,0,0,0,20000,0
 //-- NPC_WIDECONFUSE
-667,0,0,0,0,30000
+667,0,0,0,0,30000,0
 //-- NPC_WIDESLEEP
-668,0,0,0,0,30000
+668,0,0,0,0,30000,0
 //-- NPC_WIDESIGHT
-669,0,0,0,10000,0
+669,0,0,0,10000,0,0
 //-- NPC_EVILLAND
-670,0,0,0,30000,30000
+670,0,0,0,30000,30000,0
 //-- NPC_MAGICMIRROR
-671,0,0,0,30000,0
+671,0,0,0,30000,0,0
 //-- NPC_SLOWCAST
-672,0,0,0,0,30000
+672,0,0,0,0,30000,0
 //-- NPC_CRITICALWOUND
-673,0,0,0,0,30000
+673,0,0,0,0,30000,0
 //-- NPC_STONESKIN
-675,0,0,0,30000,0
+675,0,0,0,30000,0,0
 //-- NPC_ANTIMAGIC
-676,0,0,0,30000,0
+676,0,0,0,30000,0,0
 //-- NPC_WIDECURSE
-677,0,0,0,0,30000
+677,0,0,0,0,30000,0
 //-- NPC_WIDESTUN
-678,0,0,0,0,5000
+678,0,0,0,0,5000,0
 //==========================================
 
 //===== New Monster Skills (12.1) ==========
 //-- NPC_HELLPOWER
-683,0,0,0,0,300000
+683,0,0,0,0,300000,0
 //-- NPC_WIDEHELLDIGNITY
-684,0,0,0,0,300000
+684,0,0,0,0,300000,0
 //-- NPC_INVINCIBLE
-685,0,0,0,-1,0
+685,0,0,0,-1,0,0
 //-- NPC_INVINCIBLEOFF
-686,0,0,0,60000,0
+686,0,0,0,60000,0,0
 
 //===== Item Use-Only Skills ===============
 //-- 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
-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
-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
-698,0,20000,0,0,0
+698,0,20000,0,0,0,0
 //==========================================
 
 //===== 2nd Jobs Quest Skills ==============
 //-- KN_CHARGEATK
-1001,300,300,0,0,0
+1001,300,300,0,0,0,0
 //-- CR_SHRINK
-1002,0,0,0,300000,0
+1002,0,0,0,300000,0,0
 
 //-- 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
-1005,0,0,0,10000,0
+1005,0,0,0,10000,0,0
 //-- WZ_SIGHTBLASTER
-1006,2000,0,0,120000,0
+1006,2000,0,0,120000,0,0
 
 //-- SA_ELEMENTWATER
-1008,2000,1000,0,1800000,0
+1008,2000,1000,0,1800000,0,0
 //-- HT_PHANTASMIC
-1009,0,0,0,0,0
+1009,0,0,0,0,0,0
 //-- BA_PANGVOICE
-1010,1000,2000,0,17000,0
+1010,1000,2000,0,17000,0,0
 //-- DC_WINKCHARM (time1: Charm, time2: Confusion)
-1011,1000,2000,0,10000,17000
+1011,1000,2000,0,10000,17000,0
 
 //-- BS_GREED
-1013,0,1000,0,0,0
+1013,0,1000,0,0,0,0
 //-- PR_REDEMPTIO
-1014,4000,0,0,0,0
+1014,4000,0,0,0,0,0
 //-- MO_KITRANSLATION
-1015,2000,1000,0,600000,0
+1015,2000,1000,0,600000,0,0
 //-- MO_BALKYOUNG
-1016,0,2000,0,0,2000
+1016,0,2000,0,0,2000,0
 //-- SA_ELEMENTGROUND
-1017,2000,1000,0,1800000,0
+1017,2000,1000,0,1800000,0,0
 //-- SA_ELEMENTFIRE
-1018,2000,1000,0,1800000,0
+1018,2000,1000,0,1800000,0,0
 //-- 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 ==================
 //-- HLIF_HEAL
-8001,0,2000,0,0,0
+8001,0,2000,0,0,0,0
 //-- 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
-8004,0,600000:900000:1200000,0,60000:120000:180000,0
+8004,0,600000:900000:1200000,0,60000:120000:180000,0,0
 //-- 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
-8006,0,0,0,40000:35000:30000:25000:20000,0
+8006,0,0,0,40000:35000:30000:25000:20000,0,0
 //-- 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
-8009,0,0,1000,0,0
+8009,0,0,1000,0,0,0
 //-- 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
-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
-8013,0,1000:1200:1400:1600:1800,0,0,0
+8013,0,1000:1200:1400:1600:1800,0,0,0,0
 //-- HVAN_CHAOTIC
-8014,0,1000,1000,0,0
+8014,0,1000,1000,0,0,0
 //-- 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 ===================
 //-- MS_MAGNUM
-8202,0,0,0,2000,10000
+8202,0,0,2000,2000,10000,0
 //-- KN_BOWLINGBASH
-8203,700,0,0,0,0
+8203,700,0,0,0,0,0
 //-- 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
-8205,0,0,0,300000,0
+8205,0,0,0,300000,0,0
 //-- MS_BERSERK
-8206,0,0,0,300000,15000
+8206,0,0,0,300000,15000,0
 //-- MA_DOUBLE
-8207,0,0,0,100,0
+8207,0,0,0,100,0,0
 //-- MA_SHOWER
-8208,0,0,0,100,0
+8208,0,0,0,100,0,0
 //-- 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
-8210,0,0,0,200000:160000:120000:80000:40000,5000
+8210,0,0,0,200000:160000:120000:80000:40000,5000,0
 //-- 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
-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
-8214,1500,0,0,0,0
+8214,1500,0,0,0,0,0
 //-- MA_SHARPSHOOTING
-8215,2000,1500,0,0,0
+8215,2000,1500,0,0,0,0
 //-- ML_BRANDISHSPEAR
-8217,700,0,0,0,0
+8217,700,0,0,0,0,0
 //-- 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
-8219,0,800,0,180000,0
+8219,0,800,0,180000,0,0
 //-- ML_AUTOGUARD
-8220,0,0,0,300000,0
+8220,0,0,0,300000,0,0
 //-- 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
-8222,4000,2000,0,30000:45000:60000:75000:90000,0
+8222,4000,2000,0,30000:45000:60000:75000:90000,0,0
 //-- 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
-8224,0,0,0,10000,0
+8224,0,0,0,10000,0,0
 //-- MER_CRASH
-8225,1000,2000,0,0,5000
+8225,1000,2000,0,0,5000,0
 //-- MER_PROVOKE
-8232,0,0,0,30000,0
+8232,0,0,0,30000,0,0
 //-- 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
-8235,3000,0,0,0,0
+8235,3000,0,0,0,0,0
 //-- 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
-8238,2000,2000,0,120000,0
+8238,2000,2000,0,120000,0,0
 //-- 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
-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 =======================
 //-- GD_LEADERSHIP
-10006,0,0,0,300000,0
+10006,0,0,0,300000,0,0
 //-- GD_GLORYWOUNDS
-10007,0,0,0,300000,0
+10007,0,0,0,300000,0,0
 //-- GD_SOULCOLD
-10008,0,0,0,300000,0
+10008,0,0,0,300000,0,0
 //-- GD_HAWKEYES
-10009,0,0,0,300000,0
+10009,0,0,0,300000,0,0
 //-- GD_BATTLEORDER
-10010,0,0,0,60000,300000
+10010,0,0,0,60000,300000,0
 //-- GD_REGENERATION
-10011,0,0,0,60000,300000
+10011,0,0,0,60000,300000,0
 //-- GD_RESTORE
-10012,10000,0,0,0,300000
+10012,10000,0,0,0,300000,0
 //-- 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
 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
-//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
 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
@@ -663,27 +664,155 @@
 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
 
-// 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,
 //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,

+ 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#マグヌスエクソシズム#
 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#サイトラッシャ?#
-
+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#メテオスト?ム#
 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#ロ?ドオブヴァ?ミリオン#
@@ -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
 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
 
 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,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,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,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#
@@ -2263,3 +2263,671 @@
 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,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
  79,0x84,    , -1, 1,3000,enemy, 0x018	//PR_MAGNUS
  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
  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
@@ -95,6 +96,26 @@
 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
 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
 8209,0x90,    ,  0, 1,1000,enemy, 0x006	//MA_SKIDTRAP
 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',
   `str` varchar(255) NOT NULL default '',
   `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',
   PRIMARY KEY  (`char_id`,`str`,`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
 
 #ifndef PACKETVER
-	#define PACKETVER	20081126
-	//#define PACKETVER 20100707
+	#define PACKETVER 20110609
+	//#define PACKETVER	20100730
 #endif
 // backward compatible PACKETVER 8 and 9
 #if PACKETVER == 8
@@ -176,6 +176,7 @@ enum item_types {
 	IT_UNKNOWN2,//9
 	IT_AMMO,    //10
 	IT_DELAYCONSUME,//11
+	IT_THROWWEAPON= 17,//17
 	IT_CASH = 18,
 	IT_MAX 
 };
@@ -646,6 +647,56 @@ enum {
 	JOB_STAR_GLADIATOR,
 	JOB_STAR_GLADIATOR2,
 	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,
 };
 

+ 27 - 0
src/common/showmsg.c

@@ -4,6 +4,8 @@
 #include "../common/cbasetypes.h"
 #include "../common/strlib.h" // StringBuf
 #include "showmsg.h"
+#include "core.h" //[Ind] - For SERVER_TYPE
+#include "version.h" //[Ind] - For SERVER_TYPE values
 
 #include <stdio.h>
 #include <string.h>
@@ -51,6 +53,8 @@ int stdout_with_ansisequence = 0;
 
 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
 
@@ -683,6 +687,29 @@ int _vShowMessage(enum msg_type flag, const char *string, va_list ap)
 		ShowError("Empty string passed to _vShowMessage().\n");
 		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(
 	    (flag == MSG_INFORMATION && msg_silent&1) ||
 	    (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 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]
 
 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 \
 	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 \
-	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@
 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)
 	{
 		int i, found = 0;
-		const struct { char name[16]; int id; } jobs[] = {
+		const struct { char name[24]; int id; } jobs[] = {
 			{ "novice",		0 },
 			{ "swordsman",	1 },
 			{ "mage",		2 },
@@ -1330,6 +1330,32 @@ ACMD_FUNC(jobchange)
 			{ "taekwon girl",	4046 },
 			{ "star gladiator",	4047 },
 			{ "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++) {
@@ -1343,28 +1369,56 @@ ACMD_FUNC(jobchange)
 
 		if (!found) {
 			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;
 		}
 	}
@@ -1384,28 +1438,56 @@ ACMD_FUNC(jobchange)
 		}
 	} else {
 		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;
 	}
 
@@ -2842,7 +2924,7 @@ ACMD_FUNC(displaystatus)
 	if (i < 2) flag = 1;
 	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;
 }
@@ -4395,8 +4477,11 @@ ACMD_FUNC(mapinfo)
 		strcat(atcmd_output, "Fireworks | ");
 	if (map[m_id].flag.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)
 		strcat(atcmd_output, "Displays Night | ");
 	clif_displaymessage(fd, atcmd_output);
@@ -4510,7 +4595,26 @@ ACMD_FUNC(mapinfo)
 ACMD_FUNC(mount_peco)
 {
 	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_checkskill(sd, KN_RIDING))
 		{
@@ -6117,24 +6221,26 @@ ACMD_FUNC(autolootitem)
 
 	return 0;
 }
-
+/**
+ * No longer available, keeping here just in case it's back someday. [Ind]
+ **/	
 /*==========================================
  * 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.
@@ -6273,7 +6379,10 @@ ACMD_FUNC(fireworks)
 ACMD_FUNC(clearweather)
 {
 	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.sakura=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;
 }
 
@@ -8581,8 +8749,17 @@ ACMD_FUNC(font)
 
 	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
  *------------------------------------------*/
@@ -8885,6 +9062,10 @@ AtCommandInfo atcommand_info[] = {
 	{ "delitem",           60,60,     atcommand_delitem },
 	{ "charcommands",       1,1,      atcommand_commands },
 	{ "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);
 	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."
 			clif_displaymessage(fd, output);
 			return true;
+		} else
+			return false;
 	}
 	
 	//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)
 		return 0;
-	if (*c >= 24)
+	if (*c >= 23)
 		return 0;
 	if (status_isdead(bl))
 		return 0;
@@ -136,8 +136,47 @@ struct block_list* battle_getenemy(struct block_list *target, int type, int rang
 	int c = 0;
 	memset(bl_list, 0, sizeof(bl_list));
 	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;
+	if( c >= 24 )
+		c = 23;
 	return bl_list[rand()%c];
 }
 
@@ -212,7 +251,6 @@ int battle_delay_damage (unsigned int tick, int amotion, struct block_list *src,
 	
 	return 0;
 }
-
 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;
 			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 )
 		{
@@ -334,7 +386,13 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag
 			d->dmg_lv = ATK_BLOCK;
 			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 )
 		{
 			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);
 		}
 
+		//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.
 		if((sce = sc->data[SC_KYRIE]) && damage > 0){
 			sce->val2-=damage;
@@ -539,6 +605,8 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag
 						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)
@@ -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) )
 		damage += (skill*(int)(3+(sd->status.base_level+1)*0.05));	// submitted by orn
 		//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) ) {
 		damage += (skill * 4);
@@ -755,11 +829,15 @@ int battle_addmastery(struct map_session_data *sd,struct block_list *target,int
 		case W_2HAXE:
 			if((skill = pc_checkskill(sd,AM_AXEMASTERY)) > 0)
 				damage += (skill * 3);
+			if((skill = pc_checkskill(sd,NC_TRAININGAXE)) > 0)
+				damage += (skill * 5);
 			break;
 		case W_MACE:
 		case W_2HMACE:
 			if((skill = pc_checkskill(sd,PR_MACEMASTERY)) > 0)
 				damage += (skill * 3);
+			if((skill = pc_checkskill(sd,NC_TRAININGAXE)) > 0)
+				damage += (skill * 5);
 			break;
 		case W_FIST:
 			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)
 					hitrate += hitrate * 50 / 100;
 				break;
+			case GC_VENOMPRESSURE:
+				hitrate += 10 + 4 * skill_lv;
+				break;
 		}
 
 		// 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:
 					skillratio += ((skill_lv-1)%5+1)*100;
 					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);
@@ -1755,6 +1990,16 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 				case NJ_SYURIKEN:
 					ATK_ADD(4*skill_lv);
 					break;
+				/**
+				 * Ranger
+				 **/
+				case RA_WUGDASH:
+				case RA_WUGSTRIKE:
+				case RA_WUGBITE:
+					if(sd)
+						ATK_ADD(30*pc_checkskill(sd, RA_TOOTHOFWUG));
+					break;
+
 			}
 		}
 		//Div fix.
@@ -1764,13 +2009,17 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 		if (sc) {
 			if(sc->data[SC_TRUESIGHT])
 				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] &&
 			  	skill_num != ASC_BREAKER &&
 				skill_num != ASC_METEORASSAULT &&
 				skill_num != AS_SPLASHER &&
 				skill_num != AS_VENOMKNIFE)
 				ATK_ADDRATE(sc->data[SC_EDP]->val3);
+		#endif
 		}
 
 		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)
 					ATK_ADDRATE(100);
 				break;
+			case NC_AXETORNADO:
+				if( (sstatus->rhw.ele) == ELE_WIND || (sstatus->lhw.ele) == ELE_WIND )
+					ATK_ADDRATE(50);
+				break;
 		}
 		
 		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
 					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
+				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
 				//VIT + rnd(0,[VIT/20]^2-1)
 				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);
 		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;
 }
 
@@ -2398,6 +2668,10 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 			case AL_HEAL:
 			case PR_BENEDICTIO:
 			case PR_SANCTUARY:
+			/**
+			 * Arch Bishop
+			 **/
+			case AB_HIGHNESSHEAL:
 				ad.damage = skill_calc_heal(src, target, skill_num, skill_lv, false);
 				break;
 			case PR_ASPERSIO:
@@ -2417,14 +2691,31 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 			case PF_SOULBURN:
 				ad.damage = tstatus->sp * 2;
 				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:
 			{
+			#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) {
 					MATK_ADD(sstatus->matk_min+rand()%(1+sstatus->matk_max-sstatus->matk_min));
 				} else {
 					MATK_ADD(sstatus->matk_min);
 				}
-
+			#endif
 				if(nk&NK_SPLASHSPLIT){ // Divide MATK in case of multiple targets skill
 					if(mflag>0)
 						ad.damage/= mflag;
@@ -2470,6 +2761,11 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 					case WZ_SIGHTRASHER:
 						skillratio += 20*skill_lv;
 						break;
+#if FIREIVY_ON
+					case WZ_FIREIVY:
+						skillratio += 20*skill_lv-15;
+						break;
+#endif
 					case WZ_VERMILION:
 						skillratio += 20*skill_lv-20;
 						break;
@@ -2513,6 +2809,193 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 					case NPC_EARTHQUAKE:
 						skillratio += 100 +100*skill_lv +100*(skill_lv/2);
 						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);
@@ -2550,10 +3033,19 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 					//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)
 				ad.damage = ad.damage - mdef*battle_config.magic_defense_type - mdef2;
 			else
 				ad.damage = ad.damage * (100-mdef)/100 - mdef2;
+		#endif
 		}
 		
 		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:
 		md.damage = skill_calc_heal(src,target,skill_num,skill_lv,false);
 		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
@@ -2906,11 +3424,23 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
 	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);
 
-	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;
@@ -2943,10 +3473,10 @@ struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct bl
 }
 
 //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;
-	int rdamage = 0;
+	int rdamage = 0, damage = *dmg;
 
 	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;
 		}
 		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 {
 		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;
 	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 )
 		{
 			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 SM_MAGNUM:
 					case MS_MAGNUM:
+					case RA_DETONATOR:
+					case RA_SENSITIVEKEEN:
 						state |= BCT_ENEMY;
 						strip_enemy = 0;
 						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_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,        },
+	/**
+	 * 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);
 
-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);
 
@@ -497,6 +497,8 @@ extern struct Battle_Config
 	int bg_magic_damage_rate;
 	int bg_misc_damage_rate;
 	int bg_flee_penalty;
+	//[RR]
+	int max_third_parameter;
 } battle_config;
 
 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_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_ */

+ 7 - 1
src/map/chrif.c

@@ -505,7 +505,13 @@ void chrif_on_ready(void)
 	ShowStatus("Map Server is now online.\n");
 	chrif_state = 2;
 	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]
 	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_memomessage(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);
 
 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);
 
 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_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_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);
-
+/**
+ * 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_ */

+ 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;
 }
-
+/**
+ * [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
  *------------------------------------------*/
@@ -736,7 +764,7 @@ static bool itemdb_parse_dbrow(char** str, const char* source, int line, int scr
 
 	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
 		ShowWarning("itemdb_parse_dbrow: Invalid item type %d for item %d. IT_ETC will be used.\n", id->type, nameid);
 		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->weight = atoi(str[6]);
+#if RRMODE
+	itemdb_rr_split_atoi(str[7],&id->atk,&id->matk);
+#else
 	id->atk = atoi(str[7]);
+#endif
 	id->def = atoi(str[8]);
 	id->range = atoi(str[9]);
 	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)
 {
-	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;
 
 	for( fi = 0; fi < ARRAYLENGTH(filename); ++fi )
@@ -947,7 +986,11 @@ static int itemdb_readdb(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 };
+#endif
 	int fi;
 	
 	for( fi = 0; fi < ARRAYLENGTH(item_db_name); ++fi )

+ 41 - 1
src/map/itemdb.h

@@ -5,6 +5,7 @@
 #define _ITEMDB_H_
 
 #include "../common/mmo.h" // ITEM_NAME_LENGTH
+#include "map.h" //RRMODE
 
 #define MAX_RANDITEM	11000
 
@@ -13,6 +14,11 @@
 
 #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_RED_GEMSTONE 716
 #define ITEMID_BLUE_GEMSTONE 717
@@ -50,6 +56,9 @@ struct item_data {
 	int equip;
 	int weight;
 	int atk;
+#if RRMODE
+	int matk;//[RRInd] -- used in RE for matk
+#endif
 	int def;
 	int range;
 	int slot;
@@ -61,7 +70,7 @@ struct item_data {
 //Lupus: I rearranged order of these fields due to compatibility with ITEMINFO script command
 //		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 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 {
 		unsigned short chance;
 		int id;
@@ -143,4 +152,35 @@ void itemdb_reload(void);
 void do_final_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_ */

+ 102 - 54
src/map/map.c

@@ -68,6 +68,7 @@ Sql* mmysql_handle;
 int db_use_sqldbs = 0;
 char item_db_db[32] = "item_db";
 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_db2_db[32] = "mob_db2";
 
@@ -3204,6 +3205,9 @@ int map_config_read(char *cfgName)
 		else
 		if (strcmpi(w1, "import") == 0)
 			map_config_read(w2);
+		else
+		if (strcmpi(w1, "console_msg_log") == 0)
+			console_msg_log = atoi(w2);//[Ind]
 		else
 			ShowWarning("Unknown setting '%s' in file %s\n", w1, cfgName);
 	}
@@ -3526,41 +3530,39 @@ void do_abort(void)
 /*======================================================
  * 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]
  *------------------------------------------------------*/
-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[])
 {
@@ -3611,31 +3623,67 @@ int do_init(int argc, char *argv[])
 
 	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);

+ 38 - 5
src/map/map.h

@@ -10,6 +10,11 @@
 #include "../common/mapindex.h"
 #include "../common/db.h"
 
+/**
+ * [ro-resources.net]
+ **/
+#include "./RRConfig/Core.h"
+
 #include <stdarg.h>
 
 struct npc_data;
@@ -46,7 +51,7 @@ enum E_MAPSERVER_ST
 #define NATURAL_HEAL_INTERVAL 500
 #define MIN_FLOORITEM 2
 #define MAX_FLOORITEM START_ACCOUNT_NUM
-#define MAX_LEVEL 99
+#define MAX_LEVEL 150
 #define MAX_DROP_PER_MAP 48
 #define MAX_IGNORE_LIST 20 // official is 14
 #define MAX_VENDING 12
@@ -68,10 +73,12 @@ enum E_MAPSERVER_ST
 
 #define JOBL_UPPER 0x1000 //4096
 #define JOBL_BABY 0x2000  //8192
+#define JOBL_THIRD 0x4000 //16384
 
 //for filtering and quick checking.
 #define MAPID_UPPERMASK 0x0fff
 #define MAPID_BASEMASK 0x00ff
+#define MAPID_THIRDMASK (JOBL_THIRD|MAPID_UPPERMASK)
 //First Jobs
 //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...
@@ -154,6 +161,31 @@ enum {
 	MAPID_BABY_ALCHEMIST,
 	MAPID_BABY_ROGUE,
 	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
@@ -476,7 +508,10 @@ struct map_data {
 		unsigned fireworks : 1;
 		unsigned sakura : 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 nobaseexp	: 1; // [Lorky] added by Lupus
 		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);
 
-void map_helpscreen(int flag); // [Valaris]
 int map_delmap(char* mapname);
 void map_flags_init(void);
 
@@ -667,8 +701,6 @@ extern char *SCRIPT_CONF_NAME;
 extern char *MSG_CONF_NAME;
 extern char *GRF_PATH_FILENAME;
 
-extern char *map_server_dns;
-
 //Useful typedefs from jA [Skotlex]
 typedef struct map_session_data TBL_PC;
 typedef struct npc_data         TBL_NPC;
@@ -697,6 +729,7 @@ extern Sql* logmysql_handle;
 
 extern char item_db_db[32];
 extern char item_db2_db[32];
+extern char item_db_re_db[32];
 extern char mob_db_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);
 			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);
+				}
 			}
 			if(zeny) // zeny from mobs [Valaris]
 				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 *ditem;
 		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->x = md->bl.x;
 		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
 			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));
-
+#if RRMODE
+			if( drop_modifier != 100 )
+				drop_rate = drop_rate * drop_modifier / 100;
+#endif
 			// attempt to drop the item
 			if (rand() % 10000 >= drop_rate)
 					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);
 		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();
 
@@ -2700,6 +2715,10 @@ int mob_summonslave(struct mob_data *md2,int *value,int amount,int skill_id)
 
 	if(mobdb_checkid(value[0]) == 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++;
 	if(count < 1) return 0;

+ 5 - 0
src/map/mob.h

@@ -161,6 +161,11 @@ struct mob_data {
 	short skillidx;
 	unsigned int skilldelay[MAX_MOBSKILL];
 	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);
 }
-
+/**
+ * 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;
 		}
 	}
+	/**
+	 * 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);
 
 	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;
 	else if (!strcmpi(w3,"leaves"))
 		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"))
 		map[m].flag.nightenabled=state;
 	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;
 
+/**
+ * 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_ */

+ 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 );
 		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->data[i], 0, sizeof(p->data[0]));
 			p->party.count--;
@@ -912,13 +912,64 @@ int party_send_xy_clear(struct party_data *p)
 	}
 	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]
 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];
 	unsigned int i, c;
-
+#if RRMODE
+	int src_lvl = status_get_lv(src);
+#endif
 	nullpo_ret(p);
 
 	// 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);
 	}
 
-	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);
 		if (zeny) // zeny from mobs [Valaris]
 			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);
 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_ */

+ 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 
 	//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])
 	{	//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]
 	if (!(1<<(sd->class_&MAPID_BASEMASK)&item->class_base[(sd->class_&JOBL_2_1)?1:((sd->class_&JOBL_2_2)?2: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 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->npc_timer_id = 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->canusecashfood_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){
 		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);
 	}
 
@@ -3379,7 +3393,15 @@ int pc_additem(struct map_session_data *sd,struct item *item_data,int amount)
 	w = data->weight*amount;
 	if(sd->weight + w > sd->max_weight)
 		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;
 
 	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 )
 		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]
 	if (
 		(!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)])
 	))
 		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;
+	}
 
 	//Dead Branch & Bloody Branch & Porings Box
 	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_ALCHEMIST:    return MAPID_BABY_ALCHEMIST;
 		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:
 			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_ALCHEMIST:  return JOB_BABY_ALCHEMIST;
 		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:
 			return -1;
 	}
@@ -4898,7 +4990,7 @@ int pc_checkjoblevelup(struct map_session_data *sd)
 	status_calc_pc(sd,0);
 	clif_misceffect(&sd->bl,1);
 	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);
 	return 1;
@@ -5131,7 +5223,11 @@ int pc_need_status_point(struct map_session_data* sd, int type, int val)
 		swap(low, high);
 
 	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 );
+#endif
 	
 	return sp;
 }
@@ -5480,7 +5576,16 @@ int pc_resetskill(struct map_session_data* sd, int flag)
 			i &= ~OPTION_CART;
 		if( i&OPTION_FALCON && pc_checkskill(sd, HT_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 )
 			pc_setoption(sd, i);
 
@@ -6400,7 +6505,14 @@ int pc_jobchange(struct map_session_data *sd,int job, int upper)
 		i&=~OPTION_CART;
 	if(i&OPTION_FALCON && !pc_checkskill(sd, HT_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)
 		pc_setoption(sd, i);
 
@@ -6528,15 +6640,15 @@ int pc_setoption(struct map_session_data *sd,int type)
 	sd->sc.option=type;
 	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);
-		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);
-		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))
@@ -6553,11 +6665,49 @@ int pc_setoption(struct map_session_data *sd,int type)
 			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
 		clif_status_load(&sd->bl,SI_FALCON,1);
 	else if (!(type&OPTION_FALCON) && p_type&OPTION_FALCON) //Falcon OFF
 		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))
 		new_look = JOB_STAR_GLADIATOR2;
 	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 ) // ライディングスキル所持
 			pc_setoption(sd, sd->sc.option|OPTION_RIDING);
 	} else if( pc_isriding(sd) ){
-		pc_setoption(sd, sd->sc.option&~OPTION_RIDING);
+			pc_setoption(sd, sd->sc.option&~OPTION_RIDING);
 	}
 
 	return 0;
@@ -7801,6 +7951,30 @@ void pc_setstand(struct map_session_data *sd){
 	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 i;
@@ -8060,7 +8234,11 @@ int pc_readdb(void)
 	// スキルツリ?
 	memset(statp,0,sizeof(statp));
 	i=1;
+#if RRMODE
+	sprintf(line, "%s/statpoint_renewal.txt", db_path);
+#else
 	sprintf(line, "%s/statpoint.txt", db_path);
+#endif
 	fp=fopen(line,"r");
 	if(fp == NULL){
 		ShowWarning("Can't read '"CL_WHITE"%s"CL_RESET"'... Generating DB.\n",line);
@@ -8079,7 +8257,11 @@ int pc_readdb(void)
 			i++;
 		}
 		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");
+	#endif
 	}
 	// generate the remaining parts of the db if necessary
 	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_FEELHATE 3
 
+//For Warlock
+#define MAX_SPELLBOOK 10
+
 struct weapon_data {
 	int atkmods[3];
 	// 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
 	} mail;
 
+	// Reading SpellBook
+	struct {
+		unsigned short skillid;
+		unsigned char level;
+		unsigned char points;
+	} rsb[MAX_SPELLBOOK];
+
 	//Quest log system [Kevin] [Inkfish]
 	int num_quests;
 	int avail_quests;
@@ -420,13 +430,33 @@ struct map_session_data {
 	unsigned int bg_id;
 	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
 	const char* delunit_prevfile;
 	int delunit_prevline;
 };
 
 //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)
 #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_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_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_attack(sd) unit_stop_attack(&(sd)->bl)
@@ -550,7 +585,8 @@ enum equip_index {
 #define pcdb_checkid(class_) \
 ( \
 	( (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_);
@@ -785,5 +821,8 @@ void pc_inventory_rental_add(struct map_session_data *sd, int seconds);
 
 int pc_read_motd(void); // [Valaris]
 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_ */

+ 173 - 9
src/map/script.c

@@ -325,7 +325,10 @@ enum {
 	MF_FOG,
 	MF_SAKURA,
 	MF_LEAVES,
-	MF_RAIN,	//20
+	/**
+	 * No longer available, keeping here just in case it's back someday. [Ind]
+	 **/		
+	//MF_RAIN,	//20
 	// 21 free
 	MF_NOGO = 22,
 	MF_CLOUDS,
@@ -3365,7 +3368,18 @@ static void script_detach_state(struct script_state* st, bool dequeue_event)
 	{
 		sd->st = st->bk_st;
 		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)
 		{
 			//Remove tag for removal.
@@ -3407,6 +3421,14 @@ static void script_attach_state(struct script_state* st)
 		}
 		sd->st = st;
 		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 )
 		return 0;// no player attached, report source
 
-	if( pc_isriding(sd) )
+	if( pc_isriding(sd) || sd->sc.option&OPTION_MOUNTING )
 		script_pushint(st, 1);
 	else
 		script_pushint(st, 0);
@@ -7771,7 +7793,7 @@ BUILDIN_FUNC(produce)
 		return 0;
 
 	trigger=script_getnum(st,2);
-	clif_skill_produce_mix_list(sd, trigger);
+	clif_skill_produce_mix_list(sd, -1, trigger);
 	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)
 {
@@ -9616,7 +9638,10 @@ BUILDIN_FUNC(getmapflag)
 			case MF_FIREWORKS:			script_pushint(st,map[m].flag.fireworks); 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_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_NOGO:				script_pushint(st,map[m].flag.nogo); 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_SAKURA:				map[m].flag.sakura=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_NOGO:				map[m].flag.nogo=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_SAKURA:				map[m].flag.sakura=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_NOGO:				map[m].flag.nogo=0; break;
 			case MF_NOBASEEXP:			map[m].flag.nobaseexp=0; break;
@@ -14951,8 +14982,133 @@ BUILDIN_FUNC(searchstores)
 	searchstore_open(sd, uses, effect);
 	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
 #ifdef PCRE_SUPPORT
 BUILDIN_FUNC(defpattern);
@@ -15317,6 +15473,7 @@ struct script_function buildin_func[] = {
 	BUILDIN_DEF(pushpc,"ii"),
 	BUILDIN_DEF(buyingstore,"i"),
 	BUILDIN_DEF(searchstores,"ii"),
+	BUILDIN_DEF(showdigit,"i?"),
 	// WoE SE
 	BUILDIN_DEF(agitstart2,""),
 	BUILDIN_DEF(agitend2,""),
@@ -15348,7 +15505,14 @@ struct script_function buildin_func[] = {
 	BUILDIN_DEF(instance_npcname,"s?"),
 	BUILDIN_DEF(has_instance,"s?"),
 	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]
 	BUILDIN_DEF(setquest, "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;
 
 #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_SKILL_ARROW_DB		150
 #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 num[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 inf2,maxcount[MAX_SKILL_LEVEL],skill_type;
 	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_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);
 
 // Skill conditions check and remove [Inkfish]
@@ -368,6 +368,14 @@ enum {
 	ST_RECOV_WEIGHT_RATE,
 	ST_MOVE_ENABLE,
 	ST_WATER,
+	/**
+	 * 3rd States
+	 **/
+	ST_RIDINGDRAGON,
+	ST_WUG,
+	ST_RIDINGWUG,
+	ST_MADO,
+	ST_ELEMENTALSPIRIT,
 };
 
 enum e_skill {
@@ -1310,7 +1318,7 @@ enum e_skill {
 	GN_S_PHARMACY,
 	GN_SLINGITEM_RANGEMELEEATK,
 
-	AB_SECRAMENT,
+	AB_SECRAMENT=2515,
 	WM_SEVERE_RAINSTORM_MELEE,
 	SR_HOWLINGOFLION,
 	SR_RIDEINLIGHTNING,
@@ -1547,5 +1555,46 @@ enum {
 
 	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_ */

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_DEX_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_type;
@@ -652,7 +893,7 @@ enum si_type {
 	SI_CASH_PLUSONLYJOBEXP = 312,
 //	SI_PARTYFLEE = 313,
 //	SI_ANGEL_PROTECT = 314,
-/*
+
 	SI_ENDURE_MDEF = 315,
 	SI_ENCHANTBLADE = 316,
 	SI_DEATHBOUND = 317,
@@ -701,11 +942,11 @@ enum si_type {
 	SI_CAMOUFLAGE = 360,
 	SI_ACCELERATION = 361,
 	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_MISTRESS = 369,
 	SI_MVPCARD_ORCHERO = 370,
@@ -719,15 +960,15 @@ enum si_type {
 	SI_NEUTRALBARRIER_MASTER = 378,
 	SI_STEALTHFIELD = 379,
 	SI_STEALTHFIELD_MASTER = 380,
-*/
+
 	SI_MANU_ATK = 381, 
 	SI_MANU_DEF = 382, 
 	SI_SPL_ATK = 383, 
 	SI_SPL_DEF = 384, 
-//	SI_REPRODUCE = 385,
+	SI_REPRODUCE = 385,
 	SI_MANU_MATK = 386,
 	SI_SPL_MATK = 387,
-/*
+
 	SI_STR_SCROLL = 388,
 	SI_INT_SCROLL = 389,
 	SI_LG_REFLECTDAMAGE = 390,
@@ -812,7 +1053,7 @@ enum si_type {
 	SI_BLOCKING_PLAY = 469,
 	SI_MANDRAGORA = 470,
 	SI_ACTIVATE = 471,
-	SI_AB_SECRAMENT = 472,
+	SI_SECRAMENT = 472,
 	SI_ASSUMPTIO2 = 473,
 	SI_TK_SEVENWIND = 474,
 	SI_LIMIT_ODINS_RECALL = 475,
@@ -912,7 +1153,7 @@ enum si_type {
 	SI_WIND_INSIGNIA = 569,
 	SI_EARTH_INSIGNIA = 570,
 	SI_EQUIPED_FLOOR = 571,
-*/
+	SI_ALL_RIDING = 613,//awesome 571-613 gap, we're missing quite a few stuff here.
 };
 
 // JOINTBEAT stackable ailments
@@ -1033,6 +1274,7 @@ enum {
 	OPTION_DRAGON3   = 0x01000000,
 	OPTION_DRAGON4   = 0x02000000,
 	OPTION_DRAGON5   = 0x04000000,
+	OPTION_MOUNTING  = 0x08000000,//dull name (cuz ind named it :/)
 	// compound constants
 	OPTION_CART      = OPTION_CART1|OPTION_CART2|OPTION_CART3|OPTION_CART4|OPTION_CART5,
 	OPTION_DRAGON    = OPTION_DRAGON1|OPTION_DRAGON2|OPTION_DRAGON3|OPTION_DRAGON4|OPTION_DRAGON5,
@@ -1123,6 +1365,12 @@ struct status_data {
 		aspd_rate;
 	unsigned char
 		def_ele, ele_lv,
+#if RRMODE
+		/**
+		 * in RE weapon level is used in several areas, keeping it here saves performance
+		 **/
+		wlv,
+#endif
 		size, race;
 	signed char
 		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.
 	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)
-	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)
 	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_size(bl) status_get_status_data(bl)->size
 #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_guild_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 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]
 		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);
 		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;
 	}
 	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));
 	if (i==0) {
 		// 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]
 		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);
 		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 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 )
 		return 0;
 
-	if( mob_ksprotected(src, target) )
+	if( battle_config.ksprotection && sd && mob_ksprotected(src, target) )
 		return 0;
 
 	//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
 	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 )
 	{ 
@@ -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
 	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;
 	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_final_unit(void);
+/**
+ * Ranger
+ **/
+int unit_wugdash(struct block_list *bl, struct map_session_data *sd);
 
 extern const short dirx[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\pet.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\searchstore.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">
       <Filter>common</Filter>
     </ClCompile>
+    <ClCompile Include="..\src\common\des.c">
+      <Filter>common</Filter>
+    </ClCompile>
     <ClCompile Include="..\src\common\db.c">
       <Filter>common</Filter>
     </ClCompile>

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

@@ -205,6 +205,13 @@
     <ClInclude Include="..\src\map\pc.h" />
     <ClInclude Include="..\src\map\pet.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\searchstore.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">
       <Filter>common</Filter>
     </ClInclude>
+    <ClInclude Include="..\src\common\des.h">
+      <Filter>common</Filter>
+    </ClInclude>
     <ClInclude Include="..\src\common\ers.h">
       <Filter>common</Filter>
     </ClInclude>

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

@@ -4,6 +4,9 @@
     <ClCompile Include="..\src\common\core.c">
       <Filter>common</Filter>
     </ClCompile>
+    <ClCompile Include="..\src\common\des.c">
+      <Filter>common</Filter>
+    </ClCompile>
     <ClCompile Include="..\src\common\grfio.c">
       <Filter>common</Filter>
     </ClCompile>
@@ -30,6 +33,9 @@
     <ClInclude Include="..\src\common\core.h">
       <Filter>common</Filter>
     </ClInclude>
+    <ClInclude Include="..\src\common\des.h">
+      <Filter>common</Filter>
+    </ClInclude>
     <ClInclude Include="..\src\common\grfio.h">
       <Filter>common</Filter>
     </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"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="9,00"
+	Version="9.00"
 	Name="char-server_sql"
 	ProjectGUID="{D356871D-58E1-450B-967A-E4E9646175AF}"
 	RootNamespace="char-server_sql"

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

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

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

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

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