Well, I think the problem Description for this should go first...
Problem description:
I think it more proper to list the Dream Daemon Error Report.
StartDuel()
Request Duel (/obj/DuelOv/StartDuel): Click(Sidewalk (47,79,2) (/turf/DOMINO/pavement1), "mapwindow.map1", "icon-x=13;icon-y=6;left=1")
Now, we've tried everything we could to find what might be wrong with the below code, however everything we've done has come up bringing back no results, and the server keeps crashing. We just recently updated to Build 414, and now we're in a bit of a pickle. Could anyone tell us what's wrong with the below code and how to fix it.
Code:
turf/Dueling/TurfDuelingBlock
name=""
turf/Dueling/SoloDuelBlock
name=""
obj/rps
icon='rps.dmi'
icon_state=""
obj/DuelOv/StartDuel
icon='hud.dmi'
icon_state="duel"
name = "Request Duel"
layer=77
Click()
StartDuel()
proc/StartDuel()
if(usr.Dueling==1) return
if(usr.DekEdt==1) return
usr.DuelCk=0
usr.DekCk(usr.DuelCk)
if(usr.DuelCk!=1)
alert(usr,"You do not have a Deck that can be used in a Duel.","No Deck")
usr.DuelCk=0
return
usr.SeeDuel.Cut()
usr.SeeDuel+=usr.key
for(var/mob/N in view(6,src))
if(N.Dueling && N.DuelOpponent==null)
N.DuelOpponent=usr
N.SeeDuel+=usr.key
usr.DuelOpponent=N
usr.SeeDuel+=N.key
N << "[usr.name] has joined your Duel."
if(usr.loggedin==0) return
usr.DuelLP=8000
usr.Drawing=0
usr.MoveLkd=1
usr.Dueling=1
usr.CrntDck.Cut()
usr.DuelDeckLoad()
var/obj/buttonoff1=new/obj/OffOv/disabled
buttonoff1.screen_loc="21,21"
usr.client.screen+=buttonoff1
var/obj/buttonoff2=new/obj/OffOv/disabled
buttonoff2.screen_loc="20,21"
usr.client.screen+=buttonoff2
var/obj/buttonoff3=new/obj/OffOv/disabled
buttonoff3.screen_loc="19,21"
usr.client.screen+=buttonoff3
var/obj/buttonoff4=new/obj/OffOv/disabled
buttonoff4.screen_loc="18,21"
usr.client.screen+=buttonoff4
usr.verbs+=/mob/verb/DuelSay
usr.client.command_text={"duelsay ""}
usr.Monster1=null
usr.Monster2=null
usr.Monster3=null
usr.Monster4=null
usr.Monster5=null
usr.ExtraZone=null
usr.ST1=null
usr.ST2=null
usr.ST3=null
usr.ST4=null
usr.ST5=null
usr.tmduel=0
usr.FieldSlot=null
var/dueldir=sd_Alert(usr, "Which Direction?", "Duel Direction", list("Left","Right"), pick("Left"),0,0,"300x125",,dstyle,"[usr.key]",1)
if(dueldir=="Right")
usr.dir=EAST
usr.client.eye=locate(usr.x+3,usr.y,usr.z)
else
usr.dir=WEST
usr.client.eye=locate(usr.x-3,usr.y,usr.z)
if(!usr.DuelOpponent) usr.AcvDuelist=1
usr.DuelDiskLoad()
usr.DuelLPDisplay=new/obj/overlays/DuelLPDisplays/LP_IN(locate(usr.x,usr.y-1,usr.z))
if(dueldir=="Right")
usr.DuelLPDisplay.pixel_y+=20
usr.DuelLPDisplay.pixel_x-=20
else
usr.DuelLPDisplay.pixel_y+=20
usr.DuelLPDisplay.pixel_x+=20
usr.DuelLPDisplayRefresh(usr)
usr.DuelHand.Cut()
usr.DuelGraveyard.Cut()
usr.DuelRFG.Cut()
PopulateFakeVerbs(usr)
usr.ShuffleDeck("No Output")
if(usr.ddisk=="Doma") usr << sound('doma_disk_on.ogg',0,0,1)
else if(usr.ddisk=="Academy Red" || usr.ddisk=="Academy Blue" || usr.ddisk=="Academy Yellow") usr << sound('duel_disk_on.ogg',0,0,1)
else if(usr.ddisk=="Battle City") usr << sound('battle_city_on.ogg',0,0,1)
usr.RFG=new/obj/rfg(locate(usr.x,usr.y-1,usr.z))
if(dueldir=="Right")
usr.RFG.pixel_y-=16
usr.RFG.pixel_x-=10
else
usr.RFG.pixel_x+=10
usr.RFG.pixel_y-=16
for(var/mob/M in view("21x21"))
if(usr.DuelOpponent) M << "<center><font color=#0b8aec><b>A duel begins.....<br><b>[usr.name]</b> vs <b>[usr.DuelOpponent.name]</b>.</font></center>"
else M << "<center><font color=#0b8aec><b>[usr.name]</b> raises [usr.Gender] Duel Disk.</font></center>"
var/browsefile=list('A.gif','Beacon.gif','Bushido.gif','Chronicle.gif','Clock.gif','Crest.gif','Crystal.gif','Fog.gif','Hyper-Venom.gif','Ice.gif','Maiden.gif','Plasma.gif','Protection.gif','Sacred Beast.gif','Scab.gif','Shine.gif','Spell.gif','Turn.gif','Vaccine.gif','Venom.gif','Continuous.gif','Counter.gif','DARK.gif','DIVINE.gif','EARTH.gif','Equip.gif','Field.gif','FIRE.gif','LIGHT.gif','Normal.gif','Quick-Play.gif','Ritual.gif','SPELLC.gif','TRAPC.gif','WATER.gif','WIND.gif','special_summon.png','norm_summon.png')
for(var/v in browsefile)
usr << browse_rsc(v,"[v]")
mob/proc
BlkBtn()
var/obj/buttonoff1=new/obj/OffOv/disabled
buttonoff1.screen_loc="21,21"
src.client.screen+=buttonoff1
var/obj/buttonoff2=new/obj/OffOv/disabled
buttonoff2.screen_loc="20,21"
src.client.screen+=buttonoff2
var/obj/buttonoff3=new/obj/OffOv/disabled
buttonoff3.screen_loc="19,21"
src.client.screen+=buttonoff3
var/obj/buttonoff4=new/obj/OffOv/disabled
buttonoff4.screen_loc="18,21"
src.client.screen+=buttonoff4
DuelDeckLoad()
var/i=1
var/list/workingdecks[]=new()
var/list/currentcheckingdeck[]=new()
for(i,i<=src.decks.len,i++)
currentcheckingdeck+=src.decks[i]
SeeIfDeckWorks(workingdecks,currentcheckingdeck,i)
var/targetdeck=input(src,"Which deck would you like to use?","Deck Slot") in workingdecks
var/list/newdeckz[]=new()
var/list/newdecku[]=new()
var/DeckChoice=text2num(copytext(targetdeck,1,3))
newdeckz+=src.decks[DeckChoice]
newdecku+=src.sdeck[DeckChoice]
src.CurDeck=DeckChoice
src.CurSide=DeckChoice
Deckload(newdeckz,src)
DeckloadSide(newdecku,src)
SeeIfDeckWorks(var/list/decksthatwork,var/list/checkingdeck,var/deckcounter)
var/cardsindeck=0
for(var/O in checkingdeck)
var/obj/Z = new O
if(Z.fusion!=1) cardsindeck++
del(Z)
checkingdeck.Cut()
if(cardsindeck>=40)
if(deckcounter<10) decksthatwork+="[deckcounter] - [src.DeckName[deckcounter]]"
else decksthatwork+="[deckcounter] - [src.DeckName[deckcounter]]"
DekCk(workingdeck)
var/bigenoughdeck=0
if(src.decks.len>0)
var/list/checkingdeck[]=new()
for(var/i=1,i<=src.decks.len,i++)
checkingdeck.Cut()
for(var/I in src.decks[i])
checkingdeck+=I
var/cardsindeck=0
for(var/O in checkingdeck)
var/Z = "[O]"
if(copytext(Z,1,19)=="/obj/cards/monster")
var/obj/cards/Q = new O
if(Q.fusion!=1)
cardsindeck++
del(Q)
else cardsindeck++
checkingdeck.Cut()
if(cardsindeck>=40)
bigenoughdeck=1
i=src.decks.len
else
bigenoughdeck=0
if(bigenoughdeck==1)
usr.DuelCk++
DeckChoice()
var/list/totaldecklist=new()
var/i
for(i=1, i<=src.decks.len, i++)
if(i<10) totaldecklist+="[i] - [src.DeckName[i]]"
else totaldecklist+="[i] - [src.DeckName[i]]"
totaldecklist+="(Cancel)"
var/targetdeck=input("Which deck slot would you like to load?","Deck Slot") in totaldecklist
if(targetdeck=="(Cancel)") return..()
var/list/newdeckz[]=new()
var/DeckChoice=text2num(copytext(targetdeck,1,3))
newdeckz+=src.decks[DeckChoice]
Deckload(newdeckz,src)
DuelDiskLoad()
var/N
switch(src.ddisk)
if("Volcanic") N="axel"
if("Birdman") N="birdman"
if("Dark World") N="drkworld"
if("Doma") N="chaos"
if("Battle City") N="battlecity"
if("Amazon") N="amazon"
if("Academy Red") N="acad"
if("Academy Yellow") N="acad"
if("Academy Blue") N="acad"
if(src.ddisk=="Academy Red") make_image(src,'DuelDisks.dmi',"osiris_ddisk",1,1,8,5,0,/obj/DuelOv/DuelDisk)
if(src.ddisk=="Academy Blue") make_image(src,'DuelDisks.dmi',"obelisk_ddisk",1,1,8,5,0,/obj/DuelOv/DuelDisk)
if(src.ddisk=="Academy Yellow") make_image(src,'DuelDisks.dmi',"ra_ddisk",1,1,8,5,0,/obj/DuelOv/DuelDisk)
else make_image(src,'DuelDisks.dmi',"[N]_ddisk",1,1,8,5,0,/obj/DuelOv/DuelDisk)
make_image(src,'DuelDisks.dmi',"[N]_dslot",1,1,8,5,0,/obj/DuelOv/DuelDisk2)
make_image(src,'DuelDisks.dmi',"[N]_lp",1,1,8,5,0,/obj/DuelOv/ChangeLP)
if(src.ddisk=="Doma")
var/obj/dueldeck=new/obj/DuelOv/DrawCard
dueldeck.name="Deck ([usr.CrntDck.len] Cards)"
//dueldeck.icon_state="[usr.sleeve_type]"
src.client.screen+=dueldeck
dueldeck.screen_loc="7:-5,2"
else
var/obj/dueldeck=new/obj/DuelOv/DrawCard
dueldeck.name="Deck ([usr.CrntDck.len] Cards)"
//dueldeck.icon_state="[usr.sleeve_type]"
src.client.screen+=dueldeck
dueldeck.screen_loc="6:-5,2"
make_image(src,'DuelDisks.dmi',"[N]_z1",1,1,8,5,0,/obj/DuelOv/Zone1)
make_image(src,'DuelDisks.dmi',"[N]_z2",1,1,8,5,0,/obj/DuelOv/Zone2)
make_image(src,'DuelDisks.dmi',"[N]_z3",1,1,8,5,0,/obj/DuelOv/Zone3)
make_image(src,'DuelDisks.dmi',"[N]_z4",1,1,8,5,0,/obj/DuelOv/Zone4)
make_image(src,'DuelDisks.dmi',"[N]_z5",1,1,8,5,0,/obj/DuelOv/Zone5)
make_image(src,'DuelDisks.dmi',"[N]_fst",1,1,8,5,0,/obj/DuelOv/FlipSetST)
if(src.ddisk=="Academy Red") make_image(src,'DuelDisks.dmi',"osiris_grvyrd",1,1,8,5,0,/obj/DuelOv/ViewGraveyard)
if(src.ddisk=="Academy Blue") make_image(src,'DuelDisks.dmi',"obelisk_grvyrd",1,1,8,5,0,/obj/DuelOv/ViewGraveyard)
if(src.ddisk=="Academy Yellow") make_image(src,'DuelDisks.dmi',"ra_grvyrd",1,1,8,5,0,/obj/DuelOv/ViewGraveyard)
else make_image(src,'DuelDisks.dmi',"[N]_grvyrd",1,1,8,5,0,/obj/DuelOv/ViewGraveyard)
make_image(src,'DuelDisks.dmi',"[N]_end",1,1,8,5,0,/obj/DuelOv/EndDuel)
fieldrfg(var/Z)
if(usr.DuelRFG.len==0)
usr.RFG.icon=null
usr.RFG.name=null
usr.RFG.overlays=null
else
var/obj/rfglist
for(var/obj/cards/D in usr.DuelRFG)
rfglist=D
usr.RFG.name="[usr.name]'s RFG"
usr.RFG.name+=" ([usr.DuelRFG.len] Cards)"
if(rfglist.FaceDown==1)
usr.RFG.icon='Sleeves.dmi'
usr.RFG.icon_state="[usr.sleeve_type]"
else usr.RFG.icon=rfglist.icon
if(Z==EAST) usr.RFG.icon=turn(usr.RFG.icon,90)
else usr.RFG.icon=turn(usr.RFG.icon,270)
if(!usr.RFG.overlays.len)
usr.RFG.overlays+='rfg.dmi'
var/obj/rfgico=new/obj/rfg
rfgico.icon='other_icons.dmi'
rfgico.icon_state="rfg"
rfgico.pixel_y+=12
usr.RFG.overlays+=rfgico
Hiead