Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mob/proc
- stamregens(in_bed)
- if(in_bed||src.stamregenbuff||(stampercent+src.wound)<=100||(!src.isarrancar&&src.IShollow||(src.isarrancar&&(src.wieldingsword||src.stark&&src.inshikai)&&src.arrancartype=="bb")||src.traitlist.Find("Mind Over Matter"))&&(stampercent+(src.wound-25))<=100)
- if(in_bed||src.stamregenbuff||src.has_buff||src.minazukiheals||(src.ISinoue&&src.fairystam&&src.inrelease)||src.isarrancar&&src.arrancartype=="ll"&&(src.wieldingsword&&!src.inshikai)||(!src.isarrancar&&(src.isajuuca||src.isvasterode))||(src.ulqregen&&src.inshikai))
- if(in_bed)src.stamregen=round(src.Mstam/250)
- else
- if(src.ISinoue)src.stamregen=round(src.Mstam/550)
- else src.stamregen=round(src.Mstam/625)
- else
- if(src.finalform) src.stamregen=round(src.Mstam/850)
- else
- if(src.Mstam<750) src.stamregen=1
- else
- if(src.kendostance) src.stamregen=round(src.Mstam/950)
- else src.stamregen=round(src.Mstam/750)
- src.stam += src.stamregen
- reirregens(in_bed)
- var/reservebonus = src.reserve * 50
- var/synergybuff = (src.blastdefense + src.reimeleedefense + src.reiryokucapacity + src.reiryokuregen + src.fightingspirit) / 5
- var/crei = round(src.reiryoku * 100 / src.Mreiryoku)
- if(crei<100+(src.reiryokucapacity)+synergybuff&&(src.ISinoue&&src.fairyreiatsu&&src.inrelease||bed||src.has_buff||src.minazukiheals))
- src.reirregen=src.Mreiryoku/(900-reservebonus-(src.reiryokuregen*8))
- src.reiryoku+=reirregen
- else if(crei<100+(src.reiryokucapacity)+synergybuff)
- if(src.Mreiryoku<1000) src.reirregen=1
- else src.reirregen=src.Mreiryoku/(1000-reservebonus-(src.reiryokuregen*8))
- src.reiryoku+=reirregen
- setmybars()
- winset(src, "mhealth", "value = [round(src.stam * 100 / src.Mstam)]")
- winset(src, "mreiryoku", "value = [round(src.reiryoku * 100 / src.Mreiryoku)]")
- winset(src, "mwound", "value = [src.wound]")
- winset(src, "mfatigue", "value = [src.fatigue]")
- pparrboost()
- if(src.arrancartype == "pp" && !src.inshikai && !src.hougpower && src.wieldingsword)
- var/mult = src.strmult
- /* lol cool math way of doing it
- for(var/i = 1 to 7)
- if(i < 7)
- if(src.momentum >= 10 + (i * 6))
- src.strmult = 1.15 + (i * 0.05)
- else
- if(src.momentum >= 50)
- src.strmult = 1.5 */
- if(src.momentum>=10)src.strmult=1.15
- else if(src.momentum>=16)src.strmult=1.2
- else if(src.momentum>=22)src.strmult=1.25
- else if(src.momentum>=28)src.strmult=1.3
- else if(src.momentum>=34)src.strmult=1.35
- else if(src.momentum>=40)src.strmult=1.4
- else if(src.momentum>=46)src.strmult=1.45
- else if(src.momentum>=50)src.strmult=1.5
- if(mult!=strmult)
- src.strength=round(src.Mstrength*strmult)
- mob/proc/Regeneration()
- set background = 1
- if(src.regenerating || src.beingpunished || src.inyoruichichallenge || !src.realplayer || src.reiatsutraining || src.usingkesshun || src.owner)
- return
- src.regenerating = 1
- while(src)
- sleep(10)
- var/in_bed = 0
- if(locate(/obj/bedtop) in src.loc) in_bed = 1
- else in_bed = 0
- var/spct = round(src.stam * 100 / src.Mstam)
- if(src.in_shield || src.luppi || src.poisoned || src.poisoned2 || src.inyoruichichallenge || src.knockedout || src.usingkesshun)
- src.momentum = src.momentumrestrict ? 0 : src.momentummax ? 100 : 110 - (round(src.stam * 100 / src.Mstam)) : 0
- if(src.viewstat != 5 && src.viewstat != 3) src.Stats2()
- src.regenerating = 0
- break
- if(src.reiryoku <= 0) src.reiryoku = 1
- if(src.stamina <= 0) src.stam = 1
- if(src.wound > 100) src.wound = 100
- if(src.stam < src.Mstam)
- src.stamregens(in_bed)
- src.reirregens(in_bed)
- if(src.wound > 0)
- if(in_bed && prob(5)) src.wound -= 1
- if(src.has_buff3||src.isarrancar&&src.arrancartype=="ll"&&(src.wieldingsword||src.stark&&src.inshikai)||(!src.isarrancar&&(src.isajuuca||src.isvasterode)))
- if(prob(3)) src.wound -= 1
- else if(prob(1)) src.wound -= 1
- if(src.fatigue > 0 && !src.resting && in_bed && prob(50)) src.fatigue -= 1
- spawn() src.setmybars()
- src.momentum = src.momentumrestrict ? 0 : src.momentummax ? 100 : 110 - (round(src.stam * 100 / src.Mstam)) : 0
- if(src.maxexp > 500)
- if(schooltime && src.inseat) src.GiveExp(rand(4,7), 0, 1,,, 1)
- else src.GiveExp(rand(0,1), 0, 1,,, 1)
- else
- if(schooltime && src.inseat) src.GiveExp(rand(6,10), 0, 1,,,1 )
- else src.GiveExp(rand(3,7), 0, 1,,, 1)
- src.pparrboost()
- if(src.stam > src.Mstam) src.stam = src.Mstam
- if(src.wound < 0) src.wound = 0
- if(src.exp >= src.maxexp) spawn() src.LevelUp()
- if(src.viewstat != 5) spawn() src.Stats2()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement