Beispiel #1
0
        public BODProps(PlayerMobile pm)
        {
            Player = pm;

            var context = BulkOrderSystem.GetContext(pm, false);

            if (context != null)
            {
                foreach (var kvp in context.Entries)
                {
                    switch (kvp.Key)
                    {
                    case BODType.Smith: Smithy = new BODData(kvp.Key, kvp.Value); break;

                    case BODType.Tailor: Tailor = new BODData(kvp.Key, kvp.Value); break;

                    case BODType.Alchemy: Alchemy = new BODData(kvp.Key, kvp.Value); break;

                    case BODType.Inscription: Inscription = new BODData(kvp.Key, kvp.Value); break;

                    case BODType.Tinkering: Tinkering = new BODData(kvp.Key, kvp.Value); break;

                    case BODType.Cooking: Cooking = new BODData(kvp.Key, kvp.Value); break;

                    case BODType.Fletching: Fletching = new BODData(kvp.Key, kvp.Value); break;

                    case BODType.Carpentry: Carpentry = new BODData(kvp.Key, kvp.Value); break;
                    }
                }
            }
        }
Beispiel #2
0
        public override bool OnDragDrop(Mobile from, Item dropped)
        {
            if (from is PlayerMobile pm && dropped is IBOD bod)
            {
                if (!bod.Complete)
                {
                    SayTo(from, 1045131, 0x3B2); // You have not completed the order yet.
                    return(false);
                }

                var festival = ArtisanFestivalEvent.Instance;

                if (festival.Running && !festival.ClaimPeriod)
                {
                    int    points = 0;
                    double banked = 0.0;

                    if (bod is SmallBOD)
                    {
                        BulkOrderSystem.ComputePoints((SmallBOD)dropped, out points, out banked);
                    }
                    else
                    {
                        BulkOrderSystem.ComputePoints((LargeBOD)dropped, out points, out banked);
                    }

                    festival.OnBodTurnIn(pm, this, banked);
                    Say(1157204, pm.Name, 1150); // Ho! Ho! Thank ye ~1_PLAYER~ for giving me a Bulk Order Deed!

                    dropped.Delete();
                    return(false);
                }
            }

            return(false);
        }
Beispiel #3
0
        public void CheckChanges()
        {
            var context = BulkOrderSystem.GetContext(Player, false);

            if (context != null)
            {
                foreach (var kvp in context.Entries)
                {
                    switch (kvp.Key)
                    {
                    case BODType.Smith:
                        if (Smithy == null)
                        {
                            Smithy = new BODData(kvp.Key, kvp.Value);
                        }
                        else
                        {
                            Smithy.CheckChanges(kvp.Value);
                        }
                        break;

                    case BODType.Tailor:
                        if (Tailor == null)
                        {
                            Tailor = new BODData(kvp.Key, kvp.Value);
                        }
                        else
                        {
                            Tailor.CheckChanges(kvp.Value);
                        }
                        break;

                    case BODType.Alchemy:
                        if (Alchemy == null)
                        {
                            Alchemy = new BODData(kvp.Key, kvp.Value);
                        }
                        else
                        {
                            Alchemy.CheckChanges(kvp.Value);
                        }
                        break;

                    case BODType.Inscription:
                        if (Inscription == null)
                        {
                            Inscription = new BODData(kvp.Key, kvp.Value);
                        }
                        else
                        {
                            Inscription.CheckChanges(kvp.Value);
                        }
                        break;

                    case BODType.Tinkering:
                        if (Tinkering == null)
                        {
                            Tinkering = new BODData(kvp.Key, kvp.Value);
                        }
                        else
                        {
                            Tinkering.CheckChanges(kvp.Value);
                        }
                        break;

                    case BODType.Cooking:
                        if (Cooking == null)
                        {
                            Cooking = new BODData(kvp.Key, kvp.Value);
                        }
                        else
                        {
                            Cooking.CheckChanges(kvp.Value);
                        }
                        break;

                    case BODType.Fletching:
                        if (Fletching == null)
                        {
                            Fletching = new BODData(kvp.Key, kvp.Value);
                        }
                        else
                        {
                            Fletching.CheckChanges(kvp.Value);
                        }
                        break;

                    case BODType.Carpentry:
                        if (Carpentry == null)
                        {
                            Carpentry = new BODData(kvp.Key, kvp.Value);
                        }
                        else
                        {
                            Carpentry.CheckChanges(kvp.Value);
                        }
                        break;
                    }
                }
            }
        }