Skip to content

Commit

Permalink
Merge pull request #71 from Tendsty/develop
Browse files Browse the repository at this point in the history
bugfix patch 1.5.3
  • Loading branch information
Tendsty authored Sep 29, 2024
2 parents 21f6864 + ad6624a commit 9ab9c77
Show file tree
Hide file tree
Showing 12 changed files with 134 additions and 17 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "gooboo",
"version": "1.5.2",
"version": "1.5.3",
"description": "An idle game",
"author": "Tendsty",
"main": "main.js",
Expand Down
2 changes: 1 addition & 1 deletion public/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.5.2
1.5.3
12 changes: 6 additions & 6 deletions src/components/partial/village/CraftingList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -94,19 +94,19 @@
@click="toggleSelling"
:disabled="isFrozen || !craftObj.isSelling && currentCounter >= maxCounter"
><v-icon>{{ craftObj.isSelling ? 'mdi-currency-usd' : 'mdi-currency-usd-off' }}</v-icon></v-btn>
<v-text-field type="number" :label="`Sell price (Value: ${ craftObj.value })`" min="1" outlined hide-details v-model="sellPrice"></v-text-field>
<div class="text-center" style="min-width: 175px;">Sell 1 every ~{{ $formatTime(Math.round(1 / Math.min(craftObj.cacheSellChance, 1))) }}</div>
<v-text-field type="number" :label="$vuetify.lang.t('$vuetify.village.crafting.sellPrice', $formatNum(craftObj.value))" min="1" outlined hide-details v-model="sellPrice"></v-text-field>
<div class="text-center" style="min-width: 175px;">{{ $vuetify.lang.t('$vuetify.village.crafting.sellEvery', $formatTime(Math.round(1 / Math.min(craftObj.cacheSellChance, 1)))) }}</div>
</div>
<v-progress-linear v-if="currentMilestone !== null" class="rounded mt-2" color="blue" height="24" :value="milestonePercent">
<div class="d-flex w-100 justify-space-between align-center ma-1">
<span>{{ craftObj.crafted }} / {{ currentMilestone.needed }} crafts:</span>
<span v-if="currentMilestone.type === 'changeStat'">{{ $vuetify.lang.t(`$vuetify.village.crafting.changeStat.${ currentMilestone.name }`, currentMilestone.name === 'timeNeeded' ? $formatTime(currentMilestone.value) : $formatNum(currentMilestone.value)) }}</span>
<display-row v-else :type="currentMilestone.type" :name="currentMilestone.name" :after="currentMilestone.value"></display-row>
<span>{{ $vuetify.lang.t('$vuetify.village.crafting.crafts', $formatNum(craftObj.crafted), $formatNum(currentMilestone.needed)) }}:</span>
<span v-if="currentMilestone.type === 'changeStat'" :key="`milestone-reward-stat-${selectedCraft}-${currentMilestone.needed}`">{{ $vuetify.lang.t(`$vuetify.village.crafting.changeStat.${ currentMilestone.name }`, currentMilestone.name === 'timeNeeded' ? $formatTime(currentMilestone.value) : $formatNum(currentMilestone.value)) }}</span>
<display-row v-else :key="`milestone-reward-other-${selectedCraft}-${currentMilestone.needed}`" :type="currentMilestone.type" :name="currentMilestone.name" :after="currentMilestone.value"></display-row>
</div>
</v-progress-linear>
<div v-if="craftObj.isSpecial">
<div class="text-center">{{ $vuetify.lang.t('$vuetify.village.crafting.nextEffect') }}:</div>
<display-row v-for="(item, key) in display" :key="`craft-reward-${item.name}-${item.type}-${key}`" :type="item.type" :name="item.name" :before="item.before" :after="item.after"></display-row>
<display-row v-for="(item, key) in display" :key="`craft-reward-${selectedCraft}-${item.name}-${item.type}-${key}`" :type="item.type" :name="item.name" :before="item.before" :after="item.after"></display-row>
</div>
</v-card-text>
<gb-tooltip v-if="craftObj.isSpecial" :min-width="0">
Expand Down
2 changes: 2 additions & 0 deletions src/js/modules/meta.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import v1_5_0 from "./patchnote/v1_5_0";
import v1_4_2 from "./patchnote/v1_4_2";
import v1_5_1 from "./patchnote/v1_5_1";
import v1_5_2 from "./patchnote/v1_5_2";
import v1_5_3 from "./patchnote/v1_5_3";

export default {
name: 'meta',
Expand Down Expand Up @@ -57,6 +58,7 @@ export default {
store.commit('system/initTheme', {name: key, ...elem});
}
for (const [key, elem] of Object.entries({
'1.5.3': v1_5_3,
'1.5.2': v1_5_2,
'1.5.1': v1_5_1,
'1.5.0': v1_5_0,
Expand Down
73 changes: 73 additions & 0 deletions src/js/modules/migration/v1_5_3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import { deltaLinear } from "../../utils/math";
import { replaceTreasureEffect } from "./helper";

export default function(save) {
// Repeat offering respec for bugged savefiles
if (save.village && save.village.offering) {
let spent = 0;
let spentWithoutT4 = 0;
['plantFiber', 'wood', 'stone'].forEach(elem => {
if (save.village.offering[elem] !== undefined) {
spent += save.village.offering[elem][1];
spentWithoutT4 += save.village.offering[elem][1];
}
});
['coin', 'metal', 'water'].forEach(elem => {
if (save.village.offering[elem] !== undefined) {
spent += save.village.offering[elem][1] * 3;
spentWithoutT4 += save.village.offering[elem][1] * 3;
}
});
['glass', 'hardwood', 'gem'].forEach(elem => {
if (save.village.offering[elem] !== undefined) {
spent += save.village.offering[elem][1] * 8;
spentWithoutT4 += save.village.offering[elem][1] * 8;
}
});
['knowledge', 'science', 'joy'].forEach(elem => {
if (save.village.offering[elem] !== undefined) {
spent += deltaLinear(20, 1, save.village.offering[elem][1]);
}
});
let missing = save.stat.village_offering[1] - spent;
if (missing < 0) {
// Reset T4 offerings only if you do not have enough offerings to pay for them
if (save.village.offering.knowledge !== undefined) {
save.village.offering.knowledge[1] = 0;
}
if (save.village.offering.science !== undefined) {
save.village.offering.science[1] = 0;
}
if (save.village.offering.joy !== undefined) {
save.village.offering.joy[1] = 0;
}
missing = save.stat.village_offering[1] - spentWithoutT4;
}
save.currency.village_offering = missing;
}

// Fix event shops selling old treasure effect
if (save.event && save.event.shop_merchant) {
for (const [key, elem] of Object.entries(save.event.shop_merchant)) {
if (elem.data && elem.data.effect) {
const index = elem.data.effect.indexOf("currencyFarmFruitGain");
if (index !== -1) {
save.event.shop_merchant[key].data.effect[index] = "currencyFarmBerryGain";
}
}
}
}
if (save.event && save.event.shop_big) {
for (const [key, elem] of Object.entries(save.event.shop_big)) {
if (elem.data && elem.data.effect) {
const index = elem.data.effect.indexOf("currencyFarmFruitGain");
if (index !== -1) {
save.event.shop_big[key].data.effect[index] = "currencyFarmBerryGain";
}
}
}
}
save = replaceTreasureEffect(save, 'currencyFarmFruitGain', 'currencyFarmBerryGain');

return save;
}
24 changes: 24 additions & 0 deletions src/js/modules/patchnote/v1_5_3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
export default {
day: '2024-09-29',
content: {
village: [
{
unlock: 'villageOffering1',
type: 'bugfix',
text: '396'
}
],
event: [
{
type: 'bugfix',
text: '397'
}
],
village_1: [
{
type: 'bugfix',
text: '398'
}
]
}
}
18 changes: 10 additions & 8 deletions src/js/savefile.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,19 @@ import v1_4_1 from "./modules/migration/v1_4_1";
import { simpleHash } from "./utils/random";
import v1_5_0 from "./modules/migration/v1_5_0";
import v1_5_1 from "./modules/migration/v1_5_1";
import v1_5_3 from "./modules/migration/v1_5_3";

const migrations = {
'1.5.1': v1_5_1,
'1.5.0': v1_5_0,
'1.4.1': v1_4_1,
'1.4.0': v1_4_0,
'1.3.5': v1_3_5,
'1.3.4': v1_3_4,
'1.3.0': v1_3_0,
'1.1.0': v1_1_0,
'1.1.2': v1_1_2,
'1.1.0': v1_1_0
'1.3.0': v1_3_0,
'1.3.4': v1_3_4,
'1.3.5': v1_3_5,
'1.4.0': v1_4_0,
'1.4.1': v1_4_1,
'1.5.0': v1_5_0,
'1.5.1': v1_5_1,
'1.5.3': v1_5_3,
};

export { checkLocal, saveLocal, loadFile, exportFile, cleanStore, getSavefile, getSavefileName, encodeFile, decodeFile }
Expand Down
3 changes: 3 additions & 0 deletions src/lang/de.js
Original file line number Diff line number Diff line change
Expand Up @@ -1447,6 +1447,9 @@ export default {
special: {
description: 'Spezielle Gegenstände bieten permanente Effekte, wenn sie hergestellt werden und der Fortschritt wird beim Prestige nicht zurückgesetzt. Deren Kosten steigt mit jeder Herstellung und sie haben keine Meilensteine'
},
crafts: '{0} / {1} hergestellt',
sellEvery: 'Verkaufe 1 alle ~{0}',
sellPrice: 'Verkaufspreis (Wert: {0})',
rope: 'Seil',
woodenPlanks: 'Holzbretter',
brick: 'Ziegel',
Expand Down
5 changes: 5 additions & 0 deletions src/lang/de/patchnote.js
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,11 @@ export default {

// v1.5.2
395: 'Konverter-Kapazität pro "Mülleimer"-Stufe',

// v1.5.3
396: 'Ein Fehler wurde behoben, bei dem Opfergaben nicht mehr funktionieren, wenn man gewisse Versionen überspringt',
397: 'Eventschätze werden jetzt korrekt im Shop angezeigt',
398: 'Ein Fehler wurde behoben, wo manche Meilensteine die falsche Belohnung angezeigt haben',
},
v: {
1: {
Expand Down
3 changes: 3 additions & 0 deletions src/lang/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -1447,6 +1447,9 @@ export default {
special: {
description: 'Special crafts provide permanent bonuses when crafted and their progress does not reset on prestige. Their cost increases with every craft and they do not have milestones'
},
crafts: '{0} / {1} crafts',
sellEvery: 'Sell 1 every ~{0}',
sellPrice: 'Sell price (Value: {0})',
rope: 'Rope',
woodenPlanks: 'Wooden planks',
brick: 'Brick',
Expand Down
5 changes: 5 additions & 0 deletions src/lang/en/patchnote.js
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,11 @@ export default {

// v1.5.2
395: 'Converter capacity per level of "Trash can"',

// v1.5.3
396: 'Fixed a bug with offerings breaking when updating multiple versions at once',
397: 'Bugged treasures from event rewards are now displayed correctly',
398: 'Fixed a bug where crafting milestones displayed the wrong rewards',
},
v: {
1: {
Expand Down
2 changes: 1 addition & 1 deletion src/store/system.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { LOCAL_STORAGE_NAME } from "../js/constants";
export default {
namespaced: true,
state: {
version: '1.5.2',
version: '1.5.3',
cheaterSelfMark: 0,
cheatDetected: {},
lastPlayedDays: [],
Expand Down

0 comments on commit 9ab9c77

Please sign in to comment.