Guest User

playersettingmodule

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