Guest User

playersettingmodule

a guest
Jul 22nd, 2025
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 171.39 KB | None | 0 0
  1. import chr
  2. import chrmgr
  3. import skill
  4. import net
  5. import item
  6. import player
  7. import effect
  8. import constInfo
  9. import localeInfo
  10. import emotion
  11.  
  12. import app
  13.  
  14. JOB_WARRIOR = 0
  15. JOB_ASSASSIN = 1
  16. JOB_SURA = 2
  17. JOB_SHAMAN = 3
  18. if app.ENABLE_WOLFMAN_CHARACTER:
  19. JOB_WOLFMAN = 4
  20.  
  21. RACE_WARRIOR_M = 0
  22. RACE_ASSASSIN_W = 1
  23. RACE_SURA_M = 2
  24. RACE_SHAMAN_W = 3
  25. RACE_WARRIOR_W = 4
  26. RACE_ASSASSIN_M = 5
  27. RACE_SURA_W = 6
  28. RACE_SHAMAN_M = 7
  29. if app.ENABLE_WOLFMAN_CHARACTER:
  30. RACE_WOLFMAN_M = 8
  31.  
  32. COMBO_TYPE_1 = 0
  33. COMBO_TYPE_2 = 1
  34. COMBO_TYPE_3 = 2
  35.  
  36. COMBO_INDEX_1 = 0
  37. COMBO_INDEX_2 = 1
  38. COMBO_INDEX_3 = 2
  39. COMBO_INDEX_4 = 3
  40. COMBO_INDEX_5 = 4
  41. COMBO_INDEX_6 = 5
  42.  
  43. HORSE_SKILL_WILDATTACK = chr.MOTION_SKILL+121
  44. HORSE_SKILL_CHARGE = chr.MOTION_SKILL+122
  45. HORSE_SKILL_SPLASH = chr.MOTION_SKILL+123
  46.  
  47. GUILD_SKILL_DRAGONBLOOD = chr.MOTION_SKILL+101
  48. GUILD_SKILL_DRAGONBLESS = chr.MOTION_SKILL+102
  49. GUILD_SKILL_BLESSARMOR = chr.MOTION_SKILL+103
  50. GUILD_SKILL_SPPEDUP = chr.MOTION_SKILL+104
  51. GUILD_SKILL_DRAGONWRATH = chr.MOTION_SKILL+105
  52. GUILD_SKILL_MAGICUP = chr.MOTION_SKILL+106
  53.  
  54. PASSIVE_GUILD_SKILL_INDEX_LIST = ( 151, )
  55. ACTIVE_GUILD_SKILL_INDEX_LIST = ( 152, 153, 154, 155, 156, 157, )
  56.  
  57. NEW_678TH_SKILL_ENABLE = 1
  58. SKILL_INDEX_DICT = []
  59.  
  60. def DefineSkillIndexDict():
  61. global NEW_678TH_SKILL_ENABLE
  62. global SKILL_INDEX_DICT
  63.  
  64. if NEW_678TH_SKILL_ENABLE:
  65. SKILL_INDEX_DICT = {
  66. JOB_WARRIOR : {
  67. 1 : (1, 2, 3, 4, 5, 6, 0, 0, 0, 137, 0, 138, 0, 139, 0,),
  68. 2 : (16, 17, 18, 19, 20, 21, 0, 0, 0, 137, 0, 138, 0, 139, 0,),
  69. #"SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 0, 0,),
  70. "SUPPORT" : (0, 0, 121, 129, 130, 131, 123, 124, 122, 125, 0, 0,),
  71. },
  72. JOB_ASSASSIN : {
  73. 1 : (31, 32, 33, 34, 35, 36, 0, 0, 0, 137, 0, 138, 0, 139, 0, 140,),
  74. 2 : (46, 47, 48, 49, 50, 51, 0, 0, 0, 137, 0, 138, 0, 139, 0, 140,),
  75. #"SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 0, 0,),
  76. "SUPPORT" : (0, 0, 121, 129, 130, 131, 123, 124, 122, 125, 0, 0,),
  77. },
  78. JOB_SURA : {
  79. 1 : (61, 62, 63, 64, 65, 66, 0, 0, 0, 137, 0, 138, 0, 139, 0,),
  80. 2 : (76, 77, 78, 79, 80, 81, 0, 0, 0, 137, 0, 138, 0, 139, 0,),
  81. #"SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 0, 0,),
  82. "SUPPORT" : (0, 0, 121, 129, 130, 131, 123, 124, 122, 125, 0, 0,),
  83. },
  84. JOB_SHAMAN : {
  85. 1 : (91, 92, 93, 94, 95, 96, 0, 0, 0, 137, 0, 138, 0, 139, 0,),
  86. 2 : (106, 107, 108, 109, 110, 111, 0, 0, 0, 137, 0, 138, 0, 139, 0,),
  87. #"SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 0, 0,),
  88. "SUPPORT" : (0, 0, 121, 129, 130, 131, 123, 124, 122, 125, 0, 0,),
  89. },
  90. }
  91. else:
  92. SKILL_INDEX_DICT = {
  93. JOB_WARRIOR : {
  94. 1 : (1, 2, 3, 4, 5, 0, 0, 0, 137, 0, 138, 0, 139, 0,),
  95. 2 : (16, 17, 18, 19, 20, 0, 0, 0, 137, 0, 138, 0, 139, 0,),
  96. "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),
  97. },
  98. JOB_ASSASSIN : {
  99. 1 : (31, 32, 33, 34, 35, 0, 0, 0, 137, 0, 138, 0, 139, 0, 140,),
  100. 2 : (46, 47, 48, 49, 50, 0, 0, 0, 137, 0, 138, 0, 139, 0, 140,),
  101. "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),
  102. },
  103. JOB_SURA : {
  104. 1 : (61, 62, 63, 64, 65, 66, 0, 0, 137, 0, 138, 0, 139, 0,),
  105. 2 : (76, 77, 78, 79, 80, 81, 0, 0, 137, 0, 138, 0, 139, 0,),
  106. "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),
  107. },
  108. JOB_SHAMAN : {
  109. 1 : (91, 92, 93, 94, 95, 96, 0, 0, 137, 0, 138, 0, 139, 0,),
  110. 2 : (106, 107, 108, 109, 110, 111, 0, 0, 137, 0, 138, 0, 139, 0,),
  111. "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),
  112. },
  113. }
  114. if app.ENABLE_WOLFMAN_CHARACTER:
  115. SKILL_INDEX_DICT.update({
  116. JOB_WOLFMAN : {
  117. 1 : (170, 171, 172, 173, 174, 175, 0, 0, 0, 137, 0, 138, 0, 139, 0,),
  118. 2 : (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
  119. "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131, 0, 0,),
  120. },
  121. })
  122. if app.ENABLE_ADDITIONAL_EQUIPMENT_PAGE:
  123. if app.ENABLE_WOLFMAN_CHARACTER:
  124. jobIndex = JOB_WOLFMAN
  125. else:
  126. jobIndex = JOB_SHAMAN
  127.  
  128. for job in xrange(jobIndex + 1):
  129. tmp = list(SKILL_INDEX_DICT[job]["SUPPORT"])
  130. tmp.append(player.SKILL_ADDITIONAL_PAGE)
  131. SKILL_INDEX_DICT[job]["SUPPORT"] = tuple(tmp)
  132.  
  133. def RegisterSkill(race, group, empire=0):
  134.  
  135. DefineSkillIndexDict()
  136.  
  137. job = chr.RaceToJob(race)
  138.  
  139. ## Character Skill
  140. if SKILL_INDEX_DICT.has_key(job):
  141.  
  142. if SKILL_INDEX_DICT[job].has_key(group):
  143.  
  144. activeSkillList = SKILL_INDEX_DICT[job][group]
  145.  
  146. for i in xrange(len(activeSkillList)):
  147. skillIndex = activeSkillList[i]
  148.  
  149. ## 7¹ø 8¹ø ½ºÅ³Àº ¿©±â¼­ ¼³Á¤ÇÏ¸é ¾ÈµÊ
  150. if i != 6 and i != 7:
  151. player.SetSkill(i+1, skillIndex)
  152.  
  153. supportSkillList = SKILL_INDEX_DICT[job]["SUPPORT"]
  154.  
  155. for i in xrange(len(supportSkillList)):
  156. player.SetSkill(i+100+1, supportSkillList[i])
  157.  
  158. ## Language Skill
  159. if 0 != empire:
  160. languageSkillList = []
  161. for i in xrange(3):
  162. if (i+1) != empire:
  163. languageSkillList.append(player.SKILL_INDEX_LANGUAGE1+i)
  164. for i in xrange(len(languageSkillList)):
  165. player.SetSkill(107+i, languageSkillList[i])
  166.  
  167. ## Guild Skill
  168. for i in xrange(len(PASSIVE_GUILD_SKILL_INDEX_LIST)):
  169. player.SetSkill(200+i, PASSIVE_GUILD_SKILL_INDEX_LIST[i])
  170.  
  171. for i in xrange(len(ACTIVE_GUILD_SKILL_INDEX_LIST)):
  172. player.SetSkill(210+i, ACTIVE_GUILD_SKILL_INDEX_LIST[i])
  173.  
  174. def RegisterSkillAt(race, group, pos, num):
  175.  
  176. DefineSkillIndexDict()
  177.  
  178. job = chr.RaceToJob(race)
  179. tmp = list(SKILL_INDEX_DICT[job][group])
  180. tmp[pos] = num
  181. SKILL_INDEX_DICT[job][group] = tuple(tmp)
  182. player.SetSkill(pos+1, num)
  183.  
  184. FACE_IMAGE_DICT = {
  185. RACE_WARRIOR_M : "d:/ymir work/ui/game/windows/face_warrior.sub",
  186. RACE_ASSASSIN_W : "d:/ymir work/ui/game/windows/face_assassin.sub",
  187. RACE_SURA_M : "d:/ymir work/ui/game/windows/face_sura.sub",
  188. RACE_SHAMAN_W : "d:/ymir work/ui/game/windows/face_shaman.sub",
  189. }
  190.  
  191. isInitData=0
  192.  
  193. def SetGeneralMotions(mode, folder):
  194. chrmgr.SetPathName(folder)
  195. chrmgr.RegisterMotionMode(mode)
  196. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WAIT, "wait.msa")
  197. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WALK, "walk.msa")
  198. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_RUN, "run.msa")
  199. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "damage.msa", 50)
  200. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  201. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  202. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  203. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING, "damage_flying.msa")
  204. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP, "falling_stand.msa")
  205. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING_BACK, "back_damage_flying.msa")
  206. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP_BACK, "back_falling_stand.msa")
  207. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DEAD, "dead.msa")
  208. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DIG, "dig.msa")
  209.  
  210. if app.ENABLE_WOLFMAN_CHARACTER:
  211. def SetNewGeneralMotions(mode, folder):
  212. chrmgr.SetPathName(folder)
  213. chrmgr.RegisterMotionMode(mode)
  214. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WAIT, "wait.msa")
  215. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WALK, "walk.msa")
  216. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_RUN, "run.msa")
  217. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "front_damage.msa", 50)
  218. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "front_damage1.msa", 50)
  219. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "back_damage.msa", 50)
  220. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "back_damage1.msa", 50)
  221. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING, "front_damage_flying.msa")
  222. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP, "front_falling_standup.msa")
  223. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING_BACK, "back_damage_flying.msa")
  224. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP_BACK, "back_falling_standup.msa")
  225. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DEAD, "dead.msa")
  226. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DIG, "dig.msa")
  227.  
  228. def SetNewGeneralMotionsHorseStand(mode, folder):
  229. chrmgr.SetPathName(folder)
  230. chrmgr.RegisterMotionMode(mode)
  231. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WAIT, "wait.msa")
  232. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WALK, "wait.msa")
  233. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_RUN, "wait.msa")
  234. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "front_damage.msa", 50)
  235. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "front_damage1.msa", 50)
  236. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "back_damage.msa", 50)
  237. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "back_damage1.msa", 50)
  238. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING, "front_damage_flying.msa")
  239. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP, "front_falling_standup.msa")
  240. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING_BACK, "back_damage_flying.msa")
  241. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP_BACK, "back_falling_standup.msa")
  242. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DEAD, "dead.msa")
  243. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DIG, "dig.msa")
  244.  
  245. def SetGeneralMotionsHorseStand(mode, folder):
  246. chrmgr.SetPathName(folder)
  247. chrmgr.RegisterMotionMode(mode)
  248. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WAIT, "wait.msa")
  249. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WALK, "wait.msa")
  250. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_RUN, "wait.msa")
  251. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "damage.msa", 50)
  252. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  253. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  254. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  255. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING, "damage_flying.msa")
  256. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP, "falling_stand.msa")
  257. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING_BACK, "back_damage_flying.msa")
  258. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP_BACK, "back_falling_stand.msa")
  259. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DEAD, "dead.msa")
  260. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DIG, "dig.msa")
  261.  
  262. def SetIntroMotions(mode, folder):
  263. chrmgr.SetPathName(folder)
  264. chrmgr.RegisterMotionMode(mode)
  265. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_INTRO_WAIT, "wait.msa")
  266. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_INTRO_SELECTED, "selected.msa")
  267. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_INTRO_NOT_SELECTED, "not_selected.msa")
  268.  
  269.  
  270.  
  271. def __InitData():
  272. global isInitData
  273.  
  274. if isInitData:
  275. return
  276.  
  277. isInitData = 1
  278.  
  279. chrmgr.SetDustGap(250)
  280. chrmgr.SetHorseDustGap(500)
  281.  
  282. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUST, "", "d:/ymir work/effect/etc/dust/dust.mse")
  283. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HORSE_DUST, "", "d:/ymir work/effect/etc/dust/running_dust.mse")
  284. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HIT, "", "d:/ymir work/effect/hit/blow_1/blow_1_low.mse")
  285.  
  286. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HPUP_RED, "", "d:/ymir work/effect/etc/recuperation/drugup_red.mse")
  287. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SPUP_BLUE, "", "d:/ymir work/effect/etc/recuperation/drugup_blue.mse")
  288. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SPEEDUP_GREEN, "", "d:/ymir work/effect/etc/recuperation/drugup_green.mse")
  289. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DXUP_PURPLE, "", "d:/ymir work/effect/etc/recuperation/drugup_purple.mse")
  290.  
  291. #ÀÚµ¿¹°¾à HP, SP
  292. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_AUTO_HPUP, "", "d:/ymir work/effect/etc/recuperation/autodrugup_red.mse")
  293. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_AUTO_SPUP, "", "d:/ymir work/effect/etc/recuperation/autodrugup_blue.mse")
  294.  
  295. #¶ó¸¶´Ü Ãʽ´ÞÀÇ ¹ÝÁö(71135) Âø¿ë¼ø°£ ¹ßµ¿ ÀÌÆåÆ®
  296. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_RAMADAN_RING_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item1.mse")
  297.  
  298. #ÇÒ·ÎÀ© »çÅÁ Âø¿ë¼ø°£ ¹ßµ¿ ÀÌÆåÆ®
  299. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HALLOWEEN_CANDY_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item2.mse")
  300.  
  301. #ÇູÀÇ ¹ÝÁö Âø¿ë¼ø°£ ¹ßµ¿ ÀÌÆåÆ®
  302. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HAPPINESS_RING_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item3.mse")
  303.  
  304. #»ç¶ûÀÇ ÆÒ´øÆ® Âø¿ë¼ø°£ ¹ßµ¿ ÀÌÆåÆ®
  305. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_LOVE_PENDANT_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item4.mse")
  306. if app.ENABLE_ACCE_SYSTEM:
  307. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_ACCE_SUCCEDED, "", "d:/ymir work/effect/etc/buff/buff_item6.mse")
  308. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_ACCE_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item7.mse")
  309.  
  310. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PENETRATE, "Bip01", "d:/ymir work/effect/hit/gwantong.mse")
  311. #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_BLOCK, "", "d:/ymir work/effect/etc/")
  312. #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DODGE, "", "d:/ymir work/effect/etc/")
  313. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_FIRECRACKER, "", "d:/ymir work/effect/etc/firecracker/newyear_firecracker.mse")
  314. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SPIN_TOP, "", "d:/ymir work/effect/etc/firecracker/paing_i.mse")
  315. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SELECT, "", "d:/ymir work/effect/etc/click/click_select.mse")
  316. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET, "", "d:/ymir work/effect/etc/click/click_glow_select.mse")
  317. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_STUN, "Bip01 Head", "d:/ymir work/effect/etc/stun/stun.mse")
  318. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_CRITICAL, "Bip01 R Hand", "d:/ymir work/effect/hit/critical.mse")
  319. player.RegisterCacheEffect(player.EFFECT_PICK, "d:/ymir work/effect/etc/click/click.mse")
  320.  
  321.  
  322. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_TARGET, "", "d:/ymir work/effect/affect/damagevalue/target.mse")
  323. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_NOT_TARGET, "", "d:/ymir work/effect/affect/damagevalue/nontarget.mse")
  324. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_SELFDAMAGE, "", "d:/ymir work/effect/affect/damagevalue/damage.mse")
  325. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_SELFDAMAGE2, "", "d:/ymir work/effect/affect/damagevalue/damage_1.mse")
  326. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_POISON, "", "d:/ymir work/effect/affect/damagevalue/poison.mse")
  327. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_MISS, "", "d:/ymir work/effect/affect/damagevalue/miss.mse")
  328. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_TARGETMISS, "", "d:/ymir work/effect/affect/damagevalue/target_miss.mse")
  329. #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_CRITICAL, "", "d:/ymir work/effect/affect/damagevalue/critical.mse")
  330.  
  331. #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SUCCESS, "", "season1/effect/success.mse")
  332. #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_FAIL, "", "season1/effect/fail.mse")
  333.  
  334. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_LEVELUP_ON_14_FOR_GERMANY, "","season1/effect/paymessage_warning.mse") #·¹º§¾÷ 14À϶§ ( µ¶ÀÏÀü¿ë )
  335. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_LEVELUP_UNDER_15_FOR_GERMANY, "", "season1/effect/paymessage_decide.mse" )#·¹º§¾÷ 15À϶§ ( µ¶ÀÏÀü¿ë )
  336.  
  337. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PERCENT_DAMAGE1, "", "d:/ymir work/effect/hit/percent_damage1.mse")
  338. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PERCENT_DAMAGE2, "", "d:/ymir work/effect/hit/percent_damage2.mse")
  339. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PERCENT_DAMAGE3, "", "d:/ymir work/effect/hit/percent_damage3.mse")
  340. if app.ENABLE_SHIP_DEFENSE:
  341. chrmgr.RegisterEffect(chrmgr.EFFECT_DEFENSE_WAVE_LASER, "", "d:/ymir work/effect/monster2/defense_mini_laser.mse")
  342.  
  343.  
  344. ##############
  345. # WARRIOR
  346. ##############
  347. chrmgr.CreateRace(RACE_WARRIOR_M)
  348. chrmgr.SelectRace(RACE_WARRIOR_M)
  349. chrmgr.LoadLocalRaceData("warrior_m.msm")
  350. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/warrior/intro/")
  351.  
  352. chrmgr.CreateRace(RACE_WARRIOR_W)
  353. chrmgr.SelectRace(RACE_WARRIOR_W)
  354. chrmgr.LoadLocalRaceData("warrior_w.msm")
  355. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/warrior/intro/")
  356.  
  357.  
  358. ##############
  359. # ASSASSIN
  360. ##############
  361. chrmgr.CreateRace(RACE_ASSASSIN_W)
  362. chrmgr.SelectRace(RACE_ASSASSIN_W)
  363. chrmgr.LoadLocalRaceData("assassin_w.msm")
  364. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/assassin/intro/")
  365.  
  366. chrmgr.CreateRace(RACE_ASSASSIN_M)
  367. chrmgr.SelectRace(RACE_ASSASSIN_M)
  368. chrmgr.LoadLocalRaceData("assassin_m.msm")
  369. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/assassin/intro/")
  370.  
  371.  
  372. ##############
  373. # SURA
  374. ##############
  375. chrmgr.CreateRace(RACE_SURA_M)
  376. chrmgr.SelectRace(RACE_SURA_M)
  377. chrmgr.LoadLocalRaceData("sura_m.msm")
  378. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/sura/intro/")
  379.  
  380. chrmgr.CreateRace(RACE_SURA_W)
  381. chrmgr.SelectRace(RACE_SURA_W)
  382. chrmgr.LoadLocalRaceData("sura_w.msm")
  383. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/sura/intro/")
  384.  
  385.  
  386. ##############
  387. # SHAMAN
  388. ##############
  389. chrmgr.CreateRace(RACE_SHAMAN_W)
  390. chrmgr.SelectRace(RACE_SHAMAN_W)
  391. chrmgr.LoadLocalRaceData("shaman_w.msm")
  392. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/shaman/intro/")
  393.  
  394. chrmgr.CreateRace(RACE_SHAMAN_M)
  395. chrmgr.SelectRace(RACE_SHAMAN_M)
  396. chrmgr.LoadLocalRaceData("shaman_m.msm")
  397. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/shaman/intro/")
  398.  
  399.  
  400. if app.ENABLE_WOLFMAN_CHARACTER:
  401. ##############
  402. # WOLFMAN
  403. ##############
  404. chrmgr.CreateRace(RACE_WOLFMAN_M)
  405. chrmgr.SelectRace(RACE_WOLFMAN_M)
  406. chrmgr.LoadLocalRaceData("wolfman_m.msm")
  407. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc3/wolfman/intro/")
  408.  
  409. def __LoadGameSound():
  410. item.SetUseSoundFileName(item.USESOUND_DEFAULT, "sound/ui/drop.wav")
  411. item.SetUseSoundFileName(item.USESOUND_ACCESSORY, "sound/ui/equip_ring_amulet.wav")
  412. item.SetUseSoundFileName(item.USESOUND_ARMOR, "sound/ui/equip_metal_armor.wav")
  413. item.SetUseSoundFileName(item.USESOUND_BOW, "sound/ui/equip_bow.wav")
  414. item.SetUseSoundFileName(item.USESOUND_WEAPON, "sound/ui/equip_metal_weapon.wav")
  415. item.SetUseSoundFileName(item.USESOUND_POTION, "sound/ui/eat_potion.wav")
  416. item.SetUseSoundFileName(item.USESOUND_PORTAL, "sound/ui/potal_scroll.wav")
  417.  
  418. item.SetDropSoundFileName(item.DROPSOUND_DEFAULT, "sound/ui/drop.wav")
  419. item.SetDropSoundFileName(item.DROPSOUND_ACCESSORY, "sound/ui/equip_ring_amulet.wav")
  420. item.SetDropSoundFileName(item.DROPSOUND_ARMOR, "sound/ui/equip_metal_armor.wav")
  421. item.SetDropSoundFileName(item.DROPSOUND_BOW, "sound/ui/equip_bow.wav")
  422. item.SetDropSoundFileName(item.DROPSOUND_WEAPON, "sound/ui/equip_metal_weapon.wav")
  423.  
  424. def __LoadGameEffect():
  425. chrmgr.RegisterEffect(chrmgr.EFFECT_SPAWN_APPEAR, "Bip01", "d:/ymir work/effect/etc/appear_die/monster_appear.mse")
  426. chrmgr.RegisterEffect(chrmgr.EFFECT_SPAWN_DISAPPEAR, "Bip01", "d:/ymir work/effect/etc/appear_die/monster_die.mse")
  427. chrmgr.RegisterEffect(chrmgr.EFFECT_FLAME_ATTACK, "equip_right_hand", "d:/ymir work/effect/hit/blow_flame/flame_3_weapon.mse")
  428. chrmgr.RegisterEffect(chrmgr.EFFECT_FLAME_HIT, "", "d:/ymir work/effect/hit/blow_flame/flame_3_blow.mse")
  429. chrmgr.RegisterEffect(chrmgr.EFFECT_FLAME_ATTACH, "", "d:/ymir work/effect/hit/blow_flame/flame_3_body.mse")
  430. chrmgr.RegisterEffect(chrmgr.EFFECT_ELECTRIC_ATTACK, "equip_right", "d:/ymir work/effect/hit/blow_electric/light_1_weapon.mse")
  431. chrmgr.RegisterEffect(chrmgr.EFFECT_ELECTRIC_HIT, "", "d:/ymir work/effect/hit/blow_electric/light_1_blow.mse")
  432. chrmgr.RegisterEffect(chrmgr.EFFECT_ELECTRIC_ATTACH, "", "d:/ymir work/effect/hit/blow_electric/light_1_body.mse")
  433.  
  434. chrmgr.RegisterEffect(chrmgr.EFFECT_LEVELUP, "", "d:/ymir work/effect/etc/levelup_1/level_up.mse")
  435. chrmgr.RegisterEffect(chrmgr.EFFECT_SKILLUP, "", "d:/ymir work/effect/etc/skillup/skillup_1.mse")
  436.  
  437. if localeInfo.IsNEWCIBN():
  438. chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+1, "Bip01", "locale/newcibn/effect/empire/empire_A.mse")
  439. chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+2, "Bip01", "locale/newcibn/effect/empire/empire_B.mse")
  440. chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+3, "Bip01", "locale/newcibn/effect/empire/empire_C.mse")
  441. else :
  442. chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+1, "Bip01", "d:/ymir work/effect/etc/empire/empire_A.mse")
  443. chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+2, "Bip01", "d:/ymir work/effect/etc/empire/empire_B.mse")
  444. chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+3, "Bip01", "d:/ymir work/effect/etc/empire/empire_C.mse")
  445.  
  446. chrmgr.RegisterEffect(chrmgr.EFFECT_WEAPON+1, "equip_right_hand", "d:/ymir work/pc/warrior/effect/geom_sword_loop.mse")
  447. chrmgr.RegisterEffect(chrmgr.EFFECT_WEAPON+2, "equip_right_hand", "d:/ymir work/pc/warrior/effect/geom_spear_loop.mse")
  448.  
  449. # LOCALE
  450. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+0, "Bip01", localeInfo.FN_GM_MARK)
  451. # END_OF_LOCALE
  452.  
  453. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+3, "Bip01", "d:/ymir work/effect/hit/blow_poison/poison_loop.mse") ## Áßµ¶
  454. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+4, "", "d:/ymir work/effect/affect/slow.mse")
  455. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+5, "Bip01 Head", "d:/ymir work/effect/etc/stun/stun_loop.mse")
  456. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+6, "", "d:/ymir work/effect/etc/ready/ready.mse")
  457. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+8, "", "d:/ymir work/guild/effect/10_construction.mse")
  458. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+9, "", "d:/ymir work/guild/effect/20_construction.mse")
  459. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+10, "", "d:/ymir work/guild/effect/20_upgrade.mse")
  460. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+16, "", "d:/ymir work/pc/warrior/effect/gyeokgongjang_loop.mse") ## õ±ÙÃß (¹Ø¿¡µµ ÀÖµû-_-)
  461. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+17, "", "d:/ymir work/pc/assassin/effect/gyeonggong_loop.mse") ## ÀÚ°´ - °æ°ø
  462. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+19, "Bip01 R Finger2", "d:/ymir work/pc/sura/effect/gwigeom_loop.mse")
  463. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+20, "", "d:/ymir work/pc/sura/effect/fear_loop.mse") ## ¼ö¶ó - °øÆ÷
  464. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+21, "", "d:/ymir work/pc/sura/effect/jumagap_loop.mse") ## ¼ö¶ó - ÁÖ¸¶°©
  465. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+22, "", "d:/ymir work/pc/shaman/effect/3hosin_loop.mse") ## ¹«´ç - È£½Å
  466. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+23, "", "d:/ymir work/pc/shaman/effect/boho_loop.mse") ## ¹«´ç - º¸È£
  467. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+24, "", "d:/ymir work/pc/shaman/effect/10kwaesok_loop.mse") ## ¹«´ç - Äè¼Ó
  468. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+25, "", "d:/ymir work/pc/sura/effect/heuksin_loop.mse")
  469. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+26, "", "d:/ymir work/pc/sura/effect/muyeong_loop.mse")
  470. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+28, "Bip01", "d:/ymir work/effect/hit/blow_flame/flame_loop.mse")
  471. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+29, "Bip01 R Hand", "d:/ymir work/pc/shaman/effect/6gicheon_hand.mse")
  472. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+30, "Bip01 L Hand", "d:/ymir work/pc/shaman/effect/jeungryeok_hand.mse")
  473. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+32, "Bip01 Head", "d:/ymir work/pc/sura/effect/pabeop_loop.mse")
  474. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+33, "", "d:/ymir work/pc/warrior/effect/gyeokgongjang_loop.mse") ## õ±ÙÃß (Fallen)
  475. ## 34 Polymoph
  476. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+35, "", "d:/ymir work/effect/etc/guild_war_flag/flag_red.mse")
  477. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+36, "", "d:/ymir work/effect/etc/guild_war_flag/flag_blue.mse")
  478. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+37, "", "d:/ymir work/effect/etc/guild_war_flag/flag_yellow.mse")
  479.  
  480. if app.ENABLE_WOLFMAN_CHARACTER:
  481. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+41, "Bip01", "d:/ymir work/effect/hit/blow_poison/bleeding_loop.mse")
  482. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+42, "Bip01", "d:/ymir work/effect/hit/blow_flame/flame_loop_w.mse")
  483. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+43, "", "d:/ymir work/pc3/common/effect/gyeokgongjang_loop_w.mse")
  484.  
  485. if app.__BL_REFINED_EFFECT__:
  486. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SWORD_REFINED7, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7.mse")
  487. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SWORD_REFINED8, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8.mse")
  488. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SWORD_REFINED9, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9.mse")
  489. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SWORD_REFINED10, "PART_WEAPON", "d:/ymir work/pc/common/effect/sword/sword_7th.mse")
  490.  
  491. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BOW_REFINED7, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7_b.mse")
  492. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BOW_REFINED8, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_8_b.mse")
  493. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BOW_REFINED9, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_9_b.mse")
  494. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BOW_REFINED10, "PART_WEAPON_LEFT", "d:/ymir work/pc/common/effect/sword/sword_7th_b.mse")
  495.  
  496. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_FANBELL_REFINED7, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_f.mse")
  497. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_FANBELL_REFINED8, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_f.mse")
  498. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_FANBELL_REFINED9, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_f.mse")
  499. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_FANBELL_REFINED10, "PART_WEAPON", "d:/ymir work/pc/common/effect/sword/sword_7th_f.mse")
  500.  
  501. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SMALLSWORD_REFINED7, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_s.mse")
  502. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SMALLSWORD_REFINED8, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_s.mse")
  503. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SMALLSWORD_REFINED9, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_s.mse")
  504. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SMALLSWORD_REFINED10, "PART_WEAPON", "d:/ymir work/pc/common/effect/sword/sword_7th_s.mse")
  505.  
  506. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SMALLSWORD_REFINED7_LEFT, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7_s.mse")
  507. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SMALLSWORD_REFINED8_LEFT, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_8_s.mse")
  508. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SMALLSWORD_REFINED9_LEFT, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_9_s.mse")
  509. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_SMALLSWORD_REFINED10_LEFT, "PART_WEAPON_LEFT", "d:/ymir work/pc/common/effect/sword/sword_7th_s.mse")
  510.  
  511. if app.ENABLE_WOLFMAN_CHARACTER:
  512. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_CLAW_REFINED7, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_w.mse")
  513. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_CLAW_REFINED8, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_w.mse")
  514. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_CLAW_REFINED9, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_w.mse")
  515. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_CLAW_REFINED10, "PART_WEAPON", "d:/ymir work/pc/common/effect/sword/sword_7th_w.mse")
  516.  
  517. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_CLAW_REFINED7_LEFT, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7_w.mse")
  518. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_CLAW_REFINED8_LEFT, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_8_w.mse")
  519. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_CLAW_REFINED9_LEFT, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_9_w.mse")
  520. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_CLAW_REFINED10_LEFT, "PART_WEAPON_LEFT", "d:/ymir work/pc/common/effect/sword/sword_7th_w.mse")
  521.  
  522. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BODYARMOR_REFINED7, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_7.mse")
  523. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BODYARMOR_REFINED8, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_8.mse")
  524. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BODYARMOR_REFINED9, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_9.mse")
  525. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BODYARMOR_REFINED10, "Bip01", "d:/ymir work/pc/common/effect/armor/armor_7th_01.mse")
  526.  
  527. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BODYARMOR_SPECIAL, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-1.mse")
  528. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BODYARMOR_SPECIAL2, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")
  529. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+chrmgr.EFFECT_BODYARMOR_SPECIAL3, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-5-1.mse")
  530.  
  531. if app.ENABLE_ACCE_SYSTEM:
  532. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 36, "Bip01", "d:/ymir work/pc/common/effect/armor/acc_01.mse")
  533.  
  534. else:
  535. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+1, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7.mse")
  536. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+2, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8.mse")
  537. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+3, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9.mse")
  538.  
  539. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+4, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7_b.mse")
  540. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+5, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_8_b.mse")
  541. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+6, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_9_b.mse")
  542.  
  543. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+7, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_f.mse")
  544. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+8, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_f.mse")
  545. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+9, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_f.mse")
  546.  
  547. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+10, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_s.mse")
  548. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+11, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_s.mse")
  549. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+12, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_s.mse")
  550.  
  551. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+13, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7_s.mse")
  552. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+14, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_8_s.mse")
  553. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+15, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_9_s.mse")
  554.  
  555. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+16, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_7.mse")
  556. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+17, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_8.mse")
  557. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+18, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_9.mse")
  558.  
  559. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+19, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-1.mse")
  560. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+20, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")
  561. if app.ENABLE_ACCE_SYSTEM:
  562. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 21, "Bip01", "d:/ymir work/pc/common/effect/armor/acc_01.mse")
  563.  
  564. if app.ENABLE_WOLFMAN_CHARACTER:
  565. ## CLAW RIGHT
  566. ## TY to HUNGER on M2Dev discord for the info about fanbell effect being a good alternative for claw refine effect
  567. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+22, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_f.mse")
  568. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+23, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_f.mse")
  569. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+24, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_f.mse")
  570. ## CLAW LEFT
  571. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+25, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7_f.mse")
  572. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+26, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_8_f.mse")
  573. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+27, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_9_f.mse")
  574.  
  575.  
  576.  
  577. ## FlyData
  578. effect.RegisterIndexedFlyData(effect.FLY_EXP, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_yellow_small2.msf") ## ³ë¶õ»ö (EXP)
  579. effect.RegisterIndexedFlyData(effect.FLY_HP_MEDIUM, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_red_small.msf") ## »¡°£»ö (HP) ÀÛÀº°Å
  580. effect.RegisterIndexedFlyData(effect.FLY_HP_BIG, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_red_big.msf") ## »¡°£»ö (HP) Å«°Å
  581. effect.RegisterIndexedFlyData(effect.FLY_SP_SMALL, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_blue_warrior_small.msf") ## ÆÄ¶õ»ö ²¿¸®¸¸ Àִ°Å
  582. effect.RegisterIndexedFlyData(effect.FLY_SP_MEDIUM, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_blue_small.msf") ## ÆÄ¶õ»ö ÀÛÀº°Å
  583. effect.RegisterIndexedFlyData(effect.FLY_SP_BIG, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_blue_big.msf") ## ÆÄ¶õ»ö Å«°Å
  584. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK1, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_1.msf") ## ÆøÁ× 1
  585. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK2, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_2.msf") ## ÆøÁ× 2
  586. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK3, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_3.msf") ## ÆøÁ× 3
  587. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK4, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_4.msf") ## ÆøÁ× 4
  588. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK5, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_5.msf") ## ÆøÁ× 5
  589. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK6, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_6.msf") ## ÆøÁ× 6
  590. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK_XMAS, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_xmas.msf") ## ÆøÁ× X-Mas
  591. effect.RegisterIndexedFlyData(effect.FLY_CHAIN_LIGHTNING, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/pc/shaman/effect/pokroe.msf") ## Æø·Ú°Ý
  592. effect.RegisterIndexedFlyData(effect.FLY_HP_SMALL, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_red_smallest.msf") ## »¡°£»ö ¸Å¿ì ÀÛÀº°Å
  593. effect.RegisterIndexedFlyData(effect.FLY_SKILL_MUYEONG, effect.INDEX_FLY_TYPE_AUTO_FIRE, "d:/ymir work/pc/sura/effect/muyeong_fly.msf") ## ¹«¿µÁø
  594.  
  595. #########################################################################################
  596. ## Emoticon
  597. EmoticonStr = "d:/ymir work/effect/etc/emoticon/"
  598.  
  599. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+0, "", EmoticonStr+"sweat.mse")
  600. net.RegisterEmoticonString("(Ȳ´ç)")
  601.  
  602. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+1, "", EmoticonStr+"money.mse")
  603. net.RegisterEmoticonString("(µ·)")
  604.  
  605. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+2, "", EmoticonStr+"happy.mse")
  606. net.RegisterEmoticonString("(±â»Ý)")
  607.  
  608. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+3, "", EmoticonStr+"love_s.mse")
  609. net.RegisterEmoticonString("(ÁÁ¾Æ)")
  610.  
  611. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+4, "", EmoticonStr+"love_l.mse")
  612. net.RegisterEmoticonString("(»ç¶û)")
  613.  
  614. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+5, "", EmoticonStr+"angry.mse")
  615. net.RegisterEmoticonString("(ºÐ³ë)")
  616.  
  617. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+6, "", EmoticonStr+"aha.mse")
  618. net.RegisterEmoticonString("(¾ÆÇÏ)")
  619.  
  620. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+7, "", EmoticonStr+"gloom.mse")
  621. net.RegisterEmoticonString("(¿ì¿ï)")
  622.  
  623. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+8, "", EmoticonStr+"sorry.mse")
  624. net.RegisterEmoticonString("(Á˼Û)")
  625.  
  626. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+9, "", EmoticonStr+"!_mix_back.mse")
  627. net.RegisterEmoticonString("(!)")
  628.  
  629. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+10, "", EmoticonStr+"question.mse")
  630. net.RegisterEmoticonString("(?)")
  631.  
  632. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+11, "", EmoticonStr+"fish.mse")
  633. net.RegisterEmoticonString("(fish)")
  634.  
  635.  
  636. ## Emoticon
  637. #########################################################################################
  638.  
  639.  
  640. def __LoadGameWarrior():
  641. __LoadGameWarriorEx(RACE_WARRIOR_M, "d:/ymir work/pc/warrior/")
  642. __LoadGameWarriorEx(RACE_WARRIOR_W, "d:/ymir work/pc2/warrior/")
  643.  
  644. def __LoadGameAssassin():
  645. __LoadGameAssassinEx(RACE_ASSASSIN_W, "d:/ymir work/pc/assassin/")
  646. __LoadGameAssassinEx(RACE_ASSASSIN_M, "d:/ymir work/pc2/assassin/")
  647.  
  648. def __LoadGameSura():
  649. __LoadGameSuraEx(RACE_SURA_M, "d:/ymir work/pc/sura/")
  650. __LoadGameSuraEx(RACE_SURA_W, "d:/ymir work/pc2/sura/")
  651.  
  652. def __LoadGameShaman():
  653. __LoadGameShamanEx(RACE_SHAMAN_W, "d:/ymir work/pc/shaman/")
  654. __LoadGameShamanEx(RACE_SHAMAN_M, "d:/ymir work/pc2/shaman/")
  655.  
  656. if app.ENABLE_WOLFMAN_CHARACTER:
  657. def __LoadGameWolfman():
  658. __LoadGameWolfmanEx(RACE_WOLFMAN_M, "d:/ymir work/pc3/wolfman/")
  659.  
  660. def __LoadGameWarriorEx(race, path):
  661.  
  662. ## Warrior
  663. #########################################################################################
  664. chrmgr.SelectRace(race)
  665.  
  666. ## GENERAL MODE
  667. SetGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
  668. if app.ENABLE_STANDING_MOUNT:
  669. SetGeneralMotionsHorseStand(chr.MOTION_MODE_HORSE_STAND, path + "general/")
  670. chrmgr.SetMotionRandomWeight(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, 0, 70)
  671. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait_1.msa", 30)
  672. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack.msa", 50)
  673. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack_1.msa", 50)
  674.  
  675. ## SKILL
  676. chrmgr.SetPathName(path + "skill/")
  677. for i in xrange(skill.SKILL_EFFECT_COUNT):
  678. END_STRING = ""
  679. if i != 0: END_STRING = "_%d" % (i+1)
  680. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "samyeon" + END_STRING + ".msa")
  681. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "palbang" + END_STRING + ".msa")
  682. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "jeongwi" + END_STRING + ".msa")
  683. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "geomgyeong" + END_STRING + ".msa")
  684. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "tanhwan" + END_STRING + ".msa")
  685. if NEW_678TH_SKILL_ENABLE:
  686. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gihyeol" + END_STRING + ".msa")
  687. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "gigongcham" + END_STRING + ".msa")
  688. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gyeoksan" + END_STRING + ".msa")
  689. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "daejin" + END_STRING + ".msa")
  690. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "cheongeun" + END_STRING + ".msa")
  691. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "geompung" + END_STRING + ".msa")
  692. if NEW_678TH_SKILL_ENABLE:
  693. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "noegeom" + END_STRING + ".msa")
  694.  
  695. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
  696. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
  697. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
  698. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
  699. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
  700. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
  701.  
  702. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
  703. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  704. if app.ENABLE_STANDING_MOUNT:
  705. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND, COMBO_TYPE_1, 1)
  706. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  707.  
  708. ## EMOTION
  709. emotion.RegisterEmotionAnis(path)
  710.  
  711. ## ONEHAND_SWORD BATTLE
  712. chrmgr.SetPathName(path + "onehand_sword/")
  713. chrmgr.RegisterMotionMode(chr.MOTION_MODE_ONEHAND_SWORD)
  714. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT, "wait.msa", 50)
  715. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 50)
  716. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WALK, "walk.msa")
  717. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_RUN, "run.msa")
  718. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  719. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  720. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  721. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  722. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  723. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  724. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  725. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  726. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  727. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  728. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  729.  
  730. ## Combo Type 1
  731. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, 4)
  732. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  733. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  734. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  735. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  736. ## Combo Type 2
  737. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, 5)
  738. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  739. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  740. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  741. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  742. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  743. ## Combo Type 3
  744. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, 6)
  745. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  746. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  747. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  748. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  749. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  750. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  751.  
  752. if app.ENABLE_STANDING_MOUNT:
  753. ## ONEHAND_SWORD BATTLE
  754. chrmgr.SetPathName(path + "onehand_sword/")
  755. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_STAND_SWORD)
  756. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_WAIT, "wait.msa", 50)
  757. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 50)
  758. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_WALK, "wait.msa")
  759. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_RUN, "wait.msa")
  760. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  761. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  762. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  763. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  764. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  765. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  766. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  767. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  768. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  769. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  770. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  771.  
  772. ## Combo Type 1
  773. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, 4)
  774. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  775. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  776. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  777. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  778. ## Combo Type 2
  779. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, 5)
  780. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  781. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  782. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  783. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  784. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  785. ## Combo Type 3
  786. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, 6)
  787. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  788. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  789. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  790. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  791. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  792. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  793.  
  794. #One Hand Skills
  795. chrmgr.SetPathName(path + "skill/")
  796. for i in xrange(skill.SKILL_EFFECT_COUNT):
  797. END_STRING = ""
  798. if i != 0: END_STRING = "_%d" % (i+1)
  799. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "samyeon" + END_STRING + ".msa")
  800. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "palbang" + END_STRING + ".msa")
  801. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "jeongwi" + END_STRING + ".msa")
  802. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "geomgyeong" + END_STRING + ".msa")
  803. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "tanhwan" + END_STRING + ".msa")
  804. if NEW_678TH_SKILL_ENABLE:
  805. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gihyeol" + END_STRING + ".msa")
  806. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "gigongcham" + END_STRING + ".msa")
  807. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gyeoksan" + END_STRING + ".msa")
  808. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "daejin" + END_STRING + ".msa")
  809. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "cheongeun" + END_STRING + ".msa")
  810. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "geompung" + END_STRING + ".msa")
  811. if NEW_678TH_SKILL_ENABLE:
  812. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "noegeom" + END_STRING + ".msa")
  813.  
  814. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, 1)
  815. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  816.  
  817. ## TWOHAND_SWORD BATTLE
  818. chrmgr.SetPathName(path + "twohand_sword/")
  819. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD)
  820. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_WAIT, "wait.msa", 70)
  821. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 30)
  822. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_WALK, "wait.msa")
  823. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_RUN, "wait.msa")
  824. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  825. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  826. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  827. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  828. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  829. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  830. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  831. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  832. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  833. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  834. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  835.  
  836. ## Combo Type 1
  837. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_1, 4)
  838. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  839. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  840. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  841. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  842. ## Combo Type 2
  843. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_2, 5)
  844. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  845. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  846. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  847. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  848. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  849. ## Combo Type 3
  850. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_3, 6)
  851. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  852. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  853. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  854. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  855. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  856. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  857.  
  858. #Two Hand Skills
  859. chrmgr.SetPathName(path + "skill/")
  860. for i in xrange(skill.SKILL_EFFECT_COUNT):
  861. END_STRING = ""
  862. if i != 0: END_STRING = "_%d" % (i+1)
  863. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "samyeon" + END_STRING + ".msa")
  864. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "palbang" + END_STRING + ".msa")
  865. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "jeongwi" + END_STRING + ".msa")
  866. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "geomgyeong" + END_STRING + ".msa")
  867. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "tanhwan" + END_STRING + ".msa")
  868. if NEW_678TH_SKILL_ENABLE:
  869. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gihyeol" + END_STRING + ".msa")
  870. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "gigongcham" + END_STRING + ".msa")
  871. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gyeoksan" + END_STRING + ".msa")
  872. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "daejin" + END_STRING + ".msa")
  873. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "cheongeun" + END_STRING + ".msa")
  874. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "geompung" + END_STRING + ".msa")
  875. if NEW_678TH_SKILL_ENABLE:
  876. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_TWOHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "noegeom" + END_STRING + ".msa")
  877.  
  878. ## TWOHAND_SWORD BATTLE
  879. chrmgr.SetPathName(path + "twohand_sword/")
  880. chrmgr.RegisterMotionMode(chr.MOTION_MODE_TWOHAND_SWORD)
  881. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_WAIT, "wait.msa", 70)
  882. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 30)
  883. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_WALK, "walk.msa")
  884. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_RUN, "run.msa")
  885. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  886. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  887. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  888. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  889. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  890. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  891. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  892. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  893. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  894. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  895. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  896.  
  897. ## Combo Type 1
  898. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, 4)
  899. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  900. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  901. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  902. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  903. ## Combo Type 2
  904. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, 5)
  905. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  906. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  907. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  908. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  909. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  910. ## Combo Type 3
  911. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, 6)
  912. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  913. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  914. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  915. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  916. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  917. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  918.  
  919. ## FISHING
  920. chrmgr.SetPathName(path + "fishing/")
  921. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
  922. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT, "wait.msa")
  923. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK, "walk.msa")
  924. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN, "run.msa")
  925. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW, "throw.msa")
  926. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT, "fishing_wait.msa")
  927. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP, "fishing_cancel.msa")
  928. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT, "fishing_react.msa")
  929. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH, "fishing_catch.msa")
  930. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL, "fishing_fail.msa")
  931.  
  932. ## HORSE
  933. chrmgr.SetPathName(path + "horse/")
  934. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
  935. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  936. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_1.msa", 9)
  937. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_2.msa", 1)
  938. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  939. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  940. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE, "damage.msa")
  941. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK, "damage.msa")
  942. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD, "dead.msa")
  943. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE, "skill_charge.msa")
  944.  
  945. ## HORSE_ONEHAND_SWORD
  946. chrmgr.SetPathName(path + "horse_onehand_sword/")
  947. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_ONEHAND_SWORD)
  948. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  949. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  950. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  951. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, 3)
  952. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  953. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  954. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  955. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  956. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_SPLASH, "skill_splash.msa")
  957.  
  958. ## HORSE_TWOHAND_SWORD
  959. chrmgr.SetPathName(path + "horse_twohand_sword/")
  960. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_TWOHAND_SWORD)
  961. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  962. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  963. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  964. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, 3)
  965. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  966. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  967. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  968. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  969. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, HORSE_SKILL_SPLASH, "skill_splash.msa")
  970.  
  971. ## Bone
  972. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right_hand")
  973. if app.ENABLE_ACCE_SYSTEM:
  974. chrmgr.RegisterAttachingBoneName(chr.PART_ACCE, "Bip01 Spine2")
  975.  
  976. def __LoadGameAssassinEx(race, path):
  977. ## Assassin
  978. #########################################################################################
  979. chrmgr.SelectRace(race)
  980.  
  981. ## GENERAL MOTION MODE
  982. SetGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
  983. if app.ENABLE_STANDING_MOUNT:
  984. SetGeneralMotionsHorseStand(chr.MOTION_MODE_HORSE_STAND, path + "general/")
  985. chrmgr.SetMotionRandomWeight(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, 0, 70)
  986. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait_1.msa", 30)
  987. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack.msa", 50)
  988. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack_1.msa", 50)
  989.  
  990. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
  991. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  992. if app.ENABLE_STANDING_MOUNT:
  993. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND, COMBO_TYPE_1, 1)
  994. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  995.  
  996. ## SKILL
  997. chrmgr.SetPathName(path + "skill/")
  998. for i in xrange(skill.SKILL_EFFECT_COUNT):
  999. END_STRING = ""
  1000. if i != 0: END_STRING = "_%d" % (i+1)
  1001. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "amseup" + END_STRING + ".msa")
  1002. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "gungsin" + END_STRING + ".msa")
  1003. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "charyun" + END_STRING + ".msa")
  1004. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "eunhyeong" + END_STRING + ".msa")
  1005. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "sangong" + END_STRING + ".msa")
  1006. if NEW_678TH_SKILL_ENABLE:
  1007. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "seomjeon" + END_STRING + ".msa")
  1008. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "yeonsa" + END_STRING + ".msa")
  1009. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gwangyeok" + END_STRING + ".msa")
  1010. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "hwajo" + END_STRING + ".msa")
  1011. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "gyeonggong" + END_STRING + ".msa")
  1012. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "dokgigung" + END_STRING + ".msa")
  1013. if NEW_678TH_SKILL_ENABLE:
  1014. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "seomgwang" + END_STRING + ".msa")
  1015.  
  1016. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
  1017. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
  1018. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
  1019. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
  1020. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
  1021. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
  1022.  
  1023. ## EMOTION
  1024. emotion.RegisterEmotionAnis(path)
  1025.  
  1026. ## ONEHAND_SWORD BATTLE
  1027. chrmgr.SetPathName(path + "onehand_sword/")
  1028. chrmgr.RegisterMotionMode(chr.MOTION_MODE_ONEHAND_SWORD)
  1029. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT, "wait.msa", 70)
  1030. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 30)
  1031. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WALK, "walk.msa")
  1032. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_RUN, "run.msa")
  1033. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  1034. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1035. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1036. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1037. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1038. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1039. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1040. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1041. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1042. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1043. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1044.  
  1045. ## Combo Type 1
  1046. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, 4)
  1047. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1048. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1049. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1050. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1051. ## Combo Type 2
  1052. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, 5)
  1053. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1054. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1055. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1056. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1057. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1058. ## Combo Type 3
  1059. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, 6)
  1060. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1061. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1062. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1063. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1064. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1065. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1066.  
  1067. if app.ENABLE_STANDING_MOUNT:
  1068. ## ONEHAND_SWORD BATTLE
  1069. chrmgr.SetPathName(path + "onehand_sword/")
  1070. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_STAND_SWORD)
  1071. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_WAIT, "wait.msa", 70)
  1072. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 30)
  1073. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_WALK, "wait.msa")
  1074. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_RUN, "wait.msa")
  1075. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  1076. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1077. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1078. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1079. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1080. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1081. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1082. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1083. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1084. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1085. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1086.  
  1087. ## Combo Type 1
  1088. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, 4)
  1089. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1090. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1091. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1092. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1093. ## Combo Type 2
  1094. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, 5)
  1095. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1096. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1097. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1098. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1099. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1100. ## Combo Type 3
  1101. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, 6)
  1102. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1103. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1104. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1105. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1106. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1107. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1108.  
  1109. #One Hand Skills
  1110. chrmgr.SetPathName(path + "skill/")
  1111. for i in xrange(skill.SKILL_EFFECT_COUNT):
  1112. END_STRING = ""
  1113. if i != 0: END_STRING = "_%d" % (i+1)
  1114. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "amseup" + END_STRING + ".msa")
  1115. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "gungsin" + END_STRING + ".msa")
  1116. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "charyun" + END_STRING + ".msa")
  1117. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "eunhyeong" + END_STRING + ".msa")
  1118. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "sangong" + END_STRING + ".msa")
  1119. if NEW_678TH_SKILL_ENABLE:
  1120. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "seomjeon" + END_STRING + ".msa")
  1121. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "yeonsa" + END_STRING + ".msa")
  1122. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gwangyeok" + END_STRING + ".msa")
  1123. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "hwajo" + END_STRING + ".msa")
  1124. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "gyeonggong" + END_STRING + ".msa")
  1125. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "dokgigung" + END_STRING + ".msa")
  1126. if NEW_678TH_SKILL_ENABLE:
  1127. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "seomgwang" + END_STRING + ".msa")
  1128.  
  1129. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, 1)
  1130. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1131.  
  1132. chrmgr.SetPathName(path + "dualhand_sword/")
  1133. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD)
  1134.  
  1135. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_WAIT, "wait.msa", 70)
  1136. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 30)
  1137. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_WALK, "wait.msa")
  1138. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_RUN, "wait.msa")
  1139. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  1140. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1141. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1142. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1143. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1144. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1145. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1146. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1147. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1148. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1149. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1150. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_8, "combo_08.msa")
  1151.  
  1152. ## Combo Type 1
  1153. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_1, 4)
  1154. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1155. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1156. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1157. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1158. ## Combo Type 2
  1159. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_2, 5)
  1160. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1161. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1162. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1163. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1164. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1165. ## Combo Type 3
  1166. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_3, 6)
  1167. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1168. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1169. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1170. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1171. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1172. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1173.  
  1174. #Dual Hand Skills
  1175. chrmgr.SetPathName(path + "skill/")
  1176. for i in xrange(skill.SKILL_EFFECT_COUNT):
  1177. END_STRING = ""
  1178. if i != 0: END_STRING = "_%d" % (i+1)
  1179. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "amseup" + END_STRING + ".msa")
  1180. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "gungsin" + END_STRING + ".msa")
  1181. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "charyun" + END_STRING + ".msa")
  1182. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "eunhyeong" + END_STRING + ".msa")
  1183. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "sangong" + END_STRING + ".msa")
  1184. if NEW_678TH_SKILL_ENABLE:
  1185. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "seomjeon" + END_STRING + ".msa")
  1186. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "yeonsa" + END_STRING + ".msa")
  1187. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gwangyeok" + END_STRING + ".msa")
  1188. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "hwajo" + END_STRING + ".msa")
  1189. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "gyeonggong" + END_STRING + ".msa")
  1190. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "dokgigung" + END_STRING + ".msa")
  1191. if NEW_678TH_SKILL_ENABLE:
  1192. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_DUALHAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "seomgwang" + END_STRING + ".msa")
  1193.  
  1194. ##BOW
  1195. chrmgr.SetPathName(path + "bow/")
  1196. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_STAND_BOW)
  1197. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_WAIT, "wait.msa", 70)
  1198. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_WAIT, "wait_1.msa", 30)
  1199. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_WALK, "wait.msa")
  1200. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_RUN, "wait.msa")
  1201. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_DAMAGE, "damage.msa", 50)
  1202. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1203. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1204. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1205. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_COMBO_ATTACK_1, "attack.msa")
  1206. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BOW, COMBO_TYPE_1, 1)
  1207. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BOW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1208.  
  1209. chrmgr.SetPathName(path + "skill/")
  1210. for i in xrange(skill.SKILL_EFFECT_COUNT):
  1211. END_STRING = ""
  1212. if i != 0: END_STRING = "_%d" % (i+1)
  1213. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "amseup" + END_STRING + ".msa")
  1214. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "gungsin" + END_STRING + ".msa")
  1215. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "charyun" + END_STRING + ".msa")
  1216. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "eunhyeong" + END_STRING + ".msa")
  1217. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "sangong" + END_STRING + ".msa")
  1218. if NEW_678TH_SKILL_ENABLE:
  1219. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "seomjeon" + END_STRING + ".msa")
  1220. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "yeonsa" + END_STRING + ".msa")
  1221. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gwangyeok" + END_STRING + ".msa")
  1222. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "hwajo" + END_STRING + ".msa")
  1223. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "gyeonggong" + END_STRING + ".msa")
  1224. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "dokgigung" + END_STRING + ".msa")
  1225. if NEW_678TH_SKILL_ENABLE:
  1226. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BOW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "seomgwang" + END_STRING + ".msa")
  1227.  
  1228. ## DUALHAND_SWORD BATTLE
  1229. chrmgr.SetPathName(path + "dualhand_sword/")
  1230. chrmgr.RegisterMotionMode(chr.MOTION_MODE_DUALHAND_SWORD)
  1231. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_WAIT, "wait.msa", 70)
  1232. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 30)
  1233. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_WALK, "walk.msa")
  1234. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_RUN, "run.msa")
  1235. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  1236. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1237. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1238. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1239. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1240. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1241. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1242. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1243. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1244. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1245. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1246. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_8, "combo_08.msa")
  1247.  
  1248. ## Combo Type 1
  1249. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_1, 4)
  1250. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1251. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1252. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1253. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1254. ## Combo Type 2
  1255. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, 5)
  1256. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1257. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1258. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1259. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1260. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1261. ## Combo Type 3
  1262. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, 6)
  1263. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1264. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1265. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1266. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1267. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1268. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_8)
  1269.  
  1270. ## BOW BATTLE
  1271. chrmgr.SetPathName(path + "bow/")
  1272. chrmgr.RegisterMotionMode(chr.MOTION_MODE_BOW)
  1273. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_WAIT, "wait.msa", 70)
  1274. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_WAIT, "wait_1.msa", 30)
  1275. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_WALK, "walk.msa")
  1276. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_RUN, "run.msa")
  1277. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_DAMAGE, "damage.msa", 50)
  1278. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1279. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1280. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1281. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_COMBO_ATTACK_1, "attack.msa")
  1282. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_BOW, COMBO_TYPE_1, 1)
  1283. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BOW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1284.  
  1285. ## FISHING
  1286. chrmgr.SetPathName(path + "fishing/")
  1287. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
  1288. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT, "wait.msa")
  1289. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK, "walk.msa")
  1290. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN, "run.msa")
  1291. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW, "throw.msa")
  1292. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT, "fishing_wait.msa")
  1293. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP, "fishing_cancel.msa")
  1294. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT, "fishing_react.msa")
  1295. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH, "fishing_catch.msa")
  1296. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL, "fishing_fail.msa")
  1297.  
  1298. ## HORSE
  1299. chrmgr.SetPathName(path + "horse/")
  1300. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
  1301. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  1302. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_1.msa", 9)
  1303. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_2.msa", 1)
  1304. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  1305. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  1306. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE, "damage.msa")
  1307. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK, "damage.msa")
  1308. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD, "dead.msa")
  1309. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE, "skill_charge.msa")
  1310.  
  1311. ## HORSE_ONEHAND_SWORD
  1312. chrmgr.SetPathName(path + "horse_onehand_sword/")
  1313. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_ONEHAND_SWORD)
  1314. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1315. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1316. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1317. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  1318. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_SPLASH, "skill_splash.msa")
  1319. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, 3)
  1320. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1321. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1322. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1323.  
  1324. ## HORSE_DUALHAND_SWORD
  1325. chrmgr.SetPathName(path + "horse_dualhand_sword/")
  1326. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_DUALHAND_SWORD)
  1327. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1328. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1329. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1330. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  1331. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, HORSE_SKILL_SPLASH, "skill_splash.msa")
  1332. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, COMBO_TYPE_1, 3)
  1333. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1334. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1335. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1336.  
  1337. ## HORSE_BOW
  1338. chrmgr.SetPathName(path + "horse_bow/")
  1339. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_BOW)
  1340. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_WAIT, "wait.msa", 90)
  1341. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_WAIT, "wait_1.msa", 9)
  1342. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_WAIT, "wait_2.msa", 1)
  1343. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_RUN, "run.msa")
  1344. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_DAMAGE, "damage.msa")
  1345. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_DEAD, "dead.msa")
  1346. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_COMBO_ATTACK_1, "attack.msa")
  1347. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  1348. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, HORSE_SKILL_SPLASH, "skill_splash.msa")
  1349. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_BOW, COMBO_TYPE_1, 1)
  1350. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_BOW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1351.  
  1352. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right")
  1353. if app.ENABLE_ACCE_SYSTEM:
  1354. chrmgr.RegisterAttachingBoneName(chr.PART_ACCE, "Bip01 Spine2")
  1355. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON_LEFT, "equip_left")
  1356.  
  1357.  
  1358. def __LoadGameSuraEx(race, path):
  1359. ## Sura
  1360. #########################################################################################
  1361. chrmgr.SelectRace(race)
  1362.  
  1363. ## GENERAL MOTION MODE
  1364. SetGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
  1365. if app.ENABLE_STANDING_MOUNT:
  1366. SetGeneralMotionsHorseStand(chr.MOTION_MODE_HORSE_STAND, path + "general/")
  1367. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack.msa", 50)
  1368. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack_1.msa", 50)
  1369.  
  1370. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
  1371. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1372. if app.ENABLE_STANDING_MOUNT:
  1373. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND, COMBO_TYPE_1, 1)
  1374. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1375.  
  1376. ## SKILL
  1377. chrmgr.SetPathName(path + "skill/")
  1378. # chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+4, "geongon.msa")
  1379.  
  1380. for i in xrange(skill.SKILL_EFFECT_COUNT):
  1381. END_STRING = ""
  1382. if i != 0: END_STRING = "_%d" % (i+1)
  1383. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "swaeryeong" + END_STRING + ".msa")
  1384. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "yonggwon" + END_STRING + ".msa")
  1385. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "gwigeom" + END_STRING + ".msa")
  1386. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "gongpo" + END_STRING + ".msa")
  1387. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "jumagap" + END_STRING + ".msa")
  1388. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "pabeop" + END_STRING + ".msa")
  1389. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "maryeong" + END_STRING + ".msa")
  1390. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "hwayeom" + END_STRING + ".msa")
  1391. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "muyeong" + END_STRING + ".msa")
  1392. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "heuksin" + END_STRING + ".msa")
  1393. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "tusok" + END_STRING + ".msa")
  1394. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "mahwan" + END_STRING + ".msa")
  1395.  
  1396. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
  1397. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
  1398. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
  1399. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
  1400. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
  1401. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
  1402.  
  1403. ## EMOTION
  1404. emotion.RegisterEmotionAnis(path)
  1405.  
  1406. ## ONEHAND_SWORD BATTLE
  1407. chrmgr.SetPathName(path + "onehand_sword/")
  1408. chrmgr.RegisterMotionMode(chr.MOTION_MODE_ONEHAND_SWORD)
  1409. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT, "wait.msa")
  1410. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WALK, "walk.msa")
  1411. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_RUN, "run.msa")
  1412. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa")
  1413. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  1414. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1415. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1416. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1417. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1418. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1419. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1420. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1421. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1422. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1423. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1424.  
  1425. ## Combo Type 1
  1426. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, 4)
  1427. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1428. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1429. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1430. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1431. ## Combo Type 2
  1432. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, 5)
  1433. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1434. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1435. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1436. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1437. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1438. ## Combo Type 3
  1439. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, 6)
  1440. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1441. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1442. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1443. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1444. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1445. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1446.  
  1447. if app.ENABLE_STANDING_MOUNT:
  1448. ## ONEHAND_SWORD BATTLE
  1449. chrmgr.SetPathName(path + "onehand_sword/")
  1450. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_STAND_SWORD)
  1451. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_WAIT, "wait.msa")
  1452. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_WALK, "wait.msa")
  1453. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_RUN, "wait.msa")
  1454. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE, "damage.msa")
  1455. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  1456. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1457. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1458. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1459. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1460. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1461. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1462. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1463. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1464. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1465. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1466.  
  1467. ## Combo Type 1
  1468. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, 4)
  1469. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1470. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1471. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1472. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1473. ## Combo Type 2
  1474. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, 5)
  1475. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1476. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1477. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1478. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1479. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1480. ## Combo Type 3
  1481. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, 6)
  1482. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1483. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1484. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1485. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1486. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1487. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1488.  
  1489. #One Hand Skills
  1490. chrmgr.SetPathName(path + "skill/")
  1491. for i in xrange(skill.SKILL_EFFECT_COUNT):
  1492. END_STRING = ""
  1493. if i != 0: END_STRING = "_%d" % (i+1)
  1494. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "swaeryeong" + END_STRING + ".msa")
  1495. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "yonggwon" + END_STRING + ".msa")
  1496. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "gwigeom" + END_STRING + ".msa")
  1497. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "gongpo" + END_STRING + ".msa")
  1498. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "jumagap" + END_STRING + ".msa")
  1499. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "pabeop" + END_STRING + ".msa")
  1500. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "maryeong" + END_STRING + ".msa")
  1501. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "hwayeom" + END_STRING + ".msa")
  1502. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "muyeong" + END_STRING + ".msa")
  1503. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "heuksin" + END_STRING + ".msa")
  1504. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "tusok" + END_STRING + ".msa")
  1505. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_SWORD, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "mahwan" + END_STRING + ".msa")
  1506.  
  1507. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, 1)
  1508. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1509.  
  1510. ## FISHING
  1511. chrmgr.SetPathName(path + "fishing/")
  1512. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
  1513. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT, "wait.msa")
  1514. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK, "walk.msa")
  1515. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN, "run.msa")
  1516. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW, "throw.msa")
  1517. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT, "fishing_wait.msa")
  1518. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP, "fishing_cancel.msa")
  1519. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT, "fishing_react.msa")
  1520. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH, "fishing_catch.msa")
  1521. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL, "fishing_fail.msa")
  1522.  
  1523. ## HORSE
  1524. chrmgr.SetPathName(path + "horse/")
  1525. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
  1526. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  1527. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_1.msa", 9)
  1528. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_2.msa", 1)
  1529. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  1530. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  1531. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE, "damage.msa")
  1532. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK, "damage.msa")
  1533. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD, "dead.msa")
  1534. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE, "skill_charge.msa")
  1535. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_SPLASH, "skill_splash.msa")
  1536.  
  1537. ## HORSE_ONEHAND_SWORD
  1538. chrmgr.SetPathName(path + "horse_onehand_sword/")
  1539. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_ONEHAND_SWORD)
  1540. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1541. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1542. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1543. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, 3)
  1544. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1545. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1546. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1547. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  1548.  
  1549. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right")
  1550. if app.ENABLE_ACCE_SYSTEM:
  1551. chrmgr.RegisterAttachingBoneName(chr.PART_ACCE, "Bip01 Spine2")
  1552.  
  1553. def __LoadGameShamanEx(race, path):
  1554. ## Shaman
  1555. #########################################################################################
  1556. chrmgr.SelectRace(race)
  1557.  
  1558. ## GENERAL MOTION MODE
  1559. SetGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
  1560. if app.ENABLE_STANDING_MOUNT:
  1561. SetGeneralMotionsHorseStand(chr.MOTION_MODE_HORSE_STAND, path + "general/")
  1562. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack.msa", 50)
  1563. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack_1.msa", 50)
  1564.  
  1565. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
  1566. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1567. if app.ENABLE_STANDING_MOUNT:
  1568. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND, COMBO_TYPE_1, 1)
  1569. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1570. ## EMOTION
  1571. emotion.RegisterEmotionAnis(path)
  1572.  
  1573. ## Fan
  1574. chrmgr.SetPathName(path + "fan/")
  1575. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FAN)
  1576. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_WAIT, "wait.msa")
  1577. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_WALK, "walk.msa")
  1578. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_RUN, "run.msa")
  1579. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_DAMAGE, "damage.msa", 50)
  1580. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1581. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1582. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1583. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1584. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1585. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1586. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1587. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1588. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1589. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1590.  
  1591. ## Combo Type 1
  1592. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_1, 4)
  1593. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1594. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1595. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1596. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1597. ## Combo Type 2
  1598. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, 5)
  1599. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1600. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1601. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1602. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1603. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1604. ## Combo Type 3
  1605. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, 6)
  1606. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1607. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1608. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1609. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1610. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1611. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1612.  
  1613.  
  1614.  
  1615. ## Bell
  1616. chrmgr.SetPathName(path + "Bell/")
  1617. chrmgr.RegisterMotionMode(chr.MOTION_MODE_BELL)
  1618. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_WAIT, "wait.msa")
  1619. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_WALK, "walk.msa")
  1620. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_RUN, "run.msa")
  1621. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_DAMAGE, "damage.msa", 50)
  1622. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1623. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1624. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1625. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1626. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1627. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1628. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1629. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1630. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1631. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1632.  
  1633. ## Combo Type 1
  1634. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_1, 4)
  1635. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1636. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1637. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1638. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1639. ## Combo Type 2
  1640. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, 5)
  1641. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1642. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1643. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1644. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1645. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1646. ## Combo Type 3
  1647. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, 6)
  1648. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1649. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1650. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1651. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1652. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1653. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1654.  
  1655. if app.ENABLE_STANDING_MOUNT:
  1656. ## Bell BATTLE
  1657. chrmgr.SetPathName(path + "Bell/")
  1658. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_STAND_BELL)
  1659. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_WAIT, "wait.msa")
  1660. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_WALK, "wait.msa")
  1661. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_RUN, "wait.msa")
  1662. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_DAMAGE, "damage.msa", 50)
  1663. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1664. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1665. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1666. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1667. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1668. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1669. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1670. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1671. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1672. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1673.  
  1674. ## Combo Type 1
  1675. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_1, 4)
  1676. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1677. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1678. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1679. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1680. ## Combo Type 2
  1681. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_2, 5)
  1682. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1683. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1684. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1685. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1686. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1687. ## Combo Type 3
  1688. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_3, 6)
  1689. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1690. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1691. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1692. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1693. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1694. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1695.  
  1696. #Bell Skills
  1697. chrmgr.SetPathName(path + "skill/")
  1698. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+1, "bipabu.msa")
  1699. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+2, "yongpa.msa")
  1700. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+3, "paeryong.msa")
  1701. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+4, "hosin_target.msa")
  1702. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+5, "boho_target.msa")
  1703. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+6, "gicheon_target.msa")
  1704. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+16, "noejeon.msa")
  1705. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+17, "byeorak.msa")
  1706. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+18, "pokroe.msa")
  1707. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+19, "jeongeop_target.msa")
  1708. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+20, "kwaesok_target.msa")
  1709. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+21, "jeungryeok_target.msa")
  1710.  
  1711. START_INDEX = 0
  1712. #skill.SKILL_EFFECT_COUNT ±îÁö//
  1713. for i in (1, 2, 3):
  1714. END_STRING = ""
  1715. if i != 0: END_STRING = "_%d" % (i+1)
  1716. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "bipabu" + END_STRING + ".msa")
  1717. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "yongpa" + END_STRING + ".msa")
  1718. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "paeryong" + END_STRING + ".msa")
  1719. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "hosin" + END_STRING + ".msa")
  1720. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "boho" + END_STRING + ".msa")
  1721. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gicheon" + END_STRING + ".msa")
  1722. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "noejeon" + END_STRING + ".msa")
  1723. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "byeorak" + END_STRING + ".msa")
  1724. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "pokroe" + END_STRING + ".msa")
  1725. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "jeongeop" + END_STRING + ".msa")
  1726. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "kwaesok" + END_STRING + ".msa")
  1727. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_BELL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "jeungryeok" + END_STRING + ".msa")
  1728.  
  1729. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_1, 1)
  1730. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_BELL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1731.  
  1732. ##FAN BATTLE
  1733.  
  1734. chrmgr.SetPathName(path + "fan/")
  1735. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_STAND_FAN)
  1736.  
  1737. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_WAIT, "wait.msa")
  1738. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_WALK, "wait.msa")
  1739. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_RUN, "wait.msa")
  1740. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_DAMAGE, "damage.msa", 50)
  1741. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1742. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1743. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1744. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1745. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1746. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1747. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1748. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1749. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1750. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1751.  
  1752. ## Combo Type 1
  1753. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_1, 4)
  1754. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1755. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1756. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1757. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1758. ## Combo Type 2
  1759. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_2, 5)
  1760. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1761. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1762. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1763. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1764. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1765. ## Combo Type 3
  1766. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_3, 6)
  1767. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1768. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1769. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1770. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1771. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1772. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_FAN, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1773.  
  1774. #Fan Skills
  1775. chrmgr.SetPathName(path + "skill/")
  1776.  
  1777.  
  1778. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+1, "bipabu.msa")
  1779. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+2, "yongpa.msa")
  1780. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+3, "paeryong.msa")
  1781. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+4, "hosin_target.msa")
  1782. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+5, "boho_target.msa")
  1783. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+6, "gicheon_target.msa")
  1784. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+16, "noejeon.msa")
  1785. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+17, "byeorak.msa")
  1786. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+18, "pokroe.msa")
  1787. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+19, "jeongeop_target.msa")
  1788. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+20, "kwaesok_target.msa")
  1789. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+21, "jeungryeok_target.msa")
  1790.  
  1791. START_INDEX = 0
  1792. #skill.SKILL_EFFECT_COUNT ±îÁö//
  1793. for i in (1, 2, 3):
  1794. END_STRING = ""
  1795. if i != 0: END_STRING = "_%d" % (i+1)
  1796. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "bipabu" + END_STRING + ".msa")
  1797. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "yongpa" + END_STRING + ".msa")
  1798. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "paeryong" + END_STRING + ".msa")
  1799. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "hosin" + END_STRING + ".msa")
  1800. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "boho" + END_STRING + ".msa")
  1801. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gicheon" + END_STRING + ".msa")
  1802. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "noejeon" + END_STRING + ".msa")
  1803. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "byeorak" + END_STRING + ".msa")
  1804. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "pokroe" + END_STRING + ".msa")
  1805. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "jeongeop" + END_STRING + ".msa")
  1806. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "kwaesok" + END_STRING + ".msa")
  1807. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_FAN, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "jeungryeok" + END_STRING + ".msa")
  1808.  
  1809. ## SKILL
  1810. chrmgr.SetPathName(path + "skill/")
  1811. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+1, "bipabu.msa")
  1812. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+2, "yongpa.msa")
  1813. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+3, "paeryong.msa")
  1814. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+4, "hosin_target.msa")
  1815. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+5, "boho_target.msa")
  1816. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+6, "gicheon_target.msa")
  1817. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+16, "noejeon.msa")
  1818. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+17, "byeorak.msa")
  1819. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+18, "pokroe.msa")
  1820. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+19, "jeongeop_target.msa")
  1821. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+20, "kwaesok_target.msa")
  1822. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+21, "jeungryeok_target.msa")
  1823. #chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+10, "budong.msa")
  1824.  
  1825. START_INDEX = 0
  1826. #skill.SKILL_EFFECT_COUNT ±îÁö//
  1827. for i in (1, 2, 3):
  1828. END_STRING = ""
  1829. if i != 0: END_STRING = "_%d" % (i+1)
  1830. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "bipabu" + END_STRING + ".msa")
  1831. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "yongpa" + END_STRING + ".msa")
  1832. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "paeryong" + END_STRING + ".msa")
  1833. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "hosin" + END_STRING + ".msa")
  1834. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "boho" + END_STRING + ".msa")
  1835. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gicheon" + END_STRING + ".msa")
  1836. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "noejeon" + END_STRING + ".msa")
  1837. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "byeorak" + END_STRING + ".msa")
  1838. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "pokroe" + END_STRING + ".msa")
  1839. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "jeongeop" + END_STRING + ".msa")
  1840. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "kwaesok" + END_STRING + ".msa")
  1841. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "jeungryeok" + END_STRING + ".msa")
  1842. #chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+10, "budong" + END_STRING + ".msa")
  1843.  
  1844. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
  1845. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
  1846. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
  1847. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
  1848. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
  1849. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
  1850.  
  1851. ## FISHING
  1852. chrmgr.SetPathName(path + "fishing/")
  1853. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
  1854. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT, "wait.msa")
  1855. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK, "walk.msa")
  1856. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN, "run.msa")
  1857. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW, "throw.msa")
  1858. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT, "fishing_wait.msa")
  1859. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP, "fishing_cancel.msa")
  1860. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT, "fishing_react.msa")
  1861. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH, "fishing_catch.msa")
  1862. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL, "fishing_fail.msa")
  1863.  
  1864. ## HORSE
  1865. chrmgr.SetPathName(path + "horse/")
  1866. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
  1867. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  1868. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_1.msa", 9)
  1869. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_2.msa", 1)
  1870. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  1871. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  1872. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE, "damage.msa")
  1873. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK, "damage.msa")
  1874. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD, "dead.msa")
  1875. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE, "skill_charge.msa")
  1876. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_SPLASH, "skill_splash.msa")
  1877.  
  1878. ## HORSE_FAN
  1879. chrmgr.SetPathName(path + "horse_fan/")
  1880. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_FAN)
  1881. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_FAN, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1882. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_FAN, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1883. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_FAN, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1884. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_FAN, COMBO_TYPE_1, 3)
  1885. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_FAN, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1886. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_FAN, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1887. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_FAN, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1888. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_FAN, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  1889.  
  1890. ## HORSE_BELL
  1891. chrmgr.SetPathName(path + "horse_bell/")
  1892. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_BELL)
  1893. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BELL, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1894. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BELL, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1895. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BELL, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1896. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_BELL, COMBO_TYPE_1, 3)
  1897. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_BELL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1898. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_BELL, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1899. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_BELL, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1900. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BELL, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  1901.  
  1902. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right")
  1903. if app.ENABLE_ACCE_SYSTEM:
  1904. chrmgr.RegisterAttachingBoneName(chr.PART_ACCE, "Bip01 Spine2")
  1905. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON_LEFT, "equip_left")
  1906.  
  1907.  
  1908. if app.ENABLE_WOLFMAN_CHARACTER:
  1909. def __LoadGameWolfmanEx(race, path):
  1910. ## Wolfman
  1911. #########################################################################################
  1912. chrmgr.SelectRace(race)
  1913.  
  1914. ## EMOTION
  1915. emotion.RegisterEmotionAnis(path)
  1916.  
  1917. ## GENERAL MOTION MODE
  1918. SetNewGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
  1919. if app.ENABLE_STANDING_MOUNT:
  1920. SetNewGeneralMotionsHorseStand(chr.MOTION_MODE_HORSE_STAND, path + "general/")
  1921.  
  1922. chrmgr.SetMotionRandomWeight(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, 0, 50)
  1923. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait1.msa", 30)
  1924. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait2.msa", 20)
  1925. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack1.msa", 50)
  1926. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack2.msa", 50)
  1927.  
  1928. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
  1929. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1930. if app.ENABLE_STANDING_MOUNT:
  1931. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND, COMBO_TYPE_1, 1)
  1932. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1933.  
  1934. ## SKILL
  1935. chrmgr.SetPathName(path + "skill/")
  1936. for i in xrange(skill.SKILL_EFFECT_COUNT):
  1937. END_STRING = ""
  1938. if i != 0: END_STRING = "_%d" % (i)
  1939. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "split_Slash" + END_STRING + ".msa")
  1940. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "wind_death" + END_STRING + ".msa")
  1941. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "reef_attack" + END_STRING + ".msa")
  1942. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "wreckage" + END_STRING + ".msa")
  1943. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "red_possession" + END_STRING + ".msa")
  1944. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "blue_possession" + END_STRING + ".msa")
  1945.  
  1946.  
  1947. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
  1948. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
  1949. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
  1950. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
  1951. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
  1952. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
  1953.  
  1954.  
  1955. ## CLAW
  1956. chrmgr.SetPathName(path + "claw/")
  1957. chrmgr.RegisterMotionMode(chr.MOTION_MODE_CLAW)
  1958. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_WAIT, "wait.msa", 50)
  1959. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_WAIT, "wait1.msa", 30)
  1960. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_WAIT, "wait2.msa", 20)
  1961. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_WALK, "walk.msa")
  1962. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_RUN, "run.msa")
  1963. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_DAMAGE, "front_damage.msa", 50)
  1964. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_DAMAGE, "front_damage1.msa", 50)
  1965. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_DAMAGE_BACK, "back_damage.msa", 50)
  1966. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_DAMAGE_BACK, "back_damage1.msa", 50)
  1967. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1968. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1969. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1970. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1971. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1972. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1973. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1974.  
  1975. ## Combo Type 1
  1976. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_1, 4)
  1977. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1978. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1979. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1980. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1981. ## Combo Type 2
  1982. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, 5)
  1983. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1984. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1985. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1986. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1987. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1988. ## Combo Type 3
  1989. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, 6)
  1990. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1991. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1992. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1993. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1994. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1995. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1996.  
  1997. if app.ENABLE_STANDING_MOUNT:
  1998.  
  1999. ## CLAW STAND
  2000. chrmgr.SetPathName(path + "claw/")
  2001. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_STAND_CLAW)
  2002. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_WAIT, "wait.msa", 50)
  2003. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_WAIT, "wait1.msa", 30)
  2004. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_WAIT, "wait2.msa", 20)
  2005. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_WALK, "wait.msa", 30)
  2006. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_RUN, "wait.msa", 20)
  2007. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_DAMAGE, "front_damage.msa", 50)
  2008. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_DAMAGE, "front_damage1.msa", 50)
  2009. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_DAMAGE_BACK, "back_damage.msa", 50)
  2010. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_DAMAGE_BACK, "back_damage1.msa", 50)
  2011. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  2012. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  2013. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  2014. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  2015. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  2016. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  2017. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  2018.  
  2019. ## Combo Type 1
  2020. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_1, 4)
  2021. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  2022. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  2023. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  2024. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  2025. ## Combo Type 2
  2026. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_2, 5)
  2027. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  2028. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  2029. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  2030. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  2031. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  2032. ## Combo Type 3
  2033. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_3, 6)
  2034. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  2035. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  2036. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  2037. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  2038. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  2039. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  2040.  
  2041. ## SKILL
  2042. chrmgr.SetPathName(path + "skill/")
  2043. for i in xrange(skill.SKILL_EFFECT_COUNT):
  2044. END_STRING = ""
  2045. if i != 0: END_STRING = "_%d" % (i)
  2046. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "split_Slash" + END_STRING + ".msa")
  2047. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "wind_death" + END_STRING + ".msa")
  2048. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "reef_attack" + END_STRING + ".msa")
  2049. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "wreckage" + END_STRING + ".msa")
  2050. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "red_possession" + END_STRING + ".msa")
  2051. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_STAND_CLAW, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "blue_possession" + END_STRING + ".msa")
  2052.  
  2053. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_1, 1)
  2054. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_STAND_CLAW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  2055.  
  2056. ## FISHING
  2057. chrmgr.SetPathName(path + "fishing/")
  2058. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
  2059. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT, "wait.msa")
  2060. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK, "walk.msa")
  2061. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN, "run.msa")
  2062. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW, "throw.msa")
  2063. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT, "fishing_wait.msa")
  2064. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP, "fishing_cancel.msa")
  2065. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT, "fishing_react.msa")
  2066. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH, "fishing_catch.msa")
  2067. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL, "fishing_fail.msa")
  2068.  
  2069. ## HORSE
  2070. chrmgr.SetPathName(path + "horse/")
  2071. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
  2072. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  2073. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait1.msa", 9)
  2074. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait2.msa", 1)
  2075. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  2076. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  2077. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE, "front_damage.msa")
  2078. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK, "front_damage.msa")
  2079. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD, "dead.msa")
  2080. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE, "skill_charge.msa")
  2081. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_SPLASH, "skill_splash.msa")
  2082.  
  2083. ## HORSE_CLAW
  2084. chrmgr.SetPathName(path + "horse_claw/")
  2085. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_CLAW)
  2086. #chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  2087. #chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait1.msa", 9)
  2088. #chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait2.msa", 1)
  2089. #chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  2090. #chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  2091. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_CLAW, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  2092. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_CLAW, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  2093. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_CLAW, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  2094. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_CLAW, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  2095. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_CLAW, COMBO_TYPE_1, 3)
  2096. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_CLAW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  2097. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_CLAW, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  2098. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_CLAW, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  2099.  
  2100.  
  2101. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right_weapon")
  2102. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON_LEFT, "equip_left_weapon")
  2103. if app.ENABLE_ACCE_SYSTEM:
  2104. chrmgr.RegisterAttachingBoneName(chr.PART_ACCE, "Bip01 Spine2")
  2105.  
  2106. def __LoadGameSkill():
  2107.  
  2108. try:
  2109. skill.LoadSkillData()
  2110. except:
  2111. import exception
  2112. exception.Abort("__LoadGameSkill")
  2113.  
  2114. def __LoadGameEnemy():
  2115. pass
  2116.  
  2117. def __LoadGameNPC():
  2118. try:
  2119. lines = pack_open("npclist.txt", "r").readlines()
  2120. except IOError:
  2121. import dbg
  2122. dbg.LogBox("LoadLocaleError(%(srcFileName)s)" % locals())
  2123. app.Abort()
  2124.  
  2125. for line in lines:
  2126. tokens = line[:-1].split("\t")
  2127. if len(tokens) == 0 or not tokens[0]:
  2128. continue
  2129.  
  2130. try:
  2131. vnum = int(tokens[0])
  2132. except ValueError:
  2133. import dbg
  2134. dbg.LogBox("LoadGameNPC() - %s - line #%d: %s" % (tokens, lines.index(line), line))
  2135. app.Abort()
  2136.  
  2137. try:
  2138. if vnum:
  2139. chrmgr.RegisterRaceName(vnum, tokens[1].strip())
  2140. else:
  2141. chrmgr.RegisterRaceSrcName(tokens[1].strip(), tokens[2].strip())
  2142. except IndexError:
  2143. import dbg
  2144. dbg.LogBox("LoadGameNPC() - %d, %s - line #%d: %s " % (vnum, tokens, lines.index(line), line))
  2145. app.Abort()
  2146.  
  2147.  
  2148. # GUILD_BUILDING
  2149. def LoadGuildBuildingList(filename):
  2150. import uiGuild
  2151. uiGuild.BUILDING_DATA_LIST = []
  2152.  
  2153. handle = app.OpenTextFile(filename)
  2154. count = app.GetTextFileLineCount(handle)
  2155. for i in xrange(count):
  2156. line = app.GetTextFileLine(handle, i)
  2157. tokens = line.split("\t")
  2158.  
  2159. TOKEN_VNUM = 0
  2160. TOKEN_TYPE = 1
  2161. TOKEN_NAME = 2
  2162. TOKEN_LOCAL_NAME = 3
  2163. NO_USE_TOKEN_SIZE_1 = 4
  2164. NO_USE_TOKEN_SIZE_2 = 5
  2165. NO_USE_TOKEN_SIZE_3 = 6
  2166. NO_USE_TOKEN_SIZE_4 = 7
  2167. TOKEN_X_ROT_LIMIT = 8
  2168. TOKEN_Y_ROT_LIMIT = 9
  2169. TOKEN_Z_ROT_LIMIT = 10
  2170. TOKEN_PRICE = 11
  2171. TOKEN_MATERIAL = 12
  2172. TOKEN_NPC = 13
  2173. TOKEN_GROUP = 14
  2174. TOKEN_DEPEND_GROUP = 15
  2175. TOKEN_ENABLE_FLAG = 16
  2176. LIMIT_TOKEN_COUNT = 17
  2177.  
  2178. if not tokens[TOKEN_VNUM].isdigit():
  2179. continue
  2180.  
  2181. if len(tokens) < LIMIT_TOKEN_COUNT:
  2182. import dbg
  2183. dbg.TraceError("Strange token count [%d/%d] [%s]" % (len(tokens), LIMIT_TOKEN_COUNT, line))
  2184. continue
  2185.  
  2186. ENABLE_FLAG_TYPE_NOT_USE = False
  2187. ENABLE_FLAG_TYPE_USE = True
  2188. ENABLE_FLAG_TYPE_USE_BUT_HIDE = 2
  2189.  
  2190. if ENABLE_FLAG_TYPE_NOT_USE == int(tokens[TOKEN_ENABLE_FLAG]):
  2191. continue
  2192.  
  2193. vnum = int(tokens[TOKEN_VNUM])
  2194. type = tokens[TOKEN_TYPE]
  2195. name = tokens[TOKEN_NAME]
  2196. localName = tokens[TOKEN_LOCAL_NAME]
  2197. xRotLimit = int(tokens[TOKEN_X_ROT_LIMIT])
  2198. yRotLimit = int(tokens[TOKEN_Y_ROT_LIMIT])
  2199. zRotLimit = int(tokens[TOKEN_Z_ROT_LIMIT])
  2200. price = tokens[TOKEN_PRICE]
  2201. material = tokens[TOKEN_MATERIAL]
  2202.  
  2203. folderName = ""
  2204. if "HEADQUARTER" == type:
  2205. folderName = "headquarter"
  2206. elif "FACILITY" == type:
  2207. folderName = "facility"
  2208. elif "OBJECT" == type:
  2209. folderName = "object"
  2210. elif "WALL" == type:
  2211. folderName = "fence"
  2212.  
  2213. materialList = ["0", "0", "0"]
  2214. if material:
  2215. if material[0] == "\"":
  2216. material = material[1:]
  2217. if material[-1] == "\"":
  2218. material = material[:-1]
  2219. for one in material.split("/"):
  2220. data = one.split(",")
  2221. if 2 != len(data):
  2222. continue
  2223. itemID = int(data[0])
  2224. count = data[1]
  2225.  
  2226. if itemID == uiGuild.MATERIAL_STONE_ID:
  2227. materialList[uiGuild.MATERIAL_STONE_INDEX] = count
  2228. elif itemID == uiGuild.MATERIAL_LOG_ID:
  2229. materialList[uiGuild.MATERIAL_LOG_INDEX] = count
  2230. elif itemID == uiGuild.MATERIAL_PLYWOOD_ID:
  2231. materialList[uiGuild.MATERIAL_PLYWOOD_INDEX] = count
  2232.  
  2233. ## GuildSymbol Àº ÀÏ¹Ý NPC µé°ú ÇÔ²² µî·ÏÇÑ´Ù.
  2234. import chrmgr
  2235. chrmgr.RegisterRaceSrcName(name, folderName)
  2236. chrmgr.RegisterRaceName(vnum, name)
  2237.  
  2238. appendingData = { "VNUM":vnum,
  2239. "TYPE":type,
  2240. "NAME":name,
  2241. "LOCAL_NAME":localName,
  2242. "X_ROT_LIMIT":xRotLimit,
  2243. "Y_ROT_LIMIT":yRotLimit,
  2244. "Z_ROT_LIMIT":zRotLimit,
  2245. "PRICE":price,
  2246. "MATERIAL":materialList,
  2247. "SHOW" : True }
  2248.  
  2249. if ENABLE_FLAG_TYPE_USE_BUT_HIDE == int(tokens[TOKEN_ENABLE_FLAG]):
  2250. appendingData["SHOW"] = False
  2251.  
  2252. uiGuild.BUILDING_DATA_LIST.append(appendingData)
  2253.  
  2254. app.CloseTextFile(handle)
  2255.  
  2256. # END_OF_GUILD_BUILDING
  2257.  
  2258.  
  2259. # SetRaceHeight
  2260. def __LoadRaceHeight():
  2261. try:
  2262. lines = pack_open("race_height.txt", "r").readlines()
  2263. except IOError:
  2264. import dbg
  2265. dbg.LogBox("__LoadRaceHeight: load text file error!")
  2266. app.Abort()
  2267.  
  2268. for line in lines:
  2269. tokens = line[:-1].split("\t")
  2270. if len(tokens) == 0 or not tokens[0]:
  2271. continue
  2272.  
  2273. vnum = int(tokens[0])
  2274. height = float(tokens[1])
  2275.  
  2276. chrmgr.SetRaceHeight(vnum, height)
  2277.  
  2278.  
  2279.  
  2280. loadGameDataDict={
  2281. "INIT" : __InitData,
  2282. "SOUND" : __LoadGameSound,
  2283. "EFFECT" : __LoadGameEffect,
  2284. "WARRIOR" : __LoadGameWarrior,
  2285. "ASSASSIN" : __LoadGameAssassin,
  2286. "SURA" : __LoadGameSura,
  2287. "SHAMAN" : __LoadGameShaman,
  2288. "SKILL" : __LoadGameSkill,
  2289. "ENEMY" : __LoadGameEnemy,
  2290. "NPC" : __LoadGameNPC,
  2291. "RACE_HEIGHT" : __LoadRaceHeight,
  2292. }
  2293. if app.ENABLE_WOLFMAN_CHARACTER:
  2294. loadGameDataDict.update({"WOLFMAN": __LoadGameWolfman,})
  2295.  
  2296.  
  2297. def LoadGameData(name):
  2298. global loadGameDataDict
  2299.  
  2300. load=loadGameDataDict.get(name, 0)
  2301. if load:
  2302. loadGameDataDict[name]=0
  2303. try:
  2304. load()
  2305. except:
  2306. print name
  2307. import exception
  2308. exception.Abort("LoadGameData")
  2309. raise
  2310.  
  2311.  
  2312. ## NPC
  2313.  
  2314. def SetMovingNPC(race, name):
  2315. chrmgr.CreateRace(race)
  2316. chrmgr.SelectRace(race)
  2317.  
  2318. ## RESERVED
  2319. chrmgr.SetPathName("d:/ymir work/npc/" + name + "/")
  2320. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  2321. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait.msa")
  2322. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WALK, "walk.msa")
  2323. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_RUN, "run.msa")
  2324. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DEAD, "die.msa")
  2325. chrmgr.LoadRaceData(name + ".msm")
  2326.  
  2327. def SetOneNPC(race, name):
  2328. chrmgr.CreateRace(race)
  2329. chrmgr.SelectRace(race)
  2330.  
  2331. ## RESERVED
  2332. chrmgr.SetPathName("d:/ymir work/npc/" + name + "/")
  2333. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  2334. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait.msa")
  2335. chrmgr.LoadRaceData(name + ".msm")
  2336.  
  2337. def SetGuard(race, name):
  2338. chrmgr.CreateRace(race)
  2339. chrmgr.SelectRace(race)
  2340.  
  2341. ## Script Data
  2342. chrmgr.SetPathName("d:/ymir work/npc/" + name + "/")
  2343. chrmgr.LoadRaceData(name + ".msm")
  2344.  
  2345. ## GENERAL
  2346. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  2347. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SPAWN, "00.msa")
  2348. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "00.msa")
  2349. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_RUN, "03.msa")
  2350.  
  2351. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE, "30.msa", 50)
  2352. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE, "30_1.msa", 50)
  2353.  
  2354. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE_BACK, "34.msa", 50)
  2355. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE_BACK, "34_1.msa", 50)
  2356.  
  2357. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE_FLYING,"32.msa")
  2358. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_STAND_UP, "33.msa")
  2359.  
  2360. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE_FLYING_BACK, "35.msa")
  2361. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_STAND_UP_BACK, "36.msa")
  2362.  
  2363. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DEAD, "31.msa")
  2364. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DEAD_BACK, "37.msa")
  2365.  
  2366. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_NORMAL_ATTACK, "20.msa")
  2367.  
  2368. ## Attacking Data
  2369. chrmgr.RegisterNormalAttack(chr.MOTION_MODE_GENERAL, chr.MOTION_NORMAL_ATTACK)
  2370.  
  2371. def SetWarp(race):
  2372. chrmgr.CreateRace(race)
  2373. chrmgr.SelectRace(race)
  2374.  
  2375. chrmgr.SetPathName("d:/ymir work/npc/warp/")
  2376. chrmgr.LoadRaceData("warp.msm")
  2377.  
  2378. ## GENERAL
  2379. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  2380. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait.msa")
  2381.  
  2382. def SetDoor(race, name):
  2383. chrmgr.CreateRace(race)
  2384. chrmgr.SelectRace(race)
  2385. chrmgr.SetPathName("d:/ymir work/npc/"+name+"/")
  2386. chrmgr.LoadRaceData(name + ".msm")
  2387. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  2388. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "close_wait.msa")
  2389. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DEAD, "open.msa")
  2390.  
  2391. def SetGuildBuilding(race, name, grade):
  2392. chrmgr.CreateRace(race)
  2393. chrmgr.SelectRace(race)
  2394. chrmgr.SetPathName("d:/ymir work/guild/building/%s/" % name)
  2395. chrmgr.LoadRaceData("%s%02d.msm" % (name, grade))
  2396. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  2397. #chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DEAD, name + "_destruction.msa")
  2398.  
  2399. def OLD_SetNPC():
  2400. SetOneNPC(9001, "arms")
  2401. SetOneNPC(9002, "defence")
  2402. SetOneNPC(9003, "goods")
  2403. SetOneNPC(9004, "bank")
  2404. SetOneNPC(9005, "hotel_grandfa")
  2405. SetOneNPC(9006, "hotel_grandma")
  2406. SetOneNPC(9007, "arms")
  2407. SetOneNPC(9008, "defence")
  2408. SetOneNPC(9009, "sailor")
  2409.  
  2410. SetMovingNPC(20001, "alchemist")
  2411. SetMovingNPC(20002, "auntie")
  2412. SetMovingNPC(20003, "baby_and_mom")
  2413. SetMovingNPC(20004, "beggar")
  2414. SetMovingNPC(20005, "ceramist")
  2415. SetMovingNPC(20006, "girl_lost_elder_brother")
  2416. SetMovingNPC(20007, "hotel_grandfa")
  2417. SetMovingNPC(20008, "mr_restaurant")
  2418. SetMovingNPC(20009, "oldster")
  2419. SetMovingNPC(20010, "peddler")
  2420. SetMovingNPC(20011, "plant_researcher")
  2421. SetMovingNPC(20012, "rice_cake_seller")
  2422. SetMovingNPC(20013, "sailor")
  2423. SetMovingNPC(20014, "timid_boy")
  2424. SetMovingNPC(20015, "woodcutter")
  2425. SetMovingNPC(20016, "blacksmith")
  2426. SetMovingNPC(20017, "musician")
  2427. SetMovingNPC(20018, "doctor")
  2428. SetMovingNPC(20019, "hunter")
  2429. SetMovingNPC(20020, "old_pirate")
  2430. SetMovingNPC(20021, "widow")
  2431. SetMovingNPC(20022, "young_merchant")
  2432. SetMovingNPC(20023, "bookworm")
  2433. SetMovingNPC(20024, "yu_hwa_rang")
  2434. SetMovingNPC(20041, "beggar")
  2435. SetMovingNPC(20042, "peddler")
  2436.  
  2437. SetGuard(20300, "sinsu_patrol_spear")
  2438. SetGuard(20301, "sinsu_patrol_spear")
  2439. SetGuard(20302, "sinsu_patrol_spear")
  2440. SetGuard(20303, "sinsu_patrol_spear")
  2441. SetGuard(20304, "sinsu_patrol_spear")
  2442. SetGuard(20305, "sinsu_patrol_spear")
  2443. SetGuard(20306, "sinsu_patrol_spear")
  2444. SetGuard(20307, "sinsu_patrol_spear")
  2445.  
  2446. SetGuard(20320, "gangyo_patrol_spear")
  2447. SetGuard(20321, "gangyo_patrol_spear")
  2448. SetGuard(20322, "gangyo_patrol_spear")
  2449. SetGuard(20323, "gangyo_patrol_spear")
  2450. SetGuard(20324, "gangyo_patrol_spear")
  2451. SetGuard(20325, "gangyo_patrol_spear")
  2452. SetGuard(20326, "gangyo_patrol_spear")
  2453. SetGuard(20327, "gangyo_patrol_spear")
  2454.  
  2455. SetGuard(20340, "jinno_patrol_spear")
  2456. SetGuard(20341, "jinno_patrol_spear")
  2457. SetGuard(20342, "jinno_patrol_spear")
  2458. SetGuard(20343, "jinno_patrol_spear")
  2459. SetGuard(20344, "jinno_patrol_spear")
  2460. SetGuard(20345, "jinno_patrol_spear")
  2461. SetGuard(20346, "jinno_patrol_spear")
  2462. SetGuard(20347, "jinno_patrol_spear")
  2463.  
  2464. ## Warp
  2465. for i in xrange(18):
  2466. SetWarp(10001 + i)
  2467.  
  2468. SetGuard(11000, "gangyo_patrol_spear")
  2469. SetGuard(11001, "gangyo_patrol_bow")
  2470. SetGuard(11002, "jinno_patrol_spear")
  2471. SetGuard(11003, "jinno_patrol_bow")
  2472. SetGuard(11004, "sinsu_patrol_spear")
  2473. SetGuard(11005, "sinsu_patrol_bow")
  2474.  
  2475. ## Campfire (Bonfire)
  2476. chrmgr.CreateRace(12000)
  2477. chrmgr.SelectRace(12000)
  2478. chrmgr.SetPathName("d:/ymir Work/npc/campfire/")
  2479. chrmgr.LoadRaceData("campfire.msm")
  2480.  
  2481. ## Door
  2482. SetDoor(13000, "wooden_door")
  2483. SetDoor(13001, "stone_door")
  2484.  
Advertisement
Add Comment
Please, Sign In to add comment