示例#1
0
            protected override void OnTarget(Mobile from, object o)
            {
                if (o is FullPlantBowl)
                {
                    FullPlantBowl pot = o as FullPlantBowl;
                    if (pot.Owner == from)
                    {
                        if (pot.Water >= 0 && pot.Stage == 0 && ((!pot.Movable && pot.Parent == null) || (pot.Movable && pot.IsChildOf(from.Backpack)) || (pot.Movable && pot.IsChildOf(from.BankBox))))                    //Makes sure it's soft dirt and it's in bank, backpack or lockeddown
                        {
                            // Resource producing plants:
                            // Red Leaf: Bright Red Elephant Ear Plants(-1), Bright Red Ponytail Palms(1) and Bright Red Century Plants(3)
                            // Orange Petals: Bright Orange Poppies(-7), Bright Orange Bulrushes(-5) and Bright Orange Pampas Grass(-3)
                            // Green Thorn: Bright Green Barrel Cacti(7) and Bright Green Snake Plants(5)

                            if ((m_seed.Hue == (int)PlantColors.BrightRed && m_seed.SeedType == -1) || (m_seed.Hue == (int)PlantColors.BrightRed && m_seed.SeedType == 1) || (m_seed.Hue == (int)PlantColors.BrightRed && m_seed.SeedType == 3))
                            {
                                pot.ResourceType = 1;                // Red Leaf
                            }
                            if ((m_seed.Hue == (int)PlantColors.BrightOrange && m_seed.SeedType == -7) || (m_seed.Hue == (int)PlantColors.BrightOrange && m_seed.SeedType == -5) || (m_seed.Hue == (int)PlantColors.BrightOrange && m_seed.SeedType == -3))
                            {
                                pot.ResourceType = 2;                // Orange Petals
                            }
                            if ((m_seed.Hue == (int)PlantColors.BrightGreen && m_seed.SeedType == 5) || (m_seed.Hue == (int)PlantColors.BrightGreen && m_seed.SeedType == 7))
                            {
                                pot.ResourceType = 3;                // Green Thorn
                            }
                            if (pot.ResourceType != 0)
                            {
                                pot.RMax = 8;
                            }
                            if (m_seed.Hue == (int)PlantColors.Black || m_seed.Hue == (int)PlantColors.White || m_seed.Hue == (int)PlantColors.RareMagenta || m_seed.Hue == (int)PlantColors.RareFireRed || m_seed.Hue == (int)PlantColors.RareAqua || m_seed.Hue == (int)PlantColors.RarePink)
                            {
                                pot.SMax       = 0;
                                pot.Pollenated = true;
                            }
                            pot.SeedType  = m_seed.SeedType;
                            pot.SeedColor = pot.ChildColor = m_seed.Hue;
                            if (m_seed is NamedSeed)
                            {
                                pot.Named = true;
                            }
                            pot.Stage = 1;
                            pot.Start(from, pot, PlantProps.GrowthCheck);
                            m_seed.Delete();
                            pot.SendLocalizedMessageTo(from, 1053041);             // You plant the seed in the bowl of dirt
                        }
                        else if ((!pot.Movable && pot.Parent != null) || (pot.Movable && !pot.IsChildOf(from.Backpack) && !pot.IsChildOf(from.BankBox)))
                        {
                            from.SendLocalizedMessage(1053039);              // The bowl of dirt must be in your pack, or you must lock it down.
                        }
                        else if (pot.Stage > 0 && pot.Stage < 7)
                        {
                            pot.SendLocalizedMessageTo(from, 1041522, "This bowl of dirt already has a " + "\t" + PlantProps.Stages(pot.Stage) + "\t" + " in it!");               // ~1~~2~~3~
                        }
                        else if (pot.Stage > 7)
                        {
                            from.SendLocalizedMessage(1053038);              // You must use a seed on a bowl of dirt!
                        }
                        else
                        {
                            from.SendLocalizedMessage(1053040);              // The dirt in this bowl needs to be softened first.
                            return;
                        }
                    }
                }
                else
                {
                    from.SendLocalizedMessage(1053038);              // You must use a seed on a bowl of dirt!
                }
            }