Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.72 KB | None | 0 0
  1. -- skill
  2. -- passive / active / togga
  3. -- mastery arcane move
  4. -- name
  5.  
  6. function lvl_effect( plyPlayer, intSkillLevel, intOldSkillLevel, load )
  7.  
  8. if ( !load ) then
  9. plyPlayer:CreateIndacator( "Skill_Level_Up!", plyPlayer:GetPos() + Vector( 0, 0, 70 ), "blue" , true)
  10. local effectdata2 = EffectData()
  11. effectdata2:SetStart( plyPlayer :GetPos())
  12. effectdata2:SetOrigin( plyPlayer:GetPos())
  13. effectdata2:SetNormal( Vector( 0, 0, 150 ) )
  14. effectdata2:SetEntity( plyPlayer )
  15. effectdata2:SetScale( 2 )
  16. util.Effect("levelup", effectdata2)
  17. plyPlayer:EmitSound( "ui/cancel.wav", 100, 100 )
  18. end
  19.  
  20. end
  21. function cl_pusheffect( um )
  22.  
  23. local p = um:ReadEntity()
  24. local name = um:ReadString()
  25. local level = um:ReadFloat()
  26.  
  27. if ( p:IsValid() && name ) then
  28. local tblSkillTable = SkillTable( name )
  29.  
  30. if tblSkillTable.clEffect then
  31. tblSkillTable:clEffect( p, level )
  32. end
  33. end
  34.  
  35. end
  36. usermessage.Hook( "skill_pusheffect", cl_pusheffect )
  37. function notengcool( um )
  38.  
  39. surface.PlaySound( "Friends/friend_join.wav" )
  40.  
  41. end
  42. usermessage.Hook( "notengcool", notengcool )
  43. function bliperror( plyPlayer, strMessage )
  44.  
  45. umsg.Start( "notengcool", plyPlayer )
  46. umsg.End()
  47. plyPlayer:CreateNotification( strMessage )
  48.  
  49. end
  50.  
  51. local Skill = {}
  52. Skill.Name = "skill_p_m_firearm" -- Works
  53. Skill.PrintName = "Firearm Mastery"
  54. Skill.Icon = "icons/weapon_pistol"
  55. Skill.Desc = {}
  56. Skill.Desc["story"] = "Gives you better aim and critical bullets"
  57. Skill.Requirements = {}
  58. for i = 0, 7 do
  59. Skill.Requirements[i] = {}
  60. Skill.Requirements[i].Skills = {}
  61. Skill.Requirements[i].Level = i*4
  62. end
  63.  
  64. for i = 1, 7 do
  65. Skill.Desc[i] = "Increase Dexterity by ".. i*3 .. "\n\nLevel Requirement " .. Skill.Requirements[i].Level - 4
  66. end
  67. Skill.Category = CATEGORY_RANGED_PASSIVE
  68. Skill.Active = false
  69. function Skill:OnSet(plyPlayer, intSkillLevel, intOldSkillLevel, load)
  70.  
  71. lvl_effect( plyPlayer, intSkillLevel, intOldSkillLevel, load )
  72. local tblStatTable = {}
  73. for i = 0, 7 do
  74. tblStatTable[i] = i*3
  75. end
  76. plyPlayer:AddStat("stat_dexterity", tblStatTable[intSkillLevel] - tblStatTable[intOldSkillLevel])
  77. end
  78. function Skill:OnUse( plyPlayer, intSkillLevel, boolSwitch )
  79. return
  80. end
  81. Register.Skill(Skill)
  82.  
  83.  
  84. local Skill = {}
  85. Skill.Name = "skill_p_m_fastrecharge" -- Broken
  86. Skill.PrintName = "Fast Recharge"
  87. Skill.Icon = "icons/bt/item_module"
  88. Skill.Desc = {}
  89. Skill.Desc["story"] = "Gives you faster aim and faster reloads"
  90. Skill.Requirements = {}
  91. for i = 0, 7 do
  92. Skill.Requirements[i] = {}
  93. Skill.Requirements[i].Skills = {}
  94. Skill.Requirements[i].Level = i*2
  95. end
  96. for i = 1, 7 do
  97. Skill.Desc[i] = "Increases Aim and Slightly decreases reload time." .. "\n\nLevel Requirement " .. Skill.Requirements[i].Level - 2
  98. end
  99. Skill.Category = CATEGORY_RANGED_PASSIVE
  100. Skill.Active = false
  101. function Skill:OnSet(plyPlayer, intSkillLevel, intOldSkillLevel, load)
  102. lvl_effect( plyPlayer, intSkillLevel, intOldSkillLevel, load )
  103. end
  104. function Skill:OnUse( plyPlayer, intSkillLevel, boolSwitch )
  105. return
  106. end
  107. Register.Skill(Skill)
  108.  
  109.  
  110. local Skill = {}
  111. Skill.Name = "skill_p_m_hq" -- Works
  112. Skill.PrintName = "Commando Active Upgrade"
  113. Skill.Icon = "icons/bt/item_module"
  114. Skill.Desc = {}
  115. Skill.Desc["story"] = "Gives you more privileges"
  116. Skill.NumName = {}
  117. Skill.NumName[0] = ""
  118. Skill.NumName[1] = "1"
  119. Skill.NumName[2] = "2"
  120. Skill.NumName[3] = "Max"
  121. Skill.Levels = 3
  122. Skill.Requirements = {}
  123. for i = 0, 7 do
  124. Skill.Requirements[i] = {}
  125. Skill.Requirements[i].Skills = {}
  126. Skill.Requirements[i].Level = i*4
  127. end
  128. for i = 1, 7 do
  129. Skill.Desc[i] = "Allows you to use more Commando Active Skills." .. "\n\nLevel Requirement " .. Skill.Requirements[i].Level - 4
  130. end
  131. Skill.Category = CATEGORY_RANGED_PASSIVE
  132. Skill.Active = false
  133. function Skill:OnSet(plyPlayer, intSkillLevel, intOldSkillLevel, load)
  134. lvl_effect( plyPlayer, intSkillLevel, intOldSkillLevel, load )
  135. end
  136. function Skill:OnUse( plyPlayer, intSkillLevel, boolSwitch )
  137. return
  138. end
  139. Register.Skill(Skill)
  140.  
  141. local Skill = {}
  142. Skill.Name = "skill_p_m_circle"
  143. Skill.PrintName = "Dragons Breath"
  144. Skill.Icon = "icons/bt/skill_inner"
  145. Skill.Desc = {}
  146. Skill.Desc["story"] = "Gives you a chance to set your target on fire"
  147. Skill.Desc[1] = "Every ranged attack has a 1% chance to burn for 1 second"
  148. Skill.Desc[2] = "Every ranged attack has a 2% chance to burn for 2 seconds"
  149. Skill.Desc[3] = "Every ranged attack has a 3% chance to burn for 3 seconds"
  150. Skill.Desc[4] = "Every ranged attack has a 4% chance to burn for 4 seconds"
  151. Skill.Desc[5] = "Every ranged attack has a 5% chance to burn for 5 seconds"
  152. Skill.Desc[6] = "Every ranged attack has a 6% chance to burn for 6 seconds"
  153. Skill.Desc[7] = "Every ranged attack has a 7% chance to burn for 7 seconds"
  154. Skill.Active = false
  155. Skill.Category = CATEGORY_RANGED_PASSIVE
  156. Skill.Levels = 7
  157. Skill.Requirements = {}
  158. for i = 0, 7 do
  159. Skill.Requirements[i] = {}
  160. Skill.Requirements[i].Skills = {}
  161. Skill.Requirements[i].Skills["skill_p_m_firearm"] = 7
  162. Skill.Requirements[i].Level = 3+ i*3
  163. end
  164. function Skill:BulletCallBack(plyPlayer, intSkill, trcTrace, tblDamageInfo)
  165. if !SERVER then return end
  166. local entEntity = trcTrace.Entity
  167. if !plyPlayer:IsMelee() && intSkill > 0 && entEntity:IsNPC() && entEntity.Race != "human" then // && entEntity.Race != "antlion"
  168. local intChance = 0
  169. local intTime = 0
  170. if intSkill == 1 then intChance = 1 intTime = 1 end
  171. if intSkill == 2 then intChance = 2 intTime = 2 end
  172. if intSkill == 3 then intChance = 3 intTime = 3 end
  173. if intSkill == 4 then intChance = 4 intTime = 4 end
  174. if intSkill == 5 then intChance = 5 intTime = 5 end
  175. if intSkill == 6 then intChance = 6 intTime = 6 end
  176. if intSkill == 7 then intChance = 7 intTime = 7 end
  177. if math.random(1, 100 / intChance) == 1 then
  178. trcTrace.Entity:IgniteFor(intTime, 1, plyPlayer)
  179. end
  180. end
  181. end
  182. function Skill:OnSet(plyPlayer, intSkillLevel, intOldSkillLevel, load)
  183. lvl_effect( plyPlayer, intSkillLevel, intOldSkillLevel, load )
  184. end
  185. Register.Skill(Skill)
  186.  
  187. local Skill = {}
  188. Skill.Name = "skill_p_m_hqbullets"
  189. Skill.PrintName = "Stone Cold Bullets"
  190. Skill.Icon = "icons/bt/skill_advammo"
  191. Skill.Desc = {}
  192. Skill.Desc["story"] = "Gives you a chance to freeze your target"
  193. Skill.Desc[1] = "Every ranged attack has a 1% chance to stun for 1 second"
  194. Skill.Desc[2] = "Every ranged attack has a 2% chance to stun for 2 seconds"
  195. Skill.Desc[3] = "Every ranged attack has a 3% chance to stun for 3 seconds"
  196. Skill.Desc[4] = "Every ranged attack has a 4% chance to stun for 4 seconds"
  197. Skill.Desc[5] = "Every ranged attack has a 5% chance to stun for 5 seconds"
  198. Skill.Desc[6] = "Every ranged attack has a 6% chance to stun for 6 seconds"
  199. Skill.Desc[7] = "Every ranged attack has a 7% chance to stun for 7 seconds"
  200. Skill.Active = false
  201. Skill.Category = CATEGORY_RANGED_PASSIVE
  202. Skill.Levels = 7
  203. Skill.Requirements = {}
  204. for i = 0, 7 do
  205. Skill.Requirements[i] = {}
  206. Skill.Requirements[i].Skills = {}
  207. Skill.Requirements[i].Skills["skill_p_m_firearm"] = 7
  208. Skill.Requirements[i].Level = 3+ i*3
  209. end
  210. function Skill:BulletCallBack(plyPlayer, intSkill, trcTrace, tblDamageInfo)
  211. if !SERVER then return end
  212. local entEntity = trcTrace.Entity
  213. if !plyPlayer:IsMelee() && intSkill > 0 && entEntity:IsNPC() && entEntity.Race != "human" then // && entEntity.Race != "antlion"
  214. local intChance = 0
  215. local intTime = 0
  216. if intSkill == 1 then intChance = 1 intTime = 1 end
  217. if intSkill == 2 then intChance = 2 intTime = 2 end
  218. if intSkill == 3 then intChance = 3 intTime = 3 end
  219. if intSkill == 4 then intChance = 4 intTime = 4 end
  220. if intSkill == 5 then intChance = 5 intTime = 5 end
  221. if intSkill == 6 then intChance = 6 intTime = 6 end
  222. if intSkill == 7 then intChance = 7 intTime = 7 end
  223. if math.random(1, 100 / intChance) == 1 then
  224. entEntity:Stun(intTime, 0.1 / intSkill, plyPlayer)
  225. end
  226. end
  227. end
  228. function Skill:OnSet(plyPlayer, intSkillLevel, intOldSkillLevel, load)
  229. lvl_effect( plyPlayer, intSkillLevel, intOldSkillLevel, load )
  230. end
  231. Register.Skill(Skill)
  232.  
  233. local Skill = {}
  234. Skill.Name = "skill_p_m_ecogunner" -- Works
  235. Skill.PrintName = "Eco Gunner"
  236. Skill.Icon = "icons/bt/skill_eco"
  237. Skill.Desc = {}
  238. Skill.Desc["story"] = "Gives you a chance to not spend ammo when shooting"
  239. Skill.Requirements = {}
  240. for i = 0, 7 do
  241. Skill.Requirements[i] = {}
  242. Skill.Requirements[i].Skills = {}
  243. Skill.Requirements[i].Level = i*4
  244. end
  245. for i = 1, 7 do
  246. Skill.Desc[i] = "Small chance of not using ammo when firing a gun" .. "\n\nLevel Requirement " .. Skill.Requirements[i].Level - 4
  247. end
  248. Skill.Category = CATEGORY_RANGED_PASSIVE
  249. Skill.Active = false
  250. function Skill:OnSet(plyPlayer, intSkillLevel, intOldSkillLevel, load)
  251. lvl_effect( plyPlayer, intSkillLevel, intOldSkillLevel, load )
  252. end
  253. function Skill:OnUse( plyPlayer, intSkillLevel, boolSwitch )
  254. return
  255. end
  256. Register.Skill(Skill)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement