Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
275 changes: 224 additions & 51 deletions custom/debugcheatstools.user.js
Original file line number Diff line number Diff line change
Expand Up @@ -252,31 +252,17 @@ function loadEventHandlers() {
});
}

// berries
for (let i = 0; i < Object.keys(BerryType).filter(isNaN).length - 1; i++) {
document.getElementById("berries_" + i).addEventListener("click", function () {
App.game.farming.gainBerry(i, parseInt(document.getElementById('inputAddBerries').value || 0), true);
});
}

// evolution items
for (let i = 0; i < Object.keys(GameConstants.StoneType).filter(isNaN).length - 1; i++) {
document.getElementById("evolutionitems_" + i).addEventListener("click", function () {
player.gainItem(this.getAttribute("item"), parseInt(document.getElementById('inputAddEvolutionItems').value || 0), true);
});
}

// vitamins
for (let i = 0; i < Object.keys(GameConstants.VitaminType).filter(isNaN).length; i++) {
document.getElementById("vitamins_" + i).addEventListener("click", function () {
player.gainItem(this.getAttribute("vitamin"), parseInt(document.getElementById('inputAddVitamins').value || 0), true);
});
}

// held items
HeldItem.getSortedHeldItems().attack.items.forEach((itm, idx) => {
document.getElementById("attackhelditems_" + idx).addEventListener("click", function () {
HeldItem.getSortedHeldItems().attack.items[idk].gain(parseInt(document.getElementById('inputAddHeldItems').value || 0));
HeldItem.getSortedHeldItems().attack.items[idx].gain(parseInt(document.getElementById('inputAddHeldItems').value || 0));
});
});
HeldItem.getSortedHeldItems().typeRestricted.items.forEach((itm, idx) => {
Expand All @@ -300,13 +286,84 @@ function loadEventHandlers() {
});
});

// farm items
// mulch
for (let i = 0; i < Object.keys(MulchType).filter(isNaN).length - 1; i++) {
document.getElementById("mulch_" + i).addEventListener("click", function () {
GameHelper.incrementObservable(App.game.farming.mulchList[i], parseInt(document.getElementById('inputAddFarmItems').value || 0));
});
}
// shovels
document.getElementById("berry_shovel").addEventListener("click", function () {
GameHelper.incrementObservable(App.game.farming.shovelAmt, parseInt(document.getElementById('inputAddFarmItems').value || 0));
});
document.getElementById("mulch_shovel").addEventListener("click", function () {
GameHelper.incrementObservable(App.game.farming.mulchShovelAmt, parseInt(document.getElementById('inputAddFarmItems').value || 0));
});
// berries
for (let i = 0; i < Object.keys(BerryType).filter(isNaN).length - 1; i++) {
document.getElementById("berries_" + i).addEventListener("click", function () {
App.game.farming.gainBerry(i, parseInt(document.getElementById('inputAddFarmItems').value || 0), true);
});
}

// underground items
for (let i = 0; i < Object.values(ItemList).filter(itm => itm.constructor.name === 'TreasureItem').filter(isNaN).length; i++) {
document.getElementById("undergrounditem_" + i).addEventListener("click", function () {
player.gainItem(this.getAttribute("item"), parseInt(document.getElementById('inputAddUndergroundItems').value || 0), true);
});
}

// miscellaneous items
// vitamins
for (let i = 0; i < Object.keys(GameConstants.VitaminType).filter(isNaN).length; i++) {
document.getElementById("vitamins_" + i).addEventListener("click", function () {
player.gainItem(this.getAttribute("vitamin"), parseInt(document.getElementById('inputAddMiscItems').value || 0), true);
});
}
// consumables
for (let i = 0; i < Object.keys(GameConstants.ConsumableType).filter(isNaN).length; i++) {
document.getElementById("consumableitems_" + i).addEventListener("click", function () {
player.gainItem(this.getAttribute("item"), parseInt(document.getElementById('inputAddMiscItems').value || 0), true);
});
}
// battle items
for (let i = 0; i < Object.keys(GameConstants.BattleItemType).filter(isNaN).length; i++) {
document.getElementById("battleitems_" + i).addEventListener("click", function () {
player.gainItem(this.getAttribute("item"), parseInt(document.getElementById('inputAddMiscItems').value || 0), true);
});
}
// dream orbs
for (let i = 0; i < App.game.dreamOrbController.orbs.filter(isNaN).length; i++) {
document.getElementById("orbs_" + i).addEventListener("click", function () {
GameHelper.incrementObservable(App.game.dreamOrbController.orbs[i].amount, parseInt(document.getElementById('inputAddMiscItems').value || 0));
});
}
// eggs
for (let i = 0; i < Object.keys(GameConstants.EggItemType).filter(isNaN).length; i++) {
document.getElementById("eggs_" + i).addEventListener("click", function () {
player.gainItem(this.getAttribute("egg"), parseInt(document.getElementById('inputAddMiscItems').value || 0), true);
});
}
// wishing piece
document.getElementById("wishingpiece").addEventListener("click", function () {
player.gainItem("Wishing_Piece", parseInt(document.getElementById('inputAddMiscItems').value || 0), true);
});

// mega stones
for(let i = 0; i < Object.keys(GameConstants.MegaStoneType).filter(isNaN).length; i == 4 ? i +=2 : i++) {
document.getElementById("mega_stone_" + i).addEventListener("click", function () {
player.itemList[this.getAttribute("stone")](1);
});
}

// pokedex
document.getElementById("pokedex").children[1].addEventListener("click", loadPkdx);
document.getElementById("pkdxNameFilter").addEventListener("input", filterPkdx);
document.getElementById("pkdxRegionFilter").addEventListener("change", filterPkdx);
document.getElementById("pkdxShinyFilter").addEventListener("change", filterPkdx);
document.getElementById("pkdxPKRSFilter").addEventListener("change", filterPkdx);

// questline
document.getElementById("questlines").children[1].addEventListener("click", loadQuestLines);
document.getElementById("questLineFilter").addEventListener("change", filterQuestLine);
Expand Down Expand Up @@ -351,10 +408,12 @@ function initSaveEditor() {
<li class="nav-item"><a data-toggle="tab" class="nav-link active" href="#currency">Currency</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#gems">Gems</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#pokeballs">Pokeballs</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#berries">Berries</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#evolutionItems">Evolution Items</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#vitamins">Vitamins</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#heldItems">Held Items</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#farmItems">Farm Items</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#undergroundItems">Underground Items</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#miscItems">Miscellaneous Items</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#megaStones">Mega Stones</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#pokedex">Pokedex</a></li>
<li class="nav-item"><a data-toggle="tab" class="nav-link" href="#questlines">Quests</a></li>
</ul>
Expand All @@ -371,22 +430,29 @@ function initSaveEditor() {
<p>On click add pokeballs (input)</p>
<input id="inputAddPokeballs" class="form-control" type="number" placeholder="1000" value="1000" min="0">
</div>
<div id="berries" class="tab-pane p-3">
<p>On click add berries (input)</p>
<input id="inputAddBerries" class="form-control" type="number" placeholder="1000" value="1000" min="0">
</div>
<div id="evolutionItems" class="tab-pane p-3">
<p>On click add evolution items (input)</p>
<input id="inputAddEvolutionItems" class="form-control" type="number" placeholder="100" value="100" min="0">
</div>
<div id="vitamins" class="tab-pane p-3">
<p>On click add vitamins (input)</p>
<input id="inputAddVitamins" class="form-control" type="number" placeholder="100" value="100" min="0">
</div>
<div id="heldItems" class="tab-pane p-3">
<p>On click add held items (input)</p>
<input id="inputAddHeldItems" class="form-control" type="number" placeholder="100" value="100" min="0">
</div>
<div id="farmItems" class="tab-pane p-3">
<p>On click add farm items (input)</p>
<input id="inputAddFarmItems" class="form-control" type="number" placeholder="1000" value="1000" min="0">
</div>
<div id="undergroundItems" class="tab-pane p-3">
<p>On click add underground items (input)</p>
<input id="inputAddUndergroundItems" class="form-control" type="number" placeholder="100" value="100" min="0">
</div>
<div id="miscItems" class="tab-pane p-3">
<p>On click add held items (input)</p>
<input id="inputAddMiscItems" class="form-control" type="number" placeholder="100" value="100" min="0">
</div>
<div id="megaStones" class="tab-pane p-3">
<p>On click add mega stone</p>
</div>
<div id="pokedex" class="tab-pane p-3">
<p><b>You can break your game, please backup!</b></br><i>Do not complete pokedex from another region if you are not in the region you will not be able to go to the next region!</i></p>
<button class="btn btn-primary btn-block">(Re)Load Data</button>
Expand Down Expand Up @@ -505,42 +571,20 @@ function initSaveEditor() {
`;
}

// berries
for (let i = 0; i < Object.keys(BerryType).filter(isNaN).length - 1; i++) {
const itm = BerryType[i];
modalBody.querySelector('#berries').innerHTML += `
<div id="berries_${i}" class="btn btn-primary col-2 item-bag-item">
<img title="${itm}" src="assets/images/items/berry/${itm}.png" height="25px">
<div>${itm}</div>
</div>
`;
}

// evolution items
for (let i = 0; i < Object.keys(GameConstants.StoneType).filter(isNaN).length - 1; i++) {
const itm = GameConstants.StoneType[i];
const itmPretty = itm.replaceAll('_', ' ').replace(/\b\w/g, function(char) {
return char.toUpperCase();
});
return char.toUpperCase();
});
modalBody.querySelector('#evolutionItems').innerHTML += `
<div id="evolutionitems_${i}" class="btn btn-primary col-2 item-bag-item">
<div id="evolutionitems_${i}" class="btn btn-primary col-2 item-bag-item" item="${itm}">
<img title="${itmPretty}" src="assets/images/items/evolution/${itm}.png" height="25px">
<div>${itmPretty}</div>
</div>
`;
}

// vitamins
for (let i = 0; i < Object.keys(GameConstants.VitaminType).filter(isNaN).length; i++) {
const itm = GameConstants.VitaminType[i];
modalBody.querySelector('#vitamins').innerHTML += `
<div id="vitamins_${i}" class="btn btn-primary col-2 item-bag-item">
<img title="${itm}" src="assets/images/items/vitamin/${itm}.png" height="25px">
<div>${itm}</div>
</div>
`;
}

// held items
HeldItem.getSortedHeldItems().attack.items.forEach((itm, idx) => {
const itmPretty = itm.name.replaceAll('_', ' ');
Expand Down Expand Up @@ -588,6 +632,135 @@ function initSaveEditor() {
`;
});

// farm items
// mulch
for (let i = 0; i < Object.keys(MulchType).filter(isNaN).length - 1; i++) {
const itm = MulchType[i];
const itmPretty = itm.replaceAll('_', ' ');
modalBody.querySelector('#farmItems').innerHTML += `
<div id="mulch_${i}" class="btn btn-primary col-2 item-bag-item" mulch="${itm}">
<img title="${itmPretty}" src="assets/images/items/farm/${itm}.png" height="25px">
<div>${itmPretty}</div>
</div>
`;
}
// shovels
modalBody.querySelector('#farmItems').innerHTML += `
<div id="berry_shovel" class="btn btn-primary col-2 item-bag-item">
<img title="Berry Shovel" src="assets/images/items/farm/Berry_Shovel.png" height="25px">
<div>Berry Shovel</div>
</div>
`;
modalBody.querySelector('#farmItems').innerHTML += `
<div id="mulch_shovel" class="btn btn-primary col-2 item-bag-item">
<img title="Mulch Shovel" src="assets/images/items/farm/Mulch_Shovel.png" height="25px">
<div>Mulch Shovel</div>
</div>
`;
// berries
for (let i = 0; i < Object.keys(BerryType).filter(isNaN).length - 1; i++) {
const itm = BerryType[i];
modalBody.querySelector('#farmItems').innerHTML += `
<div id="berries_${i}" class="btn btn-primary col-2 item-bag-item">
<img title="${itm} Berry" src="assets/images/items/berry/${itm}.png" height="25px">
<div>${itm} Berry</div>
</div>
`;
}

// underground items
for (let i = 0; i < Object.values(ItemList).filter(itm => itm.constructor.name === 'TreasureItem').filter(isNaN).length; i++) {
const itm = Object.values(ItemList).filter(itm => itm.constructor.name === 'TreasureItem')[i].name;
const itmPretty = itm.replaceAll('_', ' ').toLowerCase().replace(/\b\w/g, function(char) {
return char.toUpperCase();
});
const path = itmPretty.slice(-6) == "Fossil" || itmPretty == "Old Amber" ? 'breeding/'+itmPretty : 'items/underground/'+itmPretty;
modalBody.querySelector('#undergroundItems').innerHTML += `
<div id="undergrounditem_${i}" class="btn btn-primary col-2 item-bag-item" item="${itm}">
<img title="${itmPretty}" src="assets/images/${path}.png" height="25px">
<div>${itmPretty}</div>
</div>
`;
}

// miscellaneous items
// vitamins
for (let i = 0; i < Object.keys(GameConstants.VitaminType).filter(isNaN).length; i++) {
const itm = GameConstants.VitaminType[i];
modalBody.querySelector('#miscItems').innerHTML += `
<div id="vitamins_${i}" class="btn btn-primary col-2 item-bag-item" vitamin="${itm}">
<img title="${itm}" src="assets/images/items/vitamin/${itm}.png" height="25px">
<div>${itm}</div>
</div>
`;
}
// consumables
for (let i = 0; i < Object.keys(GameConstants.ConsumableType).filter(isNaN).length; i++) {
const itm = GameConstants.ConsumableType[i];
const itmPretty = itm.replaceAll('_', ' ');
modalBody.querySelector('#miscItems').innerHTML += `
<div id="consumableitems_${i}" class="btn btn-primary col-2 item-bag-item" item="${itm}">
<img title="${itmPretty}" src="assets/images/items/consumable/${itm}.png" height="25px">
<div>${itmPretty}</div>
</div>
`;
}
// battle items
for (let i = 0; i < Object.keys(GameConstants.BattleItemType).filter(isNaN).length; i++) {
const itm = Object.keys(GameConstants.BattleItemType)[i];
const itmPretty = i > 1 ? itm.replaceAll('_', ' ').toLowerCase().replace(/\b\w/g, function(char) {
return char.toUpperCase();
}) : itm;
modalBody.querySelector('#miscItems').innerHTML += `
<div id="battleitems_${i}" class="btn btn-primary col-2 item-bag-item" item="${itm}">
<img title="${itmPretty}" src="assets/images/items/battleItem/${itm}.png" height="25px">
<div>${itmPretty}</div>
</div>
`;
}
// dream orbs
for (let i = 0; i < App.game.dreamOrbController.orbs.filter(isNaN).length; i++) {
const itm = App.game.dreamOrbController.orbs[i].color;
modalBody.querySelector('#miscItems').innerHTML += `
<div id="orbs_${i}" class="btn btn-primary col-2 item-bag-item">
<img title="${itm} Orb" src="assets/images/dreamOrbs/dream_orb_${itm.toLowerCase()}.png" height="25px">
<div>${itm} Orb</div>
</div>
`;
}
// eggs
for (let i = 0; i < Object.keys(GameConstants.EggItemType).filter(isNaN).length; i++) {
const itm = GameConstants.EggItemType[i];
const itmPretty = itm.replaceAll('_', ' ').toLowerCase().replace(/\b\w/g, function(char) {
return char.toUpperCase();
});
modalBody.querySelector('#miscItems').innerHTML += `
<div id="eggs_${i}" class="btn btn-primary col-2 item-bag-item" egg="${itm}">
<img title="${itmPretty}" src="assets/images/items/egg/${itm}.png" height="25px">
<div>${itmPretty}</div>
</div>
`;
}
// wishing piece
modalBody.querySelector('#miscItems').innerHTML += `
<div id="wishingpiece" class="btn btn-primary col-2 item-bag-item">
<img title="Wishing Piece" src="assets/images/items/quest/Wishing_Piece.png" height="25px">
<div>Wishing Piece</div>
</div>
`;

// mega stones
for(let i = 0; i < Object.keys(GameConstants.MegaStoneType).filter(isNaN).length; i == 4 ? i +=2 : i++) {
const itm = GameConstants.MegaStoneType[i];
const itmPretty = itm.replaceAll('_', ' ');
modalBody.querySelector('#megaStones').innerHTML += `
<div id="mega_stone_${i}" class="btn btn-primary col-2 item-bag-item" stone="${itm}">
<img title="${itmPretty}" src="assets/images/megaStone/${itm}.png" height="25px">
<div>${itmPretty}</div>
</div>
`;
}

// pokedex
const pkdxRegFilt = modalBody.querySelector('#pkdxRegionFilter');
for (let i = 0; i <= player.highestRegion(); i++) {
Expand Down