Skip to content

Commit

Permalink
[investigate] define investigate rewards
Browse files Browse the repository at this point in the history
  • Loading branch information
nroutasuo committed Jul 18, 2022
1 parent 45a50c6 commit fed7f48
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 3 deletions.
1 change: 1 addition & 0 deletions src/game/constants/ItemConstants.js
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ function (Ash, ItemData, PlayerActionConstants, UpgradeConstants, WorldConstants
if (!this.itemDefinitions[type]) this.itemDefinitions[type] = [];
var itemVO = new ItemVO(item.id, item.name, item.type, item.campOrdinalRequired, item.campOrdinalMaximum, item.isEquippable, item.isCraftable, item.isUseable, bonuses, item.icon, item.description, item.isSpecialEquipment);
itemVO.scavengeRarity = item.rarityScavenge;
itemVO.investigateRarity = item.rarityInvestigate;
itemVO.localeRarity = item.rarityLocale;
itemVO.tradeRarity = item.rarityTrade;
itemVO.configData = item.configData || {};
Expand Down
2 changes: 2 additions & 0 deletions src/game/constants/TradeConstants.js
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,8 @@ function (Ash, PlayerActionConstants, ItemConstants, UpgradeConstants, BagConsta
rarity = item.scavengeRarity;
} else if (item.localeRarity > 0) {
rarity = item.localeRarity;
} else if (item.investigateRarity > 0) {
rarity = item.investigateRarity;
}

if (rarity > 0) {
Expand Down
24 changes: 24 additions & 0 deletions src/game/data/ItemData.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Volcanic rock",
"rarityInvestigate": 4,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 7,
Expand All @@ -22,6 +23,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Temple key",
"rarityInvestigate": 6,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 7,
Expand All @@ -36,6 +38,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Seashell",
"rarityInvestigate": 7,
"rarityLocale": 5,
"rarityScavenge": 9,
"rarityTrade": 7,
Expand All @@ -50,6 +53,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Pamphlet",
"rarityInvestigate": 4,
"rarityLocale": 3,
"rarityScavenge": 5,
"rarityTrade": 5,
Expand All @@ -64,6 +68,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Starchart",
"rarityInvestigate": 4,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 7,
Expand All @@ -79,6 +84,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Runestone",
"rarityInvestigate": 3,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 7,
Expand All @@ -94,6 +100,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Charred seed",
"rarityInvestigate": 3,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 7,
Expand All @@ -109,6 +116,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Round stone",
"rarityInvestigate": 4,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 7,
Expand All @@ -124,6 +132,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Leather pouch",
"rarityInvestigate": 3,
"rarityLocale": 4,
"rarityScavenge": 6,
"rarityTrade": 3,
Expand All @@ -138,6 +147,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Fountain pen",
"rarityInvestigate": 4,
"rarityLocale": 4,
"rarityScavenge": 7,
"rarityTrade": 4,
Expand All @@ -152,6 +162,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Amulet",
"rarityInvestigate": 3,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 5,
Expand All @@ -166,6 +177,7 @@
"isEquippable": false,
"isUseable": false,
"name": "CD",
"rarityInvestigate": 3,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 5,
Expand All @@ -180,6 +192,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Wooden toy horse",
"rarityInvestigate": 5,
"rarityLocale": 5,
"rarityScavenge": 8,
"type": "artefact"
Expand All @@ -193,6 +206,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Data stick",
"rarityInvestigate": 3,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 8,
Expand All @@ -208,6 +222,7 @@
"isUseable": false,
"name": "Canned tuna",
"rarityLocale": 5,
"rarityInvestigate": 5,
"rarityScavenge": 8,
"rarityTrade": 5,
"type": "artefact"
Expand All @@ -221,6 +236,7 @@
"isEquippable": false,
"isUseable": false,
"name": "ID Chip",
"rarityInvestigate": 3,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 5,
Expand All @@ -235,6 +251,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Scientist's notebook",
"rarityInvestigate": 3,
"rarityLocale": 5,
"rarityScavenge": 8,
"rarityTrade": 5,
Expand All @@ -249,6 +266,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Plastic key card",
"rarityInvestigate": 3,
"rarityLocale": 5,
"rarityScavenge": 8,
"type": "artefact"
Expand All @@ -262,6 +280,7 @@
"isEquippable": false,
"isUseable": false,
"name": "Torn comic book",
"rarityInvestigate": 5,
"rarityLocale": 5,
"rarityScavenge": 8,
"type": "artefact"
Expand Down Expand Up @@ -385,6 +404,7 @@
"isEquippable": false,
"isUseable": true,
"name": "Science book",
"rarityInvestigate": 1,
"rarityLocale": 3,
"rarityScavenge": 6,
"type": "voucher"
Expand All @@ -401,6 +421,7 @@
"isEquippable": false,
"isUseable": true,
"name": "Fiction book",
"rarityInvestigate": 2,
"rarityLocale": 3,
"rarityScavenge": 6,
"type": "voucher"
Expand All @@ -417,6 +438,7 @@
"isEquippable": false,
"isUseable": true,
"name": "History book",
"rarityInvestigate": 1,
"rarityLocale": 3,
"rarityScavenge": 6,
"type": "voucher"
Expand Down Expand Up @@ -1448,6 +1470,7 @@
"isEquippable": false,
"isUseable": true,
"name": "Map sketch",
"rarityInvestigate": 5,
"rarityLocale": 5,
"rarityScavenge": -1,
"rarityTrade": -1,
Expand All @@ -1463,6 +1486,7 @@
"isUseable": true,
"name": "Map piece",
"nameShort": "Map piece",
"rarityInvestigate": 5,
"rarityLocale": 5,
"rarityScavenge": -1,
"rarityTrade": -1,
Expand Down
23 changes: 20 additions & 3 deletions src/game/helpers/PlayerActionResultsHelper.js
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,21 @@ define([

getInvestigateRewards: function () {
var rewards = new ResultVO("investigate");

var sectorFeatures = this.playerLocationNodes.head.entity.get(SectorFeaturesComponent);
var sectorStatus = this.playerLocationNodes.head.entity.get(SectorStatusComponent);

var itemOptions = { rarityKey: "investigateRarity" };

this.addStashes(rewards, sectorFeatures.stashes, sectorStatus.stashesFound);
rewards.gainedItems = this.getRewardItems(0.25, 0, [], itemOptions);
rewards.gainedEvidence = 1;

/*
if (rewards.foundStashVO == null) {
this.addFollowerBonuses(rewards, sectorResources, [], itemOptions);
}
*/

return rewards;
},
Expand Down Expand Up @@ -955,7 +970,7 @@ define([
},

// options
// - rarityKey: context-specific key used to determine item rarity (scavengeRarity/localeRarity/tradeRarity)
// - rarityKey: context-specific key used to determine item rarity (scavengeRarity/localeRarity/tradeRarity/investigateRarity)
// - allowNextCampOrdinal: include items that require next camp ordinal in the valid items (for high value rewards)
getRewardItem: function (efficiency, campOrdinal, step, options) {
let rarityKey = options.rarityKey || "scavengeRarity";
Expand Down Expand Up @@ -985,7 +1000,7 @@ define([
for (let i in itemList) {
let itemDefinition = itemList[i];
let isObsolete = GameGlobals.itemsHelper.isObsolete(itemDefinition, itemsComponent, false);
let rarity = itemDefinition[rarityKey];
let rarity = itemDefinition[rarityKey] || -1;

if (rarity <= 0) continue;
if (rarity > maxRarity) continue;
Expand Down Expand Up @@ -1125,11 +1140,11 @@ define([
addFollowerBonuses: function (rewards, sectorResources, sectorIngredients, itemOptions) {
var efficiency = this.getCurrentScavengeEfficiency();

// follower bonuses (1.0 - 2.0)
let generalBonus = GameGlobals.playerHelper.getCurrentBonus(ItemConstants.itemBonusTypes.scavenge_general);
let suppliesBonus = GameGlobals.playerHelper.getCurrentBonus(ItemConstants.itemBonusTypes.scavenge_supplies);
let ingredientsBonus = GameGlobals.playerHelper.getCurrentBonus(ItemConstants.itemBonusTypes.scavenge_ingredients);

// general (resources)
let bonusResourceProb = generalBonus - 1;
let bonusResources = this.getRewardResources(bonusResourceProb, 1, efficiency, sectorResources);
rewards.gainedResourcesFromFollowers = bonusResources;
Expand All @@ -1139,6 +1154,7 @@ define([
generalBonus = 0;
}

// supplies
let bonusSuppliesProb = suppliesBonus - 1;
let sectorSupplies = new ResourcesVO();
sectorSupplies.setResource(resourceNames.food, sectorResources.getResource(resourceNames.food));
Expand All @@ -1147,6 +1163,7 @@ define([
rewards.gainedResourcesFromFollowers.addAll(bonusSupplies);
rewards.gainedResources.addAll(bonusSupplies);

// ingredients
if (rewards.gainedItems.length == 0) {
let bonusItemProb = generalBonus - 1;
let bonusIngredientProb = generalBonus - 1 + ingredientsBonus - 1;
Expand Down
4 changes: 4 additions & 0 deletions src/game/vos/ItemVO.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ define(['ash', 'game/vos/ItemBonusVO'], function (Ash, ItemBonusVO) {
scavengeRarity: -1,
localeRarity: -1,
tradeRarity: -1,
investigateRarity: -1,

equippable: false,
craftable: false,
Expand Down Expand Up @@ -46,6 +47,7 @@ define(['ash', 'game/vos/ItemBonusVO'], function (Ash, ItemBonusVO) {
this.scavengeRarity = -1;
this.localeRarity = -1;
this.tradeRarity = -1;
this.investigateRarity = -1;

this.configData = {};

Expand Down Expand Up @@ -82,6 +84,7 @@ define(['ash', 'game/vos/ItemBonusVO'], function (Ash, ItemBonusVO) {
delete clone.scavengeRarity;
delete clone.localeRarity;
delete clone.tradeRarity;
delete clone.investigateRarity;
delete clone.craftable;
delete clone.useable;
delete clone.type;
Expand All @@ -101,6 +104,7 @@ define(['ash', 'game/vos/ItemBonusVO'], function (Ash, ItemBonusVO) {
clone.scavengeRarity = this.scavengeRarity;
clone.localeRarity = this.localeRarity;
clone.tradeRarity = this.tradeRarity;
clone.investigateRarity = this.investigateRarity;
clone.tradePrice = this.tradePrice;
return clone;
}
Expand Down

0 comments on commit fed7f48

Please sign in to comment.