ID:262680
 
Code: Basically a Battle proc that a players and npcs can share in order to conduct battle.
//***************NPC*******************

Monsters
Saibaman
name="Saibaman"
icon='Saibaman.dmi'
density=1
New()
src.str=rand(1,3)
src.def=rand(1,3)
src.eva=3
src.wis=rand(1,3)
src.Wander()
proc
Damage(mob/M)
do
if(get_dist(src,M)== 1)
var/random=rand(1,2)
if(random==1)
Battle(src,M,"punch","#FF00CC")
else
Battle(src,M,"kick","#00FF00")
sleep(20)
while(get_dist(src,M) == 1)
src.Approach(M)

//***********Seperate Proc****************

Battle(mob/M,mob/N,type,color)
var/totalevasion=N.eva-M.eva
if(totalevasion>0)
var/random=rand(1,4)
if(random==1)
M << "<font color=[color]>[N.name] dodges your brutal assault"
N << "<font color=[color]>You dodge [M.name]'s brutal assault"
N.loc=locate(M.x,M.y+3,M.z)
return
if(random==2)
M << "<font color=[color]>[N.name] dodges your brutal assault"
N << "<font color=[color]>You dodge [M.name]'s brutal assault"
N.loc=locate(M.x,M.y-3,M.z)
return
if(random==3)
M << "<font color=[color]>[N.name] dodges your brutal assault"
N << "<font color=[color]>You dodge [M.name]'s brutal assault"
N.loc=locate(M.x+3,M.y,M.z)
return
else
M << "<font color=[color]>[N.name] dodges your brutal assault"
N << "<font color=[color]>You dodge [M.name]'s brutal assault"
N.loc=locate(M.x-3,M.y,M.z)
return


Problem description: For some odd readon I keep getting a runtime error. If this isn't enough information, please tell me. Here is the runtime error.

runtime error: Undefined operation
proc name: Battle (/proc/Battle)
usr: Saibaman (/mob/Monsters/Saibaman)
src: null
call stack:
Battle(Saibaman (/mob/Monsters/Saibaman), Fungeki (/mob), "punch", "#FF00CC")
Saibaman (/mob/Monsters/Saibaman): Damage(Fungeki (/mob))
Saibaman (/mob/Monsters/Saibaman): Approach(Fungeki (/mob))
Saibaman (/mob/Monsters/Saibaman): Scan()
Saibaman (/mob/Monsters/Saibaman): Wander()
Saibaman (/mob/Monsters/Saibaman): Scan()
Saibaman (/mob/Monsters/Saibaman): Wander()
Saibaman (/mob/Monsters/Saibaman): Scan()
Saibaman (/mob/Monsters/Saibaman): Wander()
Saibaman (/mob/Monsters/Saibaman): Scan()
...
Saibaman (/mob/Monsters/Saibaman): Scan()
Saibaman (/mob/Monsters/Saibaman): Wander()
Saibaman (/mob/Monsters/Saibaman): Scan()
Saibaman (/mob/Monsters/Saibaman): Wander()
Saibaman (/mob/Monsters/Saibaman): Scan()
Saibaman (/mob/Monsters/Saibaman): Scan()
Saibaman (/mob/Monsters/Saibaman): Scan()
Saibaman (/mob/Monsters/Saibaman): Scan()
Saibaman (/mob/Monsters/Saibaman): New( (165,123,2) (/turf/Terrain1/V))

Can you run your BYOND .dmb in Debug mode. To do, so go to the build menu. Then to the bottom where it says Preferences for "Enviornment Name". Click the top check box.

Doing the above simply edits your .dme file with the added code.
// BEGIN_PREFERENCES
#define DEBUG
// END_PREFERENCES

You can also just go to one of your .dm files and add the line fo code
#define DEBUG


After your DEBUG mode is on. The runtime error will report the line of code in which the error accourd. Add a comment to this line indecating it is where the runtime error accourds. Then copy and paste that again like before.

In response to Green Lime
Thank you very much. It's nice to have helpful people on BYOND. If ya want to chat it up, my email is "[email protected]".

Thanx again