skill.go 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. package world
  2. const (
  3. TALENT_NONE string = "TALENT_NONE"
  4. TALENT_STR string = "STR"
  5. TALENT_TOU string = "TOU"
  6. TALENT_AGI string = "AGI"
  7. TALENT_DEX string = "DEX"
  8. TALENT_INT string = "INT"
  9. TALENT_WIS string = "WIS"
  10. TALENT_CHA string = "CHA"
  11. TALENT_EMO string = "EMO"
  12. )
  13. type Skill struct {
  14. Entity
  15. Kind string
  16. Talent string
  17. derived func (m * Being) int
  18. }
  19. type BeingSkill struct {
  20. being * Being
  21. skill * Skill
  22. talent * int
  23. Experience int
  24. Next int
  25. Level int
  26. }
  27. type JobSkill struct {
  28. Experience int
  29. Level int
  30. }
  31. /* Requires Arts to be useful:
  32. * Arcane Tone Moon Sun Tree Flame Snow Bolt Omen
  33. *
  34. * Requires techniques to be useful:
  35. * Rage, Sleight, Robotech, Stealth, Medical,
  36. *
  37. * Don't strictly need techniques but they are desirable:
  38. * Shield, Lore, Hacking, Barter, Social, Bravery, Survival, Knife, Acrobatics, Travelling, Science, Engineering
  39. *
  40. * Optionally could use some techniques:
  41. * Sword, Cannon, Fist, Mauls, Toiling, Gun, Polearm, Explosives,
  42. *
  43. * Other's don't really require techniques. These are armor wearing skills,
  44. * and crafting skills (crafting info is stored in the item info in stead of in a technique).
  45. *
  46. */
  47. var SkillList = []Skill {
  48. { Entity : Entity { ID: "skill_sword", Name: "Sword",
  49. Short: "Fighting with swords and katanas.", },
  50. Talent : TALENT_STR,
  51. },
  52. { Entity : Entity { ID: "skill_cannon", Name: "Cannon",
  53. Short: "Use and shooting of cannons, launchers and bazookas", },
  54. Talent : TALENT_STR,
  55. },
  56. { Entity : Entity { ID: "skill_medium_gear", Name: "Medium Gear",
  57. Short: "Use of medium gear such as vests, gear and shoes.", },
  58. Talent : TALENT_STR,
  59. },
  60. { Entity : Entity { ID: "skill_weaponsmith", Name: "Weaponsmith",
  61. Short: "Crafting of hand to hand style weapons.", },
  62. Talent : TALENT_STR,
  63. },
  64. { Entity : Entity { ID: "skill_mining", Name: "Mining",
  65. Short: "Mining of minerals.", },
  66. Talent : TALENT_STR,
  67. },
  68. { Entity : Entity { ID: "skill_rage", Name: "Rage",
  69. Short: "Techniques of beasts.", },
  70. Talent : TALENT_STR,
  71. },
  72. { Entity : Entity { ID: "skill_fist", Name: "Fist",
  73. Short: "Martial arts and unarmed fighting, use of gloves.", },
  74. Talent : TALENT_TOU,
  75. },
  76. { Entity : Entity { ID: "skill_maul", Name: "Maul",
  77. Short: "Fighting with heavy meelee weapons such as axes and hammers", },
  78. Talent : TALENT_TOU,
  79. },
  80. { Entity : Entity { ID: "skill_heavy_gear", Name: "Heavy Gear",
  81. Short: "Use of heavy gear such as armor suits, helmets and boots.", },
  82. Talent : TALENT_TOU,
  83. },
  84. { Entity : Entity { ID: "skill_armorer", Name: "Armorer",
  85. Short: "Crafing of heavy equipment and armor.", },
  86. Talent : TALENT_TOU,
  87. },
  88. { Entity : Entity { ID: "skill_toiling", Name: "Toiling",
  89. Short: "Physical exertion and carrying heavy loads.", },
  90. Talent : TALENT_TOU,
  91. },
  92. { Entity : Entity { ID: "skill_survival", Name: "Survival",
  93. Short: "Fishing and hunting skills, recovering biological ingredients.", },
  94. Talent : TALENT_TOU,
  95. },
  96. { Entity : Entity { ID: "skill_knife", Name: "Knife",
  97. Short: "Fighting with knives, daggers.", },
  98. Talent : TALENT_DEX,
  99. },
  100. { Entity : Entity { ID: "skill_sleight", Name: "Sleight",
  101. Short: "Disarming of traps, picking of locks and pickpocketing from beasts.", },
  102. Talent : TALENT_DEX,
  103. },
  104. { Entity : Entity { ID: "skill_gun", Name: "Gun",
  105. Short: "Use and shooting of guns and bowguns", },
  106. Talent : TALENT_DEX,
  107. },
  108. { Entity : Entity { ID: "skill_gunsmith", Name: "Gunsmith",
  109. Short: "Crafting of guns , cannons and other ranged weapons.", },
  110. Talent : TALENT_DEX,
  111. },
  112. { Entity : Entity { ID: "skill_outfitter", Name: "Outfitter",
  113. Short: "Crafting of medium weight equipment.", },
  114. Talent : TALENT_DEX,
  115. },
  116. { Entity : Entity { ID: "skill_robotic", Name: "Robotic",
  117. Short: "Special techniques of robots and androids.", },
  118. Talent : TALENT_DEX,
  119. },
  120. { Entity : Entity { ID: "skill_polearm", Name: "Polearm",
  121. Short: "Fighting with pole arms such as spears, lances and naginatas.", },
  122. Talent : TALENT_AGI,
  123. },
  124. { Entity : Entity { ID: "skill_shield", Name: "Shield",
  125. Short: "Use of bucklers and shields and shield relates techniques.", },
  126. Talent : TALENT_AGI,
  127. },
  128. { Entity : Entity { ID: "skill_light_gear", Name: "Light Gear",
  129. Short: "Use of light gear such as robes, caps and sandals.", },
  130. Talent : TALENT_AGI,
  131. },
  132. { Entity : Entity { ID: "skill_acrobatics", Name: "Acrobatics",
  133. Short: "Evading attacks, running away from danger.", },
  134. Talent : TALENT_AGI,
  135. },
  136. { Entity : Entity { ID: "skill_stealth", Name: "Stealth",
  137. Short: "Stealthy movement and suprising opponents.", },
  138. Talent : TALENT_AGI,
  139. },
  140. { Entity : Entity { ID: "skill_traveling", Name: "Traveling",
  141. Short: "Efficient traveling and skills to reduce MP use.", },
  142. Talent : TALENT_AGI,
  143. },
  144. { Entity : Entity { ID: "skill_explosives", Name: "Explosives",
  145. Short: "Crafting, use and disarming of bombs and explosives.", },
  146. Talent : TALENT_INT,
  147. },
  148. { Entity : Entity { ID: "skill_science", Name: "Science",
  149. Short: "Crafting of healing items and poisons and using them.", },
  150. Talent : TALENT_INT,
  151. },
  152. { Entity : Entity { ID: "skill_lore", Name: "Lore",
  153. Short: "General and historic knowledge.", },
  154. Talent : TALENT_INT,
  155. },
  156. { Entity : Entity { ID: "skill_medical", Name: "Medical",
  157. Short: "Healing techniques and use of medication.", },
  158. Talent : TALENT_INT,
  159. },
  160. { Entity : Entity { ID: "skill_engineering", Name: "Engineering",
  161. Short: "Crafting of android parts, repair and construction of machines", },
  162. Talent : TALENT_INT,
  163. },
  164. { Entity : Entity { ID: "skill_hacking", Name: "Hacking",
  165. Short: "Knowledge of computers, boosting of machines", },
  166. Talent : TALENT_INT,
  167. },
  168. { Entity : Entity { ID: "skill_barter", Name: "Barter",
  169. Short: "Trading and bribing", },
  170. Talent : TALENT_CHA,
  171. },
  172. { Entity : Entity { ID: "skill_social", Name: "Social",
  173. Short: "Talking to NPC's and convincing them. Supportive group techniques and leadership skills.", },
  174. Talent : TALENT_CHA,
  175. },
  176. { Entity : Entity { ID: "skill_arcane", Name: "Arcane Arts",
  177. Short: "Extraordinary Numen Arts.", },
  178. Talent : TALENT_CHA,
  179. },
  180. { Entity : Entity { ID: "skill_tone", Name: "Tone Arts",
  181. Short: "Numen arts that control sound and buffing effects.", },
  182. Talent : TALENT_CHA,
  183. },
  184. { Entity : Entity { ID: "skill_tailor", Name: "Tailor",
  185. Short: "Crafting of light clothes and equipment.", },
  186. Talent : TALENT_CHA,
  187. },
  188. { Entity : Entity { ID: "skill_cooking", Name: "Cooking",
  189. Short: "Crafting of food, for temporary boosts.", },
  190. Talent : TALENT_CHA,
  191. },
  192. { Entity : Entity { ID: "skill_earth", Name: "Earth Arts",
  193. Short: "Numen arts that control earth and explosive effects.", },
  194. Talent : TALENT_WIS,
  195. },
  196. { Entity : Entity { ID: "skill_sun", Name: "Sun Arts",
  197. Short: "Numen arts that control light and purification.", },
  198. Talent : TALENT_WIS,
  199. },
  200. { Entity : Entity { ID: "skill_tree", Name: "Tree Arts",
  201. Short: "Numen arts that control living beings, nature and healing.", },
  202. Talent : TALENT_WIS,
  203. },
  204. { Entity : Entity { ID: "skill_bravery", Name: "Bravery",
  205. Short: "Courage and mental resistance.", },
  206. Talent : TALENT_WIS,
  207. },
  208. { Entity : Entity { ID: "skill_jeweler", Name: "Jeweler",
  209. Short: "Crafting of jewels mundane and imbued with Numen.", },
  210. Talent : TALENT_WIS,
  211. },
  212. { Entity : Entity { ID: "skill_artistic", Name: "Artistic",
  213. Short: "Graphical and plastic arts to craft artworks.", },
  214. Talent : TALENT_WIS,
  215. },
  216. { Entity : Entity { ID: "skill_staff", Name: "Staff",
  217. Short: "Fighting with staves and wands.", },
  218. Talent : TALENT_EMO,
  219. },
  220. { Entity : Entity { ID: "skill_flame", Name: "Flame Arts",
  221. Short: "Numen arts that control fire and heat.", },
  222. Talent : TALENT_EMO,
  223. },
  224. { Entity : Entity { ID: "skill_snow", Name: "Snow Arts",
  225. Short: "Numen arts that control water, ice and cold.", },
  226. Talent : TALENT_EMO,
  227. },
  228. { Entity : Entity { ID: "skill_bolt", Name: "Bolt Arts",
  229. Short: "Numen arts that control electricity, wind and air.", },
  230. Talent : TALENT_EMO,
  231. },
  232. { Entity : Entity { ID: "skill_numensmith", Name: "Numensmith",
  233. Short: "Crafting of wands, rods and other items enhanced with Numen.", },
  234. Talent : TALENT_EMO,
  235. },
  236. { Entity : Entity { ID: "skill_omen", Name: "Omen Arts",
  237. Short: "Arts that use Omen in stead of Numen, by Corrupted beings", },
  238. Talent : TALENT_EMO,
  239. },
  240. }
  241. /*
  242. * Other ideas:
  243. * ESS, AGI
  244. *
  245. *
  246. * Cooking -- Food for various bufffs
  247. *
  248. */