You're right, my bad, fixed adding another check for challenge:
Code:
if (!QuestBlock && Quest && oSession.uriContains("api/v1/archives/stories/update/active-node-v3")){
try{
oSession.utilDecodeRequest();
oSession.utilDecodeResponse();
var jsonRequest = oSession.GetRequestBodyAsString();
var oJsonRequest = Fiddler.WebFormats.JSON.JsonDecode(jsonRequest).JSONObject;
var jsonResponse = oSession.GetResponseBodyAsString();
var oJsonResponse = Fiddler.WebFormats.JSON.JsonDecode(jsonResponse).JSONObject;
if(oJsonResponse["activeNodesFull"].Count == 0){
if(System.IO.File.Exists(MarketUpdaterPath+"Quest.json")) System.IO.File.Delete(MarketUpdaterPath+"Quest.json");
return;
}
var role = oJsonRequest["role"];
if(role == "both") role = "survivor";
var neededProgression = oJsonResponse["activeNodesFull"][0]["objectives"][0]["neededProgression"];
var questEvents = oJsonResponse["activeNodesFull"][0]["objectives"][0]["questEvent"];
var requestBody = '{"questEvents":[';
for(var i=0;i<questEvents.Count;i++){
var repetition = questEvents[i]["repetition"];
repetition *= neededProgression;
if(questEvents[i]["operation"] == "<") repetition = questEvents[i]["repetition"] - 1;
else if(questEvents[i]["operation"] == ">") repetition = questEvents[i]["repetition"] + 1;
var questEventId = questEvents[i]["questEventId"];
var parameters = questEvents[i]["parameters"];
if(parameters != undefined) requestBody += '{"parameters":"'+parameters+'","questEventId":"'+questEventId+'","repetition":'+repetition+'}';
else requestBody += '{"questEventId":"'+questEventId+'","repetition":'+repetition+'}';
if(questEvents.Count > 1 && i != questEvents.Count - 1) requestBody += ",";
}
requestBody += '],"role":"'+role+'"}';
System.IO.File.WriteAllText(MarketUpdaterPath+"Quest.json", requestBody);
}
catch(e){FiddlerObject.log("Error unlocking challenge");}
}
Paste this 2 lines into your FiddlerScript, into Quest script:
Code:
if(questEvents[i]["operation"] == "<") repetition = questEvents[i]["repetition"] - 1;
else if(questEvents[i]["operation"] == ">") repetition = questEvents[i]["repetition"] + 1;