In response to Gokuss4neo
I have fully coded my Beyblade stuff, and it has no errors, and it works in game. Just incase you were wondering how I did it I will give you the code. I admit it is probably not even 0.5% as efficient as your method, but it works, and I can understand it.

obj
var
TotAtt
TotDef
TotEnd
AttAtt
AttDef
AttEnd
WeDAtt
WeDDef
WeDEnd
BasAtt
BasDef
BasEnd
AttRing
WeightDisk
Base

obj
Beyblade
Custom

mob
proc
BeybladeCheck()
//To check if they have a full beyblade
src.HasBeyblade = 1 // assume this until we find out otherwise
var/obj/Beyblade/Custom/C = locate() in src
if(!C.AttRing)
src.HasBeyblade = 0
src<<"You do not have a complete Beyblade, you are missing an Attack Ring!"
if(!C.WeightDisk)
src.HasBeyblade = 0
src<<"You do not have a complete Beyblade, you are missing a Weight Disk!"
if(!C.Base)
src.HasBeyblade = 0
src<<"You do not have a complete Beyblade, you are missing a Base!"
else
src<<"You have a complete Beyblade!"
BeybladeStatCheck()
//This is to work out the stats of your beyblade!
BeybladeCheck()//Do this now to make sure they have a full beyblade
if(src.HasBeyblade)
var/obj/Beyblade/Custom/A = locate() in src
A.TotAtt = A.AttAtt + A.WeDAtt + A.BasAtt
A.TotDef = A.AttDef + A.WeDDef + A.BasDef
A.TotEnd = A.AttEnd + A.WeDEnd + A.BasEnd
src<<"<U>You Beyblades Stats:</U>"
src<<"Attack = [A.TotAtt]"
src<<"Defence = [A.TotDef]"
src<<"Endurance = [A.TotEnd]"
else
src<<"You do not have a complete Beyblade!"

verb
CustomAttackRing(attack as null|anything in src.AttackRings)
//Lets them customize their Beyblade
set name = "Customize your Beyblade Attack Ring"
switch(attack)
if("Baku-shin-oh")
var/obj/Beyblade/Custom/A = locate() in src
if(A.AttRing != "")
src.AttackRings += A.AttRing
src.AttackRings.Remove("Baku-shin-oh")
A.AttRing = "Baku-shin-oh"
A.AttAtt = 6
A.AttDef = 4
A.AttEnd = 2
if("Roller Attacker")
var/obj/Beyblade/Custom/A = locate() in src
if(A.name != "N/A")
src.AttackRings += A.AttRing
src.AttackRings.Remove("Roller Attacker")
A.AttRing = "Roller Attacker"
A.AttRing = 2
A.AttDef = 4
A.AttEnd = 4
if("Razeil")
var/obj/Beyblade/Custom/A = locate() in src
if(A.name != "N/A")
src.AttackRings += A.AttRing
src.AttackRings.Remove("Razeil")
A.AttRing = "Razeil"
A.AttAtt = 3
A.AttDef = 3
A.AttEnd = 1
if("DragoonS")
var/obj/Beyblade/Custom/A = locate() in src
if(A.name != "N/A")
src.AttackRings += A.AttRing
src.AttackRings.Remove("DragoonS")
A.AttRing = "DragoonS"
A.AttAtt = 4
A.AttDef = 1
A.AttEnd = 3
CustomWeightDisk(weight as null|anything in src.WeightRings)
//Lets them customize their Beyblade
set name = "Customize your Beyblade Weight Disk"
switch(weight)
if("Baku-shin-oh")
var/obj/Beyblade/Custom/W = locate() in src
if(W.name != "")
src.WeightRings += W.WeightDisk
src.WeightRings.Remove("Baku-shin-oh")
W.WeightDisk = "Baku-shin-oh"
W.WeDAtt = 2
W.WeDDef = 1
W.WeDEnd = 3
if("Roller Attacker")
var/obj/Beyblade/Custom/W = locate() in src
if(W.name != "")
src.WeightRings += W.WeightDisk
src.WeightRings.Remove("Roller Attacker")
W.WeightDisk = "Roller Attacker"
W.WeDAtt = 1
W.WeDDef = 3
W.WeDEnd = 2
if("Razeil")
var/obj/Beyblade/Custom/W = locate() in src
if(W.name != "")
src.WeightRings += W.WeightDisk
src.WeightRings.Remove("Razeil")
W.WeightDisk = "Razeil"
W.WeDAtt = 3
W.WeDDef = 3
W.WeDEnd = 5
if("DragoonS")
var/obj/Beyblade/Custom/W = locate() in src
if(W.name != "")
src.WeightRings += W.WeightDisk
src.WeightRings.Remove("DragoonS")
W.WeightDisk = "DragoonS"
W.WeDAtt = 1
W.WeDDef = 4
W.WeDEnd = 7
CustomBase(base as null|anything in src.Bases)
//Lets them customize their Beyblade
set name = "Customize your Beyblade Base"
switch(base)
if("Baku-shin-oh")
var/obj/Beyblade/Custom/B = locate() in src
if(B.name != "")
src.Bases += B.Base
src.Bases.Remove("Baku-shin-oh")
B.Base = "Baku-shin-oh"
B.BasAtt = 2
B.BasDef = 1
B.BasEnd = 3
if("Roller Attacker")
var/obj/Beyblade/Custom/B = locate() in src
if(B.name != "")
src.Bases += B.Base
src.Bases.Remove("Roller Attacker")
B.Base = "Roller Attacker"
B.BasAtt = 1
B.BasDef = 3
B.BasEnd = 2
if("Razeil")
var/obj/Beyblade/Custom/B = locate() in src
if(B.name != "")
src.Bases += B.Base
src.Bases.Remove("Razeil")
B.Base = "Razeil"
B.BasAtt = 3
B.BasDef = 3
B.BasEnd = 5
if("DragoonS")
var/obj/Beyblade/Custom/B = locate() in src
if(B.name != "")
src.Bases += B.Base
src.Bases.Remove("DragoonS")
B.Base = "DragoonS"
B.BasAtt = 1
B.BasDef = 4
B.BasEnd = 7


Again, I admit it is very long, but I don't mind much!

~GokuSS4Neo~
Page: 1 2