the only way i see a way to fix this is to constantly update the auction price depending on demand of an item and current supply of an item.
for example :
implement a request system on the market that would allow players to request 10 items for an amount of silver and the request would dissapear every 24 hours which would result in market prices updating and allowing players to request another bunch of items.
also add amount of traded items within 24 hours to the “requested amount of items” variable
if(requested amount of items > items currently listed on market)
{
average price*=((
(average requested price / average price of the item) *
( total request amount / (total amount of items tradeable+1))
)+0.5)
//E.A : 300*(((700/300)(10/2))+0.5)=3650
//E.A : 300(((700/300)(2/2))+0.5)=850
//E.A : 300(((100/300)(2/10))+0.5)=170
}
else if ( request amount of items < items currently listed on market)
{
average price=((average requested price / average price of the item) * ( (total amount of request+1) / total amount of items tradeable)0.5)
//E.A : 300(((300/700)(1/200))+0.5)=150
//E.A : 300(((300/700)*(50/10))+0.5)=750
}
so basically if
1)there would be more items listed than request
2)the item price needed to go down
3)and there would be a large amount of that tradeable item
the system would drastically reduce the average price no matter what
the more i look at my function the more i see conditional errors.
//EDIT
damn i just noticed how this doesn’t work with stacks of items, ah fk this