Trade-Winds/minified/gui/tradeGUI.js

1 line
13 KiB
JavaScript

function tradeGUI(){guiControl.trade={screen:"main",cursorPosition:0,page:0,itemsPerPage:3,show:!1,activateDelay:0,island:null,padding:pixel(2),leftBorder:pixel(12),rowTop:function(o){return guiControl.trade.padding+pixel(6)+3*guiControl.trade.padding+pixel((guiControl.iconSize+3)*o)}}}function drawTradeGUI(){if(guiControl.trade&&guiControl.trade.show){guiControl.trade.activateDelay-=guiControl.trade.activateDelay>0?1:0;var o=Oversimplified.context.fillStyle;if(Oversimplified.context.fillStyle="#D9BEA5",Oversimplified.context.fillRect(0,0,Oversimplified.camera.width,Oversimplified.camera.height),Oversimplified.context.fillStyle=o,ct_down().down&&(snd_cursordown.Play(),guiControl.trade.cursorPosition++),ct_up().down&&(snd_cursordown.Play(),guiControl.trade.cursorPosition--),ct_right().down&&(snd_cursordown.Play(),guiControl.trade.page++),ct_left().down&&(snd_cursordown.Play(),guiControl.trade.page--),"main"==guiControl.trade.screen){if(guiControl.trade.cursorPosition<0&&(guiControl.trade.cursorPosition=3),guiControl.trade.cursorPosition>3&&(guiControl.trade.cursorPosition=0),guiControl.trade.page<0&&(guiControl.trade.page=0),guiControl.trade.page>0&&(guiControl.trade.page=0),guiControl.drawPixelText("On Island",2*guiControl.trade.padding,guiControl.trade.padding,10,"black",6),guiControl.drawPixelText(guiControl.trade.island.CheckInventory().length>0?"Buy":"Sold Out!",guiControl.trade.leftBorder,guiControl.trade.rowTop(0)+pixel(),10,guiControl.trade.island.CheckInventory().length>0?"black":"white",6),guiControl.drawPixelText(G.inventory.CheckCargo().length>0?"Sell":"No Cargo!",guiControl.trade.leftBorder,guiControl.trade.rowTop(1)+pixel(),10,G.inventory.CheckCargo().length>0?"black":"white",6),guiControl.drawPixelText("Tavern",guiControl.trade.leftBorder,guiControl.trade.rowTop(2)+pixel(),8,"black",6),guiControl.drawPixelText("Leave",guiControl.trade.leftBorder,guiControl.trade.rowTop(3)+pixel(),8,"black",6),OS.context.drawImage(guiControl.cursor,guiControl.trade.leftBorder-guiControl.iconScaled,guiControl.trade.rowTop(guiControl.trade.cursorPosition)),guiControl.trade.activateDelay<=0){if(ct_confirm().down){switch(guiControl.trade.cursorPosition){case 0:guiControl.trade.island.CheckInventory().length>0?(snd_select.Play(),guiControl.trade.screen="buy",guiControl.trade.activateDelay=5):snd_cannotbuy.Play();break;case 1:G.inventory.CheckCargo().length>0?(snd_select.Play(),guiControl.trade.screen="sell",guiControl.trade.activateDelay=5):snd_cannotbuy.Play();break;case 2:snd_select.Play(),guiControl.trade.screen="tavern",guiControl.trade.activateDelay=5;break;default:snd_cursorup.Play(),mus_trade.Stop(),mus_sail.Play(),guiControl.trade.show=!1}guiControl.trade.cursorPosition=0,guiControl.trade.page=0}ct_cancel().down&&(snd_cursorup.Play(),mus_trade.Stop(),mus_sail.Play(),guiControl.trade.show=!1)}}else if("buy"==guiControl.trade.screen){guiControl.trade.cursorPosition<0&&(guiControl.trade.cursorPosition=2),guiControl.trade.cursorPosition>2&&(guiControl.trade.cursorPosition=0),guiControl.drawPixelText("Buy",guiControl.trade.leftBorder-pixel(2),guiControl.topOfBackground,10,"black",6),guiControl.drawIcon(7,2,guiControl.trade.padding,guiControl.trade.rowTop(0)-pixel(3)),guiControl.drawPixelText(G.inventory.moneyDisplay(),guiControl.trade.padding+pixel(guiControl.iconSize+2),guiControl.trade.rowTop(0)+pixel(2)-pixel(3),10,"black",4);var r=guiControl.trade.island.CheckInventory();if(guiControl.trade.page<0&&(guiControl.trade.page=r.length-1),guiControl.trade.page>r.length-1&&(guiControl.trade.page=0),r.length>0){var t=G.economy.cargoItemWorth[r[guiControl.trade.page]]+guiControl.trade.island.priceDifferences[r[guiControl.trade.page]]-guiControl.trade.island.haggleAmount;1>t&&(t=1);var e=t.toString()+" c";guiControl.drawItem(r[guiControl.trade.page],guiControl.trade.leftBorder,guiControl.trade.rowTop(1)-pixel(5)),guiControl.drawPixelText(e,guiControl.trade.leftBorder+pixel(guiControl.iconSize+4),guiControl.trade.rowTop(1)-pixel(5)+pixel(),8,"black",6),r.length>1&&(guiControl.drawPageArrow("left",guiControl.trade.padding,guiControl.trade.rowTop(1)-pixel(5)),guiControl.drawPageArrow("right",OS.camera.width-pixel(4)-guiControl.trade.padding,guiControl.trade.rowTop(1)-pixel(5))),guiControl.drawPixelText("Shop"+guiControl.trade.island.inventory[r[guiControl.trade.page]].toString(),OS.camera.width-pixel(20),guiControl.trade.rowTop(2)-pixel(6)+pixel(),4,"black",4),guiControl.drawPixelText("Own "+G.inventory.cargo[r[guiControl.trade.page]].toString(),OS.camera.width-pixel(20),guiControl.trade.rowTop(3)-pixel(6)+pixel(),4,G.inventory.cargo[r[guiControl.trade.page]]<G.stats.hold?"black":"yellow",4)}else guiControl.drawPixelText("Sold Out!",guiControl.trade.leftBorder,guiControl.trade.rowTop(1)-pixel(5)+pixel(),10,"black",6);if(guiControl.drawIcon(1,1,OS.camera.width-pixel(20),guiControl.trade.rowTop(4)-pixel(5)),guiControl.drawPixelText(G.inventory.CheckCargo().length.toString(),OS.camera.width-pixel(20)+(guiControl.iconScaled+pixel()),guiControl.trade.rowTop(4)-pixel(4),4,G.inventory.CheckCargo().length<G.stats.inventory?"black":"yellow",6),guiControl.drawPixelText("Hagl?",guiControl.trade.leftBorder,guiControl.trade.rowTop(2)-pixel(2),8,guiControl.trade.island.timesHaggledToday>=G.stats.popularity?"yellow":r.length>0&&0==guiControl.trade.island.haggleAmount?"black":"white",6),guiControl.drawPixelText("Yes",guiControl.trade.leftBorder,guiControl.trade.rowTop(3)-pixel(2),8,r.length>0&&G.inventory.CanBuy(r[guiControl.trade.page],t)?"black":"white",6),guiControl.drawPixelText("Back",guiControl.trade.leftBorder,guiControl.trade.rowTop(4)-pixel(2),8,"black",6),OS.context.drawImage(guiControl.cursor,guiControl.trade.leftBorder-guiControl.iconScaled,guiControl.trade.rowTop(guiControl.trade.cursorPosition+2)-pixel(3)),guiControl.trade.activateDelay<=0){if(ct_confirm().down)switch(guiControl.trade.cursorPosition){case 0:r.length>0&&guiControl.trade.island.timesHaggledToday<=G.stats.popularity&&0==guiControl.trade.island.haggleAmount&&Math.floor(Math.randomRange(0,100))<G.stats.popularity?(snd_sell.Play(),guiControl.trade.island.haggleAmount=G.stats.haggling):(snd_cannotbuy.Play(),guiControl.trade.island.timesHaggledToday++);break;case 1:r.length>0&&G.inventory.CanBuy(r[guiControl.trade.page],t)?(snd_buy.Play(),guiControl.trade.island.BuyFrom(r[guiControl.trade.page],t)):snd_cannotbuy.Play();break;default:snd_cursorup.Play(),guiControl.trade.screen="main",guiControl.trade.activateDelay=5,guiControl.trade.cursorPosition=0}ct_cancel().down&&(snd_cursorup.Play(),guiControl.trade.screen="main",guiControl.trade.activateDelay=5,guiControl.trade.cursorPosition=0)}}else if("sell"==guiControl.trade.screen){guiControl.trade.cursorPosition<0&&(guiControl.trade.cursorPosition=2),guiControl.trade.cursorPosition>2&&(guiControl.trade.cursorPosition=0),guiControl.drawPixelText("Sell",guiControl.trade.leftBorder-pixel(2),guiControl.topOfBackground,10,"black",6),guiControl.drawIcon(7,2,guiControl.trade.padding,guiControl.trade.rowTop(0)-pixel(3)),guiControl.drawPixelText(G.inventory.moneyDisplay(),guiControl.trade.padding+pixel(guiControl.iconSize+2),guiControl.trade.rowTop(0)+pixel(2)-pixel(3),10,"black",4);var r=G.inventory.CheckCargo();if(guiControl.trade.page<0&&(guiControl.trade.page=r.length-1),guiControl.trade.page>r.length-1&&(guiControl.trade.page=0),r.length>0){var t=G.economy.cargoItemWorth[r[guiControl.trade.page]]+guiControl.trade.island.priceDifferences[r[guiControl.trade.page]],i=.5+(0==guiControl.trade.island.haggleAmount?0:.01*G.stats.popularity*.5);t=Math.round(t*i),1>t&&(t=1);var e=t.toString()+" c";guiControl.drawItem(r[guiControl.trade.page],guiControl.trade.leftBorder,guiControl.trade.rowTop(1)-pixel(5)),guiControl.drawPixelText(e,guiControl.trade.leftBorder+pixel(guiControl.iconSize+4),guiControl.trade.rowTop(1)-pixel(5)+pixel(),8,"black",6),r.length>1&&(guiControl.drawPageArrow("left",guiControl.trade.padding,guiControl.trade.rowTop(1)-pixel(5)),guiControl.drawPageArrow("right",OS.camera.width-pixel(4)-guiControl.trade.padding,guiControl.trade.rowTop(1)-pixel(5))),guiControl.drawPixelText("Shop"+guiControl.trade.island.inventory[r[guiControl.trade.page]].toString(),OS.camera.width-pixel(20),guiControl.trade.rowTop(2)-pixel(6)+pixel(),4,"black",4),guiControl.drawPixelText("Own "+G.inventory.cargo[r[guiControl.trade.page]].toString(),OS.camera.width-pixel(20),guiControl.trade.rowTop(3)-pixel(6)+pixel(),4,G.inventory.cargo[r[guiControl.trade.page]]>0?"black":"yellow",4)}else guiControl.drawPixelText("No Cargo!",guiControl.trade.padding,guiControl.trade.rowTop(1)-pixel(5)+pixel(),10,"black",6);if(guiControl.drawIcon(1,1,OS.camera.width-pixel(20),guiControl.trade.rowTop(4)-pixel(5)),guiControl.drawPixelText(G.inventory.CheckCargo().length.toString(),OS.camera.width-pixel(20)+(guiControl.iconScaled+pixel()),guiControl.trade.rowTop(4)-pixel(4),4,G.inventory.CheckCargo().length>0?"black":"yellow",6),guiControl.drawPixelText("Hagl?",guiControl.trade.leftBorder,guiControl.trade.rowTop(2)-pixel(2),8,guiControl.trade.island.timesHaggledToday>=G.stats.popularity?"yellow":r.length>0&&0==guiControl.trade.island.haggleAmount?"black":"white",6),guiControl.drawPixelText("Yes",guiControl.trade.leftBorder,guiControl.trade.rowTop(3)-pixel(2),8,r.length>0&&G.inventory.CanSell(r[guiControl.trade.page])?"black":"white",6),guiControl.drawPixelText("Back",guiControl.trade.leftBorder,guiControl.trade.rowTop(4)-pixel(2),8,"black",6),OS.context.drawImage(guiControl.cursor,guiControl.trade.leftBorder-guiControl.iconScaled,guiControl.trade.rowTop(guiControl.trade.cursorPosition+2)-pixel(3)),guiControl.trade.activateDelay<=0){if(ct_confirm().down)switch(guiControl.trade.cursorPosition){case 0:r.length>0&&guiControl.trade.island.timesHaggledToday<=G.stats.popularity&&0==guiControl.trade.island.haggleAmount&&Math.floor(Math.randomRange(0,100))<G.stats.popularity?(snd_sell.Play(),guiControl.trade.island.haggleAmount=G.stats.haggling):(snd_cannotbuy.Play(),guiControl.trade.island.timesHaggledToday++);break;case 1:r.length>0&&G.inventory.CanSell(r[guiControl.trade.page])?(snd_sell.Play(),guiControl.trade.island.SellTo(r[guiControl.trade.page],t)):snd_cannotbuy.Play();break;default:snd_cursorup.Play(),guiControl.trade.screen="main",guiControl.trade.activateDelay=5,guiControl.trade.cursorPosition=1}ct_cancel().down&&(snd_cursorup.Play(),guiControl.trade.screen="main",guiControl.trade.activateDelay=5,guiControl.trade.cursorPosition=1)}}else if("tavern"==guiControl.trade.screen){guiControl.trade.cursorPosition<0&&(guiControl.trade.cursorPosition=2),guiControl.trade.cursorPosition>2&&(guiControl.trade.cursorPosition=0),guiControl.drawPixelText("Tavern",guiControl.leftBorder-pixel(6),guiControl.topOfBackground,8,"black",6);var l=G.economy.innCost+guiControl.trade.island.innPriceDifference;if(guiControl.drawPixelText("Heal costs "+l.toString()+" C",guiControl.leftBorder-pixel(5),guiControl.trade.rowTop(0)-pixel(),10,"black",4),guiControl.drawIcon(7,2,guiControl.trade.padding,guiControl.trade.rowTop(1)-pixel()),guiControl.drawPixelText(G.inventory.moneyDisplay(),guiControl.trade.padding+pixel(guiControl.iconSize+2),guiControl.trade.rowTop(1)+pixel(),10,"black",4),guiControl.drawPixelText("Gossip",guiControl.leftBorder,guiControl.trade.rowTop(2)-pixel(),0,"black",6),guiControl.drawPixelText("Heal",guiControl.leftBorder,guiControl.trade.rowTop(3)-pixel(),4,G.inventory.money>l&&G.stats.illness>0?"black":"white",6),guiControl.drawIcon(4,1,guiControl.leftBorder+pixel(30),guiControl.trade.rowTop(3)-pixel(2)),guiControl.drawPixelText(G.stats.illness.toString(),guiControl.leftBorder+pixel(30)+pixel(guiControl.iconSize+2),guiControl.trade.rowTop(3),2,0==G.stats.illness?"yellow":"black",4),guiControl.drawPixelText("Back",guiControl.leftBorder,guiControl.trade.rowTop(4)-pixel(),8,"black",6),guiControl.drawCursor(guiControl.leftBorder-guiControl.iconScaled,guiControl.trade.rowTop(guiControl.trade.cursorPosition+2)-pixel(2)),guiControl.trade.activateDelay<=0){if(ct_confirm().down){switch(guiControl.trade.cursorPosition){case 0:snd_select.Play(),guiControl.trade.screen="gossip",guiControl.trade.activateDelay=5,guiControl.trade.cursorPosition=2;break;case 1:G.stats.illness>0&&G.inventory.money>l?(snd_heal.Play(),guiControl.trade.island.StayAtInn()):snd_cannotbuy.Play();break;default:snd_cursorup.Play(),guiControl.trade.screen="main",guiControl.trade.activateDelay=5,guiControl.trade.cursorPosition=2}guiControl.trade.activateDelay=5}ct_cancel().down&&(snd_cursorup.Play(),guiControl.trade.screen="main",guiControl.trade.activateDelay=5,guiControl.trade.cursorPosition=2)}}else"gossip"==guiControl.trade.screen&&(guiControl.trade.cursorPosition<0&&(guiControl.trade.cursorPosition=0),guiControl.trade.cursorPosition>0&&(guiControl.trade.cursorPosition=0),guiControl.drawPixelText("Gossip",guiControl.trade.padding,guiControl.topOfBackground,10,"black",6),guiControl.drawPixelText("Nothing interesting to report! / / / / / -Actually, this isnt in the game yet-",guiControl.trade.padding,guiControl.trade.rowTop(0)-pixel(2),0,"black",4),guiControl.drawPixelText("Back",guiControl.trade.leftBorder,guiControl.trade.rowTop(4)-pixel(2),8,"black",6),OS.context.drawImage(guiControl.cursor,guiControl.trade.leftBorder-guiControl.iconScaled,guiControl.trade.rowTop(4)-pixel(3)),guiControl.trade.activateDelay<=0&&(ct_confirm().down||ct_cancel().down)&&(snd_cursorup.Play(),guiControl.trade.screen="tavern",guiControl.trade.activateDelay=5,guiControl.trade.cursorPosition=0))}}