Advertisement
Guest User

procs

a guest
Dec 3rd, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.18 KB | None | 0 0
  1. mob
  2. var
  3. zab = 0
  4.  
  5. mob
  6. var
  7. strgain
  8. defgain
  9. reigain
  10. reipgain
  11. healthgain
  12. healthwas
  13. expgain
  14. spawntime
  15. mob
  16. proc
  17. Death(mob/M)
  18. if(!src||!M) //if there isn't a source or M after it's called(by logging out for instance)
  19. return //cancel
  20. if(src.npc||src.ispedal||src.safe||src.zab) //if src is a npc, a pedal, safe or a zabimaruobject
  21. src.health = src.mhealth //set their hp back to full
  22. if(src.vailast&&src.health <= 0&&src.race == "Shinigami") //standard vai check, no idea
  23. src.vaizardTest() //this is where the vaizard code used to be. It's now in a seperate proc in this code file
  24. if(src.enemy) //if src is an enemy
  25. M.hollowprotection = 0 //set hollow protection of attacker/killer to 0
  26. if(src.health<=0) //if src has less than or equal to 0 hp
  27. src.health = src.healthwas //set hp to hpwas
  28. for(var/mob/M2 in oview(10)) //for every mob in a view of 10 from the src
  29. if(M2.in_team) //if a move in a view of 10 is in a team
  30. if(M2.teamid == M.teamid) //if that team is equal to the team of the attacker/killer
  31. M2.mhealth += round(src.healthgain/4)
  32. M2.mrei += round(src.reigain/4)
  33. M2.mdefence += round(src.defgain/4)
  34. M2.mattack += round(src.strgain/4)
  35. M2.mreiatsu += round(src.reipgain/4)
  36. M2.exp += round(src.expgain/4)
  37. M2.attack = M2.mattack
  38. M2.defence = M2.mdefence
  39. M2.reiatsu = M2.mreiatsu
  40. M2.levelup()
  41. M2 << output("<b>[M] has defeated a [src]! You gained [src.expgain/4] experience!","gametext")
  42. M2.skill()
  43. if(M.in_team) //if the attacker/killer is a team
  44. M.mhealth += round(src.healthgain/2)
  45. M.mrei += round(src.reigain/2)
  46. M.mdefence += round(src.defgain/2)
  47. M.mattack += round(src.strgain/2)
  48. M.mreiatsu += round(src.reipgain/2)
  49. M.exp += round(src.expgain/2)
  50. M.attack = M.mattack
  51. M.defence = M.mdefence
  52. M.reiatsu = M.mreiatsu
  53. M << output("<b>You have defeated a [src]! You gained [src.expgain/2] experience!","gametext")
  54. M.levelup()
  55. M.skill()
  56. else
  57. M.mhealth += src.healthgain
  58. M.mrei += src.reigain
  59. M.mdefence += src.defgain
  60. M.mattack += src.strgain
  61. M.mreiatsu += src.reipgain
  62. M.exp += src.expgain
  63. M.attack = M.mattack
  64. M.defence = M.mdefence
  65. M.reiatsu = M.mreiatsu
  66. M.levelup()
  67. M.skill()
  68. M << output("<b>You have defeated a [src]! You gained [src.expgain] experience!</b>","gametext")
  69. if(src.soulfragments>0)
  70. M.soulfragments += src.soulfragments
  71. src.soulfragments = src.soulfragmentswas
  72. M << output("<b>You pick up [src.soulfragments] soul fragments.</b>","gametext")
  73. src.loc = locate(0,0,0)
  74. spawn(src.spawntime*10)
  75. src.loc = src.oldspot
  76. return
  77. if(src.health <= 0) //from here it's what happens if the src is a player
  78. src.overlays -= 'sword.dmi'
  79. src.inbankai = 0
  80. src.inshikai = 0
  81. src.verbs -= /mob/renji/verb/Higa_Zekkou
  82. src.seeleuse = 0
  83. src.overlays -= 'rikujoukourou.dmi'
  84. src.overlays -= 'rukiashikai.dmi'
  85. src.overlays -= 'rukiabankai.dmi'
  86. src.flashstep = 1
  87. src.bowon = 0
  88. src.rundelay = 2
  89. src.renjishikai = 0
  90. src.retract = 0
  91. src.controlbug = 0
  92. src.kirashi = 0
  93. src.overlays -= 'hinamorishikai.dmi'
  94. src.overlays -= 'hinamorishikai.dmi'
  95. src.overlays -= 'ichigobankaiclothes.dmi'
  96. src.renjibankai = 0
  97. src.hitsugayabankai = 0
  98. src.ikkakushikai = 0
  99. src.overlays -= /obj/ikkaku1
  100. src.overlays -= /obj/ikkaku2
  101. src.overlays -= /obj/ikkaku3
  102. src.overlays -= /obj/ikkaku4
  103. src.overlays -= /obj/ikkaku5
  104. src.inoueshield = 0
  105. src.overlays -= /obj/ikkaku6
  106. src.overlays -= /obj/ikkaku7
  107. src.overlays -= /obj/ikkaku8
  108. src.overlays -= /obj/ikkaku9
  109. src.overlays -= 'mayurishikai.dmi'
  110. src.overlays -= /obj/mayuri1
  111. src.overlays -= /obj/mayuri2
  112. src.overlays -= /obj/mayuri3
  113. src.overlays -=/obj/seele1
  114. src.overlays -=/obj/seele2
  115. src.overlays -=/obj/seele3
  116. src.verbs -= /mob/byaku/verb/Scene_of_Massacre
  117. src.overlays -=/obj/seele4
  118. src.overlays -=/obj/seele5
  119. src.overlays -=/obj/seele1
  120. src.seele = 0
  121. src.overlays -=/obj/seele2
  122. src.verbs -= new /mob/kido/verb/Power_Burst()
  123. src.overlays -=/obj/seele3
  124. src.overlays -=/obj/seele4
  125. src.overlays -=/obj/seele5
  126. src.overlays -=/obj/seele1
  127. src.overlays -=/obj/seele2
  128. src.overlays -= 'byakuyabankaisword.dmi'
  129. src.overlays -= 'byakuyabankaisword.dmi'
  130. src.overlays -= 'byakuyabankaisword.dmi'
  131. src.overlays -=/obj/seele3
  132. src.overlays -=/obj/seele4
  133. src.overlays -=/obj/seele5
  134. src.overlays -= /obj/mayuri4
  135. src.overlays -= /obj/mayuri5
  136. src.underlays -= /obj/mayuri6
  137. src.overlays -= /obj/bankai1
  138. src.overlays -= /obj/bankai2
  139. src.overlays -= 'bountowindsword.dmi'
  140. src.overlays -= 'bountowindsword2.dmi'
  141. src.overlays -= /obj/bankai3
  142. src.overlays -= /obj/bankai4
  143. src.ikkakubankai = 0
  144. src.overlays -= /obj/bankai5
  145. src.overlays -= /obj/bankai6
  146. src.attack = src.mattack
  147. src.defence = src.mdefence
  148. src.overlays -= 'ichigobankai.dmi'
  149. src.overlays -= 'ichigobankai.dmi'
  150. src.overlays -= 'kirashikaiun.dmi'
  151. src.overlays -= 'kirashikai.dmi'
  152. src.overlays -= 'vaizard.dmi'
  153. src.icon_state = ""
  154. src.overlays -= 'quincybow.dmi'
  155. src.verbs -= /mob/yumichika/verb/Cyclone_Slash
  156. src.overlays -= 'quincybow2.dmi'
  157. src.overlays -= 'quincybow.dmi'
  158. src.overlays -= 'quincyfinal.dmi'
  159. src.overlays -= 'chadarm.dmi'
  160. src.overlays -= 'byakuyashikaisword.dmi'
  161. src.overlays -= 'chadarm2.dmi'
  162. for(var/obj/byakublade/Ma in world)
  163. if(Ma.owner == src)
  164. del Ma
  165. src.overlays -= 'chadarm3.dmi'
  166. src.overlays -= 'quincyfinalwing.dmi'
  167. src.overlays -= 'quincybow3.dmi'
  168. src.overlays -= /obj/wing1
  169. src.overlays -= 'renjishikai.dmi'
  170. src.overlays -= 'ichigoshikai.dmi'
  171. src.overlays -= 'zarakishikai.dmi'
  172. src.hollowprotection = 1
  173. if(src.race == "Bount")
  174. src.overlays -= /obj/faura1
  175. src.overlays -= /obj/faura2
  176. src.overlays -= /obj/faura3
  177. src.overlays -= /obj/faura4
  178. src.overlays -= /obj/faura5
  179. src.overlays -= /obj/faura6
  180. src.overlays -= /obj/faura7
  181. src.overlays -= /obj/faura8
  182. src.overlays -= /obj/maura1
  183. src.overlays -= 'bountoyoshi.dmi'
  184. src.overlays -= /obj/maura2
  185. src.overlays -= /obj/maura3
  186. src.overlays -= /obj/maura4
  187. src.overlays -= /obj/maura5
  188. src.overlays -= /obj/maura6
  189. src.overlays -= /obj/maura7
  190. src.overlays -= /obj/maura8
  191. src.underlays -= 'bountometal.dmi'
  192. src.underlays -= 'bountofire.dmi'
  193. src.icon = 'base.dmi'
  194. src.verbs -= /mob/yoshi/verb/Life_Shaver
  195. src.verbs -= /mob/getsuga/verb/getsuga2
  196. src.verbs -= /mob/fire/verb/Fire_Ball
  197. src.verbs -= /mob/metal/verb/Metal_Ball
  198. src.overlays -= 'ichigoshikai.dmi'
  199. src.overlays -= 'renjishikai.dmi'
  200. src.overlays -= /obj/menos2
  201. src.overlays -= /obj/menos3
  202. src.armon = 0
  203. src.overlays -= /obj/menos2
  204. src.overlays -= /obj/menos3
  205. src.overlays -= /obj/strong1
  206. src.overlays -= /obj/strong2
  207. src.overlays -= /obj/strong3
  208. src.overlays -= /obj/strong4
  209. walk(src,0)
  210. src.overlays -= /obj/strong5
  211. src.overlays -= /obj/strong1
  212. src.overlays -= /obj/strong2
  213. src.inran = 0
  214. src.overlays -= 'silvergritz.dmi'
  215. src.overlays -= /obj/strong3
  216. src.overlays -= /obj/strong4
  217. src.overlays -= 'yumichikashikai.dmi'
  218. src.overlays -= 'yumichikashikaiun.dmi'
  219. src.rundelay = 2
  220. src.chadref = 0
  221. src.overlays -= /obj/strong5
  222. src.verbs -= new /mob/hitsu/verb/shoot()
  223. src.verbs -= new /mob/chad/verb/Power_Blast()
  224. src.verbs -= new /mob/chad/verb/El_Directo()
  225. src.verbs -= new /mob/rukia/verb/shoot()
  226. for(var/mob/pedals/A in world)
  227. if(A.owner == src)
  228. del(A)
  229. for(var/mob/zabimaru/A in world)
  230. if(A.owner == src)
  231. del(A)
  232. if(src.race == "Arrancar")
  233. src.rundelay = 0
  234. src.icon = 'base.dmi'
  235. src.overlays -= 'arrancar.dmi'
  236. src.overlays += 'arrancar.dmi'
  237. if(src.swordon)
  238. src.overlays -= 'sword.dmi'
  239. src.overlays += 'sword.dmi'
  240. if(src.stype == "Ichigo"&&src.shikai)
  241. src.overlays -= 'sword.dmi'
  242. src.overlays += 'ichigoshikai.dmi'
  243. src.inshikai = 1
  244. if(src.hollowtype == "Menos Grande")
  245. src.overlays = 0
  246. src.icon = 'meno.dmi'
  247. src.overlays += /obj/menos2
  248. src.overlays += /obj/menos3
  249. if(src.hollowtype == "Strong")
  250. src.overlays = 0
  251. src.icon = 'hollowstrong.dmi'
  252. src.overlays += /obj/strong1
  253. src.overlays += /obj/strong2
  254. src.overlays += /obj/strong3
  255. src.overlays += /obj/strong4
  256. src.overlays += /obj/strong5
  257. src.overlays -= /obj/bankai6
  258. src.safe = 1
  259. src.overlays -= 'hitsugayabankai.dmi'
  260. src.overlays -= /obj/hitsu1
  261. src.overlays -= /obj/hitsu2
  262. src.health = src.mhealth
  263. src.rei = src.mrei
  264. src.attack = src.mattack
  265. src.defence = src.mdefence
  266. world << output("<b><font color = red>[M] has killed [src]!","gametext")
  267. if(src.tourny == 1)
  268. src.tourny = 0
  269. if(src.race == "Human"||src.race == "Fullbringer"||src.race == "Vaizard"||src.race=="Quincy")
  270. src.loc = locate(44,187,1)
  271. if(src.race == "Shinigami")
  272. src.loc = locate(75,30,5)
  273. if(src.race == "Bount")
  274. src.loc = locate(11,185,5)
  275. if(src.race == "Hollow"||src.race == "Arrancar")
  276. src.loc = locate(97,85,3)
  277. src.safe = 0
  278. if(M.stype == "Zaraki")
  279. if(M.inshikai&&M.shikaidrain > 0)
  280. M.random = rand(1,10)
  281. if(M.random <= 8)
  282. M << output("<b><font color = green>You have gotten better at maintaining your shikai!","gametext")
  283. M.shikaidrain -= 0.1
  284. if(M.inbankai&&M.bankaidrain > 0)
  285. M.random = rand(1,100)
  286. if(M.random <= 50)
  287. M << output("<b><font color = green>You have gotten better at maintaining your bankai!","gametext")
  288. M.bankaidrain -= 0.1
  289. if(M.enemy&&src.race == "Human")
  290. switch(input(src,"Do you want to become a Hollow?", text) in list ("Yes","No"))
  291. if("Yes")
  292. src.verbs += /mob/hollow/verb/Garganta
  293. src.race = "Hollow"
  294. src.overlays = 0
  295. src.icon = 'hollow.dmi'
  296. world << output("<b><font color = aqua>Race Info: [src] is now a Hollow!","gametext")
  297. src << output("<b>Your health got boosted by 10000!","gametext")
  298. src.mhealth += 10000
  299. src << output("<b>Your reiatsu got boosted by 10000!","gametext")
  300. src.mrei += 10000
  301. src << output("<b>Your attack got boosted by 1000!","gametext")
  302. src.mattack += 1000
  303. src << output("<b>Your defence got boosted by 50000!","gametext")
  304. src.mdefence += 50000
  305. src << output("<b>Your reiatsu power got boosted by 10000!","gametext")
  306. src.mreiatsu += 10000
  307. src.health = src.mhealth
  308. src.rei = src.mrei
  309. src.attack = src.mattack
  310. src.defence = src.mdefence
  311. src.reiatsu = src.mreiatsu
  312. src.hollowtype = "Normal"
  313. src.loc = locate(122,99,3)
  314. src.safe = 0
  315. src.deaths += 1
  316. M.kills += 1
  317.  
  318. mob
  319. proc
  320. vaizardTest()
  321. src.random = rand(1,3)
  322. if(src.random == 1)
  323. src.health = 16000
  324. world << output("<b><font color = aqua>Race Info: [src] is now a Vaizard!","gametext")
  325. src.race = "Vaizard"
  326. src.random = rand(1,3)
  327. if(src.random == 1)
  328. src.vaizardmask = "Ichigo"
  329. if(src.random == 2)
  330. src.vaizardmask = "Hiyori"
  331. if(src.random == 3)
  332. src.vaizardmask = "Shinji"
  333. src.verbs += new /mob/vaizard/verb/mask()
  334. src << output("<b>Your health got boosted by 500000!","gametext")
  335. src.mhealth += 500000
  336. src << output("<b>Your reiatsu got boosted by 100000!","gametext")
  337. src.mrei += 100000
  338. src << output("<b>Your attack got boosted by 250000!","gametext")
  339. src.mattack += 250000
  340. src << output("<b>Your defence got boosted by 250000!","gametext")
  341. src.mdefence += 250000
  342. src << output("<b>Your reiatsu power got boosted by 100000!","gametext")
  343. src.mreiatsu += 100000
  344. src.health = src.mhealth
  345. src.rei = src.mrei
  346. src.attack = src.mattack
  347. src.defence = src.mdefence
  348. src.reiatsu = src.mreiatsu
  349. src.verbs += /mob/hollow/verb/Cero
  350. src.loc = locate(73,29,5)
  351. src.safe = 1
  352. for(var/mob/hitchigo/K in world)
  353. del(K)
  354. else
  355. src << "<B>You failed at controlling your Inner Hollow's power, GoodBye."
  356. src.loc = locate(73,29,5)
  357. for(var/mob/hitchigo/K in world)
  358. del(K)
  359.  
  360. mob
  361. proc
  362. skill()
  363. if(src.race == "Inoue")
  364. if(!src.inouehealhave)
  365. if(src.level >= 140)
  366. src.inouehealhave = 1
  367. src.verbs += /mob/inoue/verb/Souten_Kissun
  368. src << output("<b>You haves learned Souten Kissun!","gametext")
  369. if(!src.inoueziphave)
  370. if(src.level >= 280)
  371. src.inoueziphave = 1
  372. src.verbs += /mob/inoue/verb/Koten_Zanshun
  373. src << output("<b>You have learned Koten Zanshun!","gametext")
  374. if(src.race == "Quincy")
  375. if(!src.silver1)
  376. if(src.level >= 255)
  377. src.silver1 = 1
  378. src << output("<b>You learned Haizen!","gametext")
  379. src.verbs += /mob/silver/verb/Haizen
  380. if(!src.silver2)
  381. if(src.level >= 385)
  382. src.silver2 = 1
  383. src << output("<b>You learned Gritz!","gametext")
  384. src.verbs += /mob/silver/verb/Gritz
  385. if(!src.silver3)
  386. if(src.level >= 200)
  387. src.silver3 = 1
  388. src << output("<b>You learned Volcore!","gametext")
  389. src.verbs += /mob/silver/verb/Volcore
  390. if(!src.silver4)
  391. if(src.level >= 1160)
  392. src.silver4 = 1
  393. src << output("<b>You learned Sprenger!","gametext")
  394. src.verbs += /mob/silver/verb/Sprenger
  395. if(!src.silver5)
  396. if(src.level >= 700)
  397. src.silver5 = 1
  398. src << output("<b>You learned Ransoutengai!","gametext")
  399. src.verbs += /mob/silver/verb/Ransoutengai
  400. if(src.cankido&&src.race=="Shinigami")
  401. if(!src.kido1)
  402. if(src.mreiatsu >= 100000)
  403. src.kido1 = 1
  404. src << output("<b>You learned Byakurai!","gametext")
  405. src.verbs += /mob/kido/verb/Byakurai
  406. src << output("<b>You learned Senkaimon!","gametext")
  407. src.verbs += /mob/kido/verb/Senkaimon
  408. if(!src.kido2)
  409. if(src.mreiatsu >= 148000)
  410. src.kido2 = 1
  411. src << output("<b>You learned Shakkahou!","gametext")
  412. src.verbs += /mob/kido/verb/Shakkahou
  413. if(!src.kido3)
  414. if(src.mreiatsu >= 220000000)
  415. src.kido3 = 1
  416. src << output("<b>You learned Soukatsui!","gametext")
  417. src.verbs += /mob/kido/verb/Soukatsui
  418. if(!src.kido4)
  419. if(src.mreiatsu >= 300000000)
  420. src.kido4 = 1
  421. src << output("<b>You learned Raikouhou!","gametext")
  422. src.verbs += /mob/kido/verb/Raikouhou
  423. if(!src.kido5)
  424. if(src.mreiatsu >= 52000000)
  425. src.kido5 = 1
  426. src << output("<b>You learned Sai!","gametext")
  427. src.verbs += /mob/kido/verb/Sai
  428. if(!src.kido6)
  429. if(src.mreiatsu >= 100000000)
  430. src.kido6 = 1
  431. src << output("<b>You learned Rikujoukourou!","gametext")
  432. src.verbs += /mob/kido/verb/Rikujoukourou
  433. if(src.race == "Hollow")
  434. if(src.level >= 300&&src.hollowtype == "Normal")
  435. src.overlays = 0
  436. src.icon = 'hollowstrong.dmi'
  437. src.hollowtype = "Strong"
  438. src.overlays += /obj/strong1
  439. src.overlays += /obj/strong2
  440. src.overlays += /obj/strong3
  441. src.overlays += /obj/strong4
  442. src.overlays += /obj/strong5
  443. world << output("<b><font color = lime>Ability Info: [src] has transformed into a Strong Hollow!","gametext")
  444. src << output("<b>Your health got boosted by 10000!","gametext")
  445. src.mhealth += 10000
  446. src << output("<b>Your reiatsu got boosted by 10000!","gametext")
  447. src.mrei += 10000
  448. src << output("<b>Your attack got boosted by 10000!","gametext")
  449. src.mattack += 10000
  450. src << output("<b>Your defence got boosted by 100000!","gametext")
  451. src.mdefence += 100000
  452. src << output("<b>Your reiatsu power got boosted by 100000!","gametext")
  453. src.mreiatsu += 100000
  454. src.health = src.mhealth
  455. src.rei = src.mrei
  456. src.attack = src.mattack
  457. src.defence = src.mdefence
  458. src.reiatsu = src.mreiatsu
  459. if(src.level >= 500&&src.hollowtype == "Strong")
  460. src.overlays = 0
  461. src.icon = 'meno.dmi'
  462. src.hollowtype = "Menos Grande"
  463. src.overlays += /obj/menos3
  464. src.overlays += /obj/menos2
  465. world << output("<b><font color = lime>Ability Info: [src] has transformed into a Menos Grande!","gametext")
  466. src << output("<b>Your health got boosted by 100000!","gametext")
  467. src.mhealth += 100000
  468. src << output("<b>Your reiatsu got boosted by 100000!","gametext")
  469. src.mrei += 100000
  470. src << output("<b>Your attack got boosted by 50000!","gametext")
  471. src.mattack +=50000
  472. src << output("<b>Your defence got boosted by 100000!","gametext")
  473. src.mdefence += 100000
  474. src << output("<b>Your reiatsu power got boosted by 10000!","gametext")
  475. src.mreiatsu += 10000
  476. src.health = src.mhealth
  477. src.rei = src.mrei
  478. src.attack = src.mattack
  479. src.defence = src.mdefence
  480. src.reiatsu = src.mreiatsu
  481. if(src.race != "Hollow")
  482. if(src.level >= 45)
  483. if(!src.gotflash)
  484. if(src.race == "Shinigami"||src.race == "Vaizard"||src.race == "Bount")
  485. src.gotflash = 1
  486. src.verbs += /mob/flash/verb/Shunpo
  487. src << output("<b>You have learned Shunpo!","gametext")
  488. if(src.race == "Arrancar"||src.race == "Fullbringer"&&src.stype=="Sado")
  489. src.gotflash = 1
  490. src.verbs += /mob/flash/verb/Sonido
  491. src << output("<b>You have learned Sonido!","gametext")
  492. if(src.race == "Quincy"||src.race == "Inoue")
  493. src.gotflash = 1
  494. src.verbs += /mob/flash/verb/Hirenhyaku
  495. src << output("<b>You have learned Hirenhyaku!","gametext")
  496. if(src.race == "Hollow"||src.race == "Arrancar")
  497. if(src.level >= 145&&!src.gotcero)
  498. src.gotcero = 1
  499. src << output("<b>You have learned Cero!","gametext")
  500. src.verbs += /mob/hollow/verb/Cero
  501. if(src.race == "Arrancar")
  502. if(src.level >= 1135&&!src.gotcero2)
  503. src.gotcero2 = 1
  504. src << output("<b>You have learned Gran Rey Cero!","gametext")
  505. src.verbs += /mob/hollow/verb/Cero2
  506. if(src.race == "Quincy")
  507. if(!src.sanrei)
  508. if(src.level >= 65)
  509. src.sanrei = 1
  510. world << output("<b><font color = lime>Ability Info: Quincy [src] has worn the Sanrei Glove and now he is much more powerful!","gametext")
  511. if(!src.gotfinal)
  512. if(src.level >= 750)
  513. src.gotfinal = 1
  514. src.verbs += /mob/release/verb/Final
  515. src << output("You have gained the ability to go into your Final Form!","gametext")
  516. if(!src.gotfinal2)
  517. if(src.level >= 1500)
  518. src.gotfinal2 = 1
  519. src << output("<b>You have gained the ability to go into your Final Form Type Two!","gametext")
  520. if(src.race == "Shinigami"||src.race == "Vaizard")
  521. if(src.shikai == 0)
  522. if(src.level >= 300)
  523. if(src.stype != "Ichigo")
  524. src.verbs += /mob/release/verb/Shikai
  525. src.shikai = 1
  526. var/sdgs = input("Please select a name for your Zanpakuto.") as text
  527. src.swordname=sdgs
  528. var/sdgss = input("Please select a call for your Zanpakuto.") as text
  529. src.swordcall=sdgss
  530. world << output("<b><font color = lime>Ability Info: [src] has learned his Shikai and learned his sword's name, [src.swordname]!","gametext")
  531. if(src.stype == "Ichigo")
  532. src.overlays -= 'sword.dmi'
  533. src.shikaidrain = 0
  534. src.shikai = 1
  535. src.overlays -= 'sword.dmi'
  536. src.overlays -= 'sword.dmi'
  537. src.overlays += 'ichigoshikai.dmi'
  538. src.swordon = 1
  539. src.verbs += new /mob/getsuga/verb/getsuga()
  540. if(src.bankai == 0&&src.shikaidrain <= 0)
  541. if(src.level >= 750)
  542. if(src.bantype)
  543. src.bankai = 1
  544. world << output("<b><font color = lime>Ability Info: [src] has mastered his Shikai!","gametext")
  545. else
  546. src.bankai = 1
  547. src.verbs += /mob/release/verb/Bankai
  548. world << output("<b><font color = lime>Ability Info: [src] has learned his Bankai!","gametext")
  549. if(src.race == "Bount")
  550. if(!src.kido1)
  551. src << output("<b>You learned Senkaimon!","gametext")
  552. src.verbs += /mob/kido/verb/Senkaimon
  553. src.kido1 = 1
  554. if(src.shikai == 0)
  555. if(src.level >= 65)
  556. var/sdgs = input("Please select a name for your Doll.") as text
  557. src.swordname=sdgs
  558. var/sdgss = input("Please select a call for your Doll.") as text
  559. src.swordcall=sdgss
  560. src.shikai = 1
  561. src.verbs += /mob/release/verb/SummonDoll
  562. world << output("<b><font color = lime>Ability Info: [src] has gained his doll, [src.swordname]!","gametext")
  563. if(src.bankai == 0)
  564. if(src.level >= 1000)
  565. src.bankai = 1
  566. world << output("<b><font color = lime>Ability Info: [src] has mastered his Doll!","gametext")
  567. if(src.race == "Arrancar")
  568. if(src.shikai == 0)
  569. if(src.level >= 1000)
  570. src.shikai = 1
  571. var/sdgs = input("Please select a name for your Zanpakuto.") as text
  572. src.swordname=sdgs
  573. var/sdgss = input("Please select a call for your Zanpakuto.") as text
  574. src.swordcall=sdgss
  575. src.verbs += /mob/release/verb/Shikai
  576. world << output("<b><font color = lime>Ability Info: [src] has learned his Shikai and learned his sword's name, [src.swordname]!","gametext")
  577.  
  578.  
  579. world/proc
  580. AutoRepop()
  581. set background=1
  582. world.Repop()
  583. spawn(600)
  584. world.AutoRepop()
  585. world
  586. proc
  587. bountohealth()
  588. set background = 1
  589. get
  590. for(var/mob/M in world)
  591. if(M.race == "Bount")
  592. M.health += M.mhealth / 25
  593. if(M.health >= M.mhealth)
  594. M.health = M.mhealth
  595. spawn(10)
  596. goto get
  597.  
  598. shiban()
  599. set background = 1
  600. vara
  601. for(var/mob/M in world)
  602. if(M.race == "Shinigami"||M.race == "Vaizard")
  603. if(M.stype != "Ichigo"&&M.inshikai)
  604. if(M.shikaidrain > 0&&M.client)
  605. M.rei -= round(((M.mrei * M.shikaidrain) / 100))
  606. if(M.rei <= 0)
  607. M.rei = 0
  608. M << output("<b>You have ran out of reiatsu to maintain your Shikai!","gametext")
  609. M.inshikai = 0
  610. M.attack = M.mattack
  611. M.overlays += 'sword.dmi'
  612. M.overlays -= 'ichigoshikai.dmi'
  613. M.overlays -= 'ikkakushikai.dmi'
  614. M.defence = M.mdefence
  615. M.icon = 'base.dmi'
  616. M.verbs -= new /mob/hitsu/verb/shoot()
  617. M.overlays -= 'renjishikai.dmi'
  618. M.overlays -= 'rukiashikai.dmi'
  619. M.overlays -= 'yumichikashikai.dmi'
  620. M.overlays -= 'yumichikashikaiun.dmi'
  621. M.overlays -= 'kirashikai.dmi'
  622. M.overlays -= 'zarakishikai.dmi'
  623. M.overlays -= 'kirashikaiun.dmi'
  624. M.ikkakushikai = 0
  625. M.renjishikai = 0
  626. M.overlays -= 'kirashikaiun.dmi'
  627. M.overlays -= 'kirashikai.dmi'
  628. M.overlays -= 'byakuyashikaisword.dmi'
  629. M.rundelay = 2
  630. M.underlays =0
  631. M.overlays -= 'hinamorishikai.dmi'
  632. M.overlays -= 'mayurishikai.dmi'
  633. M.overlays -= 'hinamorishikai.dmi'
  634. for(var/mob/pedals/A in world)
  635. if(A.owner == M)
  636. del A
  637. for(var/mob/shuriken/A in world)
  638. if(A.owner == M)
  639. del A
  640. M.controlbug = 0
  641. if(M.inbankai)
  642. if(M.bankaidrain > 0&&M.client)
  643. M.rei -= round(((M.mrei * M.bankaidrain) / 100))
  644. if(M.rei <= 0)
  645. M.inbankai = 0
  646. M.rei = 0
  647. M << output("<b>You ran out of reiatsu to maintain your Bankai!","gametext")
  648. M.overlays -= 'ichigobankai.dmi'
  649. M.overlays += 'sword.dmi'
  650. for(var/mob/pedals/A in world)
  651. if(A.owner == M)
  652. del A
  653. for(var/mob/shuriken/A in world)
  654. if(A.owner == M)
  655. del A
  656. M.controlbug = 0
  657. M.firing = 0
  658. M.zabitimes = 0
  659. M.hitsugayabankai = 0
  660. M.ikkakubankai = 0
  661. M.underlays = 0
  662. M.overlays -= 'hitsugayabankai.dmi'
  663. M.overlays -= /obj/hitsu1
  664. M.overlays -= /obj/hitsu2
  665. M.attack = M.mattack
  666. M.verbs -= new /mob/hitsu/verb/shoot()
  667. M.verbs -= new /mob/rukia/verb/shoot()
  668. M.renjibankai = 0
  669. M.rundelay = 2
  670. M.overlays -= /obj/ikkaku1
  671. M.overlays -= /obj/ikkaku2
  672. M.overlays -= /obj/ikkaku3
  673. M.overlays -= /obj/ikkaku4
  674. M.overlays -= /obj/mayuri1
  675. M.overlays -= /obj/mayuri2
  676. M.overlays -= /obj/mayuri3
  677. M.defence = M.mdefence
  678. M.overlays -= /obj/mayuri4
  679. M.overlays -= /obj/mayuri5
  680. M.renjishikai = 0
  681. M.underlays -= /obj/mayuri6
  682. M.overlays -= 'ichigobankaiclothes.dmi'
  683. M.overlays -= 'rukiashikai.dmi'
  684. M.overlays -= 'renjishikai.dmi'
  685. M.overlays -= 'zarakishikai.dmi'
  686. M.overlays -= 'renjishikai.dmi'
  687. M.overlays -= 'renjishikai.dmi'
  688. M.overlays -= 'rukiabankai.dmi'
  689. M.overlays -= /obj/ikkaku5
  690. M.overlays -= /obj/ikkaku6
  691. M.verbs -= /mob/renji/verb/Higa_Zekkou
  692. M.overlays -= /obj/ikkaku7
  693. walk(M,0)
  694. M.overlays -= /obj/ikkaku8
  695. M.overlays -= /obj/ikkaku9
  696. M.overlays -= 'byakuyashikaisword.dmi'
  697. if(M.stype == "Ichigo")
  698. M.overlays -= 'sword.dmi'
  699. M.overlays -= 'sword.dmi'
  700. M.overlays -= 'sword.dmi'
  701. M.overlays -= 'sword.dmi'
  702. M.overlays += 'ichigoshikai.dmi'
  703. M.inshikai = 1
  704. for(var/mob/zabimaru/A in world)
  705. if(A.owner == M)
  706. del A
  707. spawn(20)
  708. goto vara
  709.  
  710. mob
  711. var
  712. shikaidrain = 5
  713. bankaidrain = 8
  714.  
  715. mob
  716. proc
  717. AutoSave()
  718. if(src.cansave)
  719. src.saveproc()
  720. spawn(3000)
  721. src.AutoSave()
  722. mob
  723. proc
  724. saveproc()
  725. if(src.cansave)
  726. var/savefile/save
  727. save = new ("players/[src.key]")
  728. save["mob"] << src
  729. save["x"] << src.x
  730. save["y"] << src.y
  731. save["z"] << src.z
  732. save["verbs"] << src.verbs
  733. proc
  734. Quake_Effect(mob/M,duration,strength=1)
  735. if(!M.client)return
  736. spawn(1)
  737. var/oldeye=M.client.eye
  738. var/x
  739. for(x=0;x<duration,x++)
  740. if(M)
  741. M.client.eye = get_steps(M,pick(NORTH,SOUTH,EAST,WEST),strength)
  742. sleep(1)
  743. M.client.eye=oldeye
  744. proc/get_steps(atom/ref,dir,num)
  745. var/x
  746. var/turf/T=ref:loc
  747. if(isturf(ref))
  748. T=ref
  749. for(x=0;x<num;x++)
  750. ref=get_step(ref,dir)
  751. if(!ref)break
  752. T=ref
  753. return T
  754. mob
  755. proc
  756. shatter(mob/M)
  757. spawn(25)
  758. if(src)
  759. src.overlays -= /obj/icicle2
  760. src.overlays -= /obj/icicle
  761. var/obj/iceshard/Q = new/obj/iceshard(src.loc)
  762. var/obj/iceshard/W = new/obj/iceshard(src.loc)
  763. var/obj/iceshard/E = new/obj/iceshard(src.loc)
  764. var/obj/iceshard/R = new/obj/iceshard(src.loc)
  765. var/obj/iceshard/T = new/obj/iceshard(src.loc)
  766. var/obj/iceshard/Y = new/obj/iceshard(src.loc)
  767. var/obj/iceshard/U = new/obj/iceshard(src.loc)
  768. var/obj/iceshard/I = new/obj/iceshard(src.loc)
  769. walk(Q,EAST)
  770. walk(W,SOUTHEAST)
  771. walk(E,SOUTH)
  772. walk(R,SOUTHWEST)
  773. walk(T,WEST)
  774. walk(Y,NORTHWEST)
  775. walk(U,NORTH)
  776. walk(I,NORTHEAST)
  777. src.frozen = 0
  778. src.canattack = 1
  779. src.firing = 0
  780. src.Death(M)
  781. mob
  782. proc
  783. shatter2(mob/M)
  784. spawn(35)
  785. if(src)
  786. src.overlays -= /obj/icicle2
  787. src.overlays -= /obj/icicle
  788. var/obj/iceshard/Q = new/obj/iceshard(src.loc)
  789. var/obj/iceshard/W = new/obj/iceshard(src.loc)
  790. var/obj/iceshard/E = new/obj/iceshard(src.loc)
  791. var/obj/iceshard/R = new/obj/iceshard(src.loc)
  792. var/obj/iceshard/T = new/obj/iceshard(src.loc)
  793. var/obj/iceshard/Y = new/obj/iceshard(src.loc)
  794. var/obj/iceshard/U = new/obj/iceshard(src.loc)
  795. var/obj/iceshard/I = new/obj/iceshard(src.loc)
  796. walk(Q,EAST)
  797. walk(W,SOUTHEAST)
  798. walk(E,SOUTH)
  799. walk(R,SOUTHWEST)
  800. walk(T,WEST)
  801. walk(Y,NORTHWEST)
  802. walk(U,NORTH)
  803. walk(I,NORTHEAST)
  804. src.frozen = 0
  805. src.canattack = 1
  806. src.firing = 0
  807. src.Death(M)
  808. mob
  809. proc
  810. levelup()
  811. if(src.exp >= src.mexp)
  812. while(src.exp>src.mexp)
  813. src.exp = src.exp-src.mexp
  814. src.level++
  815. if(src.level == 50)
  816. world << output("<b><font color = lime>Ability Info: [src] has reached level 50! Because of his good experience he wont gain as much stat as before!","gametext")
  817. if(src.level == 100)
  818. world << output("<b><font color = lime>Ability Info: [src] has reached level 100! Because of his great experience he wont gain as much stat as before!","gametext")
  819. if(src.level >= 100)
  820. src.mhealth += rand(5,12)
  821. src.mrei += rand(3,6)
  822. src.mattack += rand(0,2)
  823. src.mdefence += rand(0,20)
  824. src.mreiatsu += rand(0,2)
  825. if(src.level >= 50&&src.level < 100)
  826. src.mhealth += rand(7,15)
  827. src.mrei += rand(4,9)
  828. src.mattack += rand(0,3)
  829. src.mdefence += rand(0,300)
  830. src.mreiatsu += rand(0,30)
  831. if(src.level < 50)
  832. src.mhealth += rand(9,200)
  833. src.mrei += rand(6,120)
  834. src.mattack += rand(1,4)
  835. src.mdefence += rand(1,4)
  836. src.mreiatsu += rand(1,4)
  837. if(src.attack < src.mattack)
  838. src.attack = src.mattack
  839. if(src.defence < src.mdefence)
  840. src.defence = src.mdefence
  841. src.skill()
  842. src << output("<b><font color = lime>You gained a level!","gametext")
  843. if(src.level<20)
  844. src.mexp += 15
  845. if(src.level<50&&src.level>20)
  846. src.mexp += 25
  847. if(src.level<80&&src.level>50)
  848. src.mexp += 55
  849. if(src.level<150&&src.level>80)
  850. src.mexp += 65
  851. if(src.level>=150)
  852. src.mexp += 100
  853. else
  854. return
  855.  
  856. proc
  857. dir2text(dir)
  858. switch(dir)
  859. if(1)
  860. return "North"
  861. if(2)
  862. return "South"
  863. if(4)
  864. return "East"
  865. if(5)
  866. return "Northeast"
  867. if(6)
  868. return "Southeast"
  869. if(8)
  870. return "West"
  871. if(9)
  872. return "Northwest"
  873. if(10)
  874. return "Southwest"
  875.  
  876. savehouses()
  877. for(var/turf/telehouses/T in world) //for every turf under telehouses
  878. if(T.houseowner) //if houseowner has been set
  879. var/savefile/save = new ("houses/[T.house]/[T.houseowner]") //save
  880. save["houseowner"] << T.houseowner
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement