R8Sentinel

psss

Feb 1st, 2018
548
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 114.01 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. JOB_WOLFMAN = 4
  19.  
  20. RACE_WARRIOR_M = 0
  21. RACE_ASSASSIN_W = 1
  22. RACE_SURA_M = 2
  23. RACE_SHAMAN_W = 3
  24. RACE_WARRIOR_W = 4
  25. RACE_ASSASSIN_M = 5
  26. RACE_SURA_W = 6
  27. RACE_SHAMAN_M = 7
  28. RACE_WOLFMAN_M = 8
  29.  
  30.  
  31. COMBO_TYPE_1 = 0
  32. COMBO_TYPE_2 = 1
  33. COMBO_TYPE_3 = 2
  34.  
  35. COMBO_INDEX_1 = 0
  36. COMBO_INDEX_2 = 1
  37. COMBO_INDEX_3 = 2
  38. COMBO_INDEX_4 = 3
  39. COMBO_INDEX_5 = 4
  40. COMBO_INDEX_6 = 5
  41.  
  42. HORSE_SKILL_WILDATTACK = chr.MOTION_SKILL+121
  43. HORSE_SKILL_CHARGE = chr.MOTION_SKILL+122
  44. HORSE_SKILL_SPLASH = chr.MOTION_SKILL+123
  45.  
  46. GUILD_SKILL_DRAGONBLOOD = chr.MOTION_SKILL+101
  47. GUILD_SKILL_DRAGONBLESS = chr.MOTION_SKILL+102
  48. GUILD_SKILL_BLESSARMOR = chr.MOTION_SKILL+103
  49. GUILD_SKILL_SPPEDUP = chr.MOTION_SKILL+104
  50. GUILD_SKILL_DRAGONWRATH = chr.MOTION_SKILL+105
  51. GUILD_SKILL_MAGICUP = chr.MOTION_SKILL+106
  52.  
  53. PASSIVE_GUILD_SKILL_INDEX_LIST = ( 151, )
  54. ACTIVE_GUILD_SKILL_INDEX_LIST = ( 152, 153, 154, 155, 156, 157, )
  55.  
  56. NEW_678TH_SKILL_ENABLE = 1
  57. SKILL_INDEX_DICT = []
  58.  
  59. def DefineSkillIndexDict():
  60. global NEW_678TH_SKILL_ENABLE
  61. global SKILL_INDEX_DICT
  62.  
  63. if NEW_678TH_SKILL_ENABLE:
  64. SKILL_INDEX_DICT = {
  65. JOB_WARRIOR : {1 : (1, 2, 3, 4, 5, 6, 0, 0, 137, 0, 138, 0, 139, 0,), 2 : (16, 17, 18, 19, 20, 21, 0, 0, 137, 0, 138, 0, 139, 0,), "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),},
  66. JOB_ASSASSIN : {1 : (31, 32, 33, 34, 35, 36, 0, 0, 137, 0, 138, 0, 139, 0, 140,), 2 : (46, 47, 48, 49, 50, 51, 0, 0, 137, 0, 138, 0, 139, 0, 140,), "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),},
  67. JOB_SURA : {1 : (61, 62, 63, 64, 65, 66, 0, 0, 137, 0, 138, 0, 139, 0,), 2 : (76, 77, 78, 79, 80, 81, 0, 0, 137, 0, 138, 0, 139, 0,), "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),},
  68. JOB_SHAMAN : {1 : (91, 92, 93, 94, 95, 96, 0, 0, 137, 0, 138, 0, 139, 0,), 2 : (106, 107, 108, 109, 110, 111, 0, 0, 137, 0, 138, 0, 139, 0,), "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),},
  69. JOB_WOLFMAN : {1 : (170, 171, 172, 173, 174, 175, 0, 0, 137, 0, 138, 0, 139, 0,), "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),}
  70. }
  71. else:
  72. SKILL_INDEX_DICT = {
  73. JOB_WARRIOR : {1 : (1, 2, 3, 4, 5, 0, 0, 0, 137, 0, 138, 0, 139, 0,), 2 : (16, 17, 18, 19, 20, 0, 0, 0, 137, 0, 138, 0, 139, 0,), "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),},
  74. JOB_ASSASSIN : {1 : (31, 32, 33, 34, 35, 0, 0, 0, 137, 0, 138, 0, 139, 0, 140,), 2 : (46, 47, 48, 49, 50, 0, 0, 0, 137, 0, 138, 0, 139, 0, 140,), "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),},
  75. JOB_SURA : {1 : (61, 62, 63, 64, 65, 66, 0, 0, 137, 0, 138, 0, 139, 0,), 2 : (76, 77, 78, 79, 80, 81, 0, 0, 137, 0, 138, 0, 139, 0,), "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),},
  76. JOB_SHAMAN : {1 : (91, 92, 93, 94, 95, 96, 0, 0, 137, 0, 138, 0, 139, 0,), 2 : (106, 107, 108, 109, 110, 111, 0, 0, 137, 0, 138, 0, 139, 0,), "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),},
  77. JOB_WOLFMAN : {1 : (170, 171, 172, 173, 174, 175, 0, 0, 137, 0, 138, 0, 139, 0,), "SUPPORT" : (122, 123, 121, 124, 125, 129, 0, 0, 130, 131,),}
  78. }
  79.  
  80. def RegisterSkill(race, group, empire=0):
  81.  
  82. DefineSkillIndexDict()
  83.  
  84. job = chr.RaceToJob(race)
  85.  
  86. ## Character Skill
  87. if SKILL_INDEX_DICT.has_key(job):
  88.  
  89. if SKILL_INDEX_DICT[job].has_key(group):
  90.  
  91. activeSkillList = SKILL_INDEX_DICT[job][group]
  92.  
  93. for i in xrange(len(activeSkillList)):
  94. skillIndex = activeSkillList[i]
  95.  
  96. ## 7¹ø 8¹ø ½ºÅ³Àº ¿©±â¼­ ¼³Á¤ÇÏ¸é ¾ÈµÊ
  97. if i != 6 and i != 7:
  98. player.SetSkill(i+1, skillIndex)
  99.  
  100. supportSkillList = SKILL_INDEX_DICT[job]["SUPPORT"]
  101.  
  102. for i in xrange(len(supportSkillList)):
  103. player.SetSkill(i+100+1, supportSkillList[i])
  104.  
  105. ## Language Skill
  106. if 0 != empire:
  107. languageSkillList = []
  108. for i in xrange(3):
  109. if (i+1) != empire:
  110. languageSkillList.append(player.SKILL_INDEX_LANGUAGE1+i)
  111. for i in xrange(len(languageSkillList)):
  112. player.SetSkill(107+i, languageSkillList[i])
  113.  
  114. ## Guild Skill
  115. for i in xrange(len(PASSIVE_GUILD_SKILL_INDEX_LIST)):
  116. player.SetSkill(200+i, PASSIVE_GUILD_SKILL_INDEX_LIST[i])
  117.  
  118. for i in xrange(len(ACTIVE_GUILD_SKILL_INDEX_LIST)):
  119. player.SetSkill(210+i, ACTIVE_GUILD_SKILL_INDEX_LIST[i])
  120.  
  121. def RegisterSkillAt(race, group, pos, num):
  122.  
  123. DefineSkillIndexDict()
  124.  
  125. job = chr.RaceToJob(race)
  126. tmp = list(SKILL_INDEX_DICT[job][group])
  127. tmp[pos] = num
  128. SKILL_INDEX_DICT[job][group] = tuple(tmp)
  129. player.SetSkill(pos+1, num)
  130.  
  131. FACE_IMAGE_DICT = {
  132. RACE_WARRIOR_M : "d:/ymir work/ui/game/windows/face_warrior.sub",
  133. RACE_ASSASSIN_W : "d:/ymir work/ui/game/windows/face_assassin.sub",
  134. RACE_SURA_M : "d:/ymir work/ui/game/windows/face_sura.sub",
  135. RACE_SHAMAN_W : "d:/ymir work/ui/game/windows/face_shaman.sub",
  136. }
  137.  
  138. isInitData=0
  139.  
  140. def SetGeneralMotions(mode, folder):
  141. chrmgr.SetPathName(folder)
  142. chrmgr.RegisterMotionMode(mode)
  143. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WAIT, "wait.msa")
  144. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WALK, "walk.msa")
  145. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_RUN, "run.msa")
  146. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "damage.msa", 50)
  147. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  148. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  149. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  150. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING, "damage_flying.msa")
  151. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP, "falling_stand.msa")
  152. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING_BACK, "back_damage_flying.msa")
  153. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP_BACK, "back_falling_stand.msa")
  154. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DEAD, "dead.msa")
  155. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DIG, "dig.msa")
  156.  
  157. def SetGeneralMotionsForWolfman(mode, folder):
  158. chrmgr.SetPathName(folder)
  159. chrmgr.RegisterMotionMode(mode)
  160. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WAIT, "wait.msa")
  161. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_WALK, "walk.msa")
  162. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_RUN, "run.msa")
  163. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "back_damage.msa", 50)
  164. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE, "back_damage1.msa", 50)
  165. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "back_damage.msa", 50)
  166. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_BACK, "back_damage1.msa", 50)
  167. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING, "back_damage_flying.msa")
  168. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP, "front_falling_standup.msa")
  169. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DAMAGE_FLYING_BACK, "back_damage_flying.msa")
  170. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_STAND_UP_BACK, "back_falling_standup.msa")
  171. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DEAD, "dead.msa")
  172. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_DIG, "dig.msa")
  173.  
  174. def SetIntroMotions(mode, folder):
  175. chrmgr.SetPathName(folder)
  176. chrmgr.RegisterMotionMode(mode)
  177. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_INTRO_WAIT, "wait.msa")
  178. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_INTRO_SELECTED, "selected.msa")
  179. chrmgr.RegisterCacheMotionData(mode, chr.MOTION_INTRO_NOT_SELECTED, "not_selected.msa")
  180.  
  181. def __InitData():
  182. global isInitData
  183. if isInitData:
  184. return
  185.  
  186. isInitData = 1
  187. chrmgr.SetDustGap(250)
  188. chrmgr.SetHorseDustGap(500)
  189.  
  190. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DUST, "", "d:/ymir work/effect/etc/dust/dust.mse")
  191. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HORSE_DUST, "", "d:/ymir work/effect/etc/dust/running_dust.mse")
  192. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HIT, "", "d:/ymir work/effect/hit/blow_1/blow_1_low.mse")
  193. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HPUP_RED, "", "d:/ymir work/effect/etc/recuperation/drugup_red.mse")
  194. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SPUP_BLUE, "", "d:/ymir work/effect/etc/recuperation/drugup_blue.mse")
  195. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SPEEDUP_GREEN, "", "d:/ymir work/effect/etc/recuperation/drugup_green.mse")
  196. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DXUP_PURPLE, "", "d:/ymir work/effect/etc/recuperation/drugup_purple.mse")
  197. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_AUTO_HPUP, "", "d:/ymir work/effect/etc/recuperation/autodrugup_red.mse")
  198. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_AUTO_SPUP, "", "d:/ymir work/effect/etc/recuperation/autodrugup_blue.mse")
  199. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_RAMADAN_RING_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item1.mse")
  200. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HALLOWEEN_CANDY_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item2.mse")
  201. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HAPPINESS_RING_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item3.mse")
  202. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_LOVE_PENDANT_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item4.mse")
  203. if app.VERSION_162_ENABLED:
  204. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_HEALER, "", "d:/ymir work/effect/monster2/healer/healer_effect.mse")
  205. if app.ENABLE_SASH_SYSTEM:
  206. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SASH_SUCCEDED, "", "d:/ymir work/effect/etc/buff/buff_item6.mse")
  207. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SASH_EQUIP, "", "d:/ymir work/effect/etc/buff/buff_item7.mse")
  208. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PENETRATE, "Bip01", "d:/ymir work/effect/hit/gwantong.mse")
  209. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_GECTI, "", "d:/ymir work/effect/etc/recuperation/up_ok.mse")
  210. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_YANDI, "", "d:/ymir work/effect/etc/recuperation/up_failed.mse")
  211. #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_BLOCK, "", "d:/ymir work/effect/etc/")
  212. #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DODGE, "", "d:/ymir work/effect/etc/")
  213. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_FIRECRACKER, "", "d:/ymir work/effect/etc/firecracker/newyear_firecracker.mse")
  214. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SPIN_TOP, "", "d:/ymir work/effect/etc/firecracker/paing_i.mse")
  215. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SELECT, "", "d:/ymir work/effect/etc/click/click_select.mse")
  216. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_TARGET, "", "d:/ymir work/effect/etc/click/click_glow_select.mse")
  217. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_STUN, "Bip01 Head", "d:/ymir work/effect/etc/stun/stun.mse")
  218. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_CRITICAL, "Bip01 R Hand", "d:/ymir work/effect/hit/critical.mse")
  219. player.RegisterCacheEffect(player.EFFECT_PICK, "d:/ymir work/effect/etc/click/click.mse")
  220. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_TARGET, "", "d:/ymir work/effect/affect/damagevalue/target.mse")
  221. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_NOT_TARGET, "", "d:/ymir work/effect/affect/damagevalue/nontarget.mse")
  222. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_SELFDAMAGE, "", "d:/ymir work/effect/affect/damagevalue/damage.mse")
  223. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_SELFDAMAGE2, "", "d:/ymir work/effect/affect/damagevalue/damage_1.mse")
  224. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_POISON, "", "d:/ymir work/effect/affect/damagevalue/poison.mse")
  225. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_MISS, "", "d:/ymir work/effect/affect/damagevalue/miss.mse")
  226. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_TARGETMISS, "", "d:/ymir work/effect/affect/damagevalue/target_miss.mse")
  227. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_DAMAGE_CRITICAL, "", "d:/ymir work/effect/affect/damagevalue/critical.mse")
  228. #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_SUCCESS, "", "season1/effect/success.mse")
  229. #chrmgr.RegisterCacheEffect(chrmgr.EFFECT_FAIL, "", "season1/effect/fail.mse")
  230. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_LEVELUP_ON_14_FOR_GERMANY, "","season1/effect/paymessage_warning.mse")
  231. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_LEVELUP_UNDER_15_FOR_GERMANY, "", "season1/effect/paymessage_decide.mse")
  232. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PERCENT_DAMAGE1, "", "d:/ymir work/effect/hit/percent_damage1.mse")
  233. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PERCENT_DAMAGE2, "", "d:/ymir work/effect/hit/percent_damage2.mse")
  234. chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PERCENT_DAMAGE3, "", "d:/ymir work/effect/hit/percent_damage3.mse")
  235.  
  236. chrmgr.CreateRace(RACE_WARRIOR_M)
  237. chrmgr.SelectRace(RACE_WARRIOR_M)
  238. chrmgr.LoadLocalRaceData("warrior_m.msm")
  239. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/warrior/intro/")
  240. chrmgr.CreateRace(RACE_WARRIOR_W)
  241. chrmgr.SelectRace(RACE_WARRIOR_W)
  242. chrmgr.LoadLocalRaceData("warrior_w.msm")
  243. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/warrior/intro/")
  244. chrmgr.CreateRace(RACE_ASSASSIN_W)
  245. chrmgr.SelectRace(RACE_ASSASSIN_W)
  246. chrmgr.LoadLocalRaceData("assassin_w.msm")
  247. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/assassin/intro/")
  248. chrmgr.CreateRace(RACE_ASSASSIN_M)
  249. chrmgr.SelectRace(RACE_ASSASSIN_M)
  250. chrmgr.LoadLocalRaceData("assassin_m.msm")
  251. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/assassin/intro/")
  252. chrmgr.CreateRace(RACE_SURA_M)
  253. chrmgr.SelectRace(RACE_SURA_M)
  254. chrmgr.LoadLocalRaceData("sura_m.msm")
  255. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/sura/intro/")
  256. chrmgr.CreateRace(RACE_SURA_W)
  257. chrmgr.SelectRace(RACE_SURA_W)
  258. chrmgr.LoadLocalRaceData("sura_w.msm")
  259. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/sura/intro/")
  260. chrmgr.CreateRace(RACE_SHAMAN_W)
  261. chrmgr.SelectRace(RACE_SHAMAN_W)
  262. chrmgr.LoadLocalRaceData("shaman_w.msm")
  263. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc/shaman/intro/")
  264. chrmgr.CreateRace(RACE_SHAMAN_M)
  265. chrmgr.SelectRace(RACE_SHAMAN_M)
  266. chrmgr.LoadLocalRaceData("shaman_m.msm")
  267. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc2/shaman/intro/")
  268. chrmgr.CreateRace(RACE_WOLFMAN_M)
  269. chrmgr.SelectRace(RACE_WOLFMAN_M)
  270. chrmgr.LoadLocalRaceData("wolfman_m.msm")
  271. SetIntroMotions(chr.MOTION_MODE_GENERAL, "d:/ymir work/pc3/wolfman/intro/")
  272.  
  273.  
  274. def __LoadGameSound():
  275. item.SetUseSoundFileName(item.USESOUND_DEFAULT, "sound/ui/drop.wav")
  276. item.SetUseSoundFileName(item.USESOUND_ACCESSORY, "sound/ui/equip_ring_amulet.wav")
  277. item.SetUseSoundFileName(item.USESOUND_ARMOR, "sound/ui/equip_metal_armor.wav")
  278. item.SetUseSoundFileName(item.USESOUND_BOW, "sound/ui/equip_bow.wav")
  279. item.SetUseSoundFileName(item.USESOUND_WEAPON, "sound/ui/equip_metal_weapon.wav")
  280. item.SetUseSoundFileName(item.USESOUND_POTION, "sound/ui/eat_potion.wav")
  281. item.SetUseSoundFileName(item.USESOUND_PORTAL, "sound/ui/potal_scroll.wav")
  282.  
  283. item.SetDropSoundFileName(item.DROPSOUND_DEFAULT, "sound/ui/drop.wav")
  284. item.SetDropSoundFileName(item.DROPSOUND_ACCESSORY, "sound/ui/equip_ring_amulet.wav")
  285. item.SetDropSoundFileName(item.DROPSOUND_ARMOR, "sound/ui/equip_metal_armor.wav")
  286. item.SetDropSoundFileName(item.DROPSOUND_BOW, "sound/ui/equip_bow.wav")
  287. item.SetDropSoundFileName(item.DROPSOUND_WEAPON, "sound/ui/equip_metal_weapon.wav")
  288.  
  289. def __LoadGameEffect():
  290. chrmgr.RegisterEffect(chrmgr.EFFECT_SPAWN_APPEAR, "Bip01", "d:/ymir work/effect/etc/appear_die/monster_appear.mse")
  291. chrmgr.RegisterEffect(chrmgr.EFFECT_SPAWN_DISAPPEAR, "Bip01", "d:/ymir work/effect/etc/appear_die/monster_die.mse")
  292. chrmgr.RegisterEffect(chrmgr.EFFECT_FLAME_ATTACK, "equip_right_hand", "d:/ymir work/effect/hit/blow_flame/flame_3_weapon.mse")
  293. chrmgr.RegisterEffect(chrmgr.EFFECT_FLAME_HIT, "", "d:/ymir work/effect/hit/blow_flame/flame_3_blow.mse")
  294. chrmgr.RegisterEffect(chrmgr.EFFECT_FLAME_ATTACH, "", "d:/ymir work/effect/hit/blow_flame/flame_3_body.mse")
  295. chrmgr.RegisterEffect(chrmgr.EFFECT_ELECTRIC_ATTACK, "equip_right", "d:/ymir work/effect/hit/blow_electric/light_1_weapon.mse")
  296. chrmgr.RegisterEffect(chrmgr.EFFECT_ELECTRIC_HIT, "", "d:/ymir work/effect/hit/blow_electric/light_1_blow.mse")
  297. chrmgr.RegisterEffect(chrmgr.EFFECT_ELECTRIC_ATTACH, "", "d:/ymir work/effect/hit/blow_electric/light_1_body.mse")
  298.  
  299. chrmgr.RegisterEffect(chrmgr.EFFECT_LEVELUP, "", "d:/ymir work/effect/etc/levelup_1/level_up.mse")
  300. chrmgr.RegisterEffect(chrmgr.EFFECT_SKILLUP, "", "d:/ymir work/effect/etc/skillup/skillup_1.mse")
  301.  
  302. chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+1, "Bip01", "d:/ymir work/effect/etc/empire/empire_A.mse")
  303. chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+2, "Bip01", "d:/ymir work/effect/etc/empire/empire_B.mse")
  304. chrmgr.RegisterEffect(chrmgr.EFFECT_EMPIRE+3, "Bip01", "d:/ymir work/effect/etc/empire/empire_C.mse")
  305.  
  306. chrmgr.RegisterEffect(chrmgr.EFFECT_WEAPON+1, "equip_right_hand", "d:/ymir work/pc/warrior/effect/geom_sword_loop.mse")
  307. chrmgr.RegisterEffect(chrmgr.EFFECT_WEAPON+2, "equip_right_hand", "d:/ymir work/pc/warrior/effect/geom_spear_loop.mse")
  308.  
  309. # LOCALE
  310. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+0, "Bip01", localeInfo.FN_GM_MARK)
  311. # END_OF_LOCALE
  312.  
  313. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+3, "Bip01", "d:/ymir work/effect/hit/blow_poison/poison_loop.mse")
  314. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+4, "", "d:/ymir work/effect/affect/slow.mse")
  315. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+5, "Bip01 Head", "d:/ymir work/effect/etc/stun/stun_loop.mse")
  316. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+6, "", "d:/ymir work/effect/etc/ready/ready.mse")
  317. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+8, "", "d:/ymir work/guild/effect/10_construction.mse")
  318. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+9, "", "d:/ymir work/guild/effect/20_construction.mse")
  319. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+10, "", "d:/ymir work/guild/effect/20_upgrade.mse")
  320. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+3, "Bip01", "d:/ymir work/effect/hit/blow_poison/poison_loop.mse")
  321. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+4, "", "d:/ymir work/effect/affect/slow.mse")
  322. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+5, "Bip01 Head", "d:/ymir work/effect/etc/stun/stun_loop.mse")
  323. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+6, "", "d:/ymir work/effect/etc/ready/ready.mse")
  324. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+8, "", "d:/ymir work/guild/effect/10_construction.mse")
  325. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+9, "", "d:/ymir work/guild/effect/20_construction.mse")
  326. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+10, "", "d:/ymir work/guild/effect/20_upgrade.mse")
  327. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+14, "Bip01", "d:/ymir work/effect/hit/blow_flame/flame_loop_w.mse")
  328. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+15, "", "d:/ymir work/pc3/common/effect/gyeokgongjang_loop_w.mse")
  329. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+16, "", "d:/ymir work/pc/warrior/effect/gyeokgongjang_loop.mse")
  330. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+17, "Bip01", "d:/ymir work/effect/hit/blow_flame/flame_loop.mse")
  331. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+18, "", "d:/ymir work/pc/warrior/effect/gyeokgongjang_loop.mse")
  332. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+19, "", "d:/ymir work/pc/assassin/effect/gyeonggong_loop.mse")
  333. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+21, "Bip01 R Finger2", "d:/ymir work/pc/sura/effect/gwigeom_loop.mse")
  334. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+22, "", "d:/ymir work/pc/sura/effect/fear_loop.mse")
  335. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+23, "", "d:/ymir work/pc/sura/effect/jumagap_loop.mse")
  336. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+24, "", "d:/ymir work/pc/shaman/effect/3hosin_loop.mse")
  337. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+25, "", "d:/ymir work/pc/shaman/effect/boho_loop.mse")
  338. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+26, "", "d:/ymir work/pc/shaman/effect/10kwaesok_loop.mse")
  339. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+27, "", "d:/ymir work/pc/sura/effect/heuksin_loop.mse")
  340. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+28, "", "d:/ymir work/pc/sura/effect/muyeong_loop.mse")
  341. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+30, "Bip01", "d:/ymir work/effect/hit/blow_flame/flame_loop.mse")
  342. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+31, "Bip01 R Hand", "d:/ymir work/pc/shaman/effect/6gicheon_hand.mse")
  343. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+32, "Bip01 L Hand", "d:/ymir work/pc/shaman/effect/jeungryeok_hand.mse")
  344. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+34, "Bip01 Head", "d:/ymir work/pc/sura/effect/pabeop_loop.mse")
  345. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+35, "", "d:/ymir work/pc/warrior/effect/gyeokgongjang_loop.mse")
  346. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+37, "", "d:/ymir work/effect/etc/guild_war_flag/flag_red.mse")
  347. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+38, "", "d:/ymir work/effect/etc/guild_war_flag/flag_blue.mse")
  348. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+39, "", "d:/ymir work/effect/etc/guild_war_flag/flag_yellow.mse")
  349.  
  350. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+43, "Bip01", "d:/ymir work/effect/hit/blow_poison/bleeding_loop.mse")
  351. #chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+44, "", "d:/ymir work/pc3/common/effect/gyeokgongjang_loop_w.mse")
  352.  
  353. if app.ENABLE_MELEY_LAIR_DUNGEON:
  354. # chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT + chr.AFFECT_STATUE1, "", "d:/ymir work/effect/monster2/redd_moojuk.mse")
  355. # chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT + chr.AFFECT_STATUE2, "", "d:/ymir work/effect/monster2/redd_moojuk.mse")
  356. # chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT + chr.AFFECT_STATUE3, "", "d:/ymir work/effect/monster2/redd_moojuk_blue.mse")
  357. # chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT + chr.AFFECT_STATUE4, "", "d:/ymir work/effect/monster2/redd_moojuk_green.mse")
  358. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT +44, "", "d:/ymir work/effect/monster2/redd_moojuk.mse")
  359. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT +45, "", "d:/ymir work/effect/monster2/redd_moojuk.mse")
  360. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT +46, "", "d:/ymir work/effect/monster2/redd_moojuk_blue.mse")
  361. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT +47, "", "d:/ymir work/effect/monster2/redd_moojuk_green.mse")
  362.  
  363. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+48, "", "d:/ymir work/my_work/effect/resistbuff.mse")
  364. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+49, "Bip01 R Hand", "d:/ymir work/my_work/effect/criticalbuff.mse")
  365. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT+50, "", "d:/ymir work/my_work/effect/reflectbuff.mse")
  366.  
  367. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT + 51, 'Bip01 R Hand', 'd:/ymir work/effect/etc/dragonbone.mse')
  368. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT + 52, 'Bip01 L Hand', 'd:/ymir work/effect/etc/dragonbone2.mse')
  369. chrmgr.RegisterEffect(chrmgr.EFFECT_AFFECT + 53, "Bip01", "locale/tr/effect/vip.mse")
  370.  
  371. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+1, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7.mse")
  372. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+2, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8.mse")
  373. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+3, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9.mse")
  374.  
  375. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+4, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7_b.mse")
  376. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+5, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_8_b.mse")
  377. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+6, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_9_b.mse")
  378.  
  379. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+7, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_f.mse")
  380. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+8, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_f.mse")
  381. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+9, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_f.mse")
  382.  
  383. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+10, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_s.mse")
  384. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+11, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_s.mse")
  385. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+12, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_s.mse")
  386.  
  387. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+16, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_7.mse")
  388. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+17, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_8.mse")
  389. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+18, "Bip01", "D:/ymir work/pc/common/effect/armor/armor_9.mse")
  390.  
  391. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+19, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_7_w.mse") ##saglam efektler###
  392. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+20, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_8_w.mse")
  393. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+21, "PART_WEAPON", "D:/ymir work/pc/common/effect/sword/sword_9_w.mse")
  394.  
  395. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+22, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_7_w.mse")
  396. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+23, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_8_w.mse")
  397. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+24, "PART_WEAPON_LEFT", "D:/ymir work/pc/common/effect/sword/sword_9_w.mse")
  398.  
  399. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+25, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-1.mse")
  400. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+26, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-4-2-2.mse")
  401.  
  402. if app.VERSION_162_ENABLED:
  403. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+27, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-5-1.mse")
  404.  
  405. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+28, "Bip01", "D:/ymir work/pc/common/effect/armor/armor-5_jin.mse")
  406.  
  407. if app.ENABLE_SASH_SYSTEM:
  408. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED+29, "Bip01", "d:/ymir work/pc/common/effect/armor/acc_01.mse")
  409.  
  410. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 30, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/sword_1.mse')
  411. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 31, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/sword_2.mse')
  412. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 32, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/sword_3.mse')
  413. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 33, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/sword_4.mse')
  414. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 34, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/bow_1.mse')
  415. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 35, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/bow_2.mse')
  416. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 36, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/bow_3.mse')
  417. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 37, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/bow_4.mse')
  418. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 38, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/fan_1.mse')
  419. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 39, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/fan_2.mse')
  420. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 40, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/fan_3.mse')
  421. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 41, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/fan_4.mse')
  422. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 42, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/dagger_1.mse')
  423. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 43, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/dagger_2.mse')
  424. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 44, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/dagger_3.mse')
  425. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 45, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/dagger_4.mse')
  426. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 46, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/dagger_1.mse')
  427. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 47, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/dagger_2.mse')
  428. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 48, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/dagger_3.mse')
  429. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 49, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/dagger_4.mse')
  430. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 50, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/sword_9_wyesil.mse')
  431. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 51, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/sword_9_wturuncu.mse')
  432. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 52, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/sword_9_wkirmizi.mse')
  433. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 53, 'PART_WEAPON', 'D:/ymir work/effect/etc/rare/sword_9_wsilver.mse')
  434. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 54, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/sword_9_wyesil.mse')
  435. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 55, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/sword_9_wturuncu.mse')
  436. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 56, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/sword_9_wkirmizi.mse')
  437. chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 57, 'PART_WEAPON_LEFT', 'D:/ymir work/effect/etc/rare/sword_9_wsilver.mse')
  438.  
  439. ## FlyData
  440. effect.RegisterIndexedFlyData(effect.FLY_EXP, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_yellow_small2.msf") ## ³ë¶õ»ö (EXP)
  441. effect.RegisterIndexedFlyData(effect.FLY_HP_MEDIUM, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_red_small.msf") ## »¡°£»ö (HP) ÀÛÀº°Å
  442. effect.RegisterIndexedFlyData(effect.FLY_HP_BIG, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_red_big.msf") ## »¡°£»ö (HP) Å«°Å
  443. effect.RegisterIndexedFlyData(effect.FLY_SP_SMALL, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_blue_warrior_small.msf") ## ÆÄ¶õ»ö ²¿¸®¸¸ Àִ°Å
  444. effect.RegisterIndexedFlyData(effect.FLY_SP_MEDIUM, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_blue_small.msf") ## ÆÄ¶õ»ö ÀÛÀº°Å
  445. effect.RegisterIndexedFlyData(effect.FLY_SP_BIG, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_blue_big.msf") ## ÆÄ¶õ»ö Å«°Å
  446. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK1, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_1.msf") ## ÆøÁ× 1
  447. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK2, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_2.msf") ## ÆøÁ× 2
  448. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK3, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_3.msf") ## ÆøÁ× 3
  449. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK4, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_4.msf") ## ÆøÁ× 4
  450. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK5, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_5.msf") ## ÆøÁ× 5
  451. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK6, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_6.msf") ## ÆøÁ× 6
  452. effect.RegisterIndexedFlyData(effect.FLY_FIREWORK_XMAS, effect.INDEX_FLY_TYPE_FIRE_CRACKER, "d:/ymir work/effect/etc/firecracker/firecracker_xmas.msf") ## ÆøÁ× X-Mas
  453. effect.RegisterIndexedFlyData(effect.FLY_CHAIN_LIGHTNING, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/pc/shaman/effect/pokroe.msf") ## Æø·Ú°Ý
  454. effect.RegisterIndexedFlyData(effect.FLY_HP_SMALL, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/effect/etc/gathering/ga_piece_red_smallest.msf") ## »¡°£»ö ¸Å¿ì ÀÛÀº°Å
  455. effect.RegisterIndexedFlyData(effect.FLY_SKILL_MUYEONG, effect.INDEX_FLY_TYPE_AUTO_FIRE, "d:/ymir work/pc/sura/effect/muyeong_fly.msf") ## ¹«¿µÁø
  456.  
  457. #########################################################################################
  458. ## Emoticon
  459. EmoticonStr = "d:/ymir work/effect/etc/emoticon/"
  460. BuffStr = "d:/ymir work/effect/etc/buffnew/"
  461.  
  462. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+0, "", EmoticonStr+"sweat.mse")
  463. net.RegisterEmoticonString("(Ȳ´ç)")
  464.  
  465. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+1, "", EmoticonStr+"money.mse")
  466. net.RegisterEmoticonString("(µ·)")
  467.  
  468. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+2, "", EmoticonStr+"happy.mse")
  469. net.RegisterEmoticonString("(±â»Ý)")
  470.  
  471. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+3, "", EmoticonStr+"love_s.mse")
  472. net.RegisterEmoticonString("(ÁÁ¾Æ)")
  473.  
  474. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+4, "", EmoticonStr+"love_l.mse")
  475. net.RegisterEmoticonString("(»ç¶û)")
  476.  
  477. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+5, "", EmoticonStr+"angry.mse")
  478. net.RegisterEmoticonString("(ºÐ³ë)")
  479.  
  480. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+6, "", EmoticonStr+"aha.mse")
  481. net.RegisterEmoticonString("(¾ÆÇÏ)")
  482.  
  483. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+7, "", EmoticonStr+"gloom.mse")
  484. net.RegisterEmoticonString("(¿ì¿ï)")
  485.  
  486. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+8, "", EmoticonStr+"sorry.mse")
  487. net.RegisterEmoticonString("(Á˼Û)")
  488.  
  489. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+9, "", EmoticonStr+"!_mix_back.mse")
  490. net.RegisterEmoticonString("(!)")
  491.  
  492. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+10, "", EmoticonStr+"question.mse")
  493. net.RegisterEmoticonString("(?)")
  494.  
  495. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+11, "", EmoticonStr+"fish.mse")
  496. net.RegisterEmoticonString("(fish)")
  497.  
  498. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+12, "", BuffStr+"1x_kill.mse")
  499. net.RegisterEmoticonString("(kill1)")
  500.  
  501. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+13, "", BuffStr+"2x_kill.mse")
  502. net.RegisterEmoticonString("(kill2)")
  503.  
  504. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+14, "", BuffStr+"3x_kill.mse")
  505. net.RegisterEmoticonString("(kill3)")
  506.  
  507. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+15, "", BuffStr+"4x_kill.mse")
  508. net.RegisterEmoticonString("(kill4)")
  509.  
  510. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+16, "", BuffStr+"5x_kill.mse")
  511. net.RegisterEmoticonString("(kill5)")
  512.  
  513. chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+17, "", BuffStr+"6x_kill.mse")
  514. net.RegisterEmoticonString("(kill6)")
  515.  
  516. ## Emoticon
  517. #########################################################################################
  518.  
  519.  
  520. def __LoadGameWarrior():
  521. __LoadGameWarriorEx(RACE_WARRIOR_M, "d:/ymir work/pc/warrior/")
  522. __LoadGameWarriorEx(RACE_WARRIOR_W, "d:/ymir work/pc2/warrior/")
  523.  
  524. def __LoadGameAssassin():
  525. __LoadGameAssassinEx(RACE_ASSASSIN_W, "d:/ymir work/pc/assassin/")
  526. __LoadGameAssassinEx(RACE_ASSASSIN_M, "d:/ymir work/pc2/assassin/")
  527.  
  528. def __LoadGameSura():
  529. __LoadGameSuraEx(RACE_SURA_M, "d:/ymir work/pc/sura/")
  530. __LoadGameSuraEx(RACE_SURA_W, "d:/ymir work/pc2/sura/")
  531.  
  532. def __LoadGameShaman():
  533. __LoadGameShamanEx(RACE_SHAMAN_W, "d:/ymir work/pc/shaman/")
  534. __LoadGameShamanEx(RACE_SHAMAN_M, "d:/ymir work/pc2/shaman/")
  535.  
  536. def __LoadGameWolfman():
  537. __LoadGameWolfmanEx(RACE_WOLFMAN_M, "d:/ymir work/pc3/wolfman/")
  538.  
  539. def __LoadGameWarriorEx(race, path):
  540.  
  541. ## Warrior
  542. #########################################################################################
  543. chrmgr.SelectRace(race)
  544.  
  545. ## GENERAL MODE
  546. SetGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
  547. chrmgr.SetMotionRandomWeight(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, 0, 70)
  548. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait_1.msa", 30)
  549. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack.msa", 50)
  550. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack_1.msa", 50)
  551.  
  552. ## SKILL
  553. chrmgr.SetPathName(path + "skill/")
  554. for i in xrange(skill.SKILL_EFFECT_COUNT):
  555. END_STRING = ""
  556. if i != 0: END_STRING = "_%d" % (i+1)
  557. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "samyeon" + END_STRING + ".msa")
  558. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "palbang" + END_STRING + ".msa")
  559. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "jeongwi" + END_STRING + ".msa")
  560. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "geomgyeong" + END_STRING + ".msa")
  561. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "tanhwan" + END_STRING + ".msa")
  562. # chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gihyeol" + END_STRING + ".msa")
  563. if NEW_678TH_SKILL_ENABLE:
  564. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gihyeol" + END_STRING + ".msa")
  565. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "gigongcham" + END_STRING + ".msa")
  566. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gyeoksan" + END_STRING + ".msa")
  567. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "daejin" + END_STRING + ".msa")
  568. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "cheongeun" + END_STRING + ".msa")
  569. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "geompung" + END_STRING + ".msa")
  570. # chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "noegeom" + END_STRING + ".msa")
  571. if NEW_678TH_SKILL_ENABLE:
  572. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "noegeom" + END_STRING + ".msa")
  573.  
  574. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
  575. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
  576. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
  577. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
  578. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
  579. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
  580.  
  581. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
  582. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  583.  
  584. ## EMOTION
  585. emotion.RegisterEmotionAnis(path)
  586.  
  587. ## ONEHAND_SWORD BATTLE
  588. chrmgr.SetPathName(path + "onehand_sword/")
  589. chrmgr.RegisterMotionMode(chr.MOTION_MODE_ONEHAND_SWORD)
  590. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT, "wait.msa", 50)
  591. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 50)
  592. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WALK, "walk.msa")
  593. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_RUN, "run.msa")
  594. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  595. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  596. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  597. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  598. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  599. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  600. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  601. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  602. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  603. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  604. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  605.  
  606. ## Combo Type 1
  607. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, 4)
  608. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  609. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  610. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  611. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  612. ## Combo Type 2
  613. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, 5)
  614. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  615. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  616. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  617. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  618. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  619. ## Combo Type 3
  620. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, 6)
  621. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  622. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  623. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  624. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  625. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  626. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  627.  
  628. ## TWOHAND_SWORD BATTLE
  629. chrmgr.SetPathName(path + "twohand_sword/")
  630. chrmgr.RegisterMotionMode(chr.MOTION_MODE_TWOHAND_SWORD)
  631. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_WAIT, "wait.msa", 70)
  632. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 30)
  633. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_WALK, "walk.msa")
  634. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_RUN, "run.msa")
  635. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  636. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  637. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  638. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  639. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  640. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  641. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  642. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  643. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  644. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  645. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  646.  
  647. ## Combo Type 1
  648. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, 4)
  649. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  650. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  651. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  652. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  653. ## Combo Type 2
  654. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, 5)
  655. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  656. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  657. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  658. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  659. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  660. ## Combo Type 3
  661. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, 6)
  662. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  663. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  664. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  665. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  666. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  667. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_TWOHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  668.  
  669. ## FISHING
  670. chrmgr.SetPathName(path + "fishing/")
  671. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
  672. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT, "wait.msa")
  673. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK, "walk.msa")
  674. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN, "run.msa")
  675. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW, "throw.msa")
  676. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT, "fishing_wait.msa")
  677. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP, "fishing_cancel.msa")
  678. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT, "fishing_react.msa")
  679. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH, "fishing_catch.msa")
  680. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL, "fishing_fail.msa")
  681.  
  682. ## HORSE
  683. chrmgr.SetPathName(path + "horse/")
  684. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
  685. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  686. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_1.msa", 9)
  687. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_2.msa", 1)
  688. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  689. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  690. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE, "damage.msa")
  691. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK, "damage.msa")
  692. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD, "dead.msa")
  693. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE, "skill_charge.msa")
  694.  
  695. ## HORSE_ONEHAND_SWORD
  696. chrmgr.SetPathName(path + "horse_onehand_sword/")
  697. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_ONEHAND_SWORD)
  698. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  699. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  700. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  701. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, 3)
  702. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  703. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  704. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  705. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  706. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_SPLASH, "skill_splash.msa")
  707.  
  708. ## HORSE_TWOHAND_SWORD
  709. chrmgr.SetPathName(path + "horse_twohand_sword/")
  710. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_TWOHAND_SWORD)
  711. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  712. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  713. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  714. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, 3)
  715. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  716. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  717. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  718. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  719. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_TWOHAND_SWORD, HORSE_SKILL_SPLASH, "skill_splash.msa")
  720.  
  721. ## Bone
  722. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right_hand")
  723. if app.ENABLE_SASH_SYSTEM:
  724. chrmgr.RegisterAttachingBoneName(chr.PART_SASH, "Bip01 Spine2")
  725.  
  726. def __LoadGameAssassinEx(race, path):
  727. ## Assassin
  728. #########################################################################################
  729. chrmgr.SelectRace(race)
  730.  
  731. ## GENERAL MOTION MODE
  732. SetGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
  733. chrmgr.SetMotionRandomWeight(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, 0, 70)
  734. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait_1.msa", 30)
  735. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack.msa", 50)
  736. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack_1.msa", 50)
  737.  
  738. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
  739. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  740.  
  741. ## SKILL
  742. chrmgr.SetPathName(path + "skill/")
  743. for i in xrange(skill.SKILL_EFFECT_COUNT):
  744. END_STRING = ""
  745. if i != 0: END_STRING = "_%d" % (i+1)
  746. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "amseup" + END_STRING + ".msa")
  747. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "gungsin" + END_STRING + ".msa")
  748. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "charyun" + END_STRING + ".msa")
  749. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "eunhyeong" + END_STRING + ".msa")
  750. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "sangong" + END_STRING + ".msa")
  751. # chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "seomjeon" + END_STRING + ".msa")
  752. if NEW_678TH_SKILL_ENABLE:
  753. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "seomjeon" + END_STRING + ".msa")
  754. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "yeonsa" + END_STRING + ".msa")
  755. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "gwangyeok" + END_STRING + ".msa")
  756. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "hwajo" + END_STRING + ".msa")
  757. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "gyeonggong" + END_STRING + ".msa")
  758. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "dokgigung" + END_STRING + ".msa")
  759. # chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "seomgwang" + END_STRING + ".msa")
  760. if NEW_678TH_SKILL_ENABLE:
  761. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "seomgwang" + END_STRING + ".msa")
  762.  
  763. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
  764. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
  765. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
  766. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
  767. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
  768. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
  769.  
  770. ## EMOTION
  771. emotion.RegisterEmotionAnis(path)
  772.  
  773. ## ONEHAND_SWORD BATTLE
  774. chrmgr.SetPathName(path + "onehand_sword/")
  775. chrmgr.RegisterMotionMode(chr.MOTION_MODE_ONEHAND_SWORD)
  776. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT, "wait.msa", 70)
  777. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 30)
  778. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WALK, "walk.msa")
  779. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_RUN, "run.msa")
  780. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  781. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  782. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  783. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  784. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  785. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  786. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  787. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  788. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  789. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  790. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  791.  
  792. ## Combo Type 1
  793. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, 4)
  794. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  795. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  796. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  797. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  798. ## Combo Type 2
  799. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, 5)
  800. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  801. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  802. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  803. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  804. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  805. ## Combo Type 3
  806. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, 6)
  807. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  808. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  809. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  810. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  811. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  812. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  813.  
  814. ## DUALHAND_SWORD BATTLE
  815. chrmgr.SetPathName(path + "dualhand_sword/")
  816. chrmgr.RegisterMotionMode(chr.MOTION_MODE_DUALHAND_SWORD)
  817. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_WAIT, "wait.msa", 70)
  818. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_WAIT, "wait_1.msa", 30)
  819. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_WALK, "walk.msa")
  820. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_RUN, "run.msa")
  821. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  822. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  823. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  824. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  825. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  826. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  827. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  828. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  829. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  830. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  831. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  832. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_8, "combo_08.msa")
  833.  
  834. ## Combo Type 1
  835. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_1, 4)
  836. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  837. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  838. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  839. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  840. ## Combo Type 2
  841. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, 5)
  842. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  843. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  844. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  845. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  846. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  847. ## Combo Type 3
  848. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, 6)
  849. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  850. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  851. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  852. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  853. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  854. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_DUALHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_8)
  855.  
  856. ## BOW BATTLE
  857. chrmgr.SetPathName(path + "bow/")
  858. chrmgr.RegisterMotionMode(chr.MOTION_MODE_BOW)
  859. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_WAIT, "wait.msa", 70)
  860. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_WAIT, "wait_1.msa", 30)
  861. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_WALK, "walk.msa")
  862. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_RUN, "run.msa")
  863. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_DAMAGE, "damage.msa", 50)
  864. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  865. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  866. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  867. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW, chr.MOTION_COMBO_ATTACK_1, "attack.msa")
  868. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_BOW, COMBO_TYPE_1, 1)
  869. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BOW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  870.  
  871. if app.ENABLE_NEW_ARROW_SYSTEM:
  872. chrmgr.SetPathName(path + "bow/")
  873. chrmgr.RegisterMotionMode(chr.MOTION_MODE_BOW_SPECIAL)
  874. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW_SPECIAL, chr.MOTION_WAIT, "wait.msa", 70)
  875. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW_SPECIAL, chr.MOTION_WAIT, "wait_1.msa", 30)
  876. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW_SPECIAL, chr.MOTION_WALK, "walk.msa")
  877. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW_SPECIAL, chr.MOTION_RUN, "run.msa")
  878. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW_SPECIAL, chr.MOTION_DAMAGE, "damage.msa", 50)
  879. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW_SPECIAL, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  880. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW_SPECIAL, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  881. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW_SPECIAL, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  882. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BOW_SPECIAL, chr.MOTION_COMBO_ATTACK_1, "attack_special.msa")
  883. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_BOW_SPECIAL, COMBO_TYPE_1, 1)
  884. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BOW_SPECIAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  885.  
  886. ## FISHING
  887. chrmgr.SetPathName(path + "fishing/")
  888. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
  889. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT, "wait.msa")
  890. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK, "walk.msa")
  891. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN, "run.msa")
  892. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW, "throw.msa")
  893. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT, "fishing_wait.msa")
  894. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP, "fishing_cancel.msa")
  895. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT, "fishing_react.msa")
  896. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH, "fishing_catch.msa")
  897. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL, "fishing_fail.msa")
  898.  
  899. ## HORSE
  900. chrmgr.SetPathName(path + "horse/")
  901. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
  902. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  903. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_1.msa", 9)
  904. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_2.msa", 1)
  905. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  906. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  907. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE, "damage.msa")
  908. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK, "damage.msa")
  909. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD, "dead.msa")
  910. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE, "skill_charge.msa")
  911.  
  912. ## HORSE_ONEHAND_SWORD
  913. chrmgr.SetPathName(path + "horse_onehand_sword/")
  914. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_ONEHAND_SWORD)
  915. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  916. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  917. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  918. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  919. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_SPLASH, "skill_splash.msa")
  920. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, 3)
  921. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  922. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  923. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  924.  
  925. ## HORSE_DUALHAND_SWORD
  926. chrmgr.SetPathName(path + "horse_dualhand_sword/")
  927. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_DUALHAND_SWORD)
  928. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  929. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  930. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  931. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  932. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, HORSE_SKILL_SPLASH, "skill_splash.msa")
  933. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, COMBO_TYPE_1, 3)
  934. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  935. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  936. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_DUALHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  937.  
  938. ## HORSE_BOW
  939. chrmgr.SetPathName(path + "horse_bow/")
  940. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_BOW)
  941. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_WAIT, "wait.msa", 90)
  942. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_WAIT, "wait_1.msa", 9)
  943. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_WAIT, "wait_2.msa", 1)
  944. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_RUN, "run.msa")
  945. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_DAMAGE, "damage.msa")
  946. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_DEAD, "dead.msa")
  947. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, chr.MOTION_COMBO_ATTACK_1, "attack.msa")
  948. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  949. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BOW, HORSE_SKILL_SPLASH, "skill_splash.msa")
  950. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_BOW, COMBO_TYPE_1, 1)
  951. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_BOW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  952.  
  953. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right")
  954. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON_LEFT, "equip_left")
  955. if app.ENABLE_SASH_SYSTEM:
  956. chrmgr.RegisterAttachingBoneName(chr.PART_SASH, "Bip01 Spine2")
  957.  
  958. def __LoadGameSuraEx(race, path):
  959. ## Sura
  960. #########################################################################################
  961. chrmgr.SelectRace(race)
  962.  
  963. ## GENERAL MOTION MODE
  964. SetGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
  965. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack.msa", 50)
  966. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack_1.msa", 50)
  967.  
  968. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
  969. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  970.  
  971. ## SKILL
  972. chrmgr.SetPathName(path + "skill/")
  973. # chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+4, "geongon.msa")
  974.  
  975. for i in xrange(skill.SKILL_EFFECT_COUNT):
  976. END_STRING = ""
  977. if i != 0: END_STRING = "_%d" % (i+1)
  978. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "swaeryeong" + END_STRING + ".msa")
  979. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "yonggwon" + END_STRING + ".msa")
  980. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "gwigeom" + END_STRING + ".msa")
  981. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "gongpo" + END_STRING + ".msa")
  982. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "jumagap" + END_STRING + ".msa")
  983. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "pabeop" + END_STRING + ".msa")
  984. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "maryeong" + END_STRING + ".msa")
  985. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "hwayeom" + END_STRING + ".msa")
  986. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "muyeong" + END_STRING + ".msa")
  987. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "heuksin" + END_STRING + ".msa")
  988. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "tusok" + END_STRING + ".msa")
  989. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "mahwan" + END_STRING + ".msa")
  990.  
  991. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
  992. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
  993. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
  994. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
  995. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
  996. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
  997.  
  998. ## EMOTION
  999. emotion.RegisterEmotionAnis(path)
  1000.  
  1001. ## ONEHAND_SWORD BATTLE
  1002. chrmgr.SetPathName(path + "onehand_sword/")
  1003. chrmgr.RegisterMotionMode(chr.MOTION_MODE_ONEHAND_SWORD)
  1004. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT, "wait.msa")
  1005. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WALK, "walk.msa")
  1006. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_RUN, "run.msa")
  1007. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa")
  1008. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage.msa", 50)
  1009. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1010. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1011. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1012. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1013. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1014. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1015. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1016. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1017. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1018. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1019.  
  1020. ## Combo Type 1
  1021. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, 4)
  1022. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1023. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1024. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1025. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1026. ## Combo Type 2
  1027. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, 5)
  1028. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1029. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1030. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1031. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1032. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1033. ## Combo Type 3
  1034. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, 6)
  1035. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1036. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1037. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1038. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1039. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1040. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_ONEHAND_SWORD, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1041.  
  1042. ## FISHING
  1043. chrmgr.SetPathName(path + "fishing/")
  1044. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
  1045. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT, "wait.msa")
  1046. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK, "walk.msa")
  1047. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN, "run.msa")
  1048. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW, "throw.msa")
  1049. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT, "fishing_wait.msa")
  1050. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP, "fishing_cancel.msa")
  1051. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT, "fishing_react.msa")
  1052. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH, "fishing_catch.msa")
  1053. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL, "fishing_fail.msa")
  1054.  
  1055. ## HORSE
  1056. chrmgr.SetPathName(path + "horse/")
  1057. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
  1058. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  1059. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_1.msa", 9)
  1060. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_2.msa", 1)
  1061. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  1062. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  1063. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE, "damage.msa")
  1064. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK, "damage.msa")
  1065. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD, "dead.msa")
  1066. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE, "skill_charge.msa")
  1067. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_SPLASH, "skill_splash.msa")
  1068.  
  1069. ## HORSE_ONEHAND_SWORD
  1070. chrmgr.SetPathName(path + "horse_onehand_sword/")
  1071. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_ONEHAND_SWORD)
  1072. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1073. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1074. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1075. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, 3)
  1076. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1077. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1078. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1079. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_ONEHAND_SWORD, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  1080.  
  1081. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right")
  1082. if app.ENABLE_SASH_SYSTEM:
  1083. chrmgr.RegisterAttachingBoneName(chr.PART_SASH, "Bip01 Spine2")
  1084.  
  1085. def __LoadGameShamanEx(race, path):
  1086. ## Shaman
  1087. #########################################################################################
  1088. chrmgr.SelectRace(race)
  1089.  
  1090. ## GENERAL MOTION MODE
  1091. SetGeneralMotions(chr.MOTION_MODE_GENERAL, path + "general/")
  1092. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack.msa", 50)
  1093. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack_1.msa", 50)
  1094.  
  1095. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
  1096. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1097.  
  1098. ## EMOTION
  1099. emotion.RegisterEmotionAnis(path)
  1100.  
  1101. ## Fan
  1102. chrmgr.SetPathName(path + "fan/")
  1103. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FAN)
  1104. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_WAIT, "wait.msa")
  1105. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_WALK, "walk.msa")
  1106. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_RUN, "run.msa")
  1107. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_DAMAGE, "damage.msa", 50)
  1108. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1109. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1110. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1111. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1112. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1113. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1114. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1115. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1116. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1117. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FAN, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1118.  
  1119. ## Combo Type 1
  1120. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_1, 4)
  1121. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1122. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1123. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1124. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1125. ## Combo Type 2
  1126. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, 5)
  1127. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1128. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1129. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1130. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1131. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1132. ## Combo Type 3
  1133. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, 6)
  1134. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1135. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1136. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1137. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1138. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1139. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_FAN, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1140.  
  1141. ## Bell
  1142. chrmgr.SetPathName(path + "Bell/")
  1143. chrmgr.RegisterMotionMode(chr.MOTION_MODE_BELL)
  1144. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_WAIT, "wait.msa")
  1145. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_WALK, "walk.msa")
  1146. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_RUN, "run.msa")
  1147. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_DAMAGE, "damage.msa", 50)
  1148. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_DAMAGE, "damage_1.msa", 50)
  1149. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_DAMAGE_BACK, "damage_2.msa", 50)
  1150. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_DAMAGE_BACK, "damage_3.msa", 50)
  1151. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1152. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1153. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1154. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1155. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1156. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1157. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_BELL, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1158.  
  1159. ## Combo Type 1
  1160. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_1, 4)
  1161. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1162. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1163. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1164. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1165. ## Combo Type 2
  1166. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, 5)
  1167. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1168. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1169. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1170. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1171. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1172. ## Combo Type 3
  1173. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, 6)
  1174. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1175. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1176. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1177. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1178. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1179. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_BELL, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1180.  
  1181. ## SKILL
  1182. chrmgr.SetPathName(path + "skill/")
  1183. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+1, "bipabu.msa")
  1184. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+2, "yongpa.msa")
  1185. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+3, "paeryong.msa")
  1186. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+4, "hosin_target.msa")
  1187. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+5, "boho_target.msa")
  1188. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+6, "gicheon_target.msa")
  1189. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+16, "noejeon.msa")
  1190. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+17, "byeorak.msa")
  1191. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+18, "pokroe.msa")
  1192. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+19, "jeongeop_target.msa")
  1193. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+20, "kwaesok_target.msa")
  1194. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+21, "jeungryeok_target.msa")
  1195. #chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+10, "budong.msa")
  1196.  
  1197. START_INDEX = 0
  1198. #skill.SKILL_EFFECT_COUNT ±îÁö//
  1199. for i in (1, 2, 3):
  1200. END_STRING = ""
  1201. if i != 0: END_STRING = "_%d" % (i+1)
  1202. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "bipabu" + END_STRING + ".msa")
  1203. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "yongpa" + END_STRING + ".msa")
  1204. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "paeryong" + END_STRING + ".msa")
  1205. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "hosin" + END_STRING + ".msa")
  1206. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "boho" + END_STRING + ".msa")
  1207. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "gicheon" + END_STRING + ".msa")
  1208. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+16, "noejeon" + END_STRING + ".msa")
  1209. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+17, "byeorak" + END_STRING + ".msa")
  1210. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+18, "pokroe" + END_STRING + ".msa")
  1211. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+19, "jeongeop" + END_STRING + ".msa")
  1212. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+20, "kwaesok" + END_STRING + ".msa")
  1213. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+21, "jeungryeok" + END_STRING + ".msa")
  1214. #chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+10, "budong" + END_STRING + ".msa")
  1215.  
  1216. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
  1217. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
  1218. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
  1219. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
  1220. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
  1221. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
  1222.  
  1223. ## FISHING
  1224. chrmgr.SetPathName(path + "fishing/")
  1225. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
  1226. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT, "wait.msa")
  1227. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK, "walk.msa")
  1228. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN, "run.msa")
  1229. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW, "throw.msa")
  1230. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT, "fishing_wait.msa")
  1231. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP, "fishing_cancel.msa")
  1232. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT, "fishing_react.msa")
  1233. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH, "fishing_catch.msa")
  1234. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL, "fishing_fail.msa")
  1235.  
  1236. ## HORSE
  1237. chrmgr.SetPathName(path + "horse/")
  1238. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
  1239. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  1240. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_1.msa", 9)
  1241. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait_2.msa", 1)
  1242. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  1243. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  1244. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE, "damage.msa")
  1245. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK, "damage.msa")
  1246. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD, "dead.msa")
  1247. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE, "skill_charge.msa")
  1248. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_SPLASH, "skill_splash.msa")
  1249.  
  1250. ## HORSE_FAN
  1251. chrmgr.SetPathName(path + "horse_fan/")
  1252. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_FAN)
  1253. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_FAN, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1254. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_FAN, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1255. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_FAN, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1256. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_FAN, COMBO_TYPE_1, 3)
  1257. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_FAN, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1258. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_FAN, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1259. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_FAN, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1260. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_FAN, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  1261.  
  1262. ## HORSE_BELL
  1263. chrmgr.SetPathName(path + "horse_bell/")
  1264. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_BELL)
  1265. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BELL, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1266. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BELL, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1267. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BELL, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1268. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_BELL, COMBO_TYPE_1, 3)
  1269. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_BELL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1270. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_BELL, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1271. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_BELL, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1272. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_BELL, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  1273.  
  1274. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right")
  1275. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON_LEFT, "equip_left")
  1276. if app.ENABLE_SASH_SYSTEM:
  1277. chrmgr.RegisterAttachingBoneName(chr.PART_SASH, "Bip01 Spine2")
  1278.  
  1279. def __LoadGameWolfmanEx(race, path):
  1280. chrmgr.SelectRace(race)
  1281.  
  1282. #General
  1283. SetGeneralMotionsForWolfman(chr.MOTION_MODE_GENERAL, path + "general/")
  1284. chrmgr.SetMotionRandomWeight(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, 0, 70)
  1285. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait1.msa", 30)
  1286. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait2.msa", 30)
  1287. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack1.msa", 50)
  1288. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_COMBO_ATTACK_1, "attack2.msa", 50)
  1289.  
  1290. #Combo
  1291. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 6)
  1292. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1293. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_1)
  1294. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_1)
  1295. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_1)
  1296. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_1)
  1297. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_1)
  1298.  
  1299. #Skill
  1300. chrmgr.SetPathName(path + "skill/")
  1301. for i in xrange(skill.SKILL_EFFECT_COUNT):
  1302. END_STRING = ""
  1303. if i != 0: END_STRING = "_%d" % (i)
  1304. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+1, "split_slash" + END_STRING + ".msa")
  1305. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+2, "wind_death" + END_STRING + ".msa")
  1306. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+3, "reef_attack" + END_STRING + ".msa")
  1307. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+4, "wreckage" + END_STRING + ".msa")
  1308. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+5, "red_possession" + END_STRING + ".msa")
  1309. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SKILL+(i*skill.SKILL_GRADEGAP)+6, "blue_possession" + END_STRING + ".msa")
  1310.  
  1311. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLOOD, "guild_yongsinuipi.msa")
  1312. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONBLESS, "guild_yongsinuichukbok.msa")
  1313. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_BLESSARMOR, "guild_seonghwigap.msa")
  1314. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_SPPEDUP, "guild_gasokhwa.msa")
  1315. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_DRAGONWRATH, "guild_yongsinuibunno.msa")
  1316. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_GENERAL, GUILD_SKILL_MAGICUP, "guild_jumunsul.msa")
  1317.  
  1318. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, 1)
  1319. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_GENERAL, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1320.  
  1321. #Emoticon
  1322. emotion.RegisterEmotionAnis(path)
  1323.  
  1324. #Claw weapon
  1325. chrmgr.SetPathName(path + "claw/")
  1326. chrmgr.RegisterMotionMode(chr.MOTION_MODE_CLAW)
  1327. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_WAIT, "wait1.msa", 50)
  1328. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_WAIT, "wait2.msa", 50)
  1329. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_WAIT, "wait.msa", 50)
  1330. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_WALK, "walk.msa")
  1331. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_RUN, "run.msa")
  1332. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_DAMAGE, "front_damage.msa", 50)
  1333. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_DAMAGE, "back_damage.msa", 50)
  1334. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_DAMAGE_BACK, "back_damage.msa", 50)
  1335. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_DAMAGE_BACK, "back_damage1.msa", 50)
  1336. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1337. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1338. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1339. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_4, "combo_04.msa")
  1340. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_5, "combo_05.msa")
  1341. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_6, "combo_06.msa")
  1342. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_CLAW, chr.MOTION_COMBO_ATTACK_7, "combo_07.msa")
  1343.  
  1344. # Combo
  1345. ## Type 1
  1346. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_1, 4)
  1347. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1348. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1349. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1350. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_1, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_4)
  1351. ## Type 2
  1352. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, 5)
  1353. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1354. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1355. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1356. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1357. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_2, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_7)
  1358. ## Type 3
  1359. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, 6)
  1360. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1361. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1362. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1363. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_4, chr.MOTION_COMBO_ATTACK_5)
  1364. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_5, chr.MOTION_COMBO_ATTACK_6)
  1365. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_CLAW, COMBO_TYPE_3, COMBO_INDEX_6, chr.MOTION_COMBO_ATTACK_4)
  1366.  
  1367. #Fishing
  1368. chrmgr.SetPathName(path + "fishing/")
  1369. chrmgr.RegisterMotionMode(chr.MOTION_MODE_FISHING)
  1370. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WAIT, "wait.msa")
  1371. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_WALK, "walk.msa")
  1372. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_RUN, "run.msa")
  1373. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_THROW, "throw.msa")
  1374. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_WAIT, "fishing_wait.msa")
  1375. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_STOP, "fishing_cancel.msa")
  1376. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_REACT, "fishing_react.msa")
  1377. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_CATCH, "fishing_catch.msa")
  1378. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_FISHING, chr.MOTION_FISHING_FAIL, "fishing_fail.msa")
  1379.  
  1380. #Horse
  1381. chrmgr.SetPathName(path + "horse/")
  1382. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE)
  1383. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait.msa", 90)
  1384. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait1.msa", 9)
  1385. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WAIT, "wait2.msa", 1)
  1386. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_WALK, "walk.msa")
  1387. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_RUN, "run.msa")
  1388. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE, "front_damage.msa")
  1389. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DAMAGE_BACK, "front_damage.msa")
  1390. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, chr.MOTION_DEAD, "dead.msa")
  1391. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE, HORSE_SKILL_CHARGE, "skill_charge.msa")
  1392.  
  1393. #Horse claw
  1394. chrmgr.SetPathName(path + "horse_claw/")
  1395. chrmgr.RegisterMotionMode(chr.MOTION_MODE_HORSE_CLAW)
  1396. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_CLAW, chr.MOTION_COMBO_ATTACK_1, "combo_01.msa")
  1397. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_CLAW, chr.MOTION_COMBO_ATTACK_2, "combo_02.msa")
  1398. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_CLAW, chr.MOTION_COMBO_ATTACK_3, "combo_03.msa")
  1399. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_CLAW, HORSE_SKILL_WILDATTACK, "skill_wildattack.msa")
  1400. chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_HORSE_CLAW, HORSE_SKILL_SPLASH, "skill_splash.msa")
  1401. chrmgr.ReserveComboAttackNew(chr.MOTION_MODE_HORSE_CLAW, COMBO_TYPE_1, 3)
  1402. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_CLAW, COMBO_TYPE_1, COMBO_INDEX_1, chr.MOTION_COMBO_ATTACK_1)
  1403. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_CLAW, COMBO_TYPE_1, COMBO_INDEX_2, chr.MOTION_COMBO_ATTACK_2)
  1404. chrmgr.RegisterComboAttackNew(chr.MOTION_MODE_HORSE_CLAW, COMBO_TYPE_1, COMBO_INDEX_3, chr.MOTION_COMBO_ATTACK_3)
  1405.  
  1406. ## Bone
  1407. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON, "equip_right_weapon")
  1408. chrmgr.RegisterAttachingBoneName(chr.PART_WEAPON_LEFT, "equip_left_weapon")
  1409. if app.ENABLE_SASH_SYSTEM:
  1410. chrmgr.RegisterAttachingBoneName(chr.PART_SASH, "Bip01 Spine2")
  1411.  
  1412. def __LoadGameSkill():
  1413.  
  1414. try:
  1415. skill.LoadSkillData()
  1416. except:
  1417. import exception
  1418. exception.Abort("__LoadGameSkill")
  1419.  
  1420. def __LoadGameEnemy():
  1421. pass
  1422.  
  1423. def __LoadGameNPC():
  1424. try:
  1425. lines = pack_open("npclist.txt", "r").readlines()
  1426. except IOError:
  1427. import dbg
  1428. dbg.LogBox("LoadLocaleError(%(srcFileName)s)" % locals())
  1429. app.Abort()
  1430.  
  1431. for line in lines:
  1432. tokens = line[:-1].split("\t")
  1433. if len(tokens) == 0 or not tokens[0]:
  1434. continue
  1435.  
  1436. try:
  1437. vnum = int(tokens[0])
  1438. except ValueError:
  1439. import dbg
  1440. dbg.LogBox("LoadGameNPC() - %s - line #%d: %s" % (tokens, lines.index(line), line))
  1441. app.Abort()
  1442.  
  1443. try:
  1444. if vnum:
  1445. chrmgr.RegisterRaceName(vnum, tokens[1].strip())
  1446. else:
  1447. chrmgr.RegisterRaceSrcName(tokens[1].strip(), tokens[2].strip())
  1448. except IndexError:
  1449. import dbg
  1450. dbg.LogBox("LoadGameNPC() - %d, %s - line #%d: %s " % (vnum, tokens, lines.index(line), line))
  1451. app.Abort()
  1452.  
  1453.  
  1454. # GUILD_BUILDING
  1455. def LoadGuildBuildingList(filename):
  1456. import uiGuild
  1457. uiGuild.BUILDING_DATA_LIST = []
  1458.  
  1459. handle = app.OpenTextFile(filename)
  1460. count = app.GetTextFileLineCount(handle)
  1461. for i in xrange(count):
  1462. line = app.GetTextFileLine(handle, i)
  1463. tokens = line.split("\t")
  1464.  
  1465. TOKEN_VNUM = 0
  1466. TOKEN_TYPE = 1
  1467. TOKEN_NAME = 2
  1468. TOKEN_LOCAL_NAME = 3
  1469. NO_USE_TOKEN_SIZE_1 = 4
  1470. NO_USE_TOKEN_SIZE_2 = 5
  1471. NO_USE_TOKEN_SIZE_3 = 6
  1472. NO_USE_TOKEN_SIZE_4 = 7
  1473. TOKEN_X_ROT_LIMIT = 8
  1474. TOKEN_Y_ROT_LIMIT = 9
  1475. TOKEN_Z_ROT_LIMIT = 10
  1476. TOKEN_PRICE = 11
  1477. TOKEN_MATERIAL = 12
  1478. TOKEN_NPC = 13
  1479. TOKEN_GROUP = 14
  1480. TOKEN_DEPEND_GROUP = 15
  1481. TOKEN_ENABLE_FLAG = 16
  1482. LIMIT_TOKEN_COUNT = 17
  1483.  
  1484. if not tokens[TOKEN_VNUM].isdigit():
  1485. continue
  1486.  
  1487. if len(tokens) < LIMIT_TOKEN_COUNT:
  1488. import dbg
  1489. dbg.TraceError("Strange token count [%d/%d] [%s]" % (len(tokens), LIMIT_TOKEN_COUNT, line))
  1490. continue
  1491.  
  1492. ENABLE_FLAG_TYPE_NOT_USE = FALSE
  1493. ENABLE_FLAG_TYPE_USE = TRUE
  1494. ENABLE_FLAG_TYPE_USE_BUT_HIDE = 2
  1495.  
  1496. if ENABLE_FLAG_TYPE_NOT_USE == int(tokens[TOKEN_ENABLE_FLAG]):
  1497. continue
  1498.  
  1499. vnum = int(tokens[TOKEN_VNUM])
  1500. type = tokens[TOKEN_TYPE]
  1501. name = tokens[TOKEN_NAME]
  1502. localName = tokens[TOKEN_LOCAL_NAME]
  1503. xRotLimit = int(tokens[TOKEN_X_ROT_LIMIT])
  1504. yRotLimit = int(tokens[TOKEN_Y_ROT_LIMIT])
  1505. zRotLimit = int(tokens[TOKEN_Z_ROT_LIMIT])
  1506. price = tokens[TOKEN_PRICE]
  1507. material = tokens[TOKEN_MATERIAL]
  1508.  
  1509. folderName = ""
  1510. if "HEADQUARTER" == type:
  1511. folderName = "headquarter"
  1512. elif "FACILITY" == type:
  1513. folderName = "facility"
  1514. elif "OBJECT" == type:
  1515. folderName = "object"
  1516. elif "WALL" == type:
  1517. folderName = "fence"
  1518.  
  1519. materialList = ["0", "0", "0"]
  1520. if material:
  1521. if material[0] == "\"":
  1522. material = material[1:]
  1523. if material[-1] == "\"":
  1524. material = material[:-1]
  1525. for one in material.split("/"):
  1526. data = one.split(",")
  1527. if 2 != len(data):
  1528. continue
  1529. itemID = int(data[0])
  1530. count = data[1]
  1531.  
  1532. if itemID == uiGuild.MATERIAL_STONE_ID:
  1533. materialList[uiGuild.MATERIAL_STONE_INDEX] = count
  1534. elif itemID == uiGuild.MATERIAL_LOG_ID:
  1535. materialList[uiGuild.MATERIAL_LOG_INDEX] = count
  1536. elif itemID == uiGuild.MATERIAL_PLYWOOD_ID:
  1537. materialList[uiGuild.MATERIAL_PLYWOOD_INDEX] = count
  1538.  
  1539. ## GuildSymbol Àº ÀÏ¹Ý NPC µé°ú ÇÔ²² µî·ÏÇÑ´Ù.
  1540. import chrmgr
  1541. chrmgr.RegisterRaceSrcName(name, folderName)
  1542. chrmgr.RegisterRaceName(vnum, name)
  1543.  
  1544. appendingData = { "VNUM":vnum,
  1545. "TYPE":type,
  1546. "NAME":name,
  1547. "LOCAL_NAME":localName,
  1548. "X_ROT_LIMIT":xRotLimit,
  1549. "Y_ROT_LIMIT":yRotLimit,
  1550. "Z_ROT_LIMIT":zRotLimit,
  1551. "PRICE":price,
  1552. "MATERIAL":materialList,
  1553. "SHOW" : TRUE }
  1554.  
  1555. if ENABLE_FLAG_TYPE_USE_BUT_HIDE == int(tokens[TOKEN_ENABLE_FLAG]):
  1556. appendingData["SHOW"] = FALSE
  1557.  
  1558. uiGuild.BUILDING_DATA_LIST.append(appendingData)
  1559.  
  1560. app.CloseTextFile(handle)
  1561.  
  1562. # END_OF_GUILD_BUILDING
  1563.  
  1564. loadGameDataDict={
  1565. "INIT" : __InitData,
  1566. "SOUND" : __LoadGameSound,
  1567. "EFFECT" : __LoadGameEffect,
  1568. "WARRIOR" : __LoadGameWarrior,
  1569. "ASSASSIN" : __LoadGameAssassin,
  1570. "SURA" : __LoadGameSura,
  1571. "SHAMAN" : __LoadGameShaman,
  1572. "WOLFMAN": __LoadGameWolfman,
  1573. "SKILL" : __LoadGameSkill,
  1574. "ENEMY" : __LoadGameEnemy,
  1575. "NPC" : __LoadGameNPC,
  1576. }
  1577.  
  1578. def LoadGameData(name):
  1579. global loadGameDataDict
  1580.  
  1581. load=loadGameDataDict.get(name, 0)
  1582. if load:
  1583. loadGameDataDict[name]=0
  1584. try:
  1585. load()
  1586. except:
  1587. print name
  1588. import exception
  1589. exception.Abort("LoadGameData")
  1590. raise
  1591.  
  1592.  
  1593. ## NPC
  1594.  
  1595. def SetMovingNPC(race, name):
  1596. chrmgr.CreateRace(race)
  1597. chrmgr.SelectRace(race)
  1598.  
  1599. ## RESERVED
  1600. chrmgr.SetPathName("d:/ymir work/npc/" + name + "/")
  1601. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  1602. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait.msa")
  1603. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WALK, "walk.msa")
  1604. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_RUN, "run.msa")
  1605. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DEAD, "die.msa")
  1606. chrmgr.LoadRaceData(name + ".msm")
  1607.  
  1608. def SetOneNPC(race, name):
  1609. chrmgr.CreateRace(race)
  1610. chrmgr.SelectRace(race)
  1611.  
  1612. ## RESERVED
  1613. chrmgr.SetPathName("d:/ymir work/npc/" + name + "/")
  1614. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  1615. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait.msa")
  1616. chrmgr.LoadRaceData(name + ".msm")
  1617.  
  1618. def SetGuard(race, name):
  1619. chrmgr.CreateRace(race)
  1620. chrmgr.SelectRace(race)
  1621.  
  1622. ## Script Data
  1623. chrmgr.SetPathName("d:/ymir work/npc/" + name + "/")
  1624. chrmgr.LoadRaceData(name + ".msm")
  1625.  
  1626. ## GENERAL
  1627. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  1628. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_SPAWN, "00.msa")
  1629. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "00.msa")
  1630. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_RUN, "03.msa")
  1631.  
  1632. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE, "30.msa", 50)
  1633. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE, "30_1.msa", 50)
  1634.  
  1635. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE_BACK, "34.msa", 50)
  1636. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE_BACK, "34_1.msa", 50)
  1637.  
  1638. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE_FLYING,"32.msa")
  1639. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_STAND_UP, "33.msa")
  1640.  
  1641. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DAMAGE_FLYING_BACK, "35.msa")
  1642. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_STAND_UP_BACK, "36.msa")
  1643.  
  1644. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DEAD, "31.msa")
  1645. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DEAD_BACK, "37.msa")
  1646.  
  1647. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_NORMAL_ATTACK, "20.msa")
  1648.  
  1649. ## Attacking Data
  1650. chrmgr.RegisterNormalAttack(chr.MOTION_MODE_GENERAL, chr.MOTION_NORMAL_ATTACK)
  1651.  
  1652. def SetWarp(race):
  1653. chrmgr.CreateRace(race)
  1654. chrmgr.SelectRace(race)
  1655.  
  1656. chrmgr.SetPathName("d:/ymir work/npc/warp/")
  1657. chrmgr.LoadRaceData("warp.msm")
  1658.  
  1659. ## GENERAL
  1660. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  1661. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "wait.msa")
  1662.  
  1663. def SetDoor(race, name):
  1664. chrmgr.CreateRace(race)
  1665. chrmgr.SelectRace(race)
  1666. chrmgr.SetPathName("d:/ymir work/npc/"+name+"/")
  1667. chrmgr.LoadRaceData(name + ".msm")
  1668. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  1669. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, "close_wait.msa")
  1670. chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DEAD, "open.msa")
  1671.  
  1672. def SetGuildBuilding(race, name, grade):
  1673. chrmgr.CreateRace(race)
  1674. chrmgr.SelectRace(race)
  1675. chrmgr.SetPathName("d:/ymir work/guild/building/%s/" % name)
  1676. chrmgr.LoadRaceData("%s%02d.msm" % (name, grade))
  1677. chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL)
  1678. #chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_DEAD, name + "_destruction.msa")
  1679.  
  1680. def OLD_SetNPC():
  1681. SetOneNPC(9001, "arms")
  1682. SetOneNPC(9002, "defence")
  1683. SetOneNPC(9003, "goods")
  1684. SetOneNPC(9004, "bank")
  1685. SetOneNPC(9005, "hotel_grandfa")
  1686. SetOneNPC(9006, "hotel_grandma")
  1687. SetOneNPC(9007, "arms")
  1688. SetOneNPC(9008, "defence")
  1689. SetOneNPC(9009, "sailor")
  1690.  
  1691. SetMovingNPC(20001, "alchemist")
  1692. SetMovingNPC(20002, "auntie")
  1693. SetMovingNPC(20003, "baby_and_mom")
  1694. SetMovingNPC(20004, "beggar")
  1695. SetMovingNPC(20005, "ceramist")
  1696. SetMovingNPC(20006, "girl_lost_elder_brother")
  1697. SetMovingNPC(20007, "hotel_grandfa")
  1698. SetMovingNPC(20008, "mr_restaurant")
  1699. SetMovingNPC(20009, "oldster")
  1700. SetMovingNPC(20010, "peddler")
  1701. SetMovingNPC(20011, "plant_researcher")
  1702. SetMovingNPC(20012, "rice_cake_seller")
  1703. SetMovingNPC(20013, "sailor")
  1704. SetMovingNPC(20014, "timid_boy")
  1705. SetMovingNPC(20015, "woodcutter")
  1706. SetMovingNPC(20016, "blacksmith")
  1707. SetMovingNPC(20017, "musician")
  1708. SetMovingNPC(20018, "doctor")
  1709. SetMovingNPC(20019, "hunter")
  1710. SetMovingNPC(20020, "old_pirate")
  1711. SetMovingNPC(20021, "widow")
  1712. SetMovingNPC(20022, "young_merchant")
  1713. SetMovingNPC(20023, "bookworm")
  1714. SetMovingNPC(20024, "yu_hwa_rang")
  1715. SetMovingNPC(20041, "beggar")
  1716. SetMovingNPC(20042, "peddler")
  1717.  
  1718. SetGuard(20300, "sinsu_patrol_spear")
  1719. SetGuard(20301, "sinsu_patrol_spear")
  1720. SetGuard(20302, "sinsu_patrol_spear")
  1721. SetGuard(20303, "sinsu_patrol_spear")
  1722. SetGuard(20304, "sinsu_patrol_spear")
  1723. SetGuard(20305, "sinsu_patrol_spear")
  1724. SetGuard(20306, "sinsu_patrol_spear")
  1725. SetGuard(20307, "sinsu_patrol_spear")
  1726.  
  1727. SetGuard(20320, "gangyo_patrol_spear")
  1728. SetGuard(20321, "gangyo_patrol_spear")
  1729. SetGuard(20322, "gangyo_patrol_spear")
  1730. SetGuard(20323, "gangyo_patrol_spear")
  1731. SetGuard(20324, "gangyo_patrol_spear")
  1732. SetGuard(20325, "gangyo_patrol_spear")
  1733. SetGuard(20326, "gangyo_patrol_spear")
  1734. SetGuard(20327, "gangyo_patrol_spear")
  1735.  
  1736. SetGuard(20340, "jinno_patrol_spear")
  1737. SetGuard(20341, "jinno_patrol_spear")
  1738. SetGuard(20342, "jinno_patrol_spear")
  1739. SetGuard(20343, "jinno_patrol_spear")
  1740. SetGuard(20344, "jinno_patrol_spear")
  1741. SetGuard(20345, "jinno_patrol_spear")
  1742. SetGuard(20346, "jinno_patrol_spear")
  1743. SetGuard(20347, "jinno_patrol_spear")
  1744.  
  1745. ## Warp
  1746. for i in xrange(18):
  1747. SetWarp(10001 + i)
  1748.  
  1749. SetGuard(11000, "gangyo_patrol_spear")
  1750. SetGuard(11001, "gangyo_patrol_bow")
  1751. SetGuard(11002, "jinno_patrol_spear")
  1752. SetGuard(11003, "jinno_patrol_bow")
  1753. SetGuard(11004, "sinsu_patrol_spear")
  1754. SetGuard(11005, "sinsu_patrol_bow")
  1755.  
  1756. ## Campfire (Bonfire)
  1757. chrmgr.CreateRace(12000)
  1758. chrmgr.SelectRace(12000)
  1759. chrmgr.SetPathName("d:/ymir Work/npc/campfire/")
  1760. chrmgr.LoadRaceData("campfire.msm")
  1761.  
  1762. ## Door
  1763. SetDoor(13000, "wooden_door")
  1764. SetDoor(13001, "stone_door")
Advertisement
Add Comment
Please, Sign In to add comment