Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
This repository was archived by the owner on Feb 7, 2024. It is now read-only.
/r6api.jsPublic archive

🍫 Node.js wrapper around Rainbow Six Siege APIs

License

NotificationsYou must be signed in to change notification settings

danielwerg/r6api.js

Repository files navigation

Important

R6API.js won't be maintained in foreseeable future. The reasons are simple —I've pretty much lost the interest in players statistics which is core of this package and working with Ubisoft APIs is pain in an ass most of the time (as of launch of Heavy Mettle players stats endpoint is brokenagain). For most up to date version seenext branch. A lot of things, such as assets and constants from this package was moved to my new package —R6Data

R6API.js

🍫 Node.js wrapper around Rainbow Six: Siege API

LicenseVersionLatest releaseNPM weakly downloadsDiscord guild

Table of Contents

Links

Installation

$ yarn add r6api.js# OR$ npm install r6api.js

Initialization

To setup this package, you need to provide Ubisoft account credentials (email and password). Credentials should be handled as you would handle any other secure value, it is recommended to usedotenv package to load environment variables from a.env.

Do not use your real Ubisoft account. It is highly recommended to create a new account for using this package. Visitaccount.ubisoft.com/login to create new account.

Example

require('dotenv').config();constR6API=require('r6api.js').default;// // Or ES6 way// import * as dotenv from 'dotenv';// dotenv.config();// import R6API from 'r6api.js';const{UBI_EMAIL:email='',UBI_PASSWORD:password=''}=process.env;constr6api=newR6API({ email, password});// export default async () => { // ES6exports.default=async()=>{constusername='Daniel.Nt';constplatform='uplay';const{0:player}=awaitr6api.findByUsername(platform,username);if(!player)return'Player not found';const{0:stats}=awaitr6api.getStats(platform,player.id);if(!stats)return'Stats not found';const{pvp:{ general}}=stats;return`${player.username} has played${general.matches} matches.`;};
Daniel.Nt has played 5648 matches.

API

Table of Contents

Definitions

ParamTypeDescription
platformstringEitheruplay (pc),xbl (Xbox Live) orpsn (PlayStation Network)
platformAllstringplatform,steam,epic oramazon
username/sstring | string[]
id/sstring | string[]

constructor

Options

ParamTypeRequiredDefaultDescription
emailstringfalseUbisoft account email
passwordstringfalseUbisoft account password
ubiAppIdstringfalseUbi-AppId header value
authFileDirPathstringfalsePath for directory where authentication file is stored
authFileNamestringfalseName for authentication file
authFilePathstringfalseIf setauthFileDirPath andauthFileName options are being ignored
const{UBI_EMAIL:email='',UBI_PASSWORD:password=''}=process.env;constr6api=newR6API({ email, password});

findByUsername

Find player by their username.

Usernames limit:50

(platformAll, username/s) =>Promise<Array>

awaitr6api.findByUsername('uplay','Daniel.Nt');
Output
[{id:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',userId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',idOnPlatform:'0B95544B-0228-49A7-B338-6D15CFBC3D6A',platform:'uplay',username:'Daniel.Nt',avatar:{146:'https://ubisoft-avatars.akamaized.net/0b95544b-0228-49a7-b338-6d15cfbc3d6a/default_146_146.png',256:'https://ubisoft-avatars.akamaized.net/0b95544b-0228-49a7-b338-6d15cfbc3d6a/default_256_256.png',500:'https://ubisoft-avatars.akamaized.net/0b95544b-0228-49a7-b338-6d15cfbc3d6a/default_tall.png'}}];

findById

Find player by their id.

Ids limit:50

(platformAll | 'all', id/s, options?) =>Promise<Array>

Options

ParamTypeRequiredDefaultDescription
isUserIdbooleanfalsefalseWhetherid isuserId or not
// search by profileId (id)awaitr6api.findById('all','91477729-b5ac-463c-9618-03ca154764f5');// search by userIdawaitr6api.findById('all','1baf5bf8-90cd-4ead-8b90-9a11cb2b8adf',{isUserId:true});// search by idOnPlatformawaitr6api.findById('xbl','2535406338711362');
awaitr6api.findById('uplay','0b95544b-0228-49a7-b338-6d15cfbc3d6a');
Output
[{id:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',userId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',idOnPlatform:'0B95544B-0228-49A7-B338-6D15CFBC3D6A',platform:'uplay',username:'Daniel.Nt',avatar:{146:'https://ubisoft-avatars.akamaized.net/0b95544b-0228-49a7-b338-6d15cfbc3d6a/default_146_146.png',256:'https://ubisoft-avatars.akamaized.net/0b95544b-0228-49a7-b338-6d15cfbc3d6a/default_256_256.png',500:'https://ubisoft-avatars.akamaized.net/0b95544b-0228-49a7-b338-6d15cfbc3d6a/default_tall.png'}}];

getPlaytime

Get playtime of a player.

Ids limit:200

(platform, id/s) =>Promise<Array>

awaitr6api.getPlaytime('uplay','0b95544b-0228-49a7-b338-6d15cfbc3d6a');
Output
[{id:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',pvp:{general:5984372,ranked:5312097,casual:614423,custom:974,other:56878},pve:{general:292574}}];

getProgression

Get level, xp and alpha pack drop chance of a player.

Ids limit:200

(platform, id/s) =>Promise<Array>

awaitr6api.getProgression('uplay','0b95544b-0228-49a7-b338-6d15cfbc3d6a');
Output
[{id:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',level:297,xp:73534,lootboxProbability:{raw:820,percent:'8.20%'}}];

getRanks

Get seasonal stats of a player.

Ids limit:200

(platform, id/s, options?) =>Promise<Array>

Options

ParamTypeRequiredDefaultDescription
seasonIdsnumber | number[] | stringfalse-1Numbers from6 to28 or-1 or'all'
regionIdsstring | string[]false['emea', 'ncsa', 'apac']'emea','ncsa','apac' or'all'
boardIdsstring | string[]false['pvp_ranked', 'pvp_casual', 'pvp_newcomer', 'pvp_event']'pvp_ranked','pvp_casual','pvp_newcomer' or'pvp_event'

Seasons reference

IDNameIDName
6Health18Steel Wave
7Blood Orchid19Shadow Legacy
8White Noise20Neon Dawn
9Chimera21Crimson Heist
10Para Bellum22North Star
11Grim Sky23Crystal Guard
12Wind Bastion24High Calibre
13Burnt Horizon25Demon Veil
14Phantom Sight26Vector Glare
15Ember Rise27Brutal Swarm
16Shifting Tides28Solar Raid
17Void Edge

Note: Use `getUserSeasonalv2 for Solar Raid and beyond.

Note:-1 will always return current season

Regions reference

ShorthandMeaning
emeaEurope, Middle East and Africa
ncsaNorth, Central and South America
apacAsia Pacific

Note: Since Steal Wave (18) all regions will return same data

Boards reference

Minimum Season IDBoard ID
6pvp_ranked
12pvp_newcomer
15pvp_casual
16pvp_event

Note: Returns empty array ifboardId ispvp_newcomer andseasonId is21 or above

Note:topRankPosition will always return0 if board isnot'pvp_ranked'

Note: Ubisoft doesn't provide data for seasons before Operation Health (6) if board ispvp_ranked, Ember Rise (15) if board ispvp_casual, Wind Bastion (12) if board ispvp_event or Shifting Tides (16) if board ispvp_event

awaitr6api.getRanks('uplay','0b95544b-0228-49a7-b338-6d15cfbc3d6a',{regionIds:'emea',boardIds:'pvp_ranked'});
Output
[{id:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',seasons:{27:{seasonId:27,seasonName:'Brutal Swarm',seasonColor:'#dac925',seasonImage:'https://staticctf.akamaized.net/J3yJr34U2pZ2Ieem48Dwy9uqj5PNUQTn/35vqSFGr4xn1JnNVetTsyh/e9c46f34157897dc96988432991a1e52/r6s-seasons-y7s3__2_.jpg',seasonReleaseDate:'2022-09-06T00:00:00.000Z',regions:{emea:{regionId:'emea',regionName:'Europe, Middle East and Africa',boards:{pvp_ranked:{boardId:'pvp_ranked',boardName:'Ranked',skillMean:29.9476130075,skillStdev:7.6548063879,current:{id:0,name:'Unranked',mmr:2995,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png'},max:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png'},lastMatch:{result:'unknown',mmrChange:0,skillMeanChange:0,skillStdevChange:0},pastSeasons:{wins:2249,losses:2104,winRate:'51.67%',matches:4353,abandons:18},previousMmr:0,nextMmr:0,topRankPosition:0,kills:0,deaths:0,kd:0,wins:0,losses:0,winRate:'0.00%',matches:0,abandons:0,updateTime:'1970-01-01T00:00:00+00:00'}}}}}}}];

Note:kills,deaths,kd,topRankPosition and everything underlastMatch only available for seasons including and after Phantom Sight (14) for older seasons it will return0 or'unknown' in case oflastMatch.result

Note: If player is unranked their max mmr (max.mmr) will always be0 (it's always0 for casual)

Note: Values forpreviousMmr,nextMmr,topRankPosition,max.id andmax.mmr will always be0,max.name will always beUnranked ifboardId ispvp_casual


getUserSeasonalv2

Get user seasonal v2

awaitr6api.getUserSeasonalv2('0b95544b-0228-49a7-b338-6d15cfbc3d6a');
Output
[{profileId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',platformCrossplay:'pc',seasonId:28,boardSlug:'casual',rank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},maxRank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},topRankPosition:0,kills:20,deaths:8,kd:2.5,wins:2,losses:0,winRate:'100.00%',abandons:8,matches:10},{profileId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',platformCrossplay:'pc',seasonId:28,boardSlug:'event',rank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},maxRank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},topRankPosition:0,kills:0,deaths:0,kd:0,wins:0,losses:0,winRate:'0.00%',abandons:0,matches:0},{profileId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',platformCrossplay:'pc',seasonId:28,boardSlug:'warmup',rank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},maxRank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},topRankPosition:0,kills:0,deaths:0,kd:0,wins:0,losses:0,winRate:'0.00%',abandons:0,matches:0},{profileId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',platformCrossplay:'pc',seasonId:28,boardSlug:'ranked',rank:{id:0,name:'Unranked',mmr:1000,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:1000},maxRank:{id:0,name:'Unranked',mmr:1000,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:1000},topRankPosition:0,kills:0,deaths:0,kd:0,wins:0,losses:0,winRate:'0.00%',abandons:0,matches:0},{profileId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',platformCrossplay:'console',seasonId:28,boardSlug:'casual',rank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},maxRank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},topRankPosition:0,kills:0,deaths:0,kd:0,wins:0,losses:0,winRate:'0.00%',abandons:0,matches:0},{profileId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',platformCrossplay:'console',seasonId:28,boardSlug:'event',rank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},maxRank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},topRankPosition:0,kills:0,deaths:0,kd:0,wins:0,losses:0,winRate:'0.00%',abandons:0,matches:0},{profileId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',platformCrossplay:'console',seasonId:28,boardSlug:'warmup',rank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},maxRank:{id:0,name:'Unranked',mmr:0,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:0},topRankPosition:0,kills:0,deaths:0,kd:0,wins:0,losses:0,winRate:'0.00%',abandons:0,matches:0},{profileId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',platformCrossplay:'console',seasonId:28,boardSlug:'ranked',rank:{id:0,name:'Unranked',mmr:1000,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:1000},maxRank:{id:0,name:'Unranked',mmr:1000,icon:'https://github.com/danielwerg/r6api.js/raw/master/assets/ranks/v3/Unranked.png',rp:1000},topRankPosition:0,kills:0,deaths:0,kd:0,wins:0,losses:0,winRate:'0.00%',abandons:0,matches:0}];

getStats

⚠️ API endpoint forgetStats haven't been getting updates since High Calibre (see:#78).

Get summary stats of a player.

Ids limit:200

(platform, id/s, options?) =>Promise<Array>

Options

ParamTypeRequiredDefaultDescription
rawbooleanfalsefalseInclude raw API response
categoriesstring[]falseRequests allCategories to request

Categories reference

pvppve

generalgeneralpvpgeneralpve

operatorsoperatorspvpoperatorspve

weaponsweaponspvpweaponspve

queuesqueuespvpqueuespvemodesmodespvpmodespve

rankedcasualcustom

localcoopnormalhardrealisticnormallocalhardlocalrealisticlocalnormalcoophardcooprealisticcoop

bombsecureAreahostageelimination

disarmBombprotectHostageextractHostage

awaitr6api.getStats('uplay','0b95544b-0228-49a7-b338-6d15cfbc3d6a');
Output
[{id:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',pvp:{general:[Object],operators:[Object],weapons:[Object],queues:[Object],modes:[Object]},pve:{general:[Object],operators:[Object],weapons:[Object],queues:[Object],modes:[Object]}}];

Note: Ubisoft stopped recordingbulletsFired forpvp long time ago, don't rely on it

Note:distanceTravelled value might be overflowed due to Ubisoft storing it in 32-bit int

Full response


getStatus

Get Rainbow Six: Siege servers status.

() =>Promise<Array>

awaitr6api.getStatus();
Output
[{appId:'8956241d-236d-4dbd-9e1e-bf6ed133773a',name:'Rainbow Six Siege - China - PC - LIVE',spaceId:'',mdm:'23702',category:'Instance',platform:'PC',status:'Online',maintenance:null,impactedFeatures:[]},{appId:'e3d5ea9e-50bd-43b7-88bf-39794f4e3d40',name:'Rainbow Six Siege - PC - LIVE',spaceId:'',mdm:'4073',category:'Instance',platform:'PC',status:'Online',maintenance:null,impactedFeatures:[]},{appId:'fb4cc4c9-2063-461d-a1e8-84a7d36525fc',name:'Rainbow Six Siege - PS4 - LIVE',spaceId:'05bfb3f7-6c21-4c42-be1f-97a33fb5cf66',mdm:'14922',category:'Instance',platform:'PS4',status:'Online',maintenance:null,impactedFeatures:[]},{appId:'6e3c99c9-6c3f-43f4-b4f6-f1a3143f2764',name:'Rainbow Six Siege - PS5 - LIVE',spaceId:'96c1d424-057e-4ff7-860b-6b9c9222bdbf',mdm:'25365',category:'Instance',platform:'PS5',status:'Online',maintenance:null,impactedFeatures:[]},{appId:'76f580d5-7f50-47cc-bbc1-152d000bfe59',name:'Rainbow Six Siege - XBOX SERIES X - LIVE',spaceId:'631d8095-c443-4e21-b301-4af1a0929c27',mdm:'25366',category:'Instance',platform:'XBOX SERIES X',status:'Online',maintenance:null,impactedFeatures:[]},{appId:'4008612d-3baf-49e4-957a-33066726a7bc',name:'Rainbow Six Siege - XBOXONE - LIVE',spaceId:'98a601e5-ca91-4440-b1c5-753f601a2c90',mdm:'4075',category:'Instance',platform:'XBOXONE',status:'Online',maintenance:null,impactedFeatures:[]}];

getUserStatus

Get status of a player.

Ids limit:50

(id/s, options?) =>Promise<Array>

Options

ParamTypeRequiredDefaultDescription
fetchApplicationsbooleanfalsefalseMake another API request to get additional information about applications

Note: TakesuserId instead ofprofileId (id) like most methods

awaitr6api.getUserStatus('0b95544b-0228-49a7-b338-6d15cfbc3d6a');
Output
[{userId:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',status:'offline',applications:[],manuallySet:null}];

getProfileApplications

Get information about applications of a player.

Ids limit:100

(id/s, options?) =>Promise<Array>

Options

ParamTypeRequiredDefaultDescription
fetchApplicationsbooleanfalsefalseMake another API request to get additional information about applications
awaitr6api.getProfileApplications('0b95544b-0228-49a7-b338-6d15cfbc3d6a');
Output
[{id:'0b95544b-0228-49a7-b338-6d15cfbc3d6a',applications:[{id:'46f0b36b-b947-4d9c-b9dc-9a34b52ab59a',name:null,platform:null,sessionsPlayed:10,daysPlayed:7,lastPlayedAt:'2020-10-27T17:11:38.771Z',firstPlayedAt:'2019-04-19T22:05:01.850Z'},{id:'87843b9b-516d-4a58-824b-f658d1361ad1',name:null,platform:null,sessionsPlayed:2,daysPlayed:2,lastPlayedAt:'2016-03-21T18:28:25.434Z',firstPlayedAt:'2016-03-18T16:18:43.603Z'},{id:'a427a342-56bb-437b-b835-fa695c75893b',name:"Tom Clancy's Rainbow Six Siege - Test Server",platform:'PC',sessionsPlayed:137,daysPlayed:72,lastPlayedAt:'2020-11-16T05:35:45.229Z',firstPlayedAt:'2017-06-01T20:10:13.424Z'},{id:'e3d5ea9e-50bd-43b7-88bf-39794f4e3d40',name:"Tom Clancy's Rainbow Six Siege",platform:'PC',sessionsPlayed:2344,daysPlayed:1221,lastPlayedAt:'2021-02-04T12:35:13.173Z',firstPlayedAt:'2015-12-01T19:33:41.284Z'},{id:'f68a4bb5-608a-4ff2-8123-be8ef797e0a6',name:null,platform:null,sessionsPlayed:1919,daysPlayed:1551,lastPlayedAt:'2021-08-01T08:45:05.344Z',firstPlayedAt:'2015-12-01T19:31:18.107Z'}]}];

getApplications

Get information about applications.

Ids limit:50

(id/s) =>Promise<Array>

awaitr6api.getApplications('e3d5ea9e-50bd-43b7-88bf-39794f4e3d40');
Output
[{id:'e3d5ea9e-50bd-43b7-88bf-39794f4e3d40',name:"Tom Clancy's Rainbow Six Siege",platform:'PC',spaceId:'5172a557-50b5-4665-b7db-e3f2e8c5041d'}];

validateUsername

Validate username.

(username) =>Promise<Object>

awaitr6api.validateUsername('gamerflick360');
Output
{valid:false,validationReports:[{message:'\'flick\' matches \'flick\'',categories:['global-username','vulgarity'],severity:'high',locale:'en-US',errorCode:1013,suggestions:null}]}

getNews

Get Rainbow Six: Siege News.

(options?) =>Promise<Object>

Options

ParamTypeRequiredDefaultDescription
rawbooleanfalsefalseInclude raw API response
categorystringfalse'all''all','game-updates','patch-notes','community','store','esports'
mediastringfalse'all''all','news','videos'
placementstringfalse''Ex:'featured-news-article'
limitnumberfalse6
skipnumberfalse0
startIndexnumberfalse0
localestringfalse'en-gb'
fallbackLocalestringfalse'en-us'
awaitr6api.getNews({limit:1});
Output
{total:771,limit:1,categories:'all',media:'all',skip:0,startIndex:0,placement:[],tags:['BR-rainbow-six GA-siege'],items:[{id:'3XYWbFClpxnuEiNBmrF3zl',title:'RAINBOW SIX SIEGE HOLIDAY PACK 2022',abstract:'Happy Holidays from the Rainbow Six Siege team!  ',thumbnail:{url:'https://staticctf.akamaized.net/J3yJr34U2pZ2Ieem48Dwy9uqj5PNUQTn/6GBH9GZennq2REUcKWSrEU/01653a2f124e74b2c12fbcc25cbe8f71/R6S_Blogpost_2022-12_Holiday_Pack.jpg',description:''},content:'It\'s that time of the year again - Happy Holidays from the Rainbow Six Siege team!  \n\nTo celebrate the festive season, we have a special surprise for you: \n\nEvery player connecting to the game __between December 22nd, 2022, and January 3rd, 2023,__ will be awarded a free Holiday Pack! \n\nThe Holiday Pack will be accessible in the Pack section on the home screen. Once activated, players will receive one free Operator from Year 1-7. This Operator will be randomly selected and will not include any Operators that the player has already unlocked.  \n\nThose who already own all Operators will receive a brand-new free headgear and uniform for the Operator Ying, as well as a brand-new signature weapon skin - holiday-themed of course! \n\nWe hope you enjoy this little gift from the team, and we wish you a great start to the new year.',description:undefined,categories:['rainbow-six-siege'],tag:'BR-rainbow-six GA-siege',placement:null,type:'news',readTime:1,url:'https://www.ubisoft.com/en-gb/game/rainbow-six/siege/news-updates/3XYWbFClpxnuEiNBmrF3zl/rainbow-six-siege-holiday-pack-2022',date:'Thu Dec 22 2022 17:00:00 GMT+0000 (Coordinated Universal Time)'}]}

getNewsById

Get Rainbow Six: Siege News by ID.

(id:string, options?) =>Promise<Object>

Options

ParamTypeRequiredDefaultDescription
rawbooleanfalsefalseInclude raw API response
localestringfalse'en-gb'
fallbackLocalestringfalse'en-us'
awaitr6api.getNewsById('4QAhnXnPk7Ffse8scw3k0Z');
Output
{total:3,tags:['BR-rainbow-six GA-siege'],item:[{id:'4QAhnXnPk7Ffse8scw3k0Z',title:'Y5S1.2 Patch Notes',abstract:'The Y5S1.2 Patch will deploy to PC and Console in the week of April 20th. ',thumbnail:{url:'https://staticctf.akamaized.net/J3yJr34U2pZ2Ieem48Dwy9uqj5PNUQTn/Gqlz4Wt00TfhvaSH4d8LZ/bdb41b4552ebfda9acf293ece6f50084/y5s1_2_pn-min.png',description:''},content:'The Y5S1.2 Patch will deploy to PC and Console in the week of April 20th. Please see our [Designer\'s Notes](https://rainbow6.com/dn_y5s12) for more insight on the balancing changes coming with the update.\n\n# UPDATE\nUpdate - the quick match map pool will remain the same throughout Y5S1 and will rotate again in Y5S2.\n\n# BALANCING\n### BUCK \n*With you til the end of the line.*\n\n- Frag Grenades replaced with Claymores.\n- Increased Skeleton Key Magazine Capacity: \n  - Skeleton Key magazine capacity increased to 5 + 1\n  - Skeleton Key max ammo count is now 25+1\n\n### GOYO\n*Less is more.*\n\n- Reduced number of Volcán shields to 2 (down from 3).\n\n### JÄGER\n*Less of a pain-in-the-schnitzel.*\n\n- Now a 2-speed/2-armor operator.\n\n### MOZZIE\n*Still a shortie.*\n\n- Removed Super Shorty secondary.\n\n### YING\n*Lights, Camera, Action!*\n\n- Increased number of Candelas to 4 (up from 3).\n- Replaced Claymores with Smoke Grenades.\n- Increased T-95 LSW damage to 46 (up from 43).\n\n### M12 (Caveira)\n- Added a Razor Holographic Sight option to her M12.\n\n### TCSG12 (Kaid, Goyo)\n- Added an additional magazine to the TCSG12.\n- Reduced TCSG12 damage to 57 (down from 84).\n\n# BUG FIXES\n- FIXED – Barricade replication issues where the barricade is not destroyed for all players in game except the shooter.\n- FIXED – The Dynamic Play button does not update properly when last match was on an Event/Discovery playlist.\n- FIXED – Players can clip inside the excavator in EXT Construction Site of Oregon.\n- FIXED – Game boots with DX11 when players manually select the Vulkan executable in the steam installation folder.\n- FIXED – Minor menu/shop visual and cosmetic fixes.\n- FIXED – Lighting issue on Consulate map (hotfixed on PC on [March 30](https://twitter.com/rainbow6game/status/1244581743254024192?lang=en)).',description:undefined,categories:['news','rainbow-six','rainbow-six-siege','patch-notes'],tag:'BR-rainbow-six GA-siege',placement:['featured-news-article'],type:'news',readTime:2,url:'https://www.ubisoft.com/en-gb/game/rainbow-six/siege/news-updates/4QAhnXnPk7Ffse8scw3k0Z/y5s12-patch-notes',date:'Mon Apr 20 2020 21:00:00 GMT+0000 (Coordinated Universal Time)'}]}

custom

Useful if you're familiar with Rainbow Six Siege's API; this method will make a request to a custom URL you would provide with the token in the header.

(url:string, params:any) =>Promise<T>

awaitr6api.custom(utils.URLS.STATS('uplay',['0b95544b-0228-49a7-b338-6d15cfbc3d6a'],'operatorpvp_clash_sloweddown'));
Output
{results:{'0b95544b-0228-49a7-b338-6d15cfbc3d6a':{'operatorpvp_clash_sloweddown:3:10:infinite':2}}}

TypeScript integrations

This package is developed in TypeScript, and the typings are shipped along with the built package: that means that your editor should automatically detect them and give you the static type info.For a full list of supporting IDEs, please seehere.

If you're coding in TypeScript you can also import the typings and use the type-checking functions provided in the utils.

importR6API,{utils,typings,constants}from'r6api.js';constyourVar='r4-c';// anyif(utils.isWeaponName(yourVar)){// Now your var has the WeaponName type}constplatform=constants.PLATFORMSastypings.Platform[];

Credit

Operator Icons fromr6operators.marcopixel.eu


[8]ページ先頭

©2009-2025 Movatter.jp