Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <style>
- #game{
- font: 20px Helvetica;
- color:white;
- position:absolute;
- width:500px;
- height:500px;
- top:0px;
- left:0px;
- cursor:default;
- overflow:hidden;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- }
- .menuTab{
- width:100px;
- height:30px;
- position:absolute;
- top:0px;
- background-color:#562c09;
- color:white;
- text-align:center;
- padding-top:7px;
- cursor:pointer;
- }
- .menuTab:hover{
- color:#f9b983;
- }
- .menuTabSelected{
- width:100px;
- height:30px;
- position:absolute;
- top:0px;
- background-color:#3e1e02;
- color:white;
- text-align:center;
- padding-top:7px;
- }
- .page{
- width:500px;
- height:463px;
- position:absolute;
- top:37px;
- background-color:#3e1e02;
- color:white;
- display:none;
- overflow:hidden;
- }
- #drugs{
- position:relative;
- left:0px;
- top:10px;
- border-style:solid;
- border-color:#291500;
- width:150px;
- height:437px;
- border-width:-3px;
- overflow:hidden;
- }
- .drawnDrug{
- font: 16px Helvetica;
- padding-top:7px;
- position:relative;
- left:0px;
- width:150px;
- height:30px;
- background-color:#562c09;
- text-align:center;
- cursor:pointer;
- }
- .drawnDrug:hover{
- background-color:#3e1e02;
- }
- .drugAdder{
- border-style:solid;
- border-color:#291500;
- font: 15px Helvetica;
- padding-top:7px;
- position:absolute;
- top:100px;
- width:100px;
- height:30px;
- background-color:#562c09;
- text-align:center;
- cursor:pointer;
- }
- .drugAdder:hover{
- background-color:#3e1e02;
- }
- .amount{
- border-style:solid;
- border-color:#291500;
- font: 12px Helvetica;
- padding-top:7px;
- position:absolute;
- top:139px;
- width:70px;
- height:30px;
- background-color:#562c09;
- text-align:center;
- cursor:pointer;
- color:white;
- }
- #combine{
- border-style:solid;
- border-color:#291500;
- font: 18px Helvetica;
- padding-top:7px;
- position:absolute;
- top:350px;
- left:275;
- width:100px;
- height:30px;
- text-align:center;
- color:white;
- }
- .comEnabled{
- cursor:pointer;
- background-color:#562c09;
- }
- .comEnabled:hover{
- background-color:#3e1e02;
- }
- .comDisabled{
- cursor:default;
- background-color:#473d2f;
- }
- .drawnDealer{
- font: 17px Helvetica;
- padding-top:7px;
- position:relative;
- left:0px;
- width:500px;
- height:30px;
- background-color:#562c09;
- }
- .buyBtn{
- border-style:solid;
- border-color:#291500;
- font: 15px Helvetica;
- padding-top:2px;
- left:450px;
- position:relative;
- top:-23px;
- border-width:2px;
- width:40px;
- height:20px;
- background-color:#562c09;
- text-align:center;
- cursor:pointer;
- }
- .buyBtn:hover{
- background-color:#3e1e02;
- }
- .notif{
- border-style:solid;
- border-color:#291500;
- font: 20px Helvetica;
- padding-top:25px;
- left:150px;
- position:absolute;
- top: 200px;
- border-width:2px;
- width:200px;
- height:75px;
- background-color:#562c09;
- text-align:center;
- pointer-events:none;
- }
- .darky{
- opacity:.5;
- background-color:black;
- position:absolute;
- left:0px;
- top:0px;
- width:500px;
- height:500px;
- cursor:pointer;
- }
- .drawnClient{
- font: 17px Helvetica;
- padding-top:7px;
- position:relative;
- left:0px;
- width:500px;
- height:30px;
- background-color:#562c09;
- }
- .drawnRecipe{
- font: 17px Helvetica;
- padding-top:7px;
- position:relative;
- left:0px;
- width:500px;
- height:30px;
- text-align:center;
- cursor:default;
- background-color:#562c09;
- }
- #sellDrugHolder{
- //border-style:solid;
- //border-color:#291500;
- top:30px;
- left:100px;
- width:300px;
- }
- #info{
- position:absolute;
- left:450px;
- top:450px;
- font-family:comic sans ms;
- width:30px;
- height:30px;
- text-align: center;
- cursor:pointer;
- border: 5px solid;
- border-color:#291500;
- border-radius: 30px;
- }
- #info:hover{
- background-color:#291500;
- }
- #money{
- position:absolute;
- left:0px;
- top:470px;
- background-color:#562c09;
- }
- #level{
- position:absolute;
- left:210px;
- top:470px;
- background-color:#562c09;
- }
- #shoehorn{
- border-style:solid;
- border-color:#291500;
- font: 18px Helvetica;
- padding-top:7px;
- position:absolute;
- top:300px;
- left:175;
- width:300px;
- height:30px;
- text-align:center;
- color:white;
- }
- #instruct{
- background-color:#562c09;
- position:absolute;
- left:0px;
- top:0px;
- padding-left: 5px;
- padding-right: 5px;
- width:490px;
- height:500px;
- cursor:pointer;
- display:none;
- }
- #shoehorn2{
- background-color:#562c09;
- position:absolute;
- left:0px;
- top:0px;
- line-height: 200%;
- padding-left: 5px;
- padding-right: 5px;
- width:490px;
- height:500px;
- cursor:pointer;
- display:none;
- }
- </style>
- <div id="game">
- <div id="header">
- <div onclick="tabSwap(this,showBuy)" name="menuTab" class="menuTabSelected" style="left:0px">Buy</div>
- <div onclick="tabSwap(this,showSell)" name="menuTab" class="menuTab" style="left:100px">Sell</div>
- <div onclick="tabSwap(this,showLab)" name="menuTab" class="menuTab" style="left:200px">Lab</div>
- <div onclick="tabSwap(this,showUpgrades)" name="menuTab" class="menuTab" style="left:300px">Upgrades</div>
- <div onclick="tabSwap(this,showRecipes)" name="menuTab" class="menuTab" style="left:400px">Recipes</div>
- </div>
- <div id="pages">
- <div class="page" id="buy">
- <div y=0 oldY="undefined" name="scrolly" style="position:relative" onblur="stopScroll(this)" onmousemove="scrollMM(event,this)" onmousedown="this.setAttribute('down',true)" onmouseup="stopScroll(this)" id="dealerHolder"></div>
- </div>
- <div class="page" id="sell">
- <div y=0 oldY="undefined" name="scrolly" style="position:relative" onblur="stopScroll(this)" onmousemove="scrollMM(event,this)" onmousedown="this.setAttribute('down',true)" onmouseup="stopScroll(this)" id="clientHolder"></div>
- </div>
- <div class="page" id="lab">
- <div id="drugs">
- <div y=0 oldY="undefined" name="scrolly"style="position:relative" onblur="stopScroll(this)" onmousemove="scrollMM(event,this)" onmousedown="this.setAttribute('down',true)" onmouseup="stopScroll(this)" id="drugHolder"></div>
- </div>
- <div class="amount" style="left:215px;"><div contenteditable="true">0</div>grams</div>
- <div onclick="clearSlot(this,0)" style="left:200px;" class="drugadder">Select Drug</div>
- <div class="amount" style="left:365px;"><div contenteditable="true">0</div>grams</div>
- <div onclick="clearSlot(this,1)" style="left:350px;" class="drugadder">Select Drug</div>
- <div id="shoehorn">Ancient Easy Bake Meth Lab</div>
- <div class="comDisabled" id="combine">Combine</div>
- </div>
- <div class="page" id="upgrade">
- <div y=0 oldY="undefined" name="scrolly" style="position:relative" onblur="stopScroll(this)" onmousemove="scrollMM(event,this)" onmousedown="this.setAttribute('down',true)" onmouseup="stopScroll(this)" id="upgradeHolder"></div>
- </div>
- <div class="page" id="recipe">
- <div y=0 oldY="undefined" name="scrolly" style="position:relative" onblur="stopScroll(this)" onmousemove="scrollMM(event,this)" onmousedown="this.setAttribute('down',true)" onmouseup="stopScroll(this)" id="recipeHolder"></div>
- </div>
- </div>
- <div id="stats">
- <div id="info" onclick="show(document.getElementById('instruct'))">I</div>
- <div id="money">$10</div>
- <div id="level">Level 1</div>
- </div>
- <div id="instruct" onclick="hide(this)">
- <center><h1>General Help</h1></center>
- <p>Click on drugs to add them to the combination queue.</p>
- <p>Click on queued drugs to remove them from the queue.</p>
- <p>Make sure to see what your buyers want before wasting all your drugs.</p>
- <p>Combining drugs yields a general loss in created material. This can be changed with upgrades.</p>
- <p>Upgrade your level to make better drugs and unlock another base drug.</p>
- <p>Game made in 48 hours for LD 36, theme Ancient Technology.</p>
- <p>This game should autosave on reload/close.</p>
- </div>
- <div id="shoehorn2" onclick="hide(this)">
- <center><h1>Drug Maker Extreme</h1></center>
- <p>Recently you were sleeping outside of a museum inside of its dumpster and you found dumped in upon you a rickety old chest. This chest you noted would be an appropriate place to hide your drug stash.</p><p> Little did you know that the chest was the Ancient Easy Bake Meth Lab of Venix The Pirate. Now you have realized that it combines drugs and forms more potent ones. You intend to use this chest to make bank and stay off the street.</p>
- </div>
- </div>
- <script>
- /*
- ketamine
- cocaine
- marijuana 12131415
- codeine
- methamphetamene
- nicotine
- novacaine
- amphetamine
- morphine
- remove double is in drug names
- NEVER PUSH A DRUG DIRECTLY TO SAVE DRUG ARRAY!!! (I cant recall how to do it anymore but there are functions that make it safe) - ok i made a function to do it safe, thanks for the reminder, bro
- */
- window.onbeforeunload=function (evt) {
- if (typeof evt == 'undefined') {
- evt = window.event;
- }
- localStorage.drugSave=JSON.stringify(save);
- }
- window.onclick=function(){
- safeGram()
- for(i=0;i<scrollies.length;i++){
- stopScroll(scrollies[i]);
- }
- }
- window.onload=function(){
- init();
- };
- var pages = document.getElementsByClassName('page');
- var adders = document.getElementsByClassName('drugAdder');
- var amounts = document.getElementsByClassName('amount');
- var tabs = document.getElementsByName('menuTab');
- var scrollies = document.getElementsByName('scrolly');
- var drawnDrugs = document.getElementsByClassName('drawnDrug');
- var drawnDealers = document.getElementsByClassName('drawnDealers');
- pages[0].style.display="block";
- var minGrams = 2;
- var drugs = ["go","ta","lo","du","me","ve","ni","de","mo","do","ne","co","ma","ri","jua","na","me","ine","ca","no","va","he","ro","in","tu","phe","tam","ti","ke","to","mor","phi","am"];
- var selected = [];
- var scrolled;
- var MARIJUANA = "12131415";
- var NICOTINE = "06112710";
- var NOVACAINE = "19201817";
- var KETAMINE = "282617";
- var CODEINE = "110717";
- var HEROIN = "212223";
- var MORPHINE = "303110";
- var AMPHETAMINE = "32252617";
- var COCAINE = "111817";
- var madeDrugs=[MARIJUANA,NICOTINE,NOVACAINE,KETAMINE,CODEINE,HEROIN,MORPHINE,AMPHETAMINE,COCAINE,HEROIN];
- var titles = ["Stoner", "Homie","Junkie","Smoker","Addict","Buddy","Client","Hippie"];
- var names = ["Henry","Joe","Sam","Bob","Caleb","Artie","Steve","Nick","Harrell"];
- var dealers=[null, new Dealer("Homie Harrell",makeDrug(1,MARIJUANA,1)),new Dealer("Smoker Sam",makeDrug(2,NICOTINE,1)),new Dealer("Dentist Dave",makeDrug(3,NOVACAINE,1)),new Dealer("Vet Victor",makeDrug(4,KETAMINE,1)),new Dealer("Dealer Dyrel",makeDrug(5,CODEINE,1)),new Dealer("Gangster George",makeDrug(6,HEROIN,1)),new Dealer("Addict Artie",makeDrug(7,MORPHINE,1)),new Dealer("Junkie Jack",makeDrug(8,AMPHETAMINE,1)),new Dealer("Killer Kevin",makeDrug(9,COCAINE,1))]
- save = {
- drugs:[],
- dealers:[],
- clients:[],
- upgrades:[new Upgrade("Level Up","Unlocks new dealers and allows for better drug <br>  crafting.","lvlUp",10),new Upgrade("Advertising","Adds 5-10 new clients.","addClients",5),new Upgrade("Boosted Yield","Boosts yield of new drug when combining.","yieldUp",10)],
- recipes:[],
- money:10,
- level:1,
- }
- function init(){
- Demo();
- if(localStorage.drugSave!=undefined){
- var goodSave = JSON.parse(localStorage.drugSave);
- if(goodSave.clients[0]!=undefined&&goodSave.dealers[0]!=undefined&&goodSave.drugs[0]!=undefined){
- save = JSON.parse(localStorage.drugSave);
- document.getElementById('level').innerHTML = "Level " + save.level;
- document.getElementById('money').innerHTML = "$" + save.money;
- tabs[2].click();
- return;
- }
- }
- save.drugs.push(makeDrug(1,MARIJUANA,10));
- save.dealers.push(dealers[save.level]);
- save.clients.push(new Dealer("Stoner Steve", makeDrug(1,MARIJUANA,1,1)));
- save.clients.push(new Dealer("Dude Duke", makeDrug(1,32163216,1,4)));
- save.clients.push(new Dealer("Junkie Joe", makeDrug(4,MARIJUANA,1,2)));
- show(document.getElementById('shoehorn2'));
- tabs[2].click();
- }
- function upgradeGeneral(upg){
- var cost = (upg.level+1)*(upg.level+1)*upg.cScale;
- if(save.money<cost){
- uiPopup("You can't afford this upgrade.");
- return false;
- }
- changeMoney(-cost);
- upg.level++;
- redrawUpgrades();
- uiPopup("Bought!");
- return true;
- }
- function lvlUp(upg){
- if(upgradeGeneral(upg)){
- save.level++;
- if(save.level<dealers.length){
- save.dealers.push(dealers[save.level]);
- }
- document.getElementById('level').innerHTML= "Level " +save.level;
- }
- }
- function yieldUp(upg){
- if(upgradeGeneral(upg)){
- }
- }
- function addClients(upg){
- if(upgradeGeneral(upg)){
- var runs = Math.floor(Math.random()*6)+5;
- for(l=0;l<runs;l++){
- var title = titles[Math.floor(Math.random()*titles.length)];
- var name = names[Math.floor(Math.random()*names.length)];
- var type = Math.floor(Math.random()*3)+1;
- var drug = 11121314;
- var lvl = 1;
- var grams = Math.floor(Math.random()*5)+1;
- switch(type){
- case 1:
- var parts=[];
- parts.push(String(Math.floor(Math.random()*drugs.length)));
- parts.push(String(Math.floor(Math.random()*drugs.length)));
- parts.push(String(Math.floor(Math.random()*drugs.length)));
- parts.push(String(Math.floor(Math.random()*drugs.length)));
- for(j=0;j<parts.length;j++){
- if(parts[j].length==1){
- parts[j] = "0" + parts[j];
- }
- }
- drug = parts[0]+parts[1]+parts[2];
- if(Math.floor(Math.random()*3)!=0){
- drug +=parts[3];
- }
- break;
- case 2:
- var lvl = save.level*(Math.floor(Math.random()*5)+1)
- break;
- case 3:
- var grams = (Math.floor(Math.random()*save.level)+1)*10;
- break;
- }
- save.clients.push(new Dealer(title + " " + name, makeDrug(lvl,drug,grams,type)));
- }
- }
- }
- function makeDrug(lvl,data,grams,type){
- data=String(data);
- var drug = new Drug(lvl,data,grams)
- drug.type=type;
- drug.name = "";
- for(i=0;i<data.length;i+=2){
- drug.name += drugs[Number(data[i]+data[i+1])];
- }
- drug.cost = Math.round(Number(data[Math.round(data.length*.75)])+Number(data[Math.round(data.length*.25)]) * (lvl/2));
- if(drug.cost==0){
- drug.cost = 6*(lvl/2);
- }
- drug.yield = 50 - (Number(data[Math.round(data.length*.66)]) + Number(data[Math.round(data.length*.33)]) + Number(data[Math.round(data.length/5)]))
- if(drug.yield>40&&Number(data[Math.round(data.length*.66)])<3){
- drug.yield-=10;
- }
- drug.yield*=.01;
- drug.name=drug.name.charAt(0).toUpperCase() + drug.name.slice(1);
- return drug;
- }
- function changeMoney(change){
- save.money+=change;
- document.getElementById('money').innerHTML ="$" + save.money;
- }
- function scrollMM(event,ele){
- if(ele.getAttribute('down')=="true"){
- if(ele.getAttribute('oldY')!="undefined"){
- var tempY= event.clientY - Number(ele.getAttribute('oldY'));
- var otempY=Number(ele.getAttribute('y')) +tempY
- ele.setAttribute('y',otempY);
- ele.style.top = otempY + "px";
- }
- ele.setAttribute('oldY',event.clientY)
- }
- }
- function stopScroll(ele){
- scrolled = true;
- ele.setAttribute('down',false);
- ele.setAttribute('oldY',undefined);
- }
- function clearSlot(ele,index){
- ele.innerHTML = "Select Drug"
- amounts[index].childNodes[0].innerHTML="0";
- selected[index] = null;
- disableCombine();
- }
- function disableCombine(){
- document.getElementById('combine').removeEventListener("click",combine);
- document.getElementById('combine').className="comDisabled";
- }
- function enableCombine(){
- document.getElementById('combine').addEventListener("click",combine);
- document.getElementById('combine').className="comEnabled";
- }
- function safeGram(){
- for(i=0;i<amounts.length;i++){
- ele = amounts[i].childNodes[0]
- if(ele.innerHTML.length>9){
- ele.innerHTML = minGrams;
- } else if(isNaN(Number(ele.innerHTML))){
- ele.innerHTML = minGrams;
- } else if(Number(ele.innerHTML)<minGrams){
- ele.innerHTML = minGrams;
- } else if(selected[i]!=null){
- if(Number(ele.innerHTML)>selected[i].grams){
- ele.innerHTML = selected[i].grams;
- }
- }
- }
- if(selected[0]!=null&&selected[1]!=null){
- if(selected[0]==selected[1]){
- if(Number(amounts[0].childNodes[0].innerHTML)+Number(amounts[1].childNodes[0].innerHTML)>selected[0].grams){
- amounts[0].childNodes[0].innerHTML = minGrams;
- amounts[0].childNodes[0].innerHTML = minGrams;
- }
- }
- }
- }
- String.prototype.replaceAt=function(index, character) {
- return this.substr(0, index) + character + this.substr(index+character.length); // thats right bitch
- }
- function combine(){
- var newData = String(Number(selected[0].data) + Number(selected[1].data));
- badData = true;
- while(badData){
- badData = false;
- for(i=0;i<newData.length;i+=2){
- if(Number(newData[i]+newData[i+1])>drugs.length-1){
- var newnums=Number(newData[i]+newData[i+1]) - (drugs.length-1);
- var newnums=String(newnums);
- if(newnums.length<2){
- newnums = "0" + newnums;
- }
- var newnums = String(newnums);
- newData = newData.replaceAt(i,newnums[0]);
- newData = newData.replaceAt(i+1,newnums[1])
- if(newData.length%2!=0){
- newData+="6"
- }
- badData = true;
- }
- }
- }
- var newGrams = Math.round((Number(amounts[0].childNodes[0].innerHTML) + Number(amounts[1].childNodes[0].innerHTML) * (selected[0].yield + selected[1].yield + (save.upgrades[2].level-1)*.03)));
- var newLevel = Math.round((selected[0].level + selected[1].level) /2) + 1;
- var newDrug = makeDrug(newLevel,newData,newGrams)
- var names = [];
- for(i=0;i<save.drugs.length;i++){
- names.push(save.drugs[i].name)
- }
- if(names.indexOf(newDrug.name)>-1){
- if(save.drugs[names.indexOf(newDrug.name)].level == newDrug.level){
- save.drugs[names.indexOf(newDrug.name)].grams += newDrug.grams
- } else {
- save.drugs.push(newDrug);
- }
- } else {
- save.drugs.push(newDrug);
- }
- selected[0].grams -= Number(amounts[0].childNodes[0].innerHTML);
- selected[1].grams -= Number(amounts[1].childNodes[0].innerHTML);
- var recipe = selected[0].name + " + " + selected[1].name + " = " + newDrug.name;
- if(save.recipes.indexOf(recipe)==-1){
- save.recipes.push(recipe);
- }
- selected =[];
- clearSlot(adders[0],0);
- clearSlot(adders[1],1);
- disableCombine();
- redrawDrugs();
- }
- function safeDrug(newDrug){
- var names = [];
- for(i=0;i<save.drugs.length;i++){
- names.push(save.drugs[i].name)
- }
- if(names.indexOf(newDrug.name)>-1){
- if(save.drugs[names.indexOf(newDrug.name)].level == newDrug.level){
- save.drugs[names.indexOf(newDrug.name)].grams += newDrug.grams
- } else {
- save.drugs.push(newDrug);
- }
- } else {
- save.drugs.push(newDrug);
- }
- }
- function Drug(level,data,grams,yield,cost,name,type){
- this.name = name;
- this.data = data;
- this.cost = cost;
- this.yield = yield;
- this.grams = grams;
- this.level = level;
- this.type = type;
- }
- function Dealer(name, item){
- this.name = name;
- this.item = item;
- }
- function Upgrade(name, info, call,cScale){
- this.name = name;
- this.info = info;
- this.call = call;
- this.level = 1;
- this.cScale=cScale;
- }
- /*function sellDrugs(drug){
- var hits = [];
- for(i=0;i<save.drugs.length;i++){
- if(save.drugs[i].name==drug.name){
- hits.push(save.drugs[i]);
- }
- }
- if(hits[0] == undefined){
- uiPopup("You lack that drug.");
- return;
- }
- var failed = true;
- for(i=0;i<hits.length;i++){
- if(drug.grams<=hits[i].grams){
- failed = false;
- } else {
- hits.splice(i,1);
- i++;
- }
- }
- if(failed){
- uiPopup("You lack enough of that drug.");
- return;
- }
- hits[0].grams-=drug.grams;
- save.money+=hits[0].cost;
- }*/
- function sellDrugs(drug,yourDrug){
- console.log(drug)
- switch(drug.type){
- case 1:
- if(drug.name==yourDrug.name){
- if(yourDrug.grams>=drug.grams){
- yourDrug.grams-=drug.grams;
- changeMoney(yourDrug.cost*drug.grams);
- } else {
- uiPopup('Not enough of that drug!');
- return;
- }
- }else {
- return;
- }
- break;
- case 2:// level ==
- if(drug.level == yourDrug.level){
- if(yourDrug.grams>=drug.grams){
- yourDrug.grams-=drug.grams;
- changeMoney(yourDrug.cost*drug.grams);
- } else {
- uiPopup('Not enough of that drug!');
- return;
- }
- } else {
- return;
- }
- break;
- case 3://quanity match
- if(yourDrug.grams>=drug.grams){
- yourDrug.grams-=drug.grams;
- changeMoney((yourDrug.cost*drug.grams).round(2));
- } else {
- uiPopup('Not enough of that drug!');
- return;
- }
- break;
- case 4:
- if(yourDrug.grams>=drug.grams){
- yourDrug.grams-=drug.grams;
- changeMoney(yourDrug.cost*drug.grams/8);
- } else {
- uiPopup('Not enough of that drug!');
- return;
- }
- break;
- default:
- uiPopup('Whatever this client is supposed to be buying, it broke.');
- break;
- }
- document.getElementsByClassName('darky')[0].click();
- uiPopup('Sold!')
- }
- Number.prototype.round = function(places) {
- return +(Math.round(this + "e+" + places) + "e-" + places);
- }
- function buyDrugs(drug){
- if(save.money<drug.cost){
- uiPopup("You need " + String(Number(drug.cost)-Number(save.money)) + " more dollars to buy that.");
- return;
- }
- changeMoney(-drug.cost);
- safeDrug(makeDrug(drug.level,drug.data,drug.grams))
- uiPopup('Bought!')
- }
- function addDrug(drug){
- var addTo;
- if(save.drugs[Number(drug.getAttribute('index'))].level>save.level*5){
- uiPopup('Drug is too much higher than your level.');
- return;
- }
- if(selected[0]==null){
- var addTo = 0;
- } else if(selected[1]==null){
- var addTo = 1;
- }
- if(addTo!=undefined){
- var filled;
- if(selected[0]!=null){
- filled = 0;
- } else if(selected[1]!=null){
- filled = 1;
- }
- if(filled!=undefined){
- if(selected[filled]==save.drugs[Number(drug.getAttribute('index'))]){
- if(selected[filled].grams - Number(amounts[addTo].childNodes[0].innerHTML) < minGrams){
- uiPopup("You lack the required " + minGrams + " grams to combine.")
- return;
- }
- }
- }
- if(save.drugs[Number(drug.getAttribute('index'))].grams>=minGrams){
- amounts[addTo].childNodes[0].innerHTML=minGrams;
- } else {
- uiPopup("You lack the required " + minGrams + " grams to combine.")
- return;
- }
- selected[addTo]=save.drugs[Number(drug.getAttribute('index'))];
- adders[addTo].innerHTML=selected[addTo].name;
- if(selected[0]!=null && selected[1]!=null){
- enableCombine();
- }
- }
- }
- function show(ele){
- ele.style.display="block";
- }
- function hide(ele){
- ele.style.display="none";
- }
- function uiPopup(message){
- var darko=document.createElement('div');
- darko.className="darky";
- var pup = document.createElement('div');
- pup.className="notif";
- pup.innerHTML = message;
- darko.onclick=function(){this.remove();pup.remove()};
- document.getElementById('game').appendChild(darko);
- document.getElementById('game').appendChild(pup);
- }
- function tabSwap(tab,action){
- for(i=0;i<tabs.length;i++){
- tabs[i].className="menuTab";
- }
- tab.className="menuTabSelected";
- for(i=0;i<pages.length;i++){
- hide(pages[i]);
- }
- action();
- }
- function showBuy(){
- show(pages[0]);
- redrawDealers();
- }
- function showSell(){
- show(pages[1]);
- redrawClients();
- }
- function showLab(){
- show(pages[2]);
- redrawDrugs();//might lead to issues with selling off all of an old drug and buying a new one to replace
- }
- function showUpgrades(){
- show(pages[3]);
- redrawUpgrades();
- }
- function showRecipes(){
- show(pages[4]);
- redrawRecipes();
- }
- function showDrugs(item){
- var darko=document.createElement('div');
- darko.className="darky";
- document.getElementById('game').appendChild(darko);
- var dShow=document.createElement('div');
- dShow.innerHTML='<div y=0 oldY="undefined" name="scrolly" style="position:relative" onblur="stopScroll(this)" onmousemove="scrollMM(event,this)" onmousedown="this.setAttribute(\'down\',true)" onmouseup="stopScroll(this)" id="sellDrugHolder"></div>';
- document.getElementById('game').appendChild(dShow);
- dShow.childNodes[0].innerHTML="";
- var draw = document.createElement('div');
- draw.className="drawnDrug";
- //draw.style.left="100px";
- draw.style.width="300px";
- draw.innerHTML ="Drugs To Sell";
- dShow.childNodes[0].appendChild(draw);
- darko.onclick=function(){dShow.remove();darko.remove();}
- for(i=0;i<save.drugs.length;i++){
- if(save.drugs[i].grams>=item.grams){
- var draw = document.createElement('div');
- draw.className="drawnDrug";
- //draw.style.left="100px";
- draw.style.width="300px";
- if(item.type!=4){
- draw.innerHTML=item.grams + "g " + save.drugs[i].name + ", hardness " +save.drugs[i].level + " for $" + save.drugs[i].cost*item.grams;
- } else{
- draw.innerHTML=item.grams + "g " + save.drugs[i].name + ", hardness " +save.drugs[i].level + " for $" + save.drugs[i].cost*item.grams/8;
- }
- draw.setAttribute('index',i);
- draw.onmousedown=function(){scrolled=dShow.childNodes[0].getAttribute('y')}
- draw.onmouseup=function(){if(scrolled==dShow.childNodes[0].getAttribute('y')){sellDrugs(item,save.drugs[Number(this.getAttribute('index'))])}}
- dShow.childNodes[0].appendChild(draw);
- }
- }
- }
- function redrawDrugs(){
- document.getElementById('drugHolder').innerHTML="";
- for(i=0;i<save.drugs.length;i++){
- var draw = document.createElement('div');
- draw.className="drawnDrug";
- draw.innerHTML=save.drugs[i].grams + "g " + save.drugs[i].name;
- draw.setAttribute('index',i);
- if(save.drugs[i].level>save.level*5||save.drugs[i].grams<minGrams){
- draw.style.color = "#ff4c4c";
- }
- draw.onmousedown=function(){scrolled=document.getElementById('drugHolder').getAttribute('y')}
- draw.onmouseup=function(){if(scrolled==document.getElementById('drugHolder').getAttribute('y')){addDrug(this)}}
- document.getElementById('drugHolder').appendChild(draw);
- }
- }
- function redrawDealers(){
- document.getElementById('dealerHolder').innerHTML="";
- for(i=0;i<save.dealers.length;i++){
- var draw = document.createElement('div');
- draw.className="drawnDealer";
- draw.innerHTML=" <b>" + save.dealers[i].name + "</b> 1 g of " + save.dealers[i].item.name + " for " + save.dealers[i].item.cost + " dollars";
- var buy = document.createElement("div");
- buy.className="buyBtn";
- buy.innerHTML="Buy";
- buy.onclick=function(){
- buyDrugs(save.dealers[Number(this.parentNode.getAttribute('index'))].item);
- }
- draw.appendChild(buy);
- draw.setAttribute('index',i);
- document.getElementById('dealerHolder').appendChild(draw);
- }
- }
- function redrawUpgrades(){
- document.getElementById('upgradeHolder').innerHTML="";
- for(i=0;i<save.upgrades.length;i++){
- var draw = document.createElement('div');
- draw.className="drawnDealer";
- draw.innerHTML=" <b>" + save.upgrades[i].name + "</b>: " + save.upgrades[i].info;
- var buy = document.createElement("div");
- draw.style.height = "80px";
- buy.className="buyBtn";
- buy.style.left="300px"
- buy.style.top = "10px";
- buy.innerHTML="$" + (save.upgrades[i].level+1)*(save.upgrades[i].level+1)*save.upgrades[i].cScale;
- buy.style.width=buy.innerHTML.length*15 + "px";
- buy.onclick=function(){
- //buyUpgrades(save.dealers[Number(this.parentNode.getAttribute('index'))].item);
- window[save.upgrades[Number(this.parentNode.getAttribute('index'))].call](save.upgrades[Number(this.parentNode.getAttribute('index'))]);
- }
- draw.appendChild(buy);
- draw.setAttribute('index',i);
- document.getElementById('upgradeHolder').appendChild(draw);
- }
- }
- function redrawClients(){
- document.getElementById('clientHolder').innerHTML="";
- for(i=0;i<save.clients.length;i++){
- var draw = document.createElement('div');
- draw.className="drawnClient";
- switch(save.clients[i].item.type){
- case 1:
- draw.innerHTML=" <b>" + save.clients[i].name + "</b> Yo homie hit me wit " + save.clients[i].item.grams +"g of "+ save.clients[i].item.name +".";
- break;
- case 2:
- draw.innerHTML=" <b>" + save.clients[i].name + "</b> Lookin for " + save.clients[i].item.grams +"g of that " + save.clients[i].item.level + " hardness.";
- break;
- case 3:
- draw.innerHTML=" <b>" + save.clients[i].name + "</b> I'll take " + save.clients[i].item.grams + "g of whatever.";
- break;
- case 4:
- draw.innerHTML=" <b>" + save.clients[i].name + "</b> Gimme " + save.clients[i].item.grams + "g of anything, I pay 1/8 the price.";
- break;
- default:
- draw.innerHTML="Customer type beyond limit";
- break;
- }
- var buy = document.createElement("div");
- buy.style.left="450px";
- buy.className="buyBtn";
- buy.innerHTML="Sell";
- buy.onclick=function(){
- showDrugs(save.clients[Number(this.parentNode.getAttribute('index'))].item);
- //sellDrugs(save.dealers[Number(this.parentNode.getAttribute('index'))].item);
- }
- draw.appendChild(buy);
- draw.setAttribute('index',i);
- document.getElementById('clientHolder').appendChild(draw);
- }
- }
- function redrawRecipes(){
- document.getElementById('recipeHolder').innerHTML="";
- for(i=0;i<save.recipes.length;i++){
- var draw = document.createElement('div');
- draw.className="drawnRecipe";
- draw.innerHTML=save.recipes[i];
- draw.setAttribute('index',i);
- document.getElementById('recipeHolder').appendChild(draw);
- }
- }
- </script>
- <link href='https://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
- <canvas style="position:absolute;left:0px;top:0px;opacity:1;" width="500" height="500" id="dgames">Your browser doesn't support the basic HTML5 Canvas. Get bent.</canvas>
- <script>
- var dgames=document.getElementById('dgames')
- dtx=dgames.getContext('2d')
- var fallings=[]
- var slidings=[]
- var bullets=[]
- var tough=0;
- var startCount=0;
- var dposx=0;
- var splash;
- var fireoff=false;
- var pletters=["D","e","m","o","g","o","r","g","o","n"]
- function Demo(){
- dtx.fillStyle="black"
- dtx.fillRect(0,0,dgames.width,dgames.height)
- dtx.font = "60px Inconsolata";
- splash=setInterval(function(){
- tough++
- if(bullets==""&&fallings==""){
- //console.log(tough/60)
- }
- addem();
- moveem();
- slideem();
- bulletTime();
- rendem()
- },16.66666666)
- }
- function bulletTime(){
- for(i=0;i<bullets.length;i++){
- var nom=bullets[i].goN
- var denom=bullets[i].goD
- if(nom<0){
- var nommod = -1
- } else {
- var nommod=1
- }
- if(denom<0){
- var denommod = -1
- } else {
- var denommod=1
- }
- denommod*=-1
- nommod*=-1
- var newnom=Math.abs(nom)/(Math.abs(nom)+Math.abs(denom))
- var topped=(bullets[i].konstant*newnom)
- var bully=bullets[i].y + (topped*nommod)
- bullets[i].y=bully
- var bully=bullets[i].x + (denommod * (bullets[i].konstant-topped))
- bullets[i].x=bully
- if(bullets[i].x>dgames.width+100||bullets[i].x<-1*(dgames.width+100)||bullets[i].y>dgames.height||bullets[i].y<-1*(dgames.height+100)){
- bullets.splice(i,1)
- i++
- }
- //bullets[i].konstant=bullets[i].maxKonstant
- }
- }
- function slideem(){
- if(!fireoff){
- for(i=0;i<slidings.length;i++){
- if(slidings[i].x!=slidings[i].xlim){
- slidings[i].x+=slidings[i].xmod
- }
- if(slidings[i].y>slidings[i].ylim){
- slidings[i].y+=slidings[i].ymod
- }
- }
- }
- }
- function moveem(){
- if(!fireoff){
- for(i=0;i<fallings.length;i++){
- switch(fallings[i].stage){
- case 1:
- if(fallings[i].y<dgames.height/1.5){
- fallings[i].y+=fallings[i].acc
- fallings[i].acc+=.1
- } else {
- fallings[i].acc;
- fallings[i].stage++
- }
- break;
- case 2:
- if(fallings[i].y>dgames.height/4){
- fallings[i].y-=fallings[i].acc
- fallings[i].acc-=.13
- }else {
- fallings[i].acc=.1
- fallings[i].stage++
- }
- break;
- case 3:
- if(fallings[i].y<dgames.height/1.8){
- fallings[i].y+=fallings[i].acc
- fallings[i].acc+=.1
- } else {
- fallings[i].acc;//=.1
- fallings[i].stage++
- }
- break;
- case 4:
- if(fallings[i].y>dgames.height/2.5){
- fallings[i].y-=fallings[i].acc
- fallings[i].acc-=.2
- }else {
- fallings[i].acc=.1
- fallings[i].stage++
- }
- break;
- }
- }
- }
- }
- function addem(){
- if(dposx/40<pletters.length){
- if(tough%5==0){
- fallings.push(new Letters(dposx+50,-30,pletters[dposx/40],"cyst"))
- dposx+=40
- }
- }
- if(fallings!=""){
- if(fallings[fallings.length-1].stage==5){
- //go
- slidings.push(new Letters(-40,265,"es",5,0,300,0))
- slidings[slidings.length-1].color="#F2D95C"
- slidings.push(new Letters(dgames.width+40,265,"Ga",-5,0,200,0))
- slidings[slidings.length-1].color="#F2D95C"
- slidings.push(new Letters(265,dgames.height+30,"m",0,-6,0,270))
- slidings[slidings.length-1].color="#F2D95C"
- fallings[fallings.length-1].stage=6
- }
- }
- if(slidings!=""){
- if(slidings[0].x==slidings[0].xlim){
- startCount++
- if(startCount>60){
- var fireoff=true
- for(i=0;i<fallings.length;i++){
- bullets.push(fallings[i])
- }
- fallings=[]
- for(i=0;i<slidings.length;i++){
- bullets.push(slidings[i])
- }
- slidings=[]
- }
- }
- }
- }
- function Letters(x,y,content,xmod,ymod,xlim,ylim){
- this.x=x
- this.y=y
- this.content=content
- this.stage=1;
- this.acc=.1;
- this.xmod=xmod;
- this.ymod=ymod;
- this.xlim=xlim;
- this.ylim=ylim;
- this.goN=250-this.y
- this.goD=250-this.x
- this.konstant=8
- this.color="#048ABF"
- }
- function rendem(){
- //dtx.clearRect(0,0,dgames.width,dgames.height)
- dtx.globalAlpha=.15;
- dtx.fillStyle="black"
- dtx.fillRect(0,0,dgames.width,dgames.height)
- dtx.globalAlpha=1;
- dtx.fillStyle="#048ABF"
- for(i=0;i<fallings.length;i++){
- dtx.fillText(fallings[i].content,fallings[i].x,fallings[i].y)
- }
- dtx.fillStyle="#F2D95C"
- for(i=0;i<slidings.length;i++){
- dtx.fillText(slidings[i].content,slidings[i].x,slidings[i].y)
- }
- for(i=0;i<bullets.length;i++){
- dtx.fillStyle=bullets[i].color
- dtx.fillText(bullets[i].content,bullets[i].x,bullets[i].y)
- }
- if(bullets!=""){
- var temp=Number(dgames.style.opacity)
- temp-=.02
- dgames.style.opacity=temp
- }
- if(temp<=0){
- clearInterval(splash);
- dgames.remove();
- }
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement