Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.72 KB | None | 0 0
  1. mob/human/player/New()
  2. . = ..()
  3. if(!istype(src,/mob/human/player/npc))
  4. spawn()src.regeneration()
  5. spawn()src.regeneration2()
  6. spawn()src.comboregen()
  7.  
  8. mob
  9. proc
  10. relieve_bounty()
  11. var/mob/jerk=0
  12. for(var/mob/ho in world)
  13. if(ho.client)
  14. if(ho.key==src.lasthostile)
  15. jerk=ho
  16.  
  17. if(jerk && jerk!=src)
  18. if(!jerk.faction || !src.faction || (jerk.faction.village!=src.faction.village)||jerk.faction.village=="Missing")
  19. world<<"<span class='death_info'><span class='name'>[src.realname]</span> has been killed by <span class='name'>[jerk.realname]</span>!</span>"
  20. jerk.bounty+=round(10+src.blevel*3)/3
  21. if(src==jerk.MissionTarget && jerk.MissionType=="Assasinate Player PvP")
  22. spawn()jerk.MissionComplete()
  23. spawn()
  24. if(jerk.faction && jerk.faction.village)
  25. jerk<<"You gained [src.bounty] dollars for [src.realname]'s bounty!"
  26. jerk.money+=src.bounty
  27. src.bounty=0
  28. else
  29. world<<"<span class='death_info'><span class='betrayal'><span class='name'><b><u>[jerk.realname]</span> has killed <span class='name'>[src.realname]</span> and they are in the same village!</span></span>"
  30. else
  31. world<<"<span class='death_info'><span class='name'>[src]</span> has died!</span>"
  32. mob
  33. proc
  34. Killed(mob/owned)
  35. if(!owned.client || !client || owned.client.computer_id != client.computer_id)
  36. var/worth= round(owned.blevel/src.blevel * 100)/100
  37. owned.deaths+=worth
  38. owned.diedd++
  39. src.kills+=worth
  40. src.factionpoints++
  41.  
  42. Respawn()
  43. if(RP)
  44. return
  45. if(!ko || curwound<maxwound)
  46. return
  47. //Jon Added Mangekyou
  48. var/mob/killer = null
  49. for(var/mob/M in world)
  50. if(M.client)
  51. if(M.key == lasthostile)
  52. killer = M
  53. /*if(killer&&istype(src,/mob/human/player)&&istype(killer,/mob/human/player))
  54. if(killer:HasSkill(MANGEKYOU_SHARINGAN)&&src.sharingan==4&&src!=killer)
  55. var/skill/skill_=killer:GetSkill(MANGEKYOU_SHARINGAN)
  56. skill_.uses-=5
  57. if(skill_.uses<0)
  58. skill_.uses=0
  59. killer<<"You have captured [src]'s eyes! You have acquired new light!"
  60.  
  61.  
  62. var/skill/skill=src:GetSkill(MANGEKYOU_SHARINGAN)
  63. skill.uses+=5
  64. src<<"[killer] has stolen your eyes! As a result you will be blind more often!"*/
  65. if(war && WAR)
  66. new/mob/corpse(src.loc,src)
  67. src.loc=locate_tag("war_room_[lowertext(faction.village)]")
  68. src.curwound=0
  69. src.ko=0
  70. src.stunned=0
  71. src.icon_state=""
  72. //RESPAWN
  73. killer = null
  74. for(var/mob/M in world)
  75. if(M.client)
  76. if(M.key == lasthostile)
  77. killer = M
  78. break
  79. if(killer&&killer.war)
  80. killer.Killed(src)
  81. world<<"<span class='death_info'><span class='name'>[src.realname]</span> has been killed by <span class='name'>[killer.realname]</span>!</span>"
  82. killer<<"Gained a Faction Point"
  83. killer.factionpoints++
  84. if(killer.faction.village==faction.village)
  85. Score["[killer.faction.village]"]-=1
  86. else
  87. Score["[killer.faction.village]"]+=1
  88. if(realname==faction.leader)
  89. Score["[killer.faction.village]"]+=2
  90. if(realname == faction.leader)
  91. Score["[faction.village]"]-=2
  92. Score["[faction.village]"]-=1
  93. //Show_Score()
  94. return
  95. var/obj/mapinfo/Minfo = locate("__mapinfo__[z]")
  96. if(Minfo && Minfo.in_war && faction && (faction.village == Minfo.village_control || faction.village == Minfo.attacking_village))
  97. if(faction.village == Minfo.village_control)
  98. ++Minfo.defender_deaths
  99. else if(faction.village == Minfo.attacking_village)
  100. ++Minfo.attacker_deaths
  101.  
  102. var/adjacent[0]
  103. for(var/x in list(Minfo.oX-1, Minfo.oX+1))
  104. if(x >= 1 && x <= map_coords.len)
  105. var/obj/mapinfo/map = map_coords[x][Minfo.oY+1]
  106. if(map)
  107. adjacent += map
  108. for(var/y in list(Minfo.oY, Minfo.oY+2))
  109. var/list/map_col = map_coords[Minfo.oX]
  110. if(y >= 1 && y <= map_col.len)
  111. var/obj/mapinfo/map = map_col[y]
  112. if(map)
  113. adjacent += map
  114.  
  115. var/controlled_maps[0]
  116. for(var/obj/mapinfo/map in adjacent)
  117. if(map.village_control == faction.village)
  118. controlled_maps += map
  119. if(controlled_maps.len)
  120. var/turf/new_loc
  121. while(!new_loc || !new_loc.Enter(src))
  122. var/obj/mapinfo/map = pick(controlled_maps)
  123. if(map.oX < Minfo.oX)
  124. new_loc = locate(1, rand(1, world.maxy), z)
  125. else if(map.oX > Minfo.oX)
  126. new_loc = locate(world.maxx, rand(1, world.maxy), z)
  127. else if(map.oY < Minfo.oY)
  128. new_loc = locate(rand(1, world.maxx), world.maxy, z)
  129. else // map.oX == Minfo.oX && map.oY >= Minfo.oY
  130. new_loc = locate(rand(1, world.maxx), 1, z)
  131. sleep(-1)
  132. loc = new_loc
  133. ko = 0
  134. curstamina = stamina
  135. curchakra = chakra
  136. curwound = 0
  137. spawn(10) stunned = 1
  138. for(var/obj/trigger/kawarimi/T in triggers)
  139. RemoveTrigger(T)
  140.  
  141. killer = null
  142. for(var/mob/M in world)
  143. if(M.client)
  144. if(M.key == lasthostile)
  145. killer = M
  146. break
  147. if(killer)
  148. world<<"<span class='death_info'><span class='name'>[src.realname]</span> has been killed by <span class='name'>[killer.realname]</span>!</span>"
  149. killer<<"Gained a Faction Point"
  150. killer.factionpoints++
  151. killer.Killed(src)
  152.  
  153. else if(src.rank!="Academy Student")
  154. new/mob/corpse(src.loc,src)
  155. spawn()src.relieve_bounty()
  156. src.stunned=2
  157. var/mob/jerk=0
  158. for(var/mob/ho in world)
  159. if(ho.client)
  160. if(ho.key==src.lasthostile)
  161. jerk=ho
  162. if(jerk)
  163. jerk.Killed(src)
  164. if(Minfo)
  165. Minfo.PlayerLeft(src)
  166. var/Re=0
  167. for(var/obj/Respawn_Pt/R in world)
  168. if(faction)
  169. switch(faction.village)
  170. if("Konoha")
  171. if(R.ind == 1)
  172. Re = R
  173. break
  174. if("Suna")
  175. if(R.ind == 2)
  176. Re = R
  177. break
  178. if("Kiri")
  179. if(R.ind == 3)
  180. Re = R
  181. break
  182. if("Oto")
  183. if(R.ind == 4)
  184. Re = R
  185. break
  186. if("Kumo")
  187. if(R.ind == 5)
  188. Re = R
  189. break
  190. else
  191. if(R.ind == 0)
  192. Re = R
  193. break
  194. else
  195. if(R.ind == 0)
  196. Re = R
  197. break
  198. spawn()
  199. var/foundbed=0
  200. if(Re)
  201. var/list/pfrom=new
  202. for(var/obj/interactable/hospitalbed/o in oview(15,Re))
  203. pfrom+=o
  204.  
  205. var/obj/interactable/hospitalbed/F=0
  206. F=pick(pfrom)
  207. if(F && istype(F))
  208. foundbed=1
  209. src.loc=F.loc
  210. Minfo = locate("__mapinfo__[z]")
  211. if(Minfo)
  212. Minfo.PlayerEntered(src)
  213. src.icon_state="hurt"
  214. spawn()F.Interact(src)
  215.  
  216. if(!foundbed)
  217. var/obj/interactable/hospitalbed/o = locate(/obj/interactable/hospitalbed) in world
  218. src.loc=o.loc
  219. Minfo = locate("__mapinfo__[z]")
  220. if(Minfo)
  221. Minfo.PlayerEntered(src)
  222. src.icon_state="hurt"
  223. spawn()o.Interact(src)
  224.  
  225. src.curstamina=1
  226. src.curwound=src.maxwound-1
  227. src.waterlogged=0
  228. src.swamplogged=0
  229. src<<"You have woken up in a hospital bed, you should rest here until your wounds are gone."
  230. src.stunned=2
  231.  
  232. else
  233. if(Minfo)
  234. Minfo.PlayerLeft(src)
  235. src.loc=locate(10,91,3)
  236. Minfo = locate("__mapinfo__[z]")
  237. if(Minfo)
  238. Minfo.PlayerEntered(src)
  239. src.curwound=0
  240. src.curstamina=src.stamina
  241.  
  242. src.waterlogged=0
  243. src.swamplogged=0
  244. spawn(10)src.curstamina=src.stamina
  245. spawn(10)src.stunned=0
  246. mob
  247. EZ
  248. verb
  249. EZ_Remove_Flag()
  250. if(usr.ezing)
  251. usr.Show_reCAPTCHA()
  252.  
  253. usr.verbs-=/mob/EZ/verb/EZ_Remove_Flag
  254. winset(usr, "ez_remove_verb", "parent=")
  255. var
  256. wregenlag=1
  257.  
  258. mob/human
  259. proc
  260. KO()
  261. if(!pk)
  262. curstamina = stamina
  263. curwound = 0
  264.  
  265. else if(gate >= 2)
  266. src.Wound(rand(32,37),3)
  267. src.curstamina=src.stamina * ((maxwound-curwound)/maxwound)
  268. src.curchakra=max(round(src.chakra/4), curchakra)
  269.  
  270. /* else if(pill == 3)
  271. src.Wound(100)
  272. src.combat("You've taken heavy damage from being KO'd while you're in Pepper Pill!")
  273. src.ko = 1
  274. flick("Knockout", src)
  275. src.overlays-='icons/Butterfly Aura.dmi'
  276. src.icon_state = "Dead"
  277. sleep(10)
  278. src.Die()
  279. return*/
  280.  
  281. /* else
  282. if(src.hearts.len)
  283. hearts.len = hearts.len - 1
  284. curwound = 0
  285.  
  286. src.combat("You now have [hearts.len] hearts remaining.")
  287.  
  288. src.conbuff=0
  289.  
  290. if(hearts.len <= 0)
  291. src.Wound(150)
  292. src.ko = 1
  293. flick("Knockout", src)
  294. src.icon_state = "Dead"
  295. sleep(10)
  296. src.Die()
  297. return*/
  298. else
  299. if(src.pill == 3)
  300. Wound(30)
  301. if(src.pill)
  302. if(src.pill==2)
  303. src.overlays-='icons/Chakra_Shroud.dmi'
  304. if(src.pill==3)
  305. src.overlays-='icons/aki_wings.dmi'
  306. src.overlays-='icons/Butterfly Aura.dmi'
  307. src.strbuff=0
  308. src.pill=0
  309. src.combat("The effects from the pill(s) wore off.")
  310.  
  311. src.Poison=0
  312. src.Wound(rand(32,37),3)
  313. src.ko=1
  314.  
  315. sleep(10)
  316.  
  317. flick("Knockout",src)
  318.  
  319. src.icon_state="Dead"
  320. src.layer=TURF_LAYER
  321.  
  322. for(var/obj/items/Heavenscroll/II in src.contents)
  323. II.Drop()
  324. for(var/obj/items/Earthscroll/EI in src.contents)
  325. EI.Drop()
  326.  
  327. var/maxwound1=100
  328. if(clan == "Scavenger")
  329. maxwound1 = 50
  330. if(src.hearts)
  331. maxwound1 += 30*src.hearts
  332. else if(clan == "Sage")
  333. maxwound1 = 130
  334. else if(clan == "Jashin")
  335. maxwound1=150
  336. if(immortality)
  337. maxwound1=300
  338. else if(usr.skillspassive[31] == 1)
  339. maxwound1+=6
  340. else if(usr.skillspassive[31] == 2)
  341. maxwound1+=6
  342. else if(usr.skillspassive[31] == 3)
  343. maxwound1+=6
  344. else if(usr.skillspassive[31] == 4)
  345. maxwound1+=6
  346. else if(usr.skillspassive[31] == 5)
  347. maxwound1+=6
  348.  
  349. if(src.curwound<maxwound1||(src.immortality&&src.cexam!=5))
  350. sleep(src.curwound + 100)
  351. if(src.ko && src.curwound<300)
  352. if(clan == "Will of Fire")
  353. src.curstamina=src.stamina
  354. if(curwound > 100)
  355. src.curstamina=src.stamina*1.25
  356. src.curchakra=src.chakra*1.25
  357. else
  358. var/durr=((maxwound-curwound)/maxwound)/2
  359. if(durr<0)
  360. durr=0
  361. src.curstamina=src.stamina * durr + src.stamina/2
  362. if(src.curchakra<src.chakra/5)
  363. src.curchakra=src.chakra/5 +20
  364.  
  365. src.protected=3
  366. src.stunned=0
  367. src.ko=0
  368. src.icon_state=""
  369. else
  370. Die()
  371.  
  372. Die()
  373. if(src.skillspassive[31] >= 50 && curwound < 0)//&&RankGrade2()==5) at least u seen that though
  374. if(prob(5*src.skillspassive[31]))
  375. sleep(300)
  376. if(!src) return
  377. src<<"Your Will of Fire gives you another chance to survive."
  378. src.curstamina=src.stamina*1.25
  379. src.curchakra=src.chakra*1.25
  380. src.curwound=100
  381. src.protected=3
  382. src.stunned=0
  383. src.ko=0
  384. src.icon_state=""
  385. else if(cexam == 5)
  386. src.curwound=0
  387. src.curstamina=src.stamina
  388. src.curchakra=src.chakra
  389.  
  390. src.cexam=4
  391. src.inarena=0
  392. src.CArena()
  393.  
  394. else if(inarena == 1)
  395. world<<"<font color=Red>[src] Has lost!</font>"
  396. src.inarena=0
  397. src.curwound=0
  398. src.curstamina=src.stamina
  399. src.curchakra=src.chakra
  400. if(src.oldx &&src.oldy && src.oldz)
  401. src.loc=locate(src.oldx,src.oldy,src.oldz)
  402. src.oldx=0
  403. src.oldy=0
  404. src.oldz=0
  405.  
  406. else if(inarena == 2)
  407. world<<"<font color=Red>[src] Has lost!</font>"
  408. for(var/mob/human/O in world)
  409. if(O.inarena == 2)
  410. O.inarena=0
  411. O.curstamina=O.stamina
  412. O.curchakra=O.chakra
  413. O.curwound=0
  414. if(O.oldx&&O.oldy&&O.oldz)
  415. O.loc=locate(O.oldx,O.oldy,O.oldz)
  416. O.oldx=0
  417. O.oldy=0
  418. O.oldz=0
  419.  
  420. Using_Arena = 0
  421.  
  422. else if(clan == "Scavenger")
  423. hearts = 0
  424.  
  425. else if(dojo)
  426. var/ei=0
  427. var/dist=1000
  428. var/obj/SPWN=0
  429. for(var/obj/dojorespawn/Dj in world)
  430. if(Dj.z==src.z)
  431. if(get_dist(Dj,src)<dist)
  432. dist=get_dist(Dj,src)
  433. SPWN=Dj
  434. var/obj/dojorespawn/Respawn=SPWN
  435.  
  436. ei+=5
  437. if(Respawn)
  438. src.curwound=0
  439. src.loc=locate(Respawn.x,Respawn.y-1,Respawn.z)
  440. else
  441. src.curwound=0
  442. src.stunned=0
  443. spawn(10)
  444. src.stunned=0
  445. src.curwound=0
  446. src.curstamina = 1
  447. src<<"You were Defeated"
  448.  
  449. else
  450. for(var/mob/human/Xe in world)
  451. if(Xe.Contract2==src)
  452. if(Xe.Contract)
  453. Xe.Contract.loc = null
  454. Xe.Contract = null
  455. Xe.Contract2=0
  456. Xe.Affirm_Icon()
  457. if(!RP)
  458. src<<"You're wounded beyond your limit, to respawn at a hospital press Space. If you are not brought back to life in 60 seconds you'll automatically respawn."
  459. var/count=0
  460.  
  461. while(curwound>=maxwound)
  462. src.stunned=1000
  463. count++
  464. if(count>60)
  465. src.Respawn()
  466. sleep(10)
  467.  
  468. else
  469. src<<"You're wounded beyond your limit, because this is a Role-Play server if your not revived by a medic within 5 minutes you'll die and have to wait till a new round to come back.(This takes hours, your best to log in to a Non-RP server)"
  470. var/count=0
  471.  
  472. while(curwound>=maxwound && count<=300)
  473. sleep(10)
  474. src.stunned=1000
  475. count++
  476. src.icon_state="Dead"
  477.  
  478. if(count>300)
  479. DeathList+=src.client.computer_id
  480. src<<"You have Died!"
  481. new/mob/corpse(src.loc,src)
  482. src.verbs.Cut()
  483. src.verbs+=/mob/Admin/verb/Spectate
  484.  
  485. GateStress()
  486. if(gate)
  487. var/stress=0
  488.  
  489. switch(gate)
  490. if(1)
  491. stress = 15
  492. if(2)
  493. stress = 40
  494. if(3)
  495. stress = 80
  496. if(4)
  497. stress = 120
  498. if(5)
  499. stress = 175
  500. if(6)
  501. stress = 225
  502. if(7)
  503. stress = 275
  504.  
  505.  
  506. gatestress += stress / str * 100 * wregenlag
  507.  
  508. var/wound_stress = 150
  509. if(clan == "Youth")
  510. wound_stress = 300
  511.  
  512. while(gatestress>wound_stress)
  513. gatestress-=wound_stress
  514. Wound(1,19)
  515.  
  516. gatetime+=1 * wregenlag
  517.  
  518. var/overgated = 0
  519. if((clan != "Youth" && gatetime>800) || gatetime>1200)
  520. overgated = 1
  521.  
  522. if(overgated)
  523. Wound(300,3)
  524. CloseGates()
  525. src<<"The stress from the gates have taken a significant toll on your body."
  526. Hostile(src)
  527.  
  528. comboregen()
  529. set background = 1
  530. while(1)
  531. if(c)
  532. var/lc=c
  533. sleep(30)
  534. if(c==lc)
  535. c=0
  536. sleep(10)
  537.  
  538. regeneration2()
  539. set background = 1
  540. if(!initialized)
  541. sleep(100)
  542. spawn() regeneration2()
  543. return
  544. if(immortality)
  545. immortality-=0.1
  546. if(immortality<0)
  547. immortality=0
  548. if(!client)
  549. sleep(50)
  550. if(!EN[13])
  551. sleep(300)
  552. spawn()regeneration2()
  553. return
  554. if(!pk || !client)
  555. sleep(10)
  556. stunned-=1
  557. kstun-=1
  558. move_stun -= 10
  559. cc-=10
  560. attackbreak-=40
  561. //Jon Added
  562. paper_bomb_explode -= 1
  563. else
  564. if(kstun)
  565. kstun-=0.10
  566. if(stunned)
  567. stunned-=0.10
  568. //Jon Added
  569. if(paper_bomb_explode)
  570. paper_bomb_explode -= 0.1
  571. if(cc)
  572. cc--
  573. if(attackbreak)
  574. attackbreak-=2
  575. if(move_stun)
  576. --src.move_stun
  577. if(stunned<0)
  578. src.stunned=0
  579. if(kstun<0)
  580. src.kstun=0
  581. if(move_stun<0)
  582. src.move_stun=0
  583. if(cc<0)
  584. cc=0
  585. if(attackbreak<0)
  586. attackbreak=0
  587. //Jon Added
  588. if(paper_bomb_explode < 0)
  589. paper_bomb_explode = 0
  590.  
  591. sleep(1)
  592. spawn()regeneration2()
  593.  
  594. regeneration()
  595. set background = 1
  596. if(!initialized)
  597. sleep(100)
  598. spawn()regeneration()
  599. return
  600.  
  601. if(client && client.inactivity > 6000 && !(ckey in admins)) //10 minutes
  602. src << "You were booted for inactivity."
  603. client.SaveMob()
  604. del(client)
  605.  
  606. if(Tank)
  607. step(src,dir)
  608.  
  609. if(speedboost)
  610. src.Knockback(50,src.dir)
  611.  
  612. if(!client)
  613. sleep(50)
  614.  
  615. var/regenlag=wregenlag
  616.  
  617. if(!EN[12])
  618. sleep(300)
  619. spawn()regeneration()
  620. return
  621.  
  622. sleep(10 *regenlag)
  623. strbuff-=src.astrbuff
  624. rfxbuff-=src.arfxbuff
  625. conbuff-=src.aconbuff
  626. astrbuff=0
  627. arfxbuff=0
  628. aconbuff=0
  629.  
  630. if(pill==1)
  631. strbuff=round(src.str * 0.20)
  632. conbuff=round(src.con * 0.20)
  633. if(prob(20))
  634. Dec_Stam(rand(round((str+strbuff+con+conbuff)/4,1),round((str+strbuff+con+conbuff)/3,1)))
  635. spawn(15)
  636. if(pill < 1)
  637. strbuff = 0
  638. conbuff = 0
  639. else if(pill==2)
  640. strbuff=round(src.str * 0.45)
  641. conbuff=round(src.con * 0.45)
  642. if(prob(40))
  643. Dec_Stam(rand(round((str+strbuff+con+conbuff)/4,1),round((str+strbuff+con+conbuff)/2.5,1)))
  644. if(prob(27))
  645. Wound(rand(1,2))
  646. spawn(15)
  647. if(pill < 2)
  648. strbuff = 0
  649. conbuff = 0
  650. else if(pill==3)
  651. strbuff=round(src.str*0.75)
  652. conbuff=round(src.con*0.75)
  653. //if(prob(60))
  654. // Dec_Stam(rand(round((str+strbuff+con+conbuff)/3,1),round((str+strbuff+con+conbuff)/2.5,1)))
  655. //spawn(15)
  656. // if(pill < 3)
  657. // strbuff = 0
  658. // conbuff = 0
  659.  
  660. /* if(hearts.len)
  661. if(!hearts.len > 5)
  662.  
  663. conbuff=round(con*(0.4*hearts.len))
  664. strbuff=round(str*(0.4*hearts.len))
  665. rfxbuff=round(rfx*(0.4*hearts.len))*/
  666. if(clan == "Scavenger")
  667. if(hearts < 0)
  668. hearts = 0
  669. if(hearts > 6)
  670. hearts = 6
  671.  
  672. //Jon Added
  673. if(paper_armor)
  674. conbuff = round(con * 0.2)
  675. rfxbuff = round(rfx * 0.2)
  676.  
  677. curchakra = min(chakra*3, curchakra)
  678.  
  679. if(scalpol)
  680. scalpoltime = min(10, scalpoltime + 1*regenlag)
  681. if(alertcool)
  682. alertcool = max(0, alertcool - 1*regenlag)
  683. if(MissionCool)
  684. MissionCool = max(0, MissionCool - 1*regenlag)
  685.  
  686. strbuff = max(0, strbuff)
  687. rfxbuff = max(0, rfxbuff)
  688. intbuff = max(0, intbuff)
  689. conbuff = max(0, conbuff)
  690. Poison = max(0, min(100, Poison))
  691. adren = min(100, adren)
  692. adren2 = min(100, adren2)
  693.  
  694. if(adren)
  695. if(strbuff<round(str*adren/200))
  696. astrbuff=round(str*(adren/200))-strbuff
  697. strbuff+=astrbuff
  698. if(rfxbuff<round(rfx*(adren/200)))
  699. arfxbuff=round(rfx*(adren/200))-rfxbuff
  700. rfxbuff+=arfxbuff
  701. if(conbuff<round(con*(adren/200)))
  702. aconbuff=round(con*(adren/200))-conbuff
  703. conbuff+=aconbuff
  704. if(prob(25))
  705. adren-=1*regenlag
  706.  
  707. if(adren2)
  708. if(rfxbuff<round(rfx*(adren/200)))
  709. arfxbuff=round(rfx*(adren/200))-rfxbuff
  710. rfxbuff+=arfxbuff
  711. if(prob(25))
  712. adren-=1*regenlag
  713.  
  714. if(clan == "Reckless")
  715. if(src && src.rfxbuff > 1)
  716. if(prob(33)) if(src) src.rfxbuff -= 1*regenlag
  717.  
  718. if(clan == "Scavenger")
  719. if(hearts < 0)
  720. hearts = 0
  721. if(hearts > 6)
  722. hearts = 6
  723.  
  724. if(stunned>300 && !pk)
  725. stunned=0
  726.  
  727. var/area/A
  728. if(loc)
  729. A = loc.loc
  730. if(istype(A,/area/nopkzone))
  731. pk = 0
  732. dojo = 1
  733. risk = 0
  734. else if(istype(A,/area/pkzone_dojo))
  735. pk = 1
  736. dojo = 1
  737. risk = 0
  738. else
  739. pk = 1
  740. dojo = 0
  741.  
  742. if(!pk)
  743. nopktime++
  744. else
  745. nopktime=0
  746.  
  747.  
  748. if(movepenalty)
  749. if(!pk)
  750. movepenalty=0
  751. else if(prob(60))
  752. movepenalty-=5
  753. if(movepenalty<0)
  754. movepenalty=0
  755.  
  756. maxwound = 100
  757.  
  758. if(clan == "Jashin")
  759. maxwound=150
  760. else if(clan == "Scavenger")
  761. maxwound = 50
  762. if(src.hearts)
  763. maxwound += 30*src.hearts
  764. else if(clan == "Sage")
  765. maxwound = 130
  766.  
  767. if(client)
  768. if(!client.eye)
  769. client.eye=client.mob
  770.  
  771. if(ezing && !(/mob/EZ/verb/EZ_Remove_Flag in verbs))
  772. verbs+=/mob/EZ/verb/EZ_Remove_Flag
  773. winset(src, "ez_remove_verb", "parent=menu_commands;name=\"&Remove EZ-Flag\";command=EZ-Remove-Flag")
  774.  
  775. if(VoteM && votecool2<=0 && !(/mob/vote/verb/Vote_Yes in verbs))
  776. verbs+=/mob/vote/verb/Vote_No
  777. verbs+=/mob/vote/verb/Vote_Yes
  778. verbs+=/mob/vote/verb/Vote_What
  779. winset(src, "vote_menu", "parent=menu;name=\"&Vote\"")
  780. winset(src, "vote_verb_yes", "parent=vote_menu;name=\"Vote &Yes\";command=Vote-Yes")
  781. winset(src, "vote_verb_no", "parent=vote_menu;name=\"Vote &No\";command=Vote-No")
  782. winset(src, "vote_verb_what", "parent=vote_menu;name=\"Voting for &What\";command=Vote-What")
  783.  
  784. if(votecool || votecool2)
  785. votecool-= 1 * regenlag
  786. votecool2-= 1 * regenlag
  787. if(votecool < 0)
  788. votecool = 0
  789. if(votecool2 < 0)
  790. votecool2 = 0
  791.  
  792. if(controlmob || tajuu)
  793. for(var/obj/gui/skillcards/interactcard/x in client.screen)
  794. x.icon_state="ibunshindispell"
  795. else
  796. for(var/obj/gui/skillcards/interactcard/x in client.screen)
  797. if(x.icon_state=="ibunshindispell")
  798. x.icon_state="interact0"
  799.  
  800. if(MissionTimeLeft > 0)
  801. MissionTimeLeft--
  802. if(MissionTimeLeft <= 0)
  803. MissionFail()
  804. alert(src,"You ran out of time!")
  805.  
  806. if(cexam==5)
  807. if(!pk)
  808. cexam=4
  809.  
  810. world<<"<span class='chuunin_exam'>[src] ran out of the match!</span>"
  811.  
  812. curwound=0
  813. curstamina=src.stamina
  814. curchakra=src.chakra
  815. CArena()
  816.  
  817. if(chuuninwatch && !haschuuninwatch)
  818. verbs+=/mob/Chuunin/verb/Watch_Fight_Chuunin
  819. winset(src, "chuunin_menu", "parent=menu;name=\"&Chuunin Exam\"")
  820. winset(src, "chuunin_verb_watch", "parent=chuunin_menu;name=\"&Watch Fight\";command=Watch-Fight-Chuunin")
  821. haschuuninwatch=1
  822. else if(haschuuninwatch && !chuuninwatch)
  823. verbs-=/mob/Chuunin/verb/Watch_Fight_Chuunin
  824. winset(src, "chuunin_menu", "parent=")
  825. winset(src, "chuunin_verb_watch", "parent=")
  826. haschuuninwatch=0
  827.  
  828. if(cexam)
  829. verbs+=/mob/Chuunin/verb/Leave_Exam
  830. winset(src, "chuunin_menu", "parent=menu;name=\"&Chuunin Exam\"")
  831. winset(src, "chuunin_verb_leave", "parent=chuunin_menu;name=\"&Leave Exam\";command=Leave-Exam")
  832. else if(rank == "Genin" && chuuninreg)
  833. winset(src, "chuunin_menu", "parent=menu;name=\"&Chuunin Exam\"")
  834. winset(src, "chuunin_verb_join", "parent=chuunin_menu;name=\"&Enter Exam\";command=Join-Chuunin")
  835. verbs+=/mob/Chuunin/verb/Join_Chuunin
  836.  
  837. if(WAR&&war)
  838. if(!winexists(src,"war_verb_leave"))
  839. winset(src, "war_menu", "parent=menu;name=\"&War\"")
  840. winset(src, "war_verb_leave", "parent=war_menu;name=\"&Leave War\";command=Leave-War")
  841. verbs+=/mob/War/verb/Leave_War
  842. else if(WAR&&!war)
  843. if(!winexists(src,"war_verb_join"))
  844. winset(src, "war_menu", "parent=menu;name=\"&War\"")
  845. winset(src, "war_verb_join", "parent=war_menu;name=\"&Join War\";command=Join-War")
  846. verbs+=/mob/War/verb/Join_War
  847. else if(!WAR&&!war)
  848. if(winexists(src,"war_menu"))
  849. winset(src,"war_menu","parent=")
  850.  
  851. if(CTF&&ctf)
  852. if(!winexists(src,"ctf_verb_leave"))
  853. winset(src, "ctf_menu", "parent=menu;name=\"&CTF\"")
  854. winset(src, "ctf_verb_leave", "parent=ctf_menu;name=\"&Leave CTF\";command=Leave-CTF")
  855. verbs+=/mob/CTF/verb/Leave_CTF
  856. else if(CTF&&!ctf)
  857. if(!winexists(src,"ctf_verb_join"))
  858. winset(src, "ctf_menu", "parent=menu;name=\"&CTF\"")
  859. winset(src, "ctf_verb_join", "parent=ctf_menu;name=\"&Join CTF\";command=Join-CTF")
  860. verbs+=/mob/CTF/verb/Join_CTF
  861. else if(!CTF&&!ctf)
  862. if(winexists(src,"ctf_menu"))
  863. winset(src,"ctf_menu","parent=")
  864.  
  865. if(tourney && !has_tourney_verbs)
  866. verbs+=typesof(/mob/Tourney/verb)
  867. winset(src, "tourney_menu", "parent=menu;name=\"&Tournament\"")
  868. winset(src, "tourney_verb_check", "parent=tourney_menu;name=\"&Check Registered Fighters\";command=Check-Registered-Fighters")
  869. winset(src, "tourney_verb_watch", "parent=tourney_menu;name=\"&Watch Fight\";command=Watch-Fight")
  870. has_tourney_verbs=1
  871. else if(!tourney && has_tourney_verbs)
  872. verbs-=typesof(/mob/Tourney/verb)
  873. winset(src, "tourney_verb_watch", "parent=")
  874. winset(src, "tourney_verb_check", "parent=")
  875. winset(src, "tourney_menu", "parent=")
  876. has_tourney_verbs=0
  877.  
  878. if(protected)
  879. protected-=1*regenlag
  880. if(protected<=0)
  881. protected=0
  882.  
  883. if(!pk && gate)
  884. CloseGates()
  885.  
  886. if(client || RP)
  887. if(!pk&&!AFK&&curstamina>=stamina && curchakra>=src.chakra && client.inactivity >= 600)
  888. AFK=1
  889.  
  890. if(pk||(AFK && client.inactivity <600))
  891. AFK=0
  892.  
  893. if(!pk&&!AFK2&&curstamina>=stamina && curchakra>=chakra)
  894. AFK2=1
  895.  
  896. if(pk)
  897. AFK2=0
  898.  
  899. if(usedelay>0)
  900. usedelay--
  901. if(usedelay<0)
  902. usedelay=0
  903.  
  904.  
  905. if(movedrecently)
  906. movedrecently--
  907. if(movedrecently<0)
  908. movedrecently=0
  909.  
  910. if(skillspassive[15])
  911. maxsupplies=100 + 100*0.20*skillspassive[15]
  912. else
  913. maxsupplies=100
  914.  
  915. var/maxwound1=100
  916. var/maxwound2=200
  917. if(clan == "Scavenger")
  918. maxwound1= 50
  919. maxwound2=250
  920. if(src.hearts)
  921. maxwound1 += 30*src.hearts
  922. else if(clan == "Sage")
  923. maxwound1 = 130
  924. maxwound2 = 160
  925. else if(clan == "Jashin")
  926. maxwound1=150
  927. maxwound2=250
  928. if(immortality)
  929. maxwound1=300
  930. maxwound2=99999
  931.  
  932. if(curwound>(maxwound1*1.5)&&gate)
  933. CloseGates()
  934.  
  935. if(curwound>=maxwound2 && !immortality)
  936. curstamina=0
  937.  
  938. if(curstamina<=0)
  939. KO()
  940.  
  941. if(client)
  942. if(client.computer_id in DeathList)
  943. return
  944.  
  945. if(ko)
  946. if(curstamina>0)
  947. protected=3
  948. stunned=0
  949. ko=0
  950. icon_state=""
  951. //end ko stuff
  952.  
  953. if(layer!=MOB_LAYER && !ko &&!incombo)
  954. sleep(10)
  955. if(!incombo)
  956. layer=MOB_LAYER
  957.  
  958. if(hasbonesword)
  959. if(boneuses<=0)
  960. hasbonesword=0
  961. boneuses=0
  962. for(var/obj/items/weapons/xox in contents)
  963. if(istype(xox,/obj/items/weapons/melee/sword/Bone_Sword))
  964. weapon=new/list
  965.  
  966. xox.loc = null
  967. Load_Overlays()
  968. if(bonedrill)
  969. if(bonedrilluses<=0)
  970. bonedrill=0
  971. bonedrilluses=0
  972. src<<"Your bone drill has shattered!"
  973. Load_Overlays()
  974.  
  975. var/stammultiplier=1
  976. var/chakramultiplier=1
  977. if(clan == "Youth")
  978. stammultiplier=1.5
  979. chakramultiplier=0.5
  980. else if(clan == "Capacity")
  981. stammultiplier=1.25
  982. chakramultiplier=1.5
  983. else if(clan == "Modified")
  984. var/num = rand(1,25)
  985. var/boost = 1
  986. if(num == 5 )
  987. boost = 1.05
  988. else if(num == 10)
  989. boost = 1.10
  990. else if(num == 15)
  991. boost = 1.15
  992. else
  993. boost = 1
  994.  
  995. stammultiplier="[boost]"
  996. chakramultiplier="[boost]"
  997.  
  998. else if(clan == "Battle Hardened")
  999. stammultiplier=1.15
  1000. chakramultiplier=1.15
  1001.  
  1002.  
  1003. if(gate == 8)
  1004. rfxbuff=src.rfx*0.13
  1005. strbuff=src.str*0.13
  1006. if(gate == 7)
  1007. rfxbuff=src.rfx*0.9
  1008. strbuff=src.str*0.9
  1009. if(gate == 6)
  1010. rfxbuff=src.rfx*0.6
  1011. strbuff=src.str*0.6
  1012. if(gate >= 5)
  1013. rfxbuff=src.rfx*0.4
  1014. strbuff=src.str*0.4
  1015. else if(gate>=3)
  1016. rfxbuff=src.rfx*0.1
  1017. strbuff=src.str*0.1
  1018. else if(gate>=1)
  1019. rfxbuff=src.rfx*0.08
  1020. strbuff=src.str*0.08
  1021.  
  1022. if(sage_mode)
  1023. strbuff = str * 0.5
  1024. conbuff = con * 0.5
  1025.  
  1026. if(curse_seal == 1)
  1027. rfxbuff = rfx * 0.4
  1028. strbuff = str * 0.3
  1029. conbuff = con * 0.3
  1030. else if(curse_seal == 2)
  1031. rfxbuff = rfx * 0.8
  1032. conbuff = con * 0.8
  1033. strbuff = str * 0.5
  1034. intbuff = int * 0.9
  1035.  
  1036. if(byakugan)
  1037. rfxbuff = rfx * 0.4
  1038. conbuff = con * 0.3
  1039.  
  1040. if(shukkaku)
  1041. rfxbuff = rfx * 0.4
  1042. conbuff = con * 0.3
  1043.  
  1044. if(gate)
  1045. GateStress()
  1046. else
  1047. if(gatetime)
  1048. gatetime-=regenlag
  1049. if(gatetime<=0)
  1050. gatetime=0
  1051.  
  1052. var/cmul=1
  1053. var/smul=1
  1054. if(skillspassive[3])
  1055. cmul*=0.03*skillspassive[3] + 1
  1056. smul*=0.03*skillspassive[3] + 1
  1057.  
  1058. if(ibpd)
  1059. smul -= 1.5
  1060. cmul -= 1.5
  1061.  
  1062. //if(adren)
  1063. // cmul += 0.0025 * src.adren
  1064. // smul += 0.0025 * src.adren
  1065.  
  1066. if(gentle_fist_block)
  1067. gentle_fist_block = min(20, gentle_fist_block)
  1068. cmul *= 1-(gentle_fist_block*0.01)
  1069.  
  1070.  
  1071. if(pill == 1)
  1072. cmul *= 1.5
  1073. smul *= 1.10
  1074. else if(pill == 2)
  1075. cmul *= 1.5
  1076. smul *= 1.5
  1077. else if(pill==3)
  1078. cmul*=2
  1079. smul*=2
  1080. // if(boneharden)
  1081. // cmul *= 0.57
  1082.  
  1083. if(hearts)
  1084. smul += smul*(0.05 * hearts)
  1085. cmul += cmul*(0.05 * hearts)
  1086.  
  1087. if(skillspassive[32] == 1)
  1088. smul *= 1.10
  1089. cmul *= 1.10
  1090. else if(skillspassive[32] == 2)
  1091. smul *= 1.20
  1092. cmul *= 1.20
  1093. else if(skillspassive[32] == 3)
  1094. smul *= 1.30
  1095. cmul *= 1.30
  1096. else if(skillspassive[32] == 4)
  1097. smul *= 1.40
  1098. cmul *= 1.40
  1099. else if(skillspassive[32] == 5)
  1100. smul *= 1.50
  1101. cmul *= 1.50
  1102.  
  1103. if(sakpunch && curchakra>100)
  1104. curchakra-=100
  1105. if(sakpunch&&curchakra<100)
  1106. sakpunch=0
  1107.  
  1108. if(gate<3)
  1109. stamina=2000+(blevel*25 +(str+strbuff+strneg)*13)*stammultiplier
  1110. chakra=(500 + (con+conbuff+conneg)*5)*chakramultiplier
  1111. else
  1112. stamina=2000+(blevel*25 +(str+strbuff+strneg)*18)*stammultiplier
  1113. chakra=(500 + (con+conbuff+conneg)*7)*chakramultiplier
  1114.  
  1115. chakraregen=round(cmul*(chakra*1.5)/100)
  1116. staminaregen=round(smul*stamina/100)
  1117.  
  1118. if(skillspassive[22])
  1119. chakra*=1 + skillspassive[22]*0.04
  1120.  
  1121. if(chakrablocked>0)
  1122. chakraregen=0
  1123. chakrablocked-=1*regenlag
  1124. if(chakrablocked<0)
  1125. chakrablocked=0
  1126.  
  1127. var/ei=0
  1128. for(var/obj/items/o in src.contents)
  1129. if(o.weight>0)
  1130. ei+=o.weight
  1131. weight=ei
  1132.  
  1133. if(asleep)
  1134. icon_state="Dead"
  1135.  
  1136. if(byakugan)
  1137. for(var/mob/human/x in orange(10))
  1138. var/image/I = image('icons/base_chakra.dmi',x,x.icon_state,99999,x.dir)
  1139. src << I
  1140. spawn(10*regenlag)
  1141. if(client)
  1142. client.images -= I
  1143. else if(sharingan || sage_mode)
  1144. for(var/mob/human/x in orange(10))
  1145. var/chakra_level = x.curchakra / x.chakra
  1146. var/chakra_state
  1147. if(chakra_level > 0.67)
  1148. chakra_state = "high"
  1149. else if(chakra_level > 0.33)
  1150. chakra_state = "med"
  1151. else
  1152. chakra_state = "low"
  1153.  
  1154. var/image/I = image('icons/sharingan_chakra.dmi',x,chakra_state,MOB_LAYER+0.01,x.dir)
  1155. src << I
  1156. spawn(10*regenlag)
  1157. if(client)
  1158. client.images -= I
  1159.  
  1160. if(sharingan)
  1161. if(istype(x, /mob/human/player/npc/bunshin) || istype(x, /mob/human/player/npc/kage_bunshin))
  1162. var/image/J = image('icons/sharingan_chakra.dmi',x,"bunshin",MOB_LAYER+0.01,x.dir)
  1163. src << J
  1164. spawn(10*regenlag)
  1165. if(client)
  1166. client.images -= J
  1167.  
  1168. waterlogged=0
  1169.  
  1170. for(var/obj/Water/x in loc)
  1171. waterlogged=1
  1172. for(var/turf/water/x in loc)
  1173. waterlogged=1
  1174.  
  1175. if(!waterlogged)
  1176. waterlogged=Iswater(x, y, z)
  1177.  
  1178. if(waterlogged)
  1179. var/obj/haku_ice/ice = locate(/obj/haku_ice) in loc
  1180. if(ice)
  1181. waterlogged = 0
  1182. chakraregen *= 0.75
  1183.  
  1184. if(waterlogged&&!protected)
  1185. if(curchakra<15)
  1186. curstamina=0
  1187.  
  1188. var/obj/items/usable/Respec/O
  1189. if(O in src)
  1190. for(O) del(O)
  1191.  
  1192. if(!paralysed && !incombo)
  1193. layer=MOB_LAYER
  1194. if(maned)
  1195. if(stunned<2)
  1196. stunned=3
  1197.  
  1198. var/missregen=0
  1199.  
  1200. if(Poison && !skillspassive[32] == 1)
  1201. if(prob(50))
  1202. missregen=1
  1203.  
  1204. if(in_tsukuyomi)
  1205. missregen = 1
  1206.  
  1207. if(stop_regen == 1)
  1208. missregen = 1
  1209.  
  1210. if(gate >= 6)
  1211. if(prob(22))
  1212. sleep(1)
  1213. Wound(rand(1, 3))
  1214.  
  1215. if(Poison && src.skillspassive[32] >= 1)
  1216. src.Poison = 0
  1217. missregen = 0
  1218.  
  1219. /// if(pill == 3)
  1220. // stop_regen = 1
  1221.  
  1222. if(client && client.inputting)
  1223. missregen=1
  1224.  
  1225. if(stunned <= 0 && pill != 3)
  1226. stop_regen = 0
  1227.  
  1228.  
  1229. if(!missregen)
  1230. var/r = 20
  1231. if(risk == 1)
  1232. r = 22
  1233. else if(risk > 1)
  1234. r = 25
  1235.  
  1236. if(src.blevel>=100)
  1237. r=10
  1238. if(src.blevel>=100 && risk==1)
  1239. r=12
  1240. if(src.blevel>=100 && risk>1)
  1241. r=15
  1242.  
  1243. if((curwound < maxwound || immortality) && !mane && !maned && !waterlogged && !ezing && !RP)
  1244. if(curchakra < chakra)
  1245. if(chakraregen*regenlag > (chakra-curchakra))
  1246. curchakra= chakra
  1247. else
  1248. curchakra += chakraregen*regenlag
  1249. if(nopktime<100)
  1250. body+=r*regenlag*lp_mult
  1251. bodycheck()
  1252.  
  1253. else if(curstamina<stamina)
  1254. if((staminaregen)*regenlag > (stamina-curstamina))
  1255. curstamina=stamina
  1256. else
  1257. curstamina+=staminaregen*regenlag
  1258. body+=r*regenlag*lp_mult
  1259. bodycheck()
  1260.  
  1261. if(Poison)
  1262. var/poison_multiplier = 1
  1263. if(clan == "Battle Conditioned")
  1264. poison_multiplier = 0.1
  1265.  
  1266. curchakra -= round(Poison / 2 * poison_multiplier) * regenlag
  1267. curstamina -= round(Poison * poison_multiplier) * regenlag
  1268.  
  1269. ++Recovery
  1270. if(Recovery >= 2)
  1271. Recovery = 0
  1272. Poison -= 1 * regenlag
  1273.  
  1274. spawn() refresh_rank()
  1275. spawn() regeneration()
  1276.  
  1277. mob/human/player/verb
  1278. Check_Ninja_Report_Card()
  1279. var/grade=0
  1280. usr<<"Level Grade: <b>[blevel]</b>"
  1281. grade+=min(200,blevel)
  1282. usr<<"Kills/Deaths: [src.factionpoints] / [src.diedd]"
  1283. grade+=min(10,round(src.factionpoints/500 *10 - (src.diedd*2))) //10% of grade based on factionpoints
  1284. usr<<"Total Grade <b>[grade]</b>% / 200%"
  1285. if(usr.faction && usr.faction.village != "Missing") usr<<"Note that your Faction Rank (Genin, Chuunin etc) will effect what percent is required for each letter grade."
  1286. usr<<"Current Rank: [ninrank]"
  1287.  
  1288. mob
  1289. var
  1290. //Feral
  1291. diedd = 0
  1292. mangekyouU = 0
  1293. tried = 0
  1294.  
  1295. mob/proc/refresh_rank()
  1296. var/r="D"
  1297. var/grade=0
  1298. var/pos=RankGrade() //1-5
  1299. grade+=min(60,round(src.blevel/80 *60))//min(100,blevel)//min(60,round(src.blevel/80 *60)) //60% of grade based on level
  1300. grade+=min(10,round(src.factionpoints/500 *10)) //10% of grade based on factionpoints
  1301.  
  1302. grade+=min(30,round((src.factionpoints/(src.diedd+1))/3 * 30)) //30% based on kill2deaths
  1303. if(pos==1 && grade>30 || pos==2 && grade>20 || pos==3 && grade>17 || pos==4 && grade>15 ||pos==5 && grade>10)
  1304. r="C"
  1305. if(pos==1 && grade>60 || pos==2 && grade>40 || pos==3 && grade>35 || pos==4 && grade>30 ||pos==5 && grade>27)
  1306. r="B"
  1307. if(pos==1 && grade>85 || pos==2 && grade>80 || pos==3 && grade>75 || pos==4 && grade>70 ||pos==5 && grade>65)
  1308. r="A"
  1309. if(pos==1 && grade>98 || pos==2 && grade>95 || pos==3 && grade>93 || pos==4 && grade>89 ||pos==5 && grade>85)
  1310. r="S"
  1311. src.ninrank=r
  1312.  
  1313. mob
  1314. MasterdanVerb
  1315. verb
  1316. Reboot()
  1317. if(usr.ckey == "medz03")
  1318. usr << "This is disabled for you."
  1319. return
  1320. world.Reboot(1)
  1321. Set_Level(mob/human/player/M in All_Clients(), level as num)
  1322. level = min(200, level)
  1323. //if(usr.ckey == "starlightaido"||usr.ckey=="proffessoraido")
  1324. // if(level>100)
  1325. // level=100
  1326. while(M && M.blevel < level)
  1327. M.body=Req2Level(M.blevel)+1
  1328. M.bodycheck()
  1329. sleep(2)
  1330. usr<<"Complete!"
  1331. // file("logs/GM_[time2text(world.realtime, "YYYY-MM-DD")].log") << "[time2text(world.timeofday, "hh:mm:ss")]\t[usr]\tLevels: [level]\t[M] ([M.key])"
  1332.  
  1333.  
  1334. var/lp_mult
  1335. mob/human
  1336. proc
  1337. bodycheck()
  1338. if(src.body>Req2Level(src.blevel) && blevel < 200)
  1339. src.body=0
  1340. src.blevel++
  1341.  
  1342. //if(src.blevel==20)
  1343. // src<<"<b><font color=red>Now that you are past level 20, you will gain lower level points by training in the dojo. To level up the fastest you need to fight enemy ninja!</font></b>"
  1344.  
  1345. //if(blevel == 20 || blevel == 40 || blevel == 60 || blevel == 80 || blevel == 100)
  1346. // src<<"<b>You've gained a village passive!"
  1347. // src.skillspassive[29]++
  1348.  
  1349. if(src.blevel==200)
  1350. src<<"<b><font color=red>You have reached the level cap!</font></b>"
  1351.  
  1352. var/all_helpers = list()
  1353. for(var/village in helpers)
  1354. all_helpers += helpers[village]
  1355.  
  1356. /*if(src.blevel >= 20 && (src in newbies) && !(src.name in all_helpers) && !(ckey in admins))
  1357. newbies -= src
  1358. verbs -= /mob/human/player/newbie/verb/OOC
  1359. winset(src, "nooc_button", "is-visible=false")
  1360. if(winget(src, "default_input", "command") == "OOC")
  1361. winset(src, "default_input", "command=Say")
  1362. winset(src, "nooc_button", "is-checked=false")
  1363. winset(src, "say_button", "is-checked=true")*/
  1364.  
  1365. src.levelpoints+=6
  1366.  
  1367. src.Refresh_Levelpoints()
  1368. src.Refresh_Skillpoints()
  1369.  
  1370. proc
  1371. Req2Level(L)
  1372. if(L<=15)
  1373. return ((L*L*100)+1000)
  1374. else if(L>15 && L<=30)
  1375. return(25000+ L*500)
  1376. else if(L>30 && L<=55)
  1377. return (40000+(L-30)*L*50) //35:53750 45:78750 55:113750 56:123500
  1378. else if(L>55)
  1379. return (((L-20)*(L-20)*100))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement