globalize_all_functions global string pulsePrefix void function pulsePrefixSet() //Sets our prefix { pulsePrefix = format("\x1b[38;2;%i;%i;%im[PULSE]\x1b[0m", 255, 178, 102) } void function pulsePrintt(string content) //Prints whatever we want printed with given prefix (by standard [PULSE]). { printt(format("%s " + content, pulsePrefix)) } bool function pulseRequestData(string givenURL, table parameterTable, string tablepath) //Gets data from API (see ToneURL within mod.json) and puts it into one table for processing. { table > params foreach (parameter in paramTable) { params[parameter] <- [paramTable(parameter)] } void functionref (HttpRequestResponse) onSuccess = void function(HttpRequestResponse response) : (params, tablepath) { table DecodedJSON = DecodeJSON(response.body) if (params["map"]) { table map[params["map"]] <- DecodedJSON pulseData[tablepath] <- map } else { pulseData[tablepath] <- DecodedJSON } } void functionref (HttpRequestFailure) onFailure = void function(HttpRequestFailure failure) { pulsePrintt("Something went wrong while getting data.") } return NSHttpGet(givenURL, params, onSuccess, onFailure) } int function pulseParse(string parameter, string key, string value, string opt = "none") { if (key == "maps") { parameter = parameter.slice(3) } if (key in pulseData) { table keyandvalTable = expect table(pulseData[key]) if (parameter in keyandvalTable) { table valTable = expect table(keyandvalTable[parameter]) if (opt == "none") { return expect int(valTable[value]) } else { actualValTable = expect table(valTable[value]) return expect int(actualValTable[opt]) } } } return 0 }