diff options
Diffstat (limited to 'OpenSim')
3 files changed, 17 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs index c8fb9da..a674d60 100644 --- a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs | |||
@@ -104,7 +104,7 @@ namespace OpenSim.Region.CoreModules.World.Objects.BuySell | |||
104 | part.GetProperties(client); | 104 | part.GetProperties(client); |
105 | } | 105 | } |
106 | 106 | ||
107 | public bool BuyObject(IClientAPI remoteClient, UUID categoryID, uint localID, byte saleType) | 107 | public bool BuyObject(IClientAPI remoteClient, UUID categoryID, uint localID, byte saleType, int salePrice) |
108 | { | 108 | { |
109 | SceneObjectPart part = m_scene.GetSceneObjectPart(localID); | 109 | SceneObjectPart part = m_scene.GetSceneObjectPart(localID); |
110 | 110 | ||
@@ -114,6 +114,18 @@ namespace OpenSim.Region.CoreModules.World.Objects.BuySell | |||
114 | if (part.ParentGroup == null) | 114 | if (part.ParentGroup == null) |
115 | return false; | 115 | return false; |
116 | 116 | ||
117 | if (part.ObjectSaleType != saleType) | ||
118 | { | ||
119 | m_dialogModule.SendAlertToUser(remoteClient, "This item is not available for the type of sale specified"); | ||
120 | return false; | ||
121 | } | ||
122 | |||
123 | if (part.SalePrice != salePrice) | ||
124 | { | ||
125 | m_dialogModule.SendAlertToUser(remoteClient, "This item is not available for the price specified"); | ||
126 | return false; | ||
127 | } | ||
128 | |||
117 | SceneObjectGroup group = part.ParentGroup; | 129 | SceneObjectGroup group = part.ParentGroup; |
118 | 130 | ||
119 | switch (saleType) | 131 | switch (saleType) |
diff --git a/OpenSim/Region/Framework/Interfaces/IBuySellModule.cs b/OpenSim/Region/Framework/Interfaces/IBuySellModule.cs index 0132bae..d1ce4c0 100644 --- a/OpenSim/Region/Framework/Interfaces/IBuySellModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IBuySellModule.cs | |||
@@ -42,6 +42,6 @@ namespace OpenSim.Region.Framework.Interfaces | |||
42 | /// <returns> | 42 | /// <returns> |
43 | /// True on a successful purchase, false on failure | 43 | /// True on a successful purchase, false on failure |
44 | /// </returns> | 44 | /// </returns> |
45 | bool BuyObject(IClientAPI remoteClient, UUID categoryID, uint localID, byte saleType); | 45 | bool BuyObject(IClientAPI remoteClient, UUID categoryID, uint localID, byte saleType, int salePrice); |
46 | } | 46 | } |
47 | } \ No newline at end of file | 47 | } |
diff --git a/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs b/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs index cc51c3b..d364df6 100644 --- a/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs +++ b/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs | |||
@@ -814,7 +814,7 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule | |||
814 | 814 | ||
815 | IBuySellModule module = s.RequestModuleInterface<IBuySellModule>(); | 815 | IBuySellModule module = s.RequestModuleInterface<IBuySellModule>(); |
816 | if (module != null) | 816 | if (module != null) |
817 | module.BuyObject(remoteClient, categoryID, localID, saleType); | 817 | module.BuyObject(remoteClient, categoryID, localID, saleType, salePrice); |
818 | } | 818 | } |
819 | } | 819 | } |
820 | 820 | ||
@@ -825,4 +825,4 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule | |||
825 | Gift = 2, | 825 | Gift = 2, |
826 | Purchase = 3 | 826 | Purchase = 3 |
827 | } | 827 | } |
828 | } \ No newline at end of file | 828 | } |