ID:146658
 
Code:Shooting
atom
Click()
usr.shoot(src) // Note who is usr and who is src
mob/proc/Shoot()
shoot()
mob
proc
shoot(mob/target)
var/obj/L = new/obj/bullet
if(src.fired == 0)
src.fired = 1
spawn(15)
src.fired = 0
L.dir = get_dir(src, target)
L.loc = src.loc
while(L)
step(L,L.dir)
var/turf/T = L.loc
if(T.density == 1)
del(L)
break
for(var/mob/M as mob in T)
if(M == src)
continue
src<<"You shot [M]!"
del(L)
sleep(1)


Problem description:Ok i just need 2 little help with my code.
1)I need to know how would i make a var to set it max range.Ex:If i was using a rifle it could only go for a max of 15 spaces,if i was using a gun it could only go for 7 spaces.
2)How would it make it shoot more then 8 directions.It does shoot 8 direction right now but how wold i amke it shoot more?
If anyone would help me with thatit would be great.=)

Thanks in advance.

Anyone?please i tryed several things just can't get it i need help with this asap cause this is liek the core of my game without this i can't do anything else.
mob
var
obj
items
weapons
Gun
obj
items
weapons
var
travel_distance=1
proc
Fire()
var/mob/User=src.loc
if(ismob(User))
var/obj/items/bullets/Bullet=new(locate(User.x,User.y,User.z),turn(User.dir,pick(prob(10)-45,prob(10)45,prob(80)0)))
walk(Bullet,Bullet.dir)
Move(Loc,Dir)
if(isturf(Loc))
if(!src.travel_distance)
del(src)
src.travel_distance--
return ..(Loc,Dir)
Rifle
travel_distance=15
//Fire() incase you want to over ride the default proc for special purposes.
Revolver
travel_distance=7
In response to Teh Governator
obj
items
weapons
var
travel_distance=1

proc
Fire()
var/mob/User=src.loc
if(ismob(User))
var/obj/bullet=new(locate(User.x,User.y,User.z),turn(User.dir,pick(prob(10)-45,prob(10)45,prob(80)0)))
walk(Bullet,Bullet.dir)

Move(Loc,Dir)
if(isturf(Loc))
if(!src.travel_distance)
del(src)
src.travel_distance--
return ..(Loc,Dir)

Rifle
travel_distance=15
//Fire() incase you want to over ride the default proc for special purposes.

<dm>var/obj/bullet=new(locate(User.x,User.y,User.z),turn(User.dir,pick(prob(10)-45,prob(10)45,prob(80)0)))
that the line it giving me the error,can anyone help?

Revolver
travel_distance=7
</dm>
Shooting.dm:31:error: 45: missing comma ',' or right-paren ')'
Shooting.dm:31:error: 45: missing comma ',' or right-paren ')'
Shooting.dm:31:error: 45: missing comma ',' or right-paren ')'
Shooting.dm:31:error: 45: expected end of statement
Shooting.dm:31:error: expected expression
Shooting.dm:31:error: ,: expected }
Shooting.dm:29:error: location of top-most unmatched {