Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Shak
- name = "Shakkahou"
- verb/Shakkahou()
- set category = "Combat"
- if(src.delayed == 0 && usr.canattack == 1 && usr.reiryoku >= 50-src.proficiency)
- var/tmp/chance = rand(1,50) + src.mastered
- if(chance < 50)
- usr << "You failed to use Shakkahou."
- src.delayed = 1
- var/tmp/delaytime = 100 - src.proficiency
- if(delaytime < 15)
- delaytime = 15
- spawn(delaytime)src.delayed = 0
- usr.reiryoku -= usr.maxreiryoku*0.35
- if(usr.reiryoku < 0)usr.reiryoku = 0
- src.mastery(10,usr)
- return
- var/tmp/obj/shikai/projectile/Shak/Shakkahou/p = new/obj/shikai/projectile/Shak/Shakkahou
- if(src.mastered == 100)
- if((usr.reiatsu)*(usr.spiritpower/3) >= 50000)
- p.canblow = 1
- var/tmp/damagedone = 50-src.proficiency //damagedone controls reiryuoku drain on usr. More proficiency - less drain.
- if(damagedone < 10)
- damagedone = 10
- usr.reiryoku -= damagedone
- p.loc = usr
- p.user = usr
- p.damage = 1*src.proficiency
- src.mastery(10,usr)
- walk(p,usr.dir,usr.ProjectileSpeed())
- src.delayed = 1
- spawn(100)
- src.delayed = 0
- usr.statGain("rei", 0.1)
- usr.statGain("reir", 0.2)
- usr.statGain("spirpow", 0.05)
- sleep(30)
- if(p)
- del p
- else if(usr.reiryoku < 50-src.proficiency) usr << "Not enough Reiryoku!"
- Shakkahou
- icon = 'kidou.dmi'
- icon_state = "shak"
- obj
- shikai
- projectile
- Bump(atom/a)
- walk(src,0)
- if(istype(a,/mob))
- var/tmp/mob/m = a
- spawn()m.Damage((((src.user.reiatsu*0.4)+(src.user.spiritpower/(8-src.proficiency)))*(src.mastered/100))*src.damage,a,src.user)
- var/tmp/image/i = image('kidou.dmi',icon_state = "pow")
- if(src.canblow == 1)
- for(var/tmp/mob/m in locate(src.x-1,src.y,src.z))
- spawn()m.Damage((((src.user.reiatsu*0.4)+(src.user.spiritpower/(8-src.proficiency)))*(src.mastered/100))*src.damage,a,src.user)
- new i(src.x-1,src.y,src.z)
- for(var/tmp/mob/m in locate(src.x+1,src.y,src.z))
- spawn()m.Damage((((src.user.reiatsu*0.4)+(src.user.spiritpower/(8-src.proficiency)))*(src.mastered/100))*src.damage,a,src.user)
- new i(src.x-1,src.y,src.z)
- for(var/tmp/mob/m in locate(src.x,src.y-1,src.z))
- spawn()m.Damage((((src.user.reiatsu*0.4)+(src.user.spiritpower/(8-src.proficiency)))*(src.mastered/100))*src.damage,a,src.user)
- new i(src.x-1,src.y,src.z)
- for(var/tmp/mob/m in locate(src.x,src.y+1,src.z))
- spawn()m.Damage((((src.user.reiatsu*0.4)+(src.user.spiritpower/(8-src.proficiency)))*(src.mastered/100))*src.damage,a,src.user)
- new i(src.x-1,src.y,src.z)
- for(var/tmp/mob/m in locate(src.x-1,src.y-1,src.z))
- spawn()m.Damage((((src.user.reiatsu*0.4)+(src.user.spiritpower/(8-src.proficiency)))*(src.mastered/100))*src.damage,a,src.user)
- new i(src.x-1,src.y,src.z)
- for(var/tmp/mob/m in locate(src.x+1,src.y+1,src.z))
- spawn()m.Damage((((src.user.reiatsu*0.4)+(src.user.spiritpower/(8-src.proficiency)))*(src.mastered/100))*src.damage,a,src.user)
- new i(src.x-1,src.y,src.z)
- for(var/tmp/mob/m in locate(src.x-1,src.y+1,src.z))
- spawn()m.Damage((((src.user.reiatsu*0.4)+(src.user.spiritpower/(8-src.proficiency)))*(src.mastered/100))*src.damage,a,src.user)
- new i(src.x-1,src.y,src.z)
- for(var/tmp/mob/m in locate(src.x+1,src.y-1,src.z))
- spawn()m.Damage((((src.user.reiatsu*0.4)+(src.user.spiritpower/(8-src.proficiency)))*(src.mastered/100))*src.damage,a,src.user)
- new i(src.x-1,src.y,src.z)
- i.dir = src.dir
- spawn(3)del i
- view() << "<font color = red>[a] gets blitzed by [src.user]'s [src]!"
- ..()
- del src
- mob/Bump(atom/a)
- if(istype(a,/obj/shikai/projectile))
- call(a,Bump)(src)
Add Comment
Please, Sign In to add comment