Trying to make it so you have more chance of getting a spear than either a vikingsword or a katana.. Looks like a big mess :p

C#:
  public override void OnDoubleClick(Mobile from)
        {
            if (!IsChildOf(from.Backpack))
            {
                from.SendLocalizedMessage(1042001);
            }
            else
            {
                switch (Utility.Random(2))
                {
                    if ( Utility.RandomDouble() < 0.02 )
                    case 0: from.AddToBackpack(new Spear()); break;
                    else
                        if ( Utility.RandomDouble() < 0.01 )
                             {
                switch (Utility.Random(2))
                {
                    case 0: from.AddToBackpack(new VikingSword()); break;
                        case 1: from.AddToBackpack(new Katana()); break;
                                }
            }
        }
 
This would be less of a mess :)

C#:
public override void OnDoubleClick(Mobile from)
        {
            if (!IsChildOf(from.Backpack))
            {
                from.SendLocalizedMessage(1042001);
            }
            else
            {
                var random = Utility.RandomDouble();
                if ( random < 0.02 )
                {
                    from.AddToBackpack(new Spear());
                }     
                else if ( random < 0.03)
                {
                    switch (Utility.Random(2))
                    {
                        case 0: from.AddToBackpack(new VikingSword()); break;
                        case 1: from.AddToBackpack(new Katana()); break;
                    }
                }
            }
        }
 
For some reason its only giving me spears, like 100% of the time


C#:
  public override void OnDoubleClick(Mobile from)
        {
            if (!IsChildOf(from.Backpack))
            {
                from.SendLocalizedMessage(1042001);
            }
            else
            {
                var random = Utility.RandomDouble();
                if ( random < 0.9 )
                {
                    from.AddToBackpack(new Spear());
                }     
                else if ( random < 0.8)
                {
                    switch (Utility.Random(2))
                    {
                        case 0: from.AddToBackpack(new VikingSword()); break;
                        case 1: from.AddToBackpack(new Katana()); break;
                    }
                }
                
                else if ( random < 0.7)
                {
                    switch (Utility.Random(2))
                    {
                        case 0: from.AddToBackpack(new PlateChest()); break;
                        case 1: from.AddToBackpack(new PlateHelm()); break;
                    }
                }
                
                else if ( random < 0.6)
                {
                    switch (Utility.Random(2))
                    {
                        case 0: from.AddToBackpack(new BoneChest()); break;
                        case 1: from.AddToBackpack(new BoneHelm()); break;
                    }
                }
                
                else if ( random < 0.5)
                {
                    switch (Utility.Random(2))
                    {
                        case 0: from.AddToBackpack(new LightningWand()); break;
                        case 1: from.AddToBackpack(new HarmWand()); break;
                    }
                }
                
                Delete();
                
            }
        }
 
yes because you ask if the random value is up to 0.9, so 90% then give the spear.
But then after that if it is above the 0.9 you try to see if it is below 0.8, so yes that cant work.
 
Back