|
|
Code:
mob var firing = 0 move = 1 obj var mob/owner = null total = 0 moved = 0 list/Beam = list() Beams icon = 'Kamehameha.dmi' density = 1 Head icon_state = "head" New() spawn(1) Start() Check() ..() proc Start() walk(src,usr.dir,1) Check() while(src) var/turf/T = get_step(src,src.dir) if(!T) owner.firing = 0 owner.icon_state = "" owner.move = 1 if(src) for(var/obj/O in src.Beam) del(O) del(src) sleep(1) Bump(atom/M) if(isturf(M)) owner.firing = 0 owner.icon_state = "" owner.move = 1 for(var/obj/O in src.Beam) del(O) del(src) else if(ismob(M)) view(src.owner) << "[src.owner]'s beam hits [M]!" owner.firing = 0 src.owner.icon_state = "" owner.move = 1 for(var/obj/O in src.Beam) del(O) del(src) else if(!ismob(M) && !isturf(M) && !isobj(M) && !isarea(M)) owner.firing = 0 owner.icon_state = "" owner.move = 1 for(var/obj/O in src.Beam) del(O) del(src)
Body icon_state = "body" density = 1 Move() if(istype(src,/obj/Beams/Head)) var/obj/Body = new/obj/Beams/Body(src.loc) Body.owner = src src.Beam.Add(Body) Body.dir = src.dir moved++ if(moved == total) owner.firing = 0 owner.icon_state = "" owner.move = 1 if(src) for(var/obj/O in src.Beam) del(O) del(src) ..()
mob verb Kamehameha2() set category = "Techniques" usr << "kamehameha!!" if(usr.firing) usr << "This cannot be done." return if(usr.buku) usr << "This cannot be done." return if(usr.doing) usr << "This cannot be done." return if(usr.monkey) usr << "This cannot be done." return else usr.firing = 1 usr.move = 0 usr.icon_state = "shoot" usr.Beam() proc Beam() var/obj/Head = new/obj/Beams/Head() var/ki_damage = round(usr.powerlevel_max * 0.05) var/ki_cost = round(src.ki_max * 0.05) if(src.ki >= ki_cost) if(!src.doing) src.doing = 1 src.ki -= ki_cost if(usr.dir == NORTH) Head.loc = locate(usr.x,usr.y+1,usr.z) if(usr.dir == SOUTH) Head.loc = locate(usr.x,usr.y-1,usr.z) if(usr.dir == WEST) Head.loc = locate(usr.x-1,usr.y,usr.z) if(usr.dir == EAST) Head.loc = locate(usr.x+1,usr.y,usr.z) Head.total = 10 Head.dir = usr.dir Head.owner = usr
while(H) step(H,H.dir) if(!H)break var/turf/T = H.loc if(T.density) del(H) break for(var/mob/M as mob in T) var/ki_absorbed = round(M.ki_shield_strength - ki_damage)
if(M == src) continue if(!M.dead && !M.safe) if(M.ki_shield) if(ki_absorbed >= 1) src << "<font color = #00C3ED>[M]'s Ki Shield Absorbs the attacks damage!" M << "<font color = #00C3ED>Your Ki Shield Absorbs [src]'s Attack!" for(var/mob/M2 in view(3)) if(M2 != M && !M2.safe) M2 << "\red [src.name]'s Kamehameha explosion hurts you" M2.powerlevel -= round(ki_damage) M2.KIDEATH() M.powerlevel -= round(ki_absorbed) M.ki_shield_strength -= round(ki_damage) M.KIDEATH() src.doing = 0 src.frozen = 0 return else usr << "\red [src]'s Kamehameha slams into you!" src <<"\red Your Kamehameha slams into [M]!" for(var/mob/M2 in view(3)) if(M2 != M && !M2.safe) M2 << "\red [src.name]'s Kamehameha explosion hurts you" M2.powerlevel -= round(ki_damage) M2.KIDEATH() M.powerlevel -= round(ki_absorbed) M.ki_shield_strength -= round(ki_damage) M.KIDEATH() src.doing = 0 src.frozen = 0 return
M << "\red [src.name]'s Kamehameha slams into you" for(var/mob/M2 in view(3)) if(M2 != M && !M2.safe) M << "\red [src.name]'s Kamehameha explosion hurts you" M2.powerlevel -= round(ki_damage) M2.KIDEATH() M.powerlevel -= ki_damage M.KIDEATH() del(H) sleep(1)
|
Code 2:
mob/learn/ verb Kamehameha() set category = "Techniques"
if(usr.doing) src << "You are already doing something!" return
if(usr.buku) return
if(usr.dead) return
if(usr.monkey == 1) usr << "<font size = -1><B>You cannot use this technique while in the form of a Oozaru!" return
if(usr.ki_lock) src << "Cannot use this Technique at his time" return
Kamehameha_Shoot() src.afk_time = 0
mob proc Kamehameha_Shoot() var/obj/H = new/obj/Kamehameha var/ki_damage = round(usr.powerlevel_max * 0.05) var/ki_cost = round(src.ki_max * 0.05)
if(src.ki >= ki_cost) if(!src.doing) src.doing = 1 src.ki -= ki_cost src.overlays += kamehameha_charge view(6) << "<font color = white>[src]:</font> Ka..." sleep(8) view(6) << "<font color = white>[src]:</font> Me..." sleep(8) view(6) << "<font color = white>[src]:</font> Ha..." sleep(8) view(6) << "<font color = white>[src]:</font> ME..." sleep(8) view(6) << "<font color = white>[src]:</font> HA!!!" src.overlays -= kamehameha_charge spawn(5) src.doing = 0 spawn(5) src.frozen = 0 if(!H)return H.dir = src.dir H.loc = src.loc
while(H) step(H,H.dir) if(!H)break var/turf/T = H.loc if(T.density) del(H) break for(var/mob/M as mob in T) var/ki_absorbed = round(M.ki_shield_strength - ki_damage)
if(M == src) continue if(!M.dead && !M.safe) if(M.ki_shield) if(ki_absorbed >= 1) src << "<font color = #00C3ED>[M]'s Ki Shield Absorbs the attacks damage!" M << "<font color = #00C3ED>Your Ki Shield Absorbs [src]'s Attack!" for(var/mob/M2 in view(3)) if(M2 != M && !M2.safe) M2 << "\red [src.name]'s Kamehameha explosion hurts you" M2.powerlevel -= round(ki_damage) M2.KIDEATH() M.powerlevel -= round(ki_absorbed) M.ki_shield_strength -= round(ki_damage) M.KIDEATH() src.doing = 0 src.frozen = 0 return else usr << "\red [src]'s Kamehameha slams into you!" src <<"\red Your Kamehameha slams into [M]!" for(var/mob/M2 in view(3)) if(M2 != M && !M2.safe) M2 << "\red [src.name]'s Kamehameha explosion hurts you" M2.powerlevel -= round(ki_damage) M2.KIDEATH() M.powerlevel -= round(ki_absorbed) M.ki_shield_strength -= round(ki_damage) M.KIDEATH() src.doing = 0 src.frozen = 0 return
M << "\red [src.name]'s Kamehameha slams into you" for(var/mob/M2 in view(3)) if(M2 != M && !M2.safe) M << "\red [src.name]'s Kamehameha explosion hurts you" M2.powerlevel -= round(ki_damage) M2.KIDEATH() M.powerlevel -= ki_damage M.KIDEATH() del(H) sleep(1)
obj/Kamehameha icon = 'Kamehameha.dmi'
|
Problem description:
im trying to use code 1 I added the vars from code 2,but ended up with lots of errors can someone please correct me(btw the errors are inconstant indentations)thier werent any errors til I added the
while(H) step(H,H.dir) if(!H)break var/turf/T = H.loc if(T.density) del(H) break for(var/mob/M as mob in T) var/ki_absorbed = round(M.ki_shield_strength - ki_damage)
if(M == src) continue if(!M.dead && !M.safe) if(M.ki_shield) if(ki_absorbed >= 1) src << "<font color = #00C3ED>[M]'s Ki Shield Absorbs the attacks damage!" M << "<font color = #00C3ED>Your Ki Shield Absorbs [src]'s Attack!" for(var/mob/M2 in view(3)) if(M2 != M && !M2.safe) M2 << "\red [src.name]'s Kamehameha explosion hurts you" M2.powerlevel -= round(ki_damage) M2.KIDEATH() M.powerlevel -= round(ki_absorbed) M.ki_shield_strength -= round(ki_damage) M.KIDEATH() src.doing = 0 src.frozen = 0 return else usr << "\red [src]'s Kamehameha slams into you!" src <<"\red Your Kamehameha slams into [M]!" for(var/mob/M2 in view(3)) if(M2 != M && !M2.safe) M2 << "\red [src.name]'s Kamehameha explosion hurts you" M2.powerlevel -= round(ki_damage) M2.KIDEATH() M.powerlevel -= round(ki_absorbed) M.ki_shield_strength -= round(ki_damage) M.KIDEATH() src.doing = 0 src.frozen = 0 return
M << "\red [src.name]'s Kamehameha slams into you" for(var/mob/M2 in view(3)) if(M2 != M && !M2.safe) M << "\red [src.name]'s Kamehameha explosion hurts you" M2.powerlevel -= round(ki_damage) M2.KIDEATH() M.powerlevel -= ki_damage M.KIDEATH() del(H) sleep(1)
|
|