ID:149275
 
When you challenge a person the proc turn()
is to run for both players but it only does it for the challenger. Tried using M then replaced it with src.
mob/player
Challenge(mob/player/M as mob in oview(1))

usr.loctemp = usr.loc
src.loctemp = src.loc
src.loc = locate(2,42,3)
src.dir = EAST
usr.loc = locate(6,42,3)
usr.dir = WEST
usr.verbs += /mob/player/proc/Pattack
src.verbs +=/mob/player/proc/Pattack
usr << "person is a[usr.p] "
if (usr.p == "Swordsman")
usr.icon = 'Dekuh Battle.dmi'
else
if (usr.p == "Archer")
usr.icon = 'archer battle.dmi'
else
if (usr.p == "Swordsman2")
usr.icon = 'hero2 battle.dmi'
else
if(usr.p == "Knight")
usr.icon = 'knight battle.dmi'
if (src.p == "Swordsman")
src.icon = 'Dekuh Battle.dmi'
else
if (src.p == "Archer")
src.icon = 'archer battle.dmi'
else
if (src.p == "Swordsman2")
src.icon = 'hero2 battle.dmi'
else
if(usr.p == "Knight")
usr.icon = 'knight battle.dmi'
flick("ready",usr)
flick("ready",src)
sleep(4)
usr << "usr [usr] src [src]"
src << "usr [usr] src [src]"
src.Turn()
usr.Turn()

mob
proc
Turn()
usr << "usr speed :[usr.Speed]"
t= 100 - usr.Speed
while(t)

if(Stopturn == 0)
sleep(1)
t= t - 2
usr << "[t]"
if (t <= 0)
yturn = 1
usr << "its your turn"
break
In your Challenge() proc, you are only mentioning usr and src. In this case, they are the same mob.

src = the player
M = the person being challenged

- Malver
In response to Malver
M = the person being challenged
did that already thats what i had first then changed it to src