UOGamers Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • To obtain new Razor updates, please reinstall Razor from our new website.

[COMPLETE] 15 new growable plants

Status
Not open for further replies.

LadyCrimson

Wanderer
[COMPLETE] 15 new growable plants

Ok, this is more of a fun one. Obviously, nothing critical. Its not ML content. Its not anything accessable before ML....

But, peculiar seeds :)

Documentation:
http://update.uo.com/design_595.html (change is ML era)

15 new plants dropping on a handful of critters. There is a stratics thread about it in the gardeners forum. I'll look up the link again tonight. I meant to save it but forgot. The players pretty much nailed down what monsters drop the seeds, the rate, and what plants (with pictures!). They shouldn't produce seeds or resources and they are not able to be used for cross pollination. I believe they are only to be in plain (but I think I saw some coloered ones on OSI last week... not sure if it was a funky dye or not... but the impression from the images on the forum is that they are allllll plain).

Just a fun package if anyone was interested in working on it. Nothing game stopping/critical. Not a bug - just a missing function.

LC
 

Gisela

Bug Hunter
Re: 15 new growable plants

This sounds fun. :)

Using InsideUO, I found the art for all of them except hops, sugarcane and flax flowers. Maybe they're part of some newer client version?

Has anyone seen them inside the game?
 

psz

Administrator
Re: 15 new growable plants

Er... Newer client version?


PATCH YOUR CLIENT! :-P
 

uome

Bug Hunter
Re: 15 new growable plants

hops 0x1A9F, east
hops 0x1AA1, south

sugarcane is actually bamboo 0x246C

flax 0x1A9A
 

thea_zara

Sorceror
Re: 15 new growable plants

Any chance we'll ever get the cherry trees?

*sits back and looks wistfully off into the distance* I've always wanted a nice little UO house near a cherry tree and a pond, but alas with land at a premium it wasn't to be. I can dig my own pond with a little work... but just t'ain't had any luck growing them cherry pits into a tree.
 

Gisela

Bug Hunter
Re: 15 new growable plants

This will be nice and easy since it fits right into the existing plant system.

But, I don't what the artwork xy offsets should be, and some of these trees are really big. Recompiling the scripts over and over to find out through trial and error does not sound like fun. Anyone know a better way?
 
Re: 15 new growable plants

LadyCrimson;566406 said:
Ok, this is more of a fun one. Obviously, nothing critical. Its not ML content. Its not anything accessable before ML....

But, peculiar seeds :)

I'm not sure about this. It's true I'm reading fast, but I read peculiar seeds can spawn also by some particular monsters on Despise, or undeads...

If they are ML monsters, it's ok. Otherwise, the drop must be considered "ML only" :)
 

psz

Administrator
Re: 15 new growable plants

It all depends on when they came out. If they came out after ML was released, then the loot would be ML+ only.

There's already a lot of creatures that have AOS+ Lootpacks seperate from Pre-AOS Lootpacks.
 

Gisela

Bug Hunter
Re: 15 new growable plants

Yeah I think we can just add ML lootpacks. That will have to be done at some point anyway.
 
Re: 15 new growable plants

Gisela;566659 said:
Yeah I think we can just add ML lootpacks. That will have to be done at some point anyway.

if seeds and plants are already included in RunUO...
Otherwise, we have to add some files about

(it's quite the same about ML weapons)
 

Gisela

Bug Hunter
Re: 15 new growable plants

Nah, I've almost got the new plants and seeds added to the old system. They fit just fine. Unfortunately I have a day job and can't finish it immediately, but I wish I could. (omg plants :))
 

LadyCrimson

Wanderer
Re: 15 new growable plants

I thought this would be a fun one to get in and since its not exactly ML specific content... :)

Besides, it counterbalances the other "evil" things I've reported LOL
 
Re: 15 new growable plants

this is really cool to know
and if anyone is growing these things and selling them let me know
would be nice to add new decor to the castle and houses
 

Gisela

Bug Hunter
Re: 15 new growable plants

Here is a first stab at it.

Some notes:
- I couldn't find a dryad mobile
- I didn't know the drop rate, so I copied the bonsai's 1 in 3
- Hiryus already drop bonsais. Should they be able to drop both types on the same corpse?

- I am too lazy to make svn shut up about newlines at the end of file

Comments, corrections, testing and even cringing appreciated ;)

Code:
Index: Scripts/Engines/Plants/Seed.cs
===================================================================
--- Scripts/Engines/Plants/Seed.cs    (revision 321)
+++ Scripts/Engines/Plants/Seed.cs    (working copy)
@@ -56,6 +56,17 @@
             return new Seed( PlantTypeInfo.RandomBonsai( increaseRatio ), PlantHue.Plain, false );
         }
 
+        public static Seed RandomPeculiarSeed( int group )
+        {
+            switch ( group )
+            {
+                case 1: return new Seed ( PlantTypeInfo.RandomPeculiarGroupOne(), PlantHue.Plain, false );
+                case 2: return new Seed ( PlantTypeInfo.RandomPeculiarGroupTwo(), PlantHue.Plain, false );
+                case 3: return new Seed ( PlantTypeInfo.RandomPeculiarGroupThree(), PlantHue.Plain, false );
+                default: return new Seed ( PlantTypeInfo.RandomPeculiarGroupFour(), PlantHue.Plain, false );
+            }
+        }
+
         [Constructable]
         public Seed() : this( PlantTypeInfo.RandomFirstGeneration(), PlantHueInfo.RandomFirstGeneration(), false )
         {
@@ -187,4 +198,4 @@
                 Weight = 1.0;
         }
     }
-}
\ No newline at end of file
+}
Index: Scripts/Engines/Plants/PlantType.cs
===================================================================
--- Scripts/Engines/Plants/PlantType.cs    (revision 321)
+++ Scripts/Engines/Plants/PlantType.cs    (working copy)
@@ -29,7 +29,24 @@
         RareGreenBonsai,
         RarePinkBonsai,
         ExceptionalBonsai,
-        ExoticBonsai
+        ExoticBonsai,
+        Cactus,
+        FlaxFlowers,
+        FoxgloveFlowers,
+        HopsEast,
+        OrfluerFlowers,
+        CypressTwisted,
+        HedgeShort,
+        JuniperBush,
+        SnowdropPatch,
+        Cattails,
+        PoppyPatch,
+        SpiderTree,
+        WaterLily,
+        CypressStraight,
+        HedgeTall,
+        HopsSouth,
+        SugarCanes
     }
 
     public class PlantTypeInfo
@@ -60,7 +77,24 @@
                 new PlantTypeInfo( 0x28DE, -5, 5,    PlantType.RareGreenBonsai,        true, false, false ),
                 new PlantTypeInfo( 0x28E1, -5, 5,    PlantType.RarePinkBonsai,        true, false, false ),
                 new PlantTypeInfo( 0x28E2, -5, 5,    PlantType.ExceptionalBonsai,    true, false, false ),
-                new PlantTypeInfo( 0x28E3, -5, 5,    PlantType.ExoticBonsai,            true, false, false )
+                new PlantTypeInfo( 0x28E3, -5, 5,    PlantType.ExoticBonsai,            true, false, false ),
+                new PlantTypeInfo( 0x0D25, 0, 0,    PlantType.Cactus,            false, false, false ),
+                new PlantTypeInfo( 0x1A9A, 0, 0,     PlantType.FlaxFlowers,            false, true, false ),
+                new PlantTypeInfo( 0x0C84, 0, 0,     PlantType.FoxgloveFlowers,        false, true, false ),
+                new PlantTypeInfo( 0x1A9F, 0, 0,    PlantType.HopsEast,            false, false, false ),
+                new PlantTypeInfo( 0x0CC1, 0, 0,     PlantType.OrfluerFlowers,        false, true, false ),
+                new PlantTypeInfo( 0x0CFE, 0, 0,     PlantType.CypressTwisted,        false, false, false ),
+                new PlantTypeInfo( 0x0C8F, 0, 0,     PlantType.HedgeShort,            false, false, false ),
+                new PlantTypeInfo( 0x0CC8, 0, 0,    PlantType.JuniperBush,            true, false, false ),
+                new PlantTypeInfo( 0x0C8E, 0, 0,    PlantType.SnowdropPatch,        false, true, false ),
+                new PlantTypeInfo( 0x0CB7, 0, 0,    PlantType.Cattails,            false, false, false ),
+                new PlantTypeInfo( 0x0CBE, 0, 0,     PlantType.PoppyPatch,            false, true, false ),
+                new PlantTypeInfo( 0x0CC9, 0, 0,    PlantType.SpiderTree,            false, false, false ),
+                new PlantTypeInfo( 0x0DC1, 0, 0,    PlantType.WaterLily,            false, true, false ),
+                new PlantTypeInfo( 0x0CFB, 0, 0,    PlantType.CypressStraight,        false, false, false ),
+                new PlantTypeInfo( 0x0DB8, 0, 0,     PlantType.HedgeTall,            false, false, false ),
+                new PlantTypeInfo( 0x1AA1, 0, 0,    PlantType.HopsSouth,            false, false, false ),
+                new PlantTypeInfo( 0x246C, 0, 0,    PlantType.SugarCanes,            false, false, false )
             };
 
         public static PlantTypeInfo GetInfo( PlantType plantType )
@@ -83,6 +117,51 @@
             }
         }
 
+        public static PlantType RandomPeculiarGroupOne()
+        {
+            switch ( Utility.Random( 5 ) )
+            {
+                case 0: return PlantType.Cactus;
+                case 1: return PlantType.FlaxFlowers;
+                case 2: return PlantType.FoxgloveFlowers;
+                case 3: return PlantType.HopsEast;
+                default: return PlantType.OrfluerFlowers;
+            }
+        }
+
+        public static PlantType RandomPeculiarGroupTwo()
+        {
+            switch ( Utility.Random( 4 ) )
+            {
+                case 0:    return PlantType.CypressTwisted; 
+                case 1: return PlantType.HedgeShort;
+                case 2: return PlantType.JuniperBush;
+                default: return PlantType.SnowdropPatch;
+            }
+        }
+
+        public static PlantType RandomPeculiarGroupThree()
+        {
+            switch ( Utility.Random( 4 ) )
+            {
+                case 0:    return PlantType.Cattails;
+                case 1: return PlantType.PoppyPatch;
+                case 2: return PlantType.SpiderTree;
+                default: return PlantType.WaterLily;
+            }
+        }
+
+        public static PlantType RandomPeculiarGroupFour()
+        {
+            switch ( Utility.Random( 4 ) )
+            {
+                case 0:    return PlantType.CypressStraight;
+                case 1: return PlantType.HedgeTall;
+                case 2: return PlantType.HopsSouth;
+                default: return PlantType.SugarCanes;
+            }
+        }
+                
         public static PlantType RandomBonsai( double increaseRatio )
         {
             /* Chances of each plant type are equal to the chances of the previous plant type * increaseRatio:
@@ -152,6 +231,25 @@
         {
             switch ( plantType )
             {
+                case PlantType.Cactus:
+                case PlantType.FlaxFlowers:
+                case PlantType.FoxgloveFlowers:
+                case PlantType.HopsEast:
+                case PlantType.OrfluerFlowers:
+                case PlantType.CypressTwisted:
+                case PlantType.HedgeShort:
+                case PlantType.JuniperBush:
+                case PlantType.SnowdropPatch:
+                case PlantType.Cattails:
+                case PlantType.PoppyPatch:
+                case PlantType.SpiderTree:
+                case PlantType.WaterLily:
+                case PlantType.CypressStraight:
+                case PlantType.HedgeTall:
+                case PlantType.HopsSouth:
+                case PlantType.SugarCanes:
+                    return 1080528; // peculiar
+
                 case PlantType.CommonGreenBonsai:
                 case PlantType.CommonPinkBonsai:
                     return 1063335; // common
@@ -187,6 +285,8 @@
         public int OffsetX { get { return m_OffsetX; } }
         public int OffsetY { get { return m_OffsetY; } }
         public PlantType PlantType { get { return m_PlantType; } }
+
+        /* TODO: Sugar Canes = Bamboo. */
         public int Name { get { return 1020000 + m_ItemID; } }
         public bool ContainsPlant { get { return m_ContainsPlant; } }
         public bool Flowery { get { return m_Flowery; } }
@@ -203,4 +303,4 @@
             m_Crossable = crossable;
         }
     }
-}
\ No newline at end of file
+}
Index: Scripts/Mobiles/Animals/Mounts/Hiryu.cs
===================================================================
--- Scripts/Mobiles/Animals/Mounts/Hiryu.cs    (revision 321)
+++ Scripts/Mobiles/Animals/Mounts/Hiryu.cs    (working copy)
@@ -110,6 +110,9 @@
 
             if( Utility.RandomDouble() < .33 )
                 PackItem( Engines.Plants.Seed.RandomBonsaiSeed() );
+
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(3) );
         }
 
 
Index: Scripts/Mobiles/Monsters/LBR/Jukas/JukaMage.cs
===================================================================
--- Scripts/Mobiles/Monsters/LBR/Jukas/JukaMage.cs    (revision 321)
+++ Scripts/Mobiles/Monsters/LBR/Jukas/JukaMage.cs    (working copy)
@@ -64,6 +64,9 @@
 
             PackItem( new ArcaneGem() );
 
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(4) );
+
             m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
         }
 
Index: Scripts/Mobiles/Monsters/Humanoid/Magic/Titan.cs
===================================================================
--- Scripts/Mobiles/Monsters/Humanoid/Magic/Titan.cs    (revision 321)
+++ Scripts/Mobiles/Monsters/Humanoid/Magic/Titan.cs    (working copy)
@@ -40,6 +40,10 @@
             Karma = -11500;
 
             VirtualArmor = 40;
+
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(1) );
+
         }
 
         public override void GenerateLoot()
@@ -69,4 +73,4 @@
             int version = reader.ReadInt();
         }
     }
-}
\ No newline at end of file
+}
Index: Scripts/Mobiles/Monsters/Humanoid/Melee/Mummy.cs
===================================================================
--- Scripts/Mobiles/Monsters/Humanoid/Melee/Mummy.cs    (revision 321)
+++ Scripts/Mobiles/Monsters/Humanoid/Melee/Mummy.cs    (working copy)
@@ -41,6 +41,9 @@
 
             VirtualArmor = 50;
 
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(2) );
+
             PackItem( new Garlic( 5 ) );
             PackItem( new Bandage( 10 ) );
         }
@@ -76,4 +79,4 @@
             int version = reader.ReadInt();
         }
     }
-}
\ No newline at end of file
+}
Index: Scripts/Mobiles/Monsters/Reptile/Magic/SerpentineDragon.cs
===================================================================
--- Scripts/Mobiles/Monsters/Reptile/Magic/SerpentineDragon.cs    (revision 321)
+++ Scripts/Mobiles/Monsters/Reptile/Magic/SerpentineDragon.cs    (working copy)
@@ -42,6 +42,9 @@
             Karma = 15000;
 
             VirtualArmor = 36;
+
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(2) );
         }
 
         public override void GenerateLoot()
@@ -120,4 +123,4 @@
             int version = reader.ReadInt();
         }
     }
-}
\ No newline at end of file
+}
Index: Scripts/Mobiles/Monsters/Ants/AntLion.cs
===================================================================
--- Scripts/Mobiles/Monsters/Ants/AntLion.cs    (revision 321)
+++ Scripts/Mobiles/Monsters/Ants/AntLion.cs    (working copy)
@@ -44,6 +44,9 @@
             PackItem( new Bone( 3 ) );
             PackItem( new FertileDirt( Utility.RandomMinMax( 1, 5 ) ) );
 
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(2) );
+
             switch ( Utility.Random( 4 ) )
             {
                 case 0: PackItem( new DullCopperOre( Utility.RandomMinMax( 1, 10 ) ) ); break;
@@ -102,4 +105,4 @@
             int version = reader.ReadInt();
         }
     }
-}
\ No newline at end of file
+}
Index: Scripts/Mobiles/Monsters/SE/TsukiWolf.cs
===================================================================
--- Scripts/Mobiles/Monsters/SE/TsukiWolf.cs    (revision 321)
+++ Scripts/Mobiles/Monsters/SE/TsukiWolf.cs    (working copy)
@@ -47,6 +47,8 @@
             Fame = 8500;
             Karma = -8500;
 
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(1) );
 
 
             switch( Utility.Random( 10 ) )
@@ -189,4 +191,4 @@
             return 0x52A;
         }
     }
-}
\ No newline at end of file
+}
Index: Scripts/Mobiles/Monsters/SE/Kappa.cs
===================================================================
--- Scripts/Mobiles/Monsters/SE/Kappa.cs    (revision 321)
+++ Scripts/Mobiles/Monsters/SE/Kappa.cs    (working copy)
@@ -48,6 +48,8 @@
                     case 2: PackItem( new Axle() ); break;
                 }
             }
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(4) );
 
 
         }
Index: Scripts/Mobiles/Monsters/Arachnid/Melee/TerathanWarrior.cs
===================================================================
--- Scripts/Mobiles/Monsters/Arachnid/Melee/TerathanWarrior.cs    (revision 321)
+++ Scripts/Mobiles/Monsters/Arachnid/Melee/TerathanWarrior.cs    (working copy)
@@ -41,6 +41,9 @@
             Karma = -4000;
 
             VirtualArmor = 30;
+
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(3) );
         }
 
         public override void GenerateLoot()
@@ -72,4 +75,4 @@
             int version = reader.ReadInt();
         }
     }
-}
\ No newline at end of file
+}
Index: Scripts/Mobiles/Monsters/Misc/Magic/Wisp.cs
===================================================================
--- Scripts/Mobiles/Monsters/Misc/Magic/Wisp.cs    (revision 321)
+++ Scripts/Mobiles/Monsters/Misc/Magic/Wisp.cs    (working copy)
@@ -51,6 +51,9 @@
 
             VirtualArmor = 40;
 
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(3) );
+
             AddItem( new LightSource() );
         }
 
@@ -81,4 +84,4 @@
             int version = reader.ReadInt();
         }
     }
-}
\ No newline at end of file
+}
Index: Scripts/Mobiles/Monsters/Misc/Melee/PlagueBeast.cs
===================================================================
--- Scripts/Mobiles/Monsters/Misc/Melee/PlagueBeast.cs    (revision 321)
+++ Scripts/Mobiles/Monsters/Misc/Melee/PlagueBeast.cs    (working copy)
@@ -40,6 +40,9 @@
 
             VirtualArmor = 30;
             PackArmor( 1, 5 );
+
+            if ( Core.ML && Utility.RandomDouble() < .33 )
+                PackItem( Engines.Plants.Seed.RandomPeculiarSeed(4) );
         }
 
         public override void GenerateLoot()
@@ -121,4 +124,4 @@
             int version = reader.ReadInt();
         }
     }
-}
\ No newline at end of file
+}
 
Status
Not open for further replies.
Top