turf
battlegrass
Enter(){var/F=rand(0, 10);if (F<5){var{K}K=new/mob/monster/slime;usr.RandBattle(K)}return..()}
mob
proc
RandBattle(var/mob/Defender,var/mob/Defender1,var/mob/Defender2)
var/turf/Location
for (var/turf/BattleLocation/BatLoc in world)
var/NotAvailable = 0
for (var/atom/A in BatLoc)if (A.density==1)NotAvailable=1
if (!NotAvailable)Location=BatLoc
if (!Location){return}
OldX=usr.x
OldY=usr.y
OldZ=usr.z
usr.inpvp=1
usr.Move(locate(Location.x , Location.y, Location.z))
if(Defender){ Defender.Move(locate(usr.x-1,usr.y,usr.z));Defender.inpvp=1}
if(Defender1){Defender1.Move(locate(usr.x-1,usr.y+1,usr.z));Defender1.inpvp=1}
if(Defender2){Defender2.Move(locate(usr.x-1,usr.y-1,usr.z));Defender2.inpvp=1}
for(var/mob/H in world)
if(H.groups=="[usr]")
H.inpvp=1
for (var/atom/A in oview(1))
if(A.y==usr.y-1&&A.x==usr.x)
if(A.density==1)H.loc=locate(usr.x,usr.y-2,usr.z)
else H.loc=locate(usr.x,usr.y-1,usr.z)
var/mob/G
while(1)
if(usr.Health<=0)..()
else
switch(input(usr,"What would you like to do?","????") in list ("Attack","Run"))
if("Attack")
var/list/peeps=new()
for(var/mob/E in oview(4))
if(E.groups=="[usr]")..()
else
peeps+=E
if(E.Health<=0)peeps-=E
if(Defender.Health<=0)peeps-=Defender
else peeps+=Defender
var/mob/d=input(usr,"Who would you like to attack?","Attack")in peeps
if(d==null){return}
var{h=50+usr.Dexterity;h2=h-d.Agility}
if(h2>100)h2=100
if(h2<0)h= 0
var{h3=rand(1,100);e=rand(usr.Strength);dc=e-d.Defense}
if(h3<=h2)
if(dc>0){view(3)<<"<B><font color = aqua>[usr] Attacks [d], [dc] Damage.";d.Health-=dc}
else{view(3)<<"<B><font color = yellow>[usr]'s attack bounced off [d]."}
else{view(3)<<"<B><font color = green>[usr] attacks [d], but misses."}
if(d.Health<=0){view()<<"<B>[d] was slain!";d.icon_state=""}
var/c=0
for(var/mob/monster/F in oview(4))
if(F!=null)
if(F.Health>0)c++
if(c==0)
var/Gained_Exp
for(var/mob/monster/L in oview(5))
Gained_Exp+=L.exp
del L
usr.exp+=Gained_Exp
usr<<"Victory is at hand"
usr<<"You Gained [Gained_Exp] Experience!"
usr.loc=locate(OldX,OldY,OldZ)
for(G in world)
if(G.groups=="[usr]")
if(G.Health<=0)..()
else
switch(input(G,"What would you like to do?","????") in list ("Attack","Run"))
if("Attack")
var/list/peeps=new()
for(var/mob/E in oview(4))
if(E.groups=="[usr]")..()
else peeps+=E
if(E.Health<=0)peeps-=E
if(Defender.Health<=0)peeps-=Defender
else peeps+=Defender
var/mob/d=input(G,"Who would you like to attack?","Attack")in peeps
view()<<"[G] Attacks [d]!"
d.Health-=G.Strength
if(d.Health<=0){view()<<"<B>[d] was slain!";d.icon_state=null}
var/c=0
for(var/mob/monster/F in oview(4))
if(F!=null)
if(F.Health>0)c++
if(c==0)
var/Gained_Exp
for(var/mob/monster/L in oview(5))
Gained_Exp+=L.exp
del L
usr.exp+=Gained_Exp
usr<<"Victory is at hand"
usr<<"You Gained [Gained_Exp] Experience!"
usr.loc=locate(OldX,OldY,OldZ)
if(Defender.Health<=0)..()
else
for(var/mob/E)
if(E.y==Defender.y&&E.x == Defender.x+1&&E.Health>1)view()<<"[Defender] Attacks [E]!"
else if(E.y==Defender.y-1&&E.x == Defender.x+1&&E.Health>1)view()<<"[Defender] Attacks [E]!"
else if(E.y==Defender.y+1&&E.x == Defender.x+1&&E.Health>1)view()<<"[Defender] Attacks [E]!"
mob/monster
icon='monsters.dmi'
slime
icon_state="green"
Health=10
MaxHealth=100
Strength=2
Defense=1
Gold=100
RaeKwon