Advertisement
Guest User

Untitled

a guest
Jan 15th, 2014
870
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.13 KB | None | 0 0
  1. [DEFNAME EXPERIENCE_SYSTEM]
  2. EXP_LEVELSTART_VeryWeak {0 1}
  3. EXP_LEVELSTART_Weak {0 3}
  4. EXP_LEVELSTART_Mediocre {3 6}
  5. EXP_LEVELSTART_Average {5 15}
  6. EXP_LEVELSTART_AboveAverage {15 25}
  7. EXP_LEVELSTART_Good {20 30}
  8. EXP_LEVELSTART_VeryGood {25 35}
  9. EXP_LEVELSTART_Strong {30 40}
  10. EXP_LEVELSTART_VeryStrong {35 45}
  11. EXP_LEVELSTART_Extraordinary {45 55}
  12. EXP_LEVELSTART_Indomitable {60 80}
  13. EXP_LEVELSTART_Epic {75 100}
  14. EXP_LEVELSTART_Godlike {100 150}
  15.  
  16.  
  17. // #########################################################
  18. // New Commands
  19.  
  20. // This should be a Player command
  21. [FUNCTION Level]
  22. MESSAGE [Level <EVAL(<TAG.CurLevel>)>, Exp <EVAL(<TAG.Experience>)>]
  23.  
  24. // This should NOT be a Player command - up to you
  25. [FUNCTION xLevel]
  26. TARGET
  27. MESSAGE [Level <EVAL(<TARG.TAG.CurLevel>)>, Exp <EVAL(<TARG.TAG.Experience>)>]
  28.  
  29.  
  30. // #########################################################
  31. // Experience Modifiers
  32.  
  33. [ITEMDEF i_dbl_exp]
  34. DEFNAME=i_dbl_exp
  35. ID=i_handr_1
  36. NAME=DBL EXP
  37. TYPE=t_EQ_script
  38. WEIGHT=0
  39. LAYER=layer_special
  40.  
  41. ON=@CREATE
  42. TIMER=3600
  43.  
  44. ON=@TIMER
  45. CONT.SYSMESSAGE Your double experience time is over.
  46. CONT.TAG.DEXP 0
  47. REMOVE
  48.  
  49. [FUNCTION f_InitializeLevel]
  50. TAG.CurLevel=<eval(EXP_LEVELSTART_<args>)>
  51.  
  52.  
  53. // #########################################################
  54. // Resurrection Manager
  55.  
  56. [ITEMDEF i_ResurrectManager]
  57. DEFNAME=i_ResurrectManager
  58. ID=i_handr_1
  59. NAME=RES YES NO
  60. TYPE=t_EQ_script
  61. LAYER=layer_special
  62.  
  63. ON=@CREATE
  64. ATTR=attr_decay
  65.  
  66. ON=@EQUIP
  67. TIMER=5
  68.  
  69. ON=@TIMER
  70. CONT.MENU m_resurrect_yesno
  71. REMOVE
  72.  
  73.  
  74. [TYPEDEF t_res_yesno]
  75. ON=@DCLICK
  76. IF (<SRC.UID>=<LINK>)
  77. MENU m_resurrect_yesno
  78. ELSE
  79. SRC.SYSMESSAGE This is not your corpse!
  80. ENDIF
  81.  
  82.  
  83. [MENU m_resurrect_yesno]
  84. Do you wish to resurrect? Only Level 10+ players are penalized for this
  85. ON=0 Yes, I do!
  86. SRC.RESURRECT
  87. SRC.NEWITEM=i_temp_safe
  88. SRC.ACT.ATTR=attr_decay
  89. SRC.ACT.EQUIP
  90. IF (<EVAL <SRC.TAG.CurLevel>> > 29)
  91. SRC.TAG.CurLevel=<EVAL(<SRC.TAG.CurLevel>-3)>
  92. ELSEIF (<EVAL <SRC.TAG.CurLevel>> > 19)
  93. SRC.TAG.CurLevel=<EVAL(<SRC.TAG.CurLevel>-2)>
  94. ELSEIF (<EVAL <SRC.TAG.CurLevel>> > 9)
  95. SRC.TAG.CurLevel=<EVAL(<SRC.TAG.CurLevel>-1)>
  96. ENDIF
  97.  
  98. ON=0 No, I do not!
  99. SRC.SYSMESSAGE You have chosen not to resurrect
  100.  
  101.  
  102. [ITEMDEF i_temp_safe]
  103. DEFNAME=i_temp_safe
  104. ID=i_handr_1
  105. NAME=TEMP SAFE
  106. LAYER=layer_special
  107. TYPE=t_EQ_script
  108.  
  109. ON=@CREATE
  110. ATTR=ATTR_DECAY
  111.  
  112. ON=@EQUIP
  113. CONT.INVUL
  114. CONT.SYSMESSAGE You are safe for 15 seconds
  115. TIMER=15
  116.  
  117. ON=@TIMER
  118. CONT.SYSMESSAGE You feel as if you are no longer safe
  119. CONT.INVUL
  120. REMOVE
  121.  
  122.  
  123. // #########################################################
  124. // Award Experience
  125. [FUNCTION f_memory_loop]
  126. VAR.call_fun = <args>
  127. f_memory_loop_rec 0
  128.  
  129. [FUNCTION f_memory_loop_rec]
  130. if ( <findcont(<args>).uid> == 0 )
  131. return 0 // stop
  132. endif
  133. if ( <findcont(<args>).baseid> == i_memory )
  134. TRY <VAR.call_fun> <findcont(<args>).uid> // call the function
  135. endif
  136. f_memory_loop_rec <eval (<args>+1)>
  137.  
  138. [FUNCTION f_memory_AwardFoes]
  139. // if !( <UID.<args>.COLOR> & memory_fight )
  140. // if !( <UID.<args>.COLOR> & memory_WAR_TARG )
  141. // if !( <UID.<args>.COLOR> & memory_HARMEDBY )
  142. if !( <UID.<args>.COLOR> & memory_fight )
  143. return 0
  144. endif
  145. TRY UID.<args>.LINK.NEWITEM=i_Experience_KillAward
  146. TRY UID.<args>.LINK.ACT.MOREY=1
  147. TRY UID.<args>.LINK.ACT.ATTR=attr_decay
  148. TRY UID.<args>.LINK.ACT.TAG.CurLevel=<TAG.CurLevel>
  149. TRY UID.<args>.LINK.ACT.TAG.Name=<NAME>
  150. TRY UID.<args>.LINK.ACT.TAG.Type=<TYPE>
  151. TRY UID.<args>.LINK.ACT.CONT = <UID.<args>.LINK.UID> // place in their backpack
  152.  
  153.  
  154. [EVENTS e_Experience_KillAward]
  155. ON=@DEATH
  156. // Give player chance to resurrect with penalties
  157. NEWITEM=i_ResurrectManager
  158. ACT.EQUIP
  159.  
  160. // Attach Award Item to Victor
  161. f_memory_loop f_memory_AwardFoes
  162.  
  163.  
  164. [ITEMDEF i_Experience_KillAward]
  165. DEFNAME=i_Experience_KillAward
  166. NAME=ExpKill Award
  167. ID=i_handr_1
  168. WEIGHT=0
  169. LAYER=30
  170. TYPE=T_EQ_SCRIPT
  171.  
  172. ON=@CREATE
  173. TIMER=1
  174.  
  175. ON=@TIMER
  176. VAR.X=
  177. IF <CONT.TAG.CurLevel> > (<eval(<TAG.CurLevel>)> + 10)
  178. CONT.SYSMESSAGE You cannot gain any more experience from that creature
  179. REMOVE
  180. RETURN 0
  181. ENDIF
  182.  
  183. // Calculate actual experience award
  184. VAR.X=<EVAL(<TAG.CurLevel>)> * 10
  185. IF <CONT.TAG.DEXP>
  186. VAR.X=<eval(<VAR.X> * 2)>
  187. ENDIF
  188.  
  189. // Accelerate award based on level
  190. IF <CONT.TAG.CurLevel> < 02 // 02 = 2
  191. VAR.X=<VAR.X> * 0fa // 0fa = 250
  192. ELSEIF <CONT.TAG.CurLevel> < 05 // 05 = 5
  193. VAR.X=<VAR.X> * 064 // 064 = 100
  194. ELSEIF <CONT.TAG.CurLevel> < 0a // 0a = 10
  195. VAR.X=<VAR.X> * 028 // 028 = 40
  196. ELSEIF <CONT.TAG.CurLevel> < 0f // 0f = 15
  197. VAR.X=<VAR.X> * 0f // 0f = 15
  198. ELSEIF <CONT.TAG.CurLevel> < 014 // 014 = 20
  199. VAR.X=<VAR.X> * 02 // 028 = 2
  200. ENDIF
  201.  
  202. IF (<CONT.TAG.CurLevel> > <TAG.CurLevel>)
  203. VAR.X=<EVAL(<VAR.X>+ -((<CONT.TAG.CurLevel>+ -<TAG.CurLevel>) * 10))>
  204. ENDIF
  205.  
  206.  
  207. CONT.SAY The defeat of <TAG.Name> earned you <eval(<VAR.X>)> experience
  208. // CONT.SYSMESSAGE The defeat of <TAG.Name> earned you <eval(<VAR.X>)> experience
  209. CONT.TAG.EXPERIENCE=<CONT.TAG.EXPERIENCE> + <VAR.X>
  210.  
  211. CONT.f_ManageLevel
  212. REMOVE
  213.  
  214.  
  215. [FUNCTION f_ManageLevel]
  216. IF (<eval(<TAG.EXPERIENCE>)> < 299999)
  217. RETURN 0
  218. ENDIF
  219.  
  220. TAG.CurLevel=<TAG.CurLevel> + 1
  221. TAG.EXPERIENCE=<eval(<TAG.EXPERIENCE>)>+ -299999
  222.  
  223. // Recurse until they have truly leveled
  224. IF (<eval(<TAG.EXPERIENCE>)> > 299999)
  225. f_ManageLevel
  226. RETURN 0
  227. ENDIF
  228.  
  229. // reset skill cap modifiers
  230. f_SetSkill_CapFactor
  231. IF ! <TAG.Polymorph>
  232. f_Class_SoftcapAll
  233. f_Race_SoftcapAll
  234. ENDIF
  235.  
  236. // Brag to the world
  237. SERV.ALLCLIENTS SOUND 0fe
  238. SERV.ALLCLIENTS SYSMESSAGE <NAME> <TITLE> has achieved level <eval(<TAG.CurLevel>)>!
  239.  
  240.  
  241. // ################################################################################
  242. ########
  243. // Calculate Cap Factor Driving Caps by Level
  244.  
  245. [FUNCTION f_SetSkill_CapFactor]
  246. // Treat L9 or below as if they were L10
  247. VAR.x=<SRC.TAG.CurLevel>
  248. IF <eval(<VAR.x>)> < 10
  249. VAR.x=10
  250. ENDIF
  251.  
  252. // Calculate Cap Factor for this level
  253. // Factor Kernal is taken from Level 50 Spreadsheet
  254. // At L50 they are permitted to max out their skills to whatever is specified in the DEFs
  255. IF <EVAL(<VAR.x>)> < 10
  256. SRC.TAG.SkillCapFactor=<eval(10+(<eval(<VAR.x>)>*2))>
  257. ELSEIF <EVAL(<VAR.x>)> < 20
  258. SRC.TAG.SkillCapFactor=<eval(30+((<eval(<VAR.x>)>-10)*3))>
  259. ELSEIF <EVAL(<VAR.x>)> < 30
  260. SRC.TAG.SkillCapFactor=<eval(60+((<eval(<VAR.x>)>-20)*1))>
  261. ELSEIF <EVAL(<VAR.x>)> < 40
  262. SRC.TAG.SkillCapFactor=<eval(70+((<eval(<VAR.x>)>-30)*2))>
  263. ELSEIF <EVAL(<VAR.x>)> < 50
  264. SRC.TAG.SkillCapFactor=<eval(90+((<eval(<VAR.x>)>-40)*1))>
  265. ELSE
  266. SRC.TAG.SkillCapFactor=100
  267. ENDIF
  268.  
  269.  
  270. // ################################################################################
  271. ########
  272. // Set Skill Softcaps for Race & Class
  273.  
  274. // Always run this BEFORE the Race version
  275. [FUNCTION f_Class_SoftcapAll]
  276. IF <BRAIN>
  277. // Only players are capped like this
  278. // NPCs always have Max Caps for Race
  279. RETURN 0
  280. ENDIF
  281. IF <STR> > <eval(CLASS_STRMAX_<TAG.ClassName>)>
  282. STR=<eval(CLASS_STRMAX_<TAG.ClassName>)>
  283. ENDIF
  284. IF <DEX> > <eval(CLASS_DEXMAX_<TAG.ClassName>)>
  285. DEX=<eval(CLASS_DEXMAX_<TAG.ClassName>)>
  286. ENDIF
  287. IF <INT> > <eval(CLASS_INTMAX_<TAG.ClassName>)>
  288. INT=<eval(CLASS_INTMAX_<TAG.ClassName>)>
  289. ENDIF
  290. // IF <SRC.Alchemy> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Alchemy) ) / 100 )>
  291. // SRC.Alchemy=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Alchemy) ) / 100 )>
  292. IF <eval(<SRC.Alchemy>)> > <eval( ( <eval(<SRC.TAG.SkillCapFactor>)> * <eval(CLASS_SKILLMAX_<SRC.TAG.ClassName>_Alchemy)> ) / 100 )>
  293. SRC.Alchemy=<eval( ( <eval(<SRC.TAG.SkillCapFactor>)> * <eval(CLASS_SKILLMAX_<SRC.TAG.ClassName>_Alchemy)> ) / 100 )>
  294. ENDIF
  295. IF <SRC.Anatomy> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Anatomy) ) / 100 )>
  296. SRC.Anatomy=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Anatomy) ) / 100 )>
  297. ENDIF
  298. IF <SRC.AnimalLore> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_AnimalLore) ) / 100 )>
  299. SRC.AnimalLore=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_AnimalLore) ) / 100 )>
  300. ENDIF
  301. IF <SRC.Archery> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Archery) ) / 100 )>
  302. SRC.Archery=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Archery) ) / 100 )>
  303. ENDIF
  304. IF <SRC.ArmsLore> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_ArmsLore) ) / 100 )>
  305. SRC.ArmsLore=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_ArmsLore) ) / 100 )>
  306. ENDIF
  307. IF <SRC.Begging> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Begging) ) / 100 )>
  308. SRC.Begging=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Begging) ) / 100 )>
  309. ENDIF
  310. IF <SRC.Blacksmithing> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Blacksmithing) ) / 100 )>
  311. SRC.Blacksmithing=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Blacksmithing) ) / 100 )>
  312. ENDIF
  313. IF <SRC.Bowcraft> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Bowcraft) ) / 100 )>
  314. SRC.Bowcraft=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Bowcraft) ) / 100 )>
  315. ENDIF
  316. IF <SRC.Camping> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Camping) ) / 100 )>
  317. SRC.Camping=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Camping) ) / 100 )>
  318. ENDIF
  319. IF <SRC.Carpentry> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Carpentry) ) / 100 )>
  320. SRC.Carpentry=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Carpentry) ) / 100 )>
  321. ENDIF
  322. IF <SRC.Cartography> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Cartography) ) / 100 )>
  323. SRC.Cartography=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Cartography) ) / 100 )>
  324. ENDIF
  325. IF <SRC.Cooking> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Cooking) ) / 100 )>
  326. SRC.Cooking=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Cooking) ) / 100 )>
  327. ENDIF
  328. IF <SRC.DetectingHidden> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_DetectingHidden) ) / 100 )>
  329. SRC.DetectingHidden=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_DetectingHidden) ) / 100 )>
  330. ENDIF
  331. IF <SRC.Enticement> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Enticement) ) / 100 )>
  332. SRC.Enticement=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Enticement) ) / 100 )>
  333. ENDIF
  334. IF <SRC.EvaluatingIntel> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_EvaluatingIntel) ) / 100 )>
  335. SRC.EvaluatingIntel=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_EvaluatingIntel) ) / 100 )>
  336. ENDIF
  337. IF <SRC.Fencing> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Fencing) ) / 100 )>
  338. SRC.Fencing=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Fencing) ) / 100 )>
  339. ENDIF
  340. IF <SRC.Fishing> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Fishing) ) / 100 )>
  341. SRC.Fishing=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Fishing) ) / 100 )>
  342. ENDIF
  343. IF <SRC.Forensics> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Forensics) ) / 100 )>
  344. SRC.Forensics=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Forensics) ) / 100 )>
  345. ENDIF
  346. IF <SRC.Healing> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Healing) ) / 100 )>
  347. SRC.Healing=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Healing) ) / 100 )>
  348. ENDIF
  349. IF <SRC.Herding> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Herding) ) / 100 )>
  350. SRC.Herding=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Herding) ) / 100 )>
  351. ENDIF
  352. IF <SRC.Hiding> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Hiding) ) / 100 )>
  353. SRC.Hiding=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Hiding) ) / 100 )>
  354. ENDIF
  355. IF <SRC.Inscription> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Inscription) ) / 100 )>
  356. SRC.Inscription=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Inscription) ) / 100 )>
  357. ENDIF
  358. IF <SRC.ItemID> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_ItemID) ) / 100 )>
  359. SRC.ItemID=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_ItemID) ) / 100 )>
  360. ENDIF
  361. IF <SRC.LockPicking> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_LockPicking) ) / 100 )>
  362. SRC.LockPicking=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_LockPicking) ) / 100 )>
  363. ENDIF
  364. IF <SRC.Lumberjacking> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Lumberjacking) ) / 100 )>
  365. SRC.Lumberjacking=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Lumberjacking) ) / 100 )>
  366. ENDIF
  367. IF <SRC.Macefighting> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Macefighting) ) / 100 )>
  368. SRC.Macefighting=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Macefighting) ) / 100 )>
  369. ENDIF
  370. IF <SRC.Magery> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Magery) ) / 100 )>
  371. SRC.Magery=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Magery) ) / 100 )>
  372. ENDIF
  373. IF <SRC.MagicResistance> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_MagicResistance) ) / 100 )>
  374. SRC.MagicResistance=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_MagicResistance) ) / 100 )>
  375. ENDIF
  376. IF <SRC.Meditation> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Meditation) ) / 100 )>
  377. SRC.Meditation=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Meditation) ) / 100 )>
  378. ENDIF
  379. IF <SRC.Mining> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Mining) ) / 100 )>
  380. SRC.Mining=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Mining) ) / 100 )>
  381. ENDIF
  382. IF <SRC.Musicianship> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Musicianship) ) / 100 )>
  383. SRC.Musicianship=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Musicianship) ) / 100 )>
  384. ENDIF
  385. IF <SRC.Necromancy> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Necromancy) ) / 100 )>
  386. SRC.Necromancy=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Necromancy) ) / 100 )>
  387. ENDIF
  388. IF <SRC.Parrying> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Parrying) ) / 100 )>
  389. SRC.Parrying=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Parrying) ) / 100 )>
  390. ENDIF
  391. IF <SRC.Peacemaking> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Peacemaking) ) / 100 )>
  392. SRC.Peacemaking=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Peacemaking) ) / 100 )>
  393. ENDIF
  394. IF <SRC.Poisoning> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Poisoning) ) / 100 )>
  395. SRC.Poisoning=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Poisoning) ) / 100 )>
  396. ENDIF
  397. IF <SRC.Provocation> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Provocation) ) / 100 )>
  398. SRC.Provocation=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Provocation) ) / 100 )>
  399. ENDIF
  400. IF <SRC.RemoveTrap> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_RemoveTrap) ) / 100 )>
  401. SRC.RemoveTrap=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_RemoveTrap) ) / 100 )>
  402. ENDIF
  403. IF <SRC.Snooping> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Snooping) ) / 100 )>
  404. SRC.Snooping=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Snooping) ) / 100 )>
  405. ENDIF
  406. IF <SRC.SpiritSpeak> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_SpiritSpeak) ) / 100 )>
  407. SRC.SpiritSpeak=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_SpiritSpeak) ) / 100 )>
  408. ENDIF
  409. IF <SRC.Stealing> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Stealing) ) / 100 )>
  410. SRC.Stealing=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Stealing) ) / 100 )>
  411. ENDIF
  412. IF <SRC.Stealth> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Stealth) ) / 100 )>
  413. SRC.Stealth=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Stealth) ) / 100 )>
  414. ENDIF
  415. IF <SRC.Swordsmanship> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Swordsmanship) ) / 100 )>
  416. SRC.Swordsmanship=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Swordsmanship) ) / 100 )>
  417. ENDIF
  418. IF <SRC.Tactics> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Tactics) ) / 100 )>
  419. SRC.Tactics=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Tactics) ) / 100 )>
  420. ENDIF
  421. IF <SRC.Tailoring> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Tailoring) ) / 100 )>
  422. SRC.Tailoring=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Tailoring) ) / 100 )>
  423. ENDIF
  424. IF <SRC.Taming> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Taming) ) / 100 )>
  425. SRC.Taming=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Taming) ) / 100 )>
  426. ENDIF
  427. IF <SRC.TasteID> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_TasteID) ) / 100 )>
  428. SRC.TasteID=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_TasteID) ) / 100 )>
  429. ENDIF
  430. IF <SRC.Tinkering> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Tinkering) ) / 100 )>
  431. SRC.Tinkering=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Tinkering) ) / 100 )>
  432. ENDIF
  433. IF <SRC.Tracking> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Tracking) ) / 100 )>
  434. SRC.Tracking=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Tracking) ) / 100 )>
  435. ENDIF
  436. IF <SRC.Veterinary> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Veterinary) ) / 100 )>
  437. SRC.Veterinary=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Veterinary) ) / 100 )>
  438. ENDIF
  439. IF <SRC.Wrestling> > <eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Wrestling) ) / 100 )>
  440. SRC.Wrestling=<eval( ( <SRC.TAG.SkillCapFactor> * (CLASS_SKILLMAX_<SRC.TAG.ClassName>_Wrestling) ) / 100 )>
  441. ENDIF
  442.  
  443. [FUNCTION f_RACE_SoftcapAll]
  444. IF <BRAIN>
  445. // Only players are capped like this
  446. // NPCs always have Max Caps for Race
  447. RETURN 0
  448. ENDIF
  449. IF <STR> > <eval(RACE_STRMAX_<TAG.RaceName>)>
  450. STR=<eval(RACE_STRMAX_<TAG.RaceName>)>
  451. ENDIF
  452. IF <DEX> > <eval(RACE_DEXMAX_<TAG.RaceName>)>
  453. DEX=<eval(RACE_DEXMAX_<TAG.RaceName>)>
  454. ENDIF
  455. IF <INT> > <eval(RACE_INTMAX_<TAG.RaceName>)>
  456. INT=<eval(RACE_INTMAX_<TAG.RaceName>)>
  457. ENDIF
  458. IF <SRC.Alchemy> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Alchemy) ) / 100 )>
  459. SRC.Alchemy=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Alchemy) ) / 100 )>
  460. ENDIF
  461. IF <SRC.Anatomy> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Anatomy) ) / 100 )>
  462. SRC.Anatomy=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Anatomy) ) / 100 )>
  463. ENDIF
  464. IF <SRC.AnimalLore> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_AnimalLore) ) / 100 )>
  465. SRC.AnimalLore=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_AnimalLore) ) / 100 )>
  466. ENDIF
  467. IF <SRC.Archery> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Archery) ) / 100 )>
  468. SRC.Archery=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Archery) ) / 100 )>
  469. ENDIF
  470. IF <SRC.ArmsLore> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_ArmsLore) ) / 100 )>
  471. SRC.ArmsLore=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_ArmsLore) ) / 100 )>
  472. ENDIF
  473. IF <SRC.Begging> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Begging) ) / 100 )>
  474. SRC.Begging=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Begging) ) / 100 )>
  475. ENDIF
  476. IF <SRC.Blacksmithing> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Blacksmithing) ) / 100 )>
  477. SRC.Blacksmithing=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Blacksmithing) ) / 100 )>
  478. ENDIF
  479. IF <SRC.Bowcraft> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Bowcraft) ) / 100 )>
  480. SRC.Bowcraft=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Bowcraft) ) / 100 )>
  481. ENDIF
  482. IF <SRC.Camping> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Camping) ) / 100 )>
  483. SRC.Camping=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Camping) ) / 100 )>
  484. ENDIF
  485. IF <SRC.Carpentry> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Carpentry) ) / 100 )>
  486. SRC.Carpentry=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Carpentry) ) / 100 )>
  487. ENDIF
  488. IF <SRC.Cartography> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Cartography) ) / 100 )>
  489. SRC.Cartography=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Cartography) ) / 100 )>
  490. ENDIF
  491. IF <SRC.Cooking> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Cooking) ) / 100 )>
  492. SRC.Cooking=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Cooking) ) / 100 )>
  493. ENDIF
  494. IF <SRC.DetectingHidden> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_DetectingHidden) ) / 100 )>
  495. SRC.DetectingHidden=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_DetectingHidden) ) / 100 )>
  496. ENDIF
  497. IF <SRC.Enticement> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Enticement) ) / 100 )>
  498. SRC.Enticement=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Enticement) ) / 100 )>
  499. ENDIF
  500. IF <SRC.EvaluatingIntel> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_EvaluatingIntel) ) / 100 )>
  501. SRC.EvaluatingIntel=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_EvaluatingIntel) ) / 100 )>
  502. ENDIF
  503. IF <SRC.Fencing> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Fencing) ) / 100 )>
  504. SRC.Fencing=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Fencing) ) / 100 )>
  505. ENDIF
  506. IF <SRC.Fishing> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Fishing) ) / 100 )>
  507. SRC.Fishing=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Fishing) ) / 100 )>
  508. ENDIF
  509. IF <SRC.Forensics> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Forensics) ) / 100 )>
  510. SRC.Forensics=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Forensics) ) / 100 )>
  511. ENDIF
  512. IF <SRC.Healing> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Healing) ) / 100 )>
  513. SRC.Healing=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Healing) ) / 100 )>
  514. ENDIF
  515. IF <SRC.Herding> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Herding) ) / 100 )>
  516. SRC.Herding=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Herding) ) / 100 )>
  517. ENDIF
  518. IF <SRC.Hiding> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Hiding) ) / 100 )>
  519. SRC.Hiding=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Hiding) ) / 100 )>
  520. ENDIF
  521. IF <SRC.Inscription> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Inscription) ) / 100 )>
  522. SRC.Inscription=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Inscription) ) / 100 )>
  523. ENDIF
  524. IF <SRC.ItemID> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_ItemID) ) / 100 )>
  525. SRC.ItemID=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_ItemID) ) / 100 )>
  526. ENDIF
  527. IF <SRC.LockPicking> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_LockPicking) ) / 100 )>
  528. SRC.LockPicking=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_LockPicking) ) / 100 )>
  529. ENDIF
  530. IF <SRC.Lumberjacking> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Lumberjacking) ) / 100 )>
  531. SRC.Lumberjacking=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Lumberjacking) ) / 100 )>
  532. ENDIF
  533. IF <SRC.Macefighting> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Macefighting) ) / 100 )>
  534. SRC.Macefighting=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Macefighting) ) / 100 )>
  535. ENDIF
  536. IF <SRC.Magery> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Magery) ) / 100 )>
  537. SRC.Magery=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Magery) ) / 100 )>
  538. ENDIF
  539. IF <SRC.MagicResistance> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_MagicResistance) ) / 100 )>
  540. SRC.MagicResistance=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_MagicResistance) ) / 100 )>
  541. ENDIF
  542. IF <SRC.Meditation> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Meditation) ) / 100 )>
  543. SRC.Meditation=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Meditation) ) / 100 )>
  544. ENDIF
  545. IF <SRC.Mining> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Mining) ) / 100 )>
  546. SRC.Mining=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Mining) ) / 100 )>
  547. ENDIF
  548. IF <SRC.Musicianship> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Musicianship) ) / 100 )>
  549. SRC.Musicianship=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Musicianship) ) / 100 )>
  550. ENDIF
  551. IF <SRC.Necromancy> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Necromancy) ) / 100 )>
  552. SRC.Necromancy=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Necromancy) ) / 100 )>
  553. ENDIF
  554. IF <SRC.Parrying> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Parrying) ) / 100 )>
  555. SRC.Parrying=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Parrying) ) / 100 )>
  556. ENDIF
  557. IF <SRC.Peacemaking> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Peacemaking) ) / 100 )>
  558. SRC.Peacemaking=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Peacemaking) ) / 100 )>
  559. ENDIF
  560. IF <SRC.Poisoning> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Poisoning) ) / 100 )>
  561. SRC.Poisoning=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Poisoning) ) / 100 )>
  562. ENDIF
  563. IF <SRC.Provocation> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Provocation) ) / 100 )>
  564. SRC.Provocation=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Provocation) ) / 100 )>
  565. ENDIF
  566. IF <SRC.RemoveTrap> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_RemoveTrap) ) / 100 )>
  567. SRC.RemoveTrap=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_RemoveTrap) ) / 100 )>
  568. ENDIF
  569. IF <SRC.Snooping> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Snooping) ) / 100 )>
  570. SRC.Snooping=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Snooping) ) / 100 )>
  571. ENDIF
  572. IF <SRC.SpiritSpeak> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_SpiritSpeak) ) / 100 )>
  573. SRC.SpiritSpeak=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_SpiritSpeak) ) / 100 )>
  574. ENDIF
  575. IF <SRC.Stealing> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Stealing) ) / 100 )>
  576. SRC.Stealing=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Stealing) ) / 100 )>
  577. ENDIF
  578. IF <SRC.Stealth> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Stealth) ) / 100 )>
  579. SRC.Stealth=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Stealth) ) / 100 )>
  580. ENDIF
  581. IF <SRC.Swordsmanship> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Swordsmanship) ) / 100 )>
  582. SRC.Swordsmanship=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Swordsmanship) ) / 100 )>
  583. ENDIF
  584. IF <SRC.Tactics> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Tactics) ) / 100 )>
  585. SRC.Tactics=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Tactics) ) / 100 )>
  586. ENDIF
  587. IF <SRC.Tailoring> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Tailoring) ) / 100 )>
  588. SRC.Tailoring=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Tailoring) ) / 100 )>
  589. ENDIF
  590. IF <SRC.Taming> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Taming) ) / 100 )>
  591. SRC.Taming=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Taming) ) / 100 )>
  592. ENDIF
  593. IF <SRC.TasteID> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_TasteID) ) / 100 )>
  594. SRC.TasteID=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_TasteID) ) / 100 )>
  595. ENDIF
  596. IF <SRC.Tinkering> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Tinkering) ) / 100 )>
  597. SRC.Tinkering=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Tinkering) ) / 100 )>
  598. ENDIF
  599. IF <SRC.Tracking> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Tracking) ) / 100 )>
  600. SRC.Tracking=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Tracking) ) / 100 )>
  601. ENDIF
  602. IF <SRC.Veterinary> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Veterinary) ) / 100 )>
  603. SRC.Veterinary=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Veterinary) ) / 100 )>
  604. ENDIF
  605. IF <SRC.Wrestling> > <eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Wrestling) ) / 100 )>
  606. SRC.Wrestling=<eval( ( <SRC.TAG.SkillCapFactor> * (RACE_SKILLMAX_<SRC.TAG.RACEName>_Wrestling) ) / 100 )>
  607. ENDIF
  608.  
  609.  
  610.  
  611. [EOF]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement