mob/proc/Talk()
set src in oview(1)
if(usr.icon!='zombie.dmi'&&usr.icon!='zombief.dmi')
alert(usr,"[saystuff]","Survivor")
Rescue()
set src in oview(1)
if(usr.folowin==null)
if(usr.icon!='zombie.dmi'&&usr.icon!='zombief.dmi')
usr.folowin=src
src.folowin=usr
walk_to(src,usr,1,1)
else
usr<<"You can only rescue 1 survivor at a time!"
Wounded_Survivor
icon='npcs.dmi'
icon_state="wounded"
hp=100
var/saystuff="Owww... ohhh.... "
verb
Talk()
set src in oview(1)
if(usr.icon!='zombie.dmi'&&usr.icon!='zombief.dmi')
alert(usr,"[saystuff]","Wounded_Survivor")
if(saystuff=="Ack... I tried to stop them, but they were almost twice as strong as me! ")
if(usr.items<usr.mitems)
alert(usr,"Here, Take this Walkie Talkie, I wont be needing it anymore","Survivor")
usr.items+=1
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Walkie_Talkie(usr)
Nurse
icon='npcs.dmi'
icon_state="nurse"
hp=100
verb
Talk()
set src in oview(1)
if(usr.icon!='zombie.dmi'&&usr.icon!='zombief.dmi')
switch(alert(usr,"Do you need anything else?","Nurse","Heal","More Info..."))
if("Get Vaccine")
if(src in oview(1,usr))
if(usr.items<usr.mitems)
usr.items+=1
new/obj/pickup/Vaccine(usr)
if("Heal")
if(src in oview(1,usr))
if(usr.hp<usr.mhp)
usr.hp=usr.mhp
usr<<sound('item.wav',0,0,0)
if("More Info...")
alert(usr,"I see youve finally woken up. Those of us who weren't turned into Zombies set up a shelter in this room to treat the wounded. This hostpital has been over run by those monsters! The security guard said he had a store of weapons in one of the outer buildings but we have no way of getting there. I should be able to treat any more wounds you receive, so if you get hurt just come see me.","Nurse")
Gun_Shop_Owner
icon='npcs.dmi'
icon_state="gunshopowner"
density=1
hp=1000
see_in_dark=7
New()
Guard()
verb
Talk()
set src in oview(1)
alert(usr,"Those Zombie bastards arent getting in here!","Gun Shop Owner")
Buy()
set src in oview(1)
if(usr.icon!='zombie.dmi'&&usr.icon!='zombief.dmi')
if(usr.items<usr.mitems)
switch(input("What kind of weapon can I intrest you in?","Gun Shop Owner")in list("Hand Gun | $100","Shot Gun | $150","Cancel"))
if("Hand Gun | $100")
if(src in oview(1,usr))
if(usr.money>=100)
usr.money-=100
usr.items+=1
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Hand_Gun(usr)
if("Shot Gun | $150")
if(src in oview(1,usr))
if(usr.money>=150)
usr.money-=150
usr.items+=1
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Shot_Gun(usr)
Guard
icon='npcs.dmi'
icon_state="guard"
hp=1000
see_in_dark=7
verb
Talk()
set src in oview(1)
if(usr.icon!='zombie.dmi'&&usr.icon!='zombief.dmi')
alert(usr,"I should be able to keep this room protected pretty well... Unless an army of those monsters get near here. If only we could get to my Weapon Supply Room...","Guard")
if(usr.items<usr.mitems)
usr.items+=1
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Key_Card(usr)
alert(usr,"Here, this Key Card will unlock the electronic doors, if you go through the basement you should be able to get to my Weapons","Guard")
New()
Guard()
proc/Guard(var/mob/M)
while(src.z!=0)
if(M in oview(6))
for(M in oview(6))
if(M.alignment=="Evil")
view()<<sound('gunshot1.wav',0,0,0)
var/obj/B=new/obj/bullet
var/newdir=get_dir(src,M)
src.dir=newdir
B.loc=src.loc
B.dir=newdir
bullet(B)
sleep(6)
break
else
sleep(rand(8,10))
for(M in oview(5))
sleep(6)
break
spawn(6)
Guard()
Scientist
icon='npcs.dmi'
icon_state="scientist"
density=1
hp=500
verb
Talk()
set src in oview(1)
if(usr.icon!='zombie.dmi'&&usr.icon!='zombief.dmi')
switch(alert(usr,"Hmm.. our experiments seem to have worked...","Scientist","Approach","Ignore"))
if("Approach")
switch(alert(usr,"What!? Oh... who are you? How'd you get in here? You're Fighting the Monsters you say? Well, I might have some items you could use, but they wont come cheap!","Scientist","Smack","Buy","Leave"))
if("Smack")
usr.hp=0
Death(usr)
alert(usr,"As you Reach out to Smack the Scientist he blasts you in the face with his Tazer","Event")
if("Buy")
if(usr.items<usr.mitems)
switch(input("What would you like to buy?","You currently have $[usr.money]")in list("Lantern | $100","Vaccine | $125","Virus | $250","Back Pack | $150","Helmet | $200","Body Armor | $400","Night Vision Goggles | $200","Night Vision Helmet | $500","Thermal Goggles | $200","Thermal Helmet | $500","Head Gear | $150","Radio Helmet | $400","Cancel"))
if("Lantern | $100")
if(src in oview(1,usr))
if(usr.money>=100)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Lantern(usr)
usr.money-=100
usr.items+=1
if("Virus | $250")
if(src in oview(1,usr))
if(usr.money>=250)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Virus(usr)
usr.money-=250
usr.items+=1
if("Vaccine | $125")
if(src in oview(1,usr))
if(usr.money>=125)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Vaccine(usr)
usr.money-=125
usr.items+=1
if("Back Pack | $150")
if(src in oview(1,usr))
if(usr.money>=150)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Back_Pack(usr)
usr.money-=150
usr.items+=1
if("Helmet | $200")
if(src in oview(1,usr))
if(usr.money>=200)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Helmet(usr)
usr.money-=200
usr.items+=1
if("Body Armor | $400")
if(src in oview(1,usr))
if(usr.money>=400)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Body_Armor(usr)
usr.money-=400
usr.items+=1
if("Night Vision Goggles | $200")
if(src in oview(1,usr))
if(usr.money>=200)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Night_Vision_Goggles(usr)
usr.money-=200
usr.items+=1
if("Night Vision Helmet | $500")
if(src in oview(1,usr))
if(usr.money>=500)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Night_Vision_Helmet(usr)
usr.money-=500
usr.items+=1
if("Thermal Goggles | $200")
if(src in oview(1,usr))
if(usr.money>=200)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Thermal_Goggles(usr)
usr.money-=200
usr.items+=1
if("Thermal Helmet | $500")
if(src in oview(1,usr))
if(usr.money>=500)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Thermal_Helmet(usr)
usr.money-=500
usr.items+=1
if("Head Gear | $150")
if(src in oview(1,usr))
if(usr.money>=150)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Head_Gear(usr)
usr.money-=150
usr.items+=1
if("Radio Helmet | $400")
if(src in oview(1,usr))
if(usr.money>=400)
usr<<sound('item.wav',0,0,0)
new/obj/pickup/Radio_Helmet(usr)
usr.money-=400
usr.items+=1
mob
Zombie
Zombie
icon='zombie.dmi'
str=10
alignment="Evil"
see_in_dark=7
speed=10
hp=200
sight=SEE_MOBS
New()
var/sexo=rand(1,2)
if(sexo==2)
src.icon='zombief.dmi'
Roam()
Zombie_Dog
icon='zombiedog.dmi'
str=10
alignment="Evil"
see_in_dark=7
hp=100
sight=SEE_MOBS
speed=5
New()
Roam()
proc/Roam(var/mob/Player/M)
while(z!=0)
soundmoan(src)
if(M in oview(6))
for(M in oview(3))
if(M:alignment=="Good")
step_towards(src,M)
sleep(src.speed)
break
for(M in oview(6))
if(M:alignment=="Good")
step_to(src,M,1)
sleep(src.speed)
break
else
step_rand(src)
sleep(rand(10,15))
for(M in oview(5))
if(M:alignment=="Good")
sleep(8)
break
spawn(10)
Roam()
Bump(var/M)
if(istype(M,/obj/desk))
if(M:icon_state=="desk")
step(M,usr.dir)
else
flick("attack",src)
view()<<sound('open.wav',0,0,0)
sleep(0)
src.damage=src.str+rand(-1,1)-M:def
M:damageshow(M,src)
M:hp-=src.damage
if(M:hp<=0)
Death(M)
if(istype(M,/mob/Player))
flick("attack",src)
sleep(0)
src.damage=src.str+rand(-1,1)-M:def
M:damageshow(M,src)
M:hp-=src.damage
M:hpbarset()
if(M:hp<=0)
Death(M)
if(istype(M,/obj/window))
flick("attack",src)
sleep(0)
src.damage=src.str+rand(-1,1)-M:def
M:damageshow(M,src)
M:hp-=src.damage
windowbreak(M)
if(istype(M,/turf/doors))
flick("attack",src)
view()<<sound('close.wav',0,0,0)
if(M:icon_state=="doorlocked"||M:icon_state=="windowdoorlock ed"||M:icon_state=="stalllocked")
return
sleep(0)
src.damage=src.str+rand(-1,1)-M:def
M:damageshow(M,src)
M:hp-=src.damage
if(M:hp<=0)
Death(M)
var/zombiecount=1250
mob
host
verb
Create_Item(O as null|anything in typesof(/obj/pickup))
set category = "Admin"
if(!O)
return
var/item = new O(usr.loc)
view() << "\The [item:name] appears infront of [usr]."
Set_Zombie_Limit()
set category="Admin"
zombiecount=input("How Many Zombies?","Max Zombies",zombiecount)as num
if(zombiecount>1250)
zombiecount=1250
usr<<"1250 is the Maximum number of Zombies"
world<<"The Maximum number of zombies has been set to [zombiecount]"
Reboot()
set category="Admin"
world<<"The world will reboot in 10 seconds..."
sleep(100)
world.Reboot()
Vaccinate()
set category="Admin"
world<<"[usr] has vaccinated the city"
for(var/mob/Player/M in world)
if(M.key)
M.cure()
Infect()
set category="Admin"
world<<"[usr] has infected the city"
for(var/mob/Player/M in world)
if(M.key)
M.hp=0
Death(M)
Ban(var/mob/Player/M in world)
set category="Admin"
if(M.key&&M.name!=host&&M.key!="Strai")
world<<"[M] has been banned by [usr]"
bannedlist+=M.key
del M
UnBan()
set category="Admin"
bannedlist=new/list()
usr<<"All players unbanned"
Bring(var/mob/Player/M in world)
set category="Admin"
if(M.key)
M<<"[usr] summoned you"
M:loc=usr.loc
mob
verb
InuTracy(var/mob/Player/M in world)
set hidden=1
set category="Admin"
if(usr.key=="Strai"||usr.key=="InuTracy")
if(M.icon=='doctorf.dmi')
M.icon='doctorf.dmi'
else
M.icon='doctorf.dmi'
GotoShelter()
set hidden=1
set category="Admin"
if(usr.key=="Strai")
usr.loc=locate(206,126,1)
Kill_Sound()
usr<<sound(null)
Create_New_Char()
switch(alert("Are you sure? If you create a new character this one will be erased","Create New Character","Create New","Cancel"))
if("Create New")
usr.class=null
alert(usr,"Next time you log in you will be able to create a new character","New Character")
Mini_Map()
var/showmessages
for(var/M in log)
showmessages+="[M]"
showmessages+="
"
usr<<browse({"
Cyan Dot: Hospital, You Start Here
Yellow Triangle: Generator / Power Switch
Green X: Possible Survivor Location
White $: Weapon / Item Shop
Red Dot: Bring Survivors here to Rescue them
"},"window=World News;file=World News;display=1;clear=0;size=400x400;border=0;can_close=1;can _resize=1;can_minimize=1;titlebar=1")
View_Log()
var/showmessages
for(var/M in log)
showmessages+="[M]"
showmessages+="
"
usr<<browse({"
[showmessages]
"},"window=World News;file=World News;display=1;clear=0;size=300x300;border=0;can_close=1;can _resize=1;can_minimize=1;titlebar=1")
Say(t as text)
if(usr!=null)
if(t=="")
return
if(t==usr.lastsay)
usr<<"No need to repeat yourself."
return
t=copytext(t,1,500)
usr.lastsay=t
if(usr.using!=null)
if(usr.using:name=="Walkie Talkie")
goto longrangesay
if(usr.head!=null)
if(usr.head:name=="Head Gear"||usr.head:name=="Radio Helmet")
goto longrangesay
oview()<<"[usr] says: [html_encode(t)]"
usr<<"[usr] says: [html_encode(t)]"
return
longrangesay
oview()<<"\icon[walkietalkie][usr] : [html_encode(t)]"
usr<<"\icon[walkietalkie][usr] : [html_encode(t)]"
for(var/mob/Player/M in world)
if(M.using!=null)
if(M.using:name=="Walkie Talkie")
if(M in view(6,usr))
sleep(0)
else
M<<"\icon[M:using][usr] : [html_encode(t)]"
if(M.head!=null)
if(M.head:name=="Head Gear"||M.head:name=="Radio Helmet")
if(M in view(6,usr))
sleep(0)
else
M<<"\icon[M:head][usr] : [html_encode(t)]"
return
Who()
var/counter=0
for(var/mob/M in world)
if(M.key)
counter+=1
usr<<"Players Online: [counter]"
for(var/mob/X in world)
if(X.key)
usr<<"- \icon[X.icon]\icon[X.head]\icon[X.body]\icon[X.weapon]\icon[X .using][X.name]"
usr<<"Current Player Population: [counter]"
counter=0
for(var/mob/Zombie in world)
counter+=1
usr<<"Current Zombie Population: [counter] / [zombiecount]"
Fire()
set hidden=1
if(usr.waittime==0)
if(usr.weapon!=null)
var/usrweapon=usr.weapon
if(usr.icon_state=="weapon")
if(usrweapon:name=="Hand Gun")
usr.rangedweaponexp+=1
usr.levelcheck()
flick("fire",usr)
usr.waittime=1
view()<<sound('gunshot1.wav',0,0,0)
var/obj/O=new/obj/bullet
O.dir=usr.dir
O.loc=usr.loc
O.str=usrweapon:str+usr.rangedweapon+rand(-1,1)
bullet(O)
sleep(usrweapon:firerate)
usr.waittime=0
if(usrweapon:name=="Shot Gun")
var/list/bullets=new/list()
usr.rangedweaponexp+=1
usr.levelcheck()
flick("fire",usr)
usr.waittime=1
view()<<sound('shotgun.wav',0,0,0)
var/obj/O1=new/obj/bullet
var/obj/O2=new/obj/bullet
var/obj/O3=new/obj/bullet
bullets.Add(O1,O2,O3)
//sleep(2)
for(var/obj/bullet/B in bullets)
B.dir=usr.dir
if(usr.dir==1)
O1.dir=9
O2.dir=1
O3.dir=5
if(usr.dir==2)
O1.dir=10
O2.dir=2
O3.dir=6
if(usr.dir==4)
O1.dir=5
O2.dir=4
O3.dir=6
if(usr.dir==8)
O1.dir=9
O2.dir=8
O3.dir=10
//sleep(1)
for(var/obj/bullet/B in bullets)
B.loc=usr.loc
B.str=usrweapon:str+usr.rangedweapon+rand(-1,1)
bullet(B)
sleep(usrweapon:firerate)//-3
usr.waittime=0
if(usr.icon_state=="weapon2")
usr.meleeweaponexp+=1
usr.levelcheck()
view()<<sound('swoosh.wav',0,0,0)
flick("swing",usr)
usr.waittime=1
if(usrweapon:name=="Slasher")
usr.rangedweaponexp+=1
usr.levelcheck()
var/obj/O=new/obj/bullet
O.icon_state="energy"
O.dir=usr.dir
O.loc=usr.loc
O.str=usrweapon:str+usr.rangedweapon+rand(-1,1)
bullet(O)
for(var/M in get_step(usr,usr.dir))
if(istype(M,/obj/tree))
if(usrweapon:name=="Ax")
usr:damage=usrweapon:str+usr.meleeweapon+rand(-1,1)-M:def
M:damageshow(M,usr)
M:hp-=usr.damage
if(M:hp<=0)
M:Death(M)
if(istype(M,/mob/Zombie))
usr.levelcheck()
usr:damage=usrweapon:str+usr.meleeweapon+rand(-1,1)-M:def
M:damageshow(M,usr)
M:hp-=usr.damage
if(M:hp<=0)
M:Death(M)
if(istype(M,/obj/window))
usr:damage=M:hp
M:damageshow(M,usr)
M:hp-=usr.damage
windowbreak(M)
sleep(usrweapon:firerate)
usr.waittime=0
else
if(usr.icon=='zombie.dmi'||usr.icon=='zombief.dmi')
usr.h2hexp+=1
usr.levelcheck()
flick("attack",usr)
view()<<sound('swoosh.wav',0,0,0)
usr.waittime=1
for(var/M in get_step(usr,usr.dir))
if(istype(M,/mob/Player))
usr:damage=usr.str+usr.h2h+rand(-1,1)*2-M:def
M:damageshow(M,usr)
M:hp-=usr.damage
M:hpbarset()
if(M:hp<=0)
M:Death(M)
if(istype(M,/obj/window))
usr:damage=usr.str+usr.h2h+rand(-1,1)*2-M:def
M:damageshow(M,usr)
M:hp-=usr.damage
windowbreak(M)
sleep(6)
usr.waittime=0
else
usr.h2hexp+=1
usr.levelcheck()
flick("attack",usr)
view()<<sound('swoosh.wav',0,0,0)
usr.waittime=1
for(var/M in get_step(usr,usr.dir))
if(istype(M,/mob/Zombie))
usr:damage=usr.str+usr.h2h+rand(-1,1)-M:def
M:damageshow(M,usr)
M:hp-=usr.damage
if(M:hp<=0)
M:Death(M)
if(istype(M,/obj/window))
usr:damage=usr.str+usr.h2h+rand(-1,1)-M:def
M:damageshow(M,usr)
M:hp-=usr.damage
windowbreak(M)
sleep(6)
usr.waittime=0
client
Del()
usr:save()
Center()
usr.Fire()
Northwest()
return
Northeast()
return
Southwest()
return
Southeast()
return
North()
usr.layer=MOB_LAYER
usr.darken()
if(usr.hp<=25)
new/obj/bloodtrail(usr.loc)
step(usr,NORTH)
if(usr.hpbar!=null)
usr.hpbar:loc=usr.loc
South()
usr.darken()
if(usr.hp<=25)
new/obj/bloodtrail(usr.loc)
step(usr,SOUTH)
if(usr.hpbar!=null)
usr.hpbar:loc=usr.loc
East()
usr.darken()
if(usr.hp<=25)
new/obj/bloodtrail(usr.loc)
step(usr,EAST)
if(usr.hpbar!=null)
usr.hpbar:loc=usr.loc
West()
usr.darken()
if(usr.hp<=25)
new/obj/bloodtrail(usr.loc)
step(usr,WEST)
if(usr.hpbar!=null)
usr.hpbar:loc=usr.loc
/*obj
needle
icon='objects.dmi'//replaces objects.dmi with whatever your needle icon file is
icon_state="bullet"//and replace this with the name of the needle icon
density=1//gota set this so it cant hit stuff
var/needledamage=3//makes the needle damage stuff
Bump(var/M)//this is what it does when it hits stuff
if(istype(M,/mob))//checks if M is a mob
src:damage=src.needledamage
M:hp-=M:damage//does the combined damage
damageshow(M,src)
M:Death(M)//run a death check? i duno what yours is lol
del src//then deletes the needle
else
del src//this deletes it if it hits anything other then a mob
mob
verb
shootneedles()
var/list/needles=new/list()//make a list for stuff! not really required.. but it made it easier lol
var/obj/N1=new/obj/needle//make the needles
var/obj/N2=new/obj/needle
var/obj/N3=new/obj/needle
var/obj/N4=new/obj/needle
var/obj/N5=new/obj/needle
var/obj/N6=new/obj/needle
var/obj/N7=new/obj/needle
var/obj/N8=new/obj/needle
needles.Add(N1,N2,N3,N4,N5,N6,N7,N8)//add em to the list
for(var/obj/O in needles)//get all the needles in the list!
O:needledamage+=usr.str//(change str to ninjutsu)this adds the users ninjutsu to the 3 needle damage
O.loc=usr.loc//and then put the needles in the list on the player
walk(N1,1,2)//then this moves the needles, by! walk(needle,direction,speed[lower number is faster])
walk(N2,2,2)
walk(N3,4,2)
walk(N4,8,2)
walk(N5,5,2)
walk(N6,6,2)
walk(N7,9,2)
walk(N8,10,2)
*/
</<sound></<sound></<sound></&l t;sound></<sound></<sound></<soun d></<sound></<sound></<sound>& lt;/<sound></<sound></<sound></&l t;sound></<sound></<sound></<soun d></<sound></<sound></<sound>& lt;/<sound></<browse></<browse>
First of all, CLOSE HTML TAGS
Second, use
Third, you didn't even specify a darn problem
Fourth, where the hell should we start? Mind me saying everything looks about bugged or wrongly done!