From b920549af0fd4fb0a182294acfbb359c9bc8d51c Mon Sep 17 00:00:00 2001 From: RedSparr0w Date: Sat, 23 Nov 2019 12:02:22 +1300 Subject: [PATCH] don't charge player to withdraw items from their store --- .../src/redone/game/shops/ShopAssistant.java | 33 +++++++++++------- .../src/redone/game/shops/ShopHandler.java | 5 +++ .../redone/game/shops/ShopAssistant.class | Bin 12637 -> 12655 bytes .../redone/game/shops/ShopHandler.class | Bin 6165 -> 6195 bytes 4 files changed, 26 insertions(+), 12 deletions(-) diff --git a/2006Redone Server/src/redone/game/shops/ShopAssistant.java b/2006Redone Server/src/redone/game/shops/ShopAssistant.java index 90c57ffc..0a0a2f09 100644 --- a/2006Redone Server/src/redone/game/shops/ShopAssistant.java +++ b/2006Redone Server/src/redone/game/shops/ShopAssistant.java @@ -298,7 +298,7 @@ public class ShopAssistant { break; // Player owned store case 0: - IsIn = ShopHandler.ShopName[player.myShopId].equalsIgnoreCase(player.properName + "'s Store"); + IsIn = ShopHandler.playerOwnsStore(player.myShopId, player); break; } @@ -313,7 +313,7 @@ public class ShopAssistant { } else if (ShopValue >= 1000000) { ShopAdd = " (" + (ShopValue / 1000000) + " million)"; } - if (ShopHandler.ShopName[player.myShopId].equalsIgnoreCase(player.properName + "'s Store")) { + if (ShopHandler.playerOwnsStore(player.myShopId, player)) { player.getActionSender().sendMessage(ItemAssistant.getItemName(removeId) + ": set your sell price."); } else if (player.myShopId != RANGE_SHOP && player.myShopId != PEST_SHOP && player.myShopId != CASTLE_SHOP && player.myShopId != 138 && player.myShopId != 58 && player.myShopId != 139) { player.getActionSender().sendMessage(ItemAssistant.getItemName(removeId) + ": shop will buy for " + ShopValue + " coins." + ShopAdd); @@ -369,7 +369,7 @@ public class ShopAssistant { break; // Player owned store - only "buys" from the player whos store it is case 0: - canSellToStore = ShopHandler.ShopName[player.myShopId].equalsIgnoreCase(player.properName + "'s Store"); + canSellToStore = ShopHandler.playerOwnsStore(player.myShopId, player); break; } if (canSellToStore == false) { @@ -378,7 +378,7 @@ public class ShopAssistant { return false; } // player owned store, setting item price - if (ShopHandler.ShopName[player.myShopId].equalsIgnoreCase(player.properName + "'s Store")) { + if (ShopHandler.playerOwnsStore(player.myShopId, player)) { // No items in stock, we are adding 1 and setting the price if (ShopHandler.getStock(player.myShopId, itemID) <= 0){ player.getItemAssistant().deleteItem(itemID, 1); @@ -417,7 +417,7 @@ public class ShopAssistant { itemID = itemID - 1; //Replace the noted item by it's un-noted version. } - if (ShopHandler.ShopName[player.myShopId].equalsIgnoreCase(player.properName + "'s Store")) { + if (ShopHandler.playerOwnsStore(player.myShopId, player)) { // Add items to players store player.getActionSender().sendMessage("You sent " + amount + " " + itemName + " to your store."); BotHandler.addTobank(player.myShopId, itemID, amount); @@ -502,10 +502,14 @@ public class ShopAssistant { return false; } } - int value = 0; // Item Value - int currency = 995; // currency this shop uses + int value = 0; + int currency = 995; // player owned shop - if (ShopHandler.ShopBModifier[player.myShopId] == 0) { + boolean playerOwnsShop = ShopHandler.playerOwnsStore(player.myShopId, player); + if (playerOwnsShop) { + value = 0; + currency = -1; + } else if (ShopHandler.ShopBModifier[player.myShopId] == 0) { value = BotHandler.getItemPrice(player.myShopId, itemID); currency = 995; // gp } else if (player.myShopId == 138 || player.myShopId == 58 || player.myShopId == 139) { @@ -545,17 +549,22 @@ public class ShopAssistant { return false; } } - player.getItemAssistant().deleteItem2(currency, totalValue); + + String itemName = ItemAssistant.getItemName(itemID).toLowerCase(); + if (!playerOwnsShop) { + player.getItemAssistant().deleteItem2(currency, totalValue); + player.getActionSender().sendMessage("You bought " + amount + " " + itemName + " for " + totalValue + " " + ItemAssistant.getItemName(currency).toLowerCase() + "." ); + } else { + player.getActionSender().sendMessage("You withdrew " + amount + " " + itemName + " from your store." ); + } player.getItemAssistant().addItem(itemID, amount); ShopHandler.buyItem(shopID, itemID, amount); if (ShopHandler.ShopBModifier[shopID] == 0){ BotHandler.removeFrombank(shopID, itemID, amount); } - player.getActionSender().sendMessage("You bought " + amount + " " + ItemAssistant.getItemName(itemID).toLowerCase() + " for " + totalValue + " " + ItemAssistant.getItemName(currency).toLowerCase() + "." ); - String itemName = ItemAssistant.getItemName(itemID).toLowerCase(); if (player.getPlayerAssistant().isPlayer()) { - GameLogger.writeLog(player.playerName, "shopbuying", player.playerName + " bought " + amount + " " + ItemAssistant.getItemName(itemID).toLowerCase() + " for " + totalValue + " " + ItemAssistant.getItemName(currency).toLowerCase() + " from store " + shopID + "."); + GameLogger.writeLog(player.playerName, "shopbuying", player.playerName + " bought " + amount + " " + itemName + " for " + totalValue + " " + ItemAssistant.getItemName(currency).toLowerCase() + " from store " + shopID + "."); } player.getItemAssistant().resetItems(3823); resetShop(player.myShopId); diff --git a/2006Redone Server/src/redone/game/shops/ShopHandler.java b/2006Redone Server/src/redone/game/shops/ShopHandler.java index 6a0ddd44..839fbaa3 100644 --- a/2006Redone Server/src/redone/game/shops/ShopHandler.java +++ b/2006Redone Server/src/redone/game/shops/ShopHandler.java @@ -177,6 +177,7 @@ public class ShopHandler { int id = getEmptyShop(); player.myShopId = id; ShopSModifier[id] = 0; + ShopBModifier[id] = 0; ShopName[id] = player.properName + "'s Store"; for (int i = 0; i < MaxShopItems; i++){ ShopItems[id][i] = player.bankItems[i]; @@ -229,4 +230,8 @@ public class ShopHandler { } refreshShop(shop_id); } + + public static boolean playerOwnsStore(int shop_id, Client player){ + return ShopSModifier[shop_id] == 0 && ShopBModifier[shop_id] == 0 && ShopName[shop_id].equalsIgnoreCase(player.properName + "'s Store"); + } } diff --git a/CompiledServer/production/2006rebotted/redone/game/shops/ShopAssistant.class b/CompiledServer/production/2006rebotted/redone/game/shops/ShopAssistant.class index 679b4ae803469da11ea7f5f513701461cfdcfb6e..54ce2566aae69860a64c1e6c115fb5679c1be8d9 100644 GIT binary patch delta 3349 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 rKID$WC11+AqhbcD5fe)2#c760hEx0Bp4#g zuvrQSh)F)}CWY9n8p9U)~IC*$c ziAzfHu|c2Er%w8e{-w~ro%A{V$4Or(lP~C!vink@uN3-P*@D9MEW1#Yjkr<@ju@Z6W z9WOChqsW4Mi3Ev6i6n_3)>Nbgk|k0M3`MHMFjY<(uO7oCylOICB10lmB1>X~#7LzZ zCE=6ER&|Uv*kO!9IR+PblM-W9x^YV6szv81ZN3uYB??r`2@*F;Oq7_UW-D%ym@F~H ziK+OJnwX}FxYdb5{8-{PiQ5g_f$0)6_^2^cVwN&0l9(+~tjd|A#&cC6^Hloz5_j_H zVu8}#B~c<#Dp6)&A^bWPoh%WXpfBQG(y`dOsJ(zCC!e;Jz>0U&1@1O+50>gEH?a&A zCMr>-W4VcH+HcZ97O0_PCTeNBi50k4N1ch4^rDV>6Zc`2iPc!6W37n**6CPpVuP~W zsC+glbiWcm!DbUb#TFe~O>9#^A5daD?e?44p_Dt-_(9qa>Q(JuSXtpupHNv*Q(IC| zTVrCEQa(h@CM;^!@vw>Ac*Mk`D)b)Ot)sz2BOWvHIQE)!gxXAco}K}bj(sNfqsdyW z50p=U0~|n$)ui|BcK}a;vmU2anoxntNqqC`2wdZbSB}PRqNb@&DPh>wtgnP zjb}`p1s4>iVwP5}SiGb*?&N#M+xB>)s=BhuUtL(T%+E{rFJDnoUNdEJ1&5nZQo~bj zD>FRm$8p<&l!<7ROQ6SV|P($aB@R%*>k7&Hyh zqL7Z$cCsN+O^c$J=@@C$!Um(Q zUnUI9N>0BHw;cHWQ$K3mK_4Q|^$aYgglPtf$x>3I)x`nA@}iBr5; zHlMwf(r)l*tRYFm1K&AWt?dRK8)!}_x2J>d+Dp@Vs^pU`>CxCasI&*ibWmBUhqVif zLZ-bVJ_(W|HPt%GwD4OmCDjHN`J5r8TLx)yBc-^V4U`b$wlz~sNE4(bd#P9VKy%%# z_9&$B#BgqpZD9wE4ASj6Mt?_tBS`l&kj|51Z(w2hs@WSTFBCjP3D;8YM-H9sDreB& z!NRqSMHe@^lQV%lyuecH{E$BB6`^{x9{v(K`Jyq4du*ll)_3&1d zB-aNy7!x}uwcjc2I<0HN+FJd!3##Vfe zZTJ$~1!0HKuv17pD7@Gua`BLugonip>=wn?Bg)Vyw&F4IDE5g1*e{NvNp#=|aT+ZF z@gWXsQE1f$|h%KB*5mBMH7-`g`*{rCcX)!6;owQC~BOenH=EG+w)hfBOn+XhEYgmLD zw);kDr?qaw>kD(sm?b{b9p*Nhsjxe%QpA*R?x3_Cx!+a)K#suwPZA`%+vzrg6bNma zYV(RB-Zf^+x)U_iZSyvg(LG-Oy(MhmlCRT_w^@-|Ev1V)98>YprdDZOWKkzl#9EOm&WJSerWh{H3$Hd_ zWN3vVQ!5r(+I%rWTOdYtk#7%0Qag?8BA=uSqPB}vl0FrcU8Hg%h(q)aGsNKAVJZEI zQ5Y`6-$hMRyh#sq5i(r$yyDqyydetq5Uu1o(Mm!@b855c&m6`^QCcA>y4opLE1+{c z=b&UQhyKDy@A_w)#-Agt8G|yeQYw%XF~Bn*{0imaDwP45SLg+1VQl~@cemJ|N ccdgEh*#qm3^8o5_I4+YOZ?QbjBSG)|7b%w)Z~y=R diff --git a/CompiledServer/production/2006rebotted/redone/game/shops/ShopHandler.class b/CompiledServer/production/2006rebotted/redone/game/shops/ShopHandler.class index 98c6ac46eb992d27df64793da2389c9c3fde738d..60af23d1bbadc3a1c89ea4ea50beb4c7e8abde00 100644 GIT binary patch delta 2274 zcmY*Z2~<^86y5jz|9S5}E}*EOpozLxnueJR#ZtprDH0Pi=OIO$asZXg@;8`eWo1t+ zZP2u$(k%Ik^OR}MLs?l?Hfm|5O;)JTK9?`qTK}JO-n;kix6eN3+@coY7NNc68@2#Q zQ`KB_$KoKmVTqWRU7Dp5Efe#Km{-NTCZ^cI>*C*V@TP2BE)Ofjyd`F(n73WLgH;lh z$d<4~t0h_!L@Cw=u@38lA=(WRZggoj+1PAji;b-|wz;T}#SXTMe^<;77gymu7xl2y z#x4i%yV#9A^1Ro^J_q|<)Wrb@2gM%}b6Cs~2Ol{2P{N~PK63D}_)lCML&r}YeCFV| zgU>?v?r2kk#+@$ftr|0Hp7fvY1nKCgyS0SZIW|lY1P4cz9W`K8NAT=})gEV>|Q{!ea zlQBV~H?lQy&`0AAG5y5cj=l=exD}ZS!Gh5fClxdwF)B|Z9|amc<-~1bZV{ATLh%QU zA8}fvKL%)w0=H(#+Fh7n^$~Z7WBsAj-L8DE}!6aRa;d?2_Frr$=_LtjwG~gSB!+nkVs;t)jKkn4#b_E=Vy# zY869KR4n?$XgrO1TE(G2p`N$IsuwP{FIb^!xs#_3A77A}H-Wl$9$t`(2CQIrc6%&> zA~>Uq|1GHoj(jXtu2CN!Jn~Vg^2a2gMrjk#1t8T1F=u}K$TiKt60O@Wt zgnT%N42 z@S3>OlGl>z$3t@9Im+CP$ERQ_RU1QqX(&XHeKf}870n@EY~WnAnEBq#RTo8EpH7ZJ zX1(fi28`~(41UC?R^nbpESy@7`xyD)s$$G!B6G|LW0Wsnf&8qlx91%lRt9=rXvy_(I9sGWf0T z@<6V0@R&$I*mLCJOJI<{4(-}CO^$l1{+1BwkTF(yNz>X}XV4GN{&8800zb%n|xizT%<9LE-e%5iWDYIn9ro4of z!nrkLj&y|H2yaZyri1>g^EQ5eJHNdR$=FfVz80%1Q&Bk!E_@eZsrWKBYEWiBf^|Yt z<(|9}L?tzEms|qhQVjCW*31dbQmVLO*(xsjARlXvXxiOOdk;rzFE90d9K`*&9tYU( z2YJUHVzP%h1G_n2N2?M|K?giTA~LAM%!J6G=E18Xr-fXUx`6(b^yZ@o%Hq_Q*J{IN zOi!qvad{*H{AA_S1C1jP5-qqwHG%~c2VF9KmMtvzM^Qq$(F%aXKETNm zKp#1!Rsp6)0Oj36!@aT~2D)w~^ddYT5pfz%%l(ngE=g*>2rbwr;+wEDl3H#={r+o_ z(rh(uDn-Ni44P8(Y*dQQ3t{_<;rFfJ*-DM0hzOjyVp!9wIHj8=;jO_P0a&d%@Mgyg zk^8Yj;SYgDLz+w$|LLRDL`4Ct2;LT4=)m^z>Lj+M6;vGorXurtV!b|@G^fILK delta 2270 zcmZuy2XIwY5Iy_<&wnL12?;4Ap+w?eQw z+eJQ>I_QTd6`pblPpkKg!ZL+t6`oUAZexYo=WV>82UqIiMTM6XRw+bX#IRbuHF~5< zy|wDCbFdy89BjlUCqjH#-OVmxi-oNgUa|11h1XoPz)~CA)NWUJ-9>ZkaM27qE$p(f z+r=L2)%89L`)$18qAA|A@s`@R72Z*J*T#D`-dFbng#$J|RD00HAryUN<6|42*f^|2 zpK5%cIXI$09l_@|zEJz6!dDLS`P#-e8q2pfj@mfp;yaC?AHKIxWMR04A1wSB>n<}y zeu!-j%$5WuG}zB+7lZUJ4;}D^#kGx$K(WDP=x;DUVHzq7u11l;H5h0xL}94HAPg43 z;0p8?I2B{dCslMP89l~eI<7M))HkkDC{UIwHHM!Ie#S2b!!X=nJSG@iu6t8ZVc}PU z-|)MIKT-|;#AJiNbn9>RsxjYd8Xli=948D;qQ+nZY6${wQTRL~VkE!^5=4!6Fx)XB zA=C(@n~^vP8?nSza0CITEuT9^T!}Y)D?t#_xQ!%Ak|m9dBukhlhVz#rNE+O$f6oEE z3;PTx$nRTNG}K6nmd3+FmNYh!ikSktbwy5LW%-m+BWWy(q+{TjMlz%cDFz!HmrPze zlw`r2>vAl~GMIFK(koXIv!{dET38_NXs8rJgvB6S$W5TDP2vZoRL?;qb_NHPP{S?dVyXIG{UuhMoJch z=);M1@x<;nt%U(a6Q+03^LdCv0%uqQ3SvLHqulpGlI({@b_!P)T7bGv!eo+_d7~0r zS!_-}mbr;}MH)*wxxfO%Gx;=L*9;@kl2J7z4&>G|saIK_crK>W3;2mM)|O0(bLA6f zCbj9N#3=|7$G~QV8u4HgjPps;{p2%!Djq0& zlohy@UJ$M^*-FMB_Qorj3d~H&V+U7 z+O&>*Pw*0G9H^w zN!kvb8`^}8`2gmUDMXbX^u^Vj*q|rTP9r^^K0grkL6xvz;`K;vHRNA~xA6Y0Y@IF0 z#;g7v+PMMhs^ZkmhKt|{1SF-J&F1JAqmECqG)bOW97Q;*L)Yvmf=l6f+foZ7QS{h| z76aEJC*|TQw9KkP&y-$tqDai@l-)s>z5Qi!{jv(VRk&o9$gE--VJry!ExEi z3Ejp2MY}oAdvFf+a%}doPW!3u8yJDNu>d>p7~b`B=%z!T!%{9_5<2t?{AtrUUCfSb zNX%$rVL6V0)#%F97U5w{&0Cmu0Xz7uv=-e*@eSpQBi4ODfY$X4>OFE=(a9Aj{AOs8 z9%U%X)G@uY-KRbuZ(@3GUnOkAy2WuE>plQL`%{GN>k0MQVn6gcJ$>q?N^Nsk>b`Qr vGTNQhHxNT&6aiL#J9LqJ`XcGn!i#3KH