tornapi-typescript 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +2270 -2264
  2. package/dist/openapi.json +8006 -7865
  3. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -4838,2749 +4838,2755 @@ export interface TimestampResponse {
4838
4838
  timestamp: number;
4839
4839
  }
4840
4840
 
4841
- export interface FactionTerritoryWarFinishedFaction {
4842
- id: FactionId;
4843
- name: string;
4844
- score: number;
4845
- is_aggressor: boolean;
4841
+ export interface UserCurrentEducation {
4842
+ id: EducationId;
4843
+ until: number;
4846
4844
  }
4847
4845
 
4848
- export interface FactionTerritoryWarFinished {
4849
- id: TerritoryWarId;
4850
- territory: FactionTerritoryEnum;
4851
- start: number;
4852
- end: number;
4853
- target: number;
4854
- result: FactionTerritoryWarResultEnum;
4855
- factions: FactionTerritoryWarFinishedFaction[];
4846
+ export interface UserEducation {
4847
+ complete: EducationId[];
4848
+ current: UserCurrentEducation | null;
4856
4849
  }
4857
4850
 
4858
- export interface FactionTerritoryWarOngoingFaction {
4859
- id: FactionId;
4860
- name: string;
4861
- score: number;
4862
- is_aggressor: boolean;
4863
- chain: number;
4864
- playerIds: UserId[];
4851
+ export interface UserEducationResponse {
4852
+ education: UserEducation;
4865
4853
  }
4866
4854
 
4867
- export interface FactionTerritoryWarOngoing {
4868
- id: TerritoryWarId;
4869
- territory: FactionTerritoryEnum;
4870
- start: number;
4871
- end: number;
4872
- target: number;
4873
- factions: FactionTerritoryWarOngoingFaction[];
4855
+ export interface UserCrimeDetailsBootlegging {
4856
+ /** Online store statistics. */
4857
+ online_store: {
4858
+ earnings: number;
4859
+ visits: number;
4860
+ customers: number;
4861
+ sales: number;
4862
+ };
4863
+ /** DVD sales statistics. */
4864
+ dvd_sales: {
4865
+ action: number;
4866
+ comedy: number;
4867
+ drama: number;
4868
+ fantasy: number;
4869
+ horror: number;
4870
+ romance: number;
4871
+ thriller: number;
4872
+ /** This is replaced with 'sci_fi' field and will be removed on 1st June 2025. */
4873
+ "sci-fi"?: number;
4874
+ sci_fi: number;
4875
+ total: number;
4876
+ earnings: number;
4877
+ };
4878
+ dvds_copied?: number;
4874
4879
  }
4875
4880
 
4876
- export interface FactionTerritoryWarsResponse {
4877
- territorywars: FactionTerritoryWarOngoing[] | FactionTerritoryWarFinished[];
4881
+ export interface UserCrimeDetailsGraffiti {
4882
+ cans_used: number;
4883
+ most_graffiti_in_one_area: number;
4884
+ most_graffiti_simultaneously: number;
4885
+ graffiti_removed: number;
4886
+ cost_to_city: number;
4878
4887
  }
4879
4888
 
4880
- export interface FactionTerritoryWarsHistoryResponse {
4881
- territorywars: FactionTerritoryWarFinished[];
4889
+ export interface UserCrimeDetailsShoplifting {
4890
+ average_notoriety: number;
4882
4891
  }
4883
4892
 
4884
- export interface FactionTerritoryWarReportMembers {
4885
- id: UserId;
4886
- username: string;
4887
- level: number;
4888
- score: number;
4889
- joins: number;
4890
- clears: number;
4893
+ export interface UserCrimeDetailsCardSkimming {
4894
+ card_details: {
4895
+ recoverable: number;
4896
+ recovered: number;
4897
+ sold: number;
4898
+ lost: number;
4899
+ areas: {
4900
+ id: number;
4901
+ amount: number;
4902
+ }[];
4903
+ };
4904
+ skimmers: {
4905
+ active: number;
4906
+ most_lucrative: number;
4907
+ oldest_recovered: number;
4908
+ lost: number;
4909
+ };
4891
4910
  }
4892
4911
 
4893
- export interface FactionTerritoryWarReportFaction {
4894
- id: FactionId;
4895
- name: string;
4896
- score: number;
4897
- joins: number;
4898
- clears: number;
4899
- is_aggressor: boolean;
4900
- members: FactionTerritoryWarReportMembers[];
4912
+ export interface UserCrimeDetailsHustling {
4913
+ total_audience_gathered: number;
4914
+ biggest_money_won: number;
4915
+ shill_money_collected: number;
4916
+ pickpocket_money_collected: number;
4901
4917
  }
4902
4918
 
4903
- export interface FactionTerritoryWarReport {
4904
- id: TerritoryWarId;
4905
- territory: FactionTerritoryEnum;
4906
- started_at: number;
4907
- ended_at: number;
4908
- winner: FactionId;
4909
- result: string;
4910
- factions: FactionTerritoryWarReportFaction[];
4919
+ export interface UserCrimeDetailsCracking {
4920
+ brute_force_cycles: number;
4921
+ encryption_layers_broken: number;
4922
+ highest_mips: number;
4923
+ chars_guessed: number;
4924
+ chars_guessed_total: number;
4911
4925
  }
4912
4926
 
4913
- export interface FactionTerritoryWarReportResponse {
4914
- territorywarreport: FactionTerritoryWarReport[];
4927
+ export interface UserCrimeDetailsScamming {
4928
+ most_responses: number;
4929
+ zones: {
4930
+ red: number;
4931
+ neutral: number;
4932
+ concern: number;
4933
+ sensitivity: number;
4934
+ temptation: number;
4935
+ hesitation: number;
4936
+ low_reward: number;
4937
+ medium_reward: number;
4938
+ high_reward: number;
4939
+ };
4940
+ concerns: {
4941
+ attempts: number;
4942
+ resolved: number;
4943
+ };
4944
+ payouts: {
4945
+ low: number;
4946
+ medium: number;
4947
+ high: number;
4948
+ };
4949
+ emails: {
4950
+ scraper: number;
4951
+ phisher: number;
4952
+ };
4915
4953
  }
4916
4954
 
4917
- export interface FactionTerritoryOwnership {
4918
- id: string;
4919
- owned_by: FactionId | null;
4920
- acquired_at: number | null;
4955
+ export interface UserSubcrime {
4956
+ id: number;
4957
+ total: number;
4958
+ success: number;
4959
+ fail: number;
4921
4960
  }
4922
4961
 
4923
- export interface FactionTerritoriesOwnershipResponse {
4924
- territoryownership: FactionTerritoryOwnership[];
4962
+ export interface UserCrimeRewardAmmo {
4963
+ standard: number;
4964
+ special: number;
4925
4965
  }
4926
4966
 
4927
- export interface TornRacketReward {
4928
- type: TornRacketType;
4929
- quantity: number;
4930
- id: ItemId | null;
4967
+ export interface UserCrimeRewardItem {
4968
+ id: number;
4969
+ amount: number;
4931
4970
  }
4932
4971
 
4933
- export interface TornRacket {
4934
- name: string;
4935
- level: number;
4936
- description: string;
4937
- reward: TornRacketReward;
4938
- created_at: number;
4939
- changed_at: number;
4972
+ export interface UserCrimeRewards {
4973
+ money: number;
4974
+ ammo: UserCrimeRewardAmmo;
4975
+ items: UserCrimeRewardItem[];
4940
4976
  }
4941
4977
 
4942
- export interface FactionRacketsReponse {
4943
- rackets: TornRacket[];
4978
+ export interface UserCrimeAttempts {
4979
+ total: number;
4980
+ success: number;
4981
+ fail: number;
4982
+ critical_fail: number;
4983
+ subcrimes: UserSubcrime[];
4944
4984
  }
4945
4985
 
4946
- export interface FactionTerritory {
4947
- id: FactionTerritoryEnum;
4948
- acquired_at: number;
4949
- sector: number;
4950
- size: number;
4951
- density: number;
4952
- slots: number;
4953
- respect: number;
4954
- coordinates: TornTerritoryCoordinates;
4955
- racket: TornRacket | null;
4986
+ export interface UserCrimeUniquesRewardMoney {
4987
+ min: number;
4988
+ max: number;
4956
4989
  }
4957
4990
 
4958
- export interface FactionTerritoriesReponse {
4959
- territory: FactionTerritory[];
4991
+ export interface UserCrimeUniquesRewardAmmo {
4992
+ amount: number;
4993
+ type: UserCrimeUniquesRewardAmmoEnum;
4960
4994
  }
4961
4995
 
4962
- export interface FactionPosition {
4963
- name: string;
4964
- is_default: boolean;
4965
- abilities: FactionPositionAbilityEnum[];
4996
+ export interface UserCrimeUniquesReward {
4997
+ items: UserCrimeRewardItem[];
4998
+ money: UserCrimeUniquesRewardMoney | null;
4999
+ ammo: UserCrimeUniquesRewardAmmo | null;
4966
5000
  }
4967
5001
 
4968
- export interface FactionPositionsResponse {
4969
- positions: FactionPosition[];
5002
+ export interface UserCrimeUniques {
5003
+ /** Unique result id. */
5004
+ id: number;
5005
+ rewards: UserCrimeUniquesReward;
4970
5006
  }
4971
5007
 
4972
- export interface FactionUpgradeDetails {
4973
- id: FactionBranchId;
4974
- name: string;
4975
- ability: string;
4976
- level: number;
4977
- cost: number;
4978
- unlocked_at?: number;
5008
+ export interface UserCrimesResponse {
5009
+ crimes: UserCrime;
4979
5010
  }
4980
5011
 
4981
- export interface FactionBranchDetails {
4982
- name: string;
4983
- order: number;
4984
- /** Respect cost multiplier. */
4985
- multiplier: number;
4986
- upgrades: FactionUpgradeDetails[];
5012
+ export interface UserCrime {
5013
+ nerve_spent: number;
5014
+ skill: number;
5015
+ progression_bonus: number;
5016
+ rewards: UserCrimeRewards;
5017
+ attempts: UserCrimeAttempts;
5018
+ uniques: UserCrimeUniques[];
5019
+ miscellaneous:
5020
+ | UserCrimeDetailsBootlegging
5021
+ | UserCrimeDetailsGraffiti
5022
+ | UserCrimeDetailsShoplifting
5023
+ | UserCrimeDetailsCardSkimming
5024
+ | UserCrimeDetailsHustling
5025
+ | UserCrimeDetailsCracking
5026
+ | UserCrimeDetailsScamming
5027
+ | null;
4987
5028
  }
4988
5029
 
4989
- export interface FactionUpgrades {
4990
- core: {
4991
- upgrades?: FactionUpgradeDetails[];
4992
- };
4993
- peace: FactionBranchDetails[];
4994
- war: FactionBranchDetails[];
4995
- }
4996
-
4997
- export interface FactionUpgradesResponse {
4998
- upgrades: FactionUpgrades;
4999
- state: FactionBranchStateEnum;
5000
- }
5001
-
5002
- export interface FactionStat {
5003
- name: FactionStatEnum;
5004
- value: number;
5030
+ export interface UserRacesResponse {
5031
+ races: RacingRaceDetailsResponse[];
5032
+ _metadata: RequestMetadataWithLinks;
5005
5033
  }
5006
5034
 
5007
- export interface FactionStatsResponse {
5008
- stats: FactionStat[];
5035
+ export interface UserRaceCarDetails extends RaceCar {
5036
+ id: RaceCarId;
5037
+ name: string | null;
5038
+ worth: number;
5039
+ points_spent: number;
5040
+ races_entered: number;
5041
+ races_won: number;
5042
+ is_removed: boolean;
5043
+ parts: RaceCarUpgradeId[];
5009
5044
  }
5010
5045
 
5011
- export interface FactionContributor {
5012
- id: UserId;
5013
- username: string;
5014
- value: number;
5015
- in_faction: boolean;
5046
+ export interface UserEnlistedCarsResponse {
5047
+ enlistedcars: UserRaceCarDetails[];
5016
5048
  }
5017
5049
 
5018
- export interface FactionContributorsResponse {
5019
- contributors: FactionContributor[];
5050
+ export interface UserForumPostsResponse {
5051
+ forumPosts: ForumPost[];
5052
+ _metadata: RequestMetadataWithLinks;
5020
5053
  }
5021
5054
 
5022
- export interface FactionHofStats {
5023
- rank: HofValueString;
5024
- respect: HofValue;
5025
- chain: HofValue;
5055
+ export interface UserForumThreadsResponse {
5056
+ forumThreads: ForumThreadUserExtended[];
5057
+ _metadata: RequestMetadataWithLinks;
5026
5058
  }
5027
5059
 
5028
- export interface FactionHofResponse {
5029
- hof: FactionHofStats;
5060
+ export interface UserForumSubscribedThreadsResponse {
5061
+ forumSubscribedThreads?: ForumSubscribedThread[];
5030
5062
  }
5031
5063
 
5032
- /** Details about a faction member. */
5033
- export interface FactionMember {
5034
- id: UserId;
5035
- name: string;
5036
- position: string;
5037
- level: number;
5038
- days_in_faction: number;
5039
- is_revivable: boolean;
5040
- /** Shows if the member is currently defending territory wall. */
5041
- is_on_wall: boolean;
5042
- /** Shows if the member is currently participating in an organized crime. Show false for members of other factions. */
5043
- is_in_oc: boolean;
5044
- /** Shows if the member is eligible for an early discharge from the hospital. */
5045
- has_early_discharge: boolean;
5046
- last_action: UserLastAction;
5047
- status: UserStatus;
5048
- revive_setting: ReviveSetting;
5064
+ export interface UserForumFeedResponse {
5065
+ forumFeed: ForumFeed[];
5049
5066
  }
5050
5067
 
5051
- /** Details about a user's last action. */
5052
- export interface UserLastAction {
5053
- status: string;
5054
- timestamp: number;
5055
- relative: string;
5068
+ export interface UserForumFriendsResponse {
5069
+ forumFriends: ForumFeed[];
5056
5070
  }
5057
5071
 
5058
- /** Details about a user's status. */
5059
- export interface UserStatus {
5060
- description: string;
5061
- details: string | null;
5062
- state: string;
5063
- until: number | null;
5072
+ export interface HofValue {
5073
+ value: number;
5074
+ rank: number;
5064
5075
  }
5065
5076
 
5066
- export interface FactionMembersResponse {
5067
- members: FactionMember[];
5077
+ export interface HofValueFloat {
5078
+ value: number;
5079
+ rank: number;
5068
5080
  }
5069
5081
 
5070
- export interface FactionRank {
5071
- level: number;
5072
- name: string;
5073
- division: number;
5074
- position: number;
5075
- wins: number;
5082
+ export interface HofValueString {
5083
+ value: string;
5084
+ rank: number | null;
5076
5085
  }
5077
5086
 
5078
- export interface FactionBasic {
5079
- id: FactionId;
5080
- name: string;
5081
- tag: string;
5082
- tag_image: string;
5083
- leader_id: UserId;
5084
- "co-leader_id"?: UserId;
5085
- co_leader_id: UserId;
5086
- respect: number;
5087
- days_old: number;
5088
- capacity: number;
5089
- members: number;
5090
- is_enlisted: boolean | null;
5091
- rank: FactionRank;
5092
- best_chain: number;
5087
+ export interface UserHofStats {
5088
+ attacks: HofValue;
5089
+ busts: HofValue;
5090
+ defends: HofValue;
5091
+ networth: HofValue;
5092
+ offences: HofValue;
5093
+ revives: HofValue;
5094
+ level: HofValue;
5095
+ rank: HofValue;
5096
+ awards: HofValue;
5097
+ racing_skill: HofValueFloat;
5098
+ racing_points: HofValue;
5099
+ racing_wins: HofValue;
5100
+ travel_time: HofValue;
5101
+ working_stats: HofValue;
5102
+ battle_stats: HofValue | null;
5093
5103
  }
5094
5104
 
5095
- export interface FactionBasicResponse {
5096
- basic: FactionBasic;
5105
+ export interface UserHofResponse {
5106
+ hof: UserHofStats;
5097
5107
  }
5098
5108
 
5099
- export interface FactionPact {
5100
- faction_id: FactionId;
5101
- faction_name: string;
5102
- /** The duration until when is the non-aggression pact valid. */
5103
- until: string;
5109
+ export interface UserCalendar {
5110
+ /** Event start time displayed in TCT. */
5111
+ start_time: string;
5104
5112
  }
5105
5113
 
5106
- export interface FactionRankedWarParticipant {
5107
- id: FactionId;
5108
- name: string;
5109
- score: number;
5110
- /** Faction's current chain. */
5111
- chain: number;
5114
+ export interface UserCalendarResponse {
5115
+ calendar: UserCalendar;
5112
5116
  }
5113
5117
 
5114
- export interface FactionRankedWar {
5115
- war_id: number;
5116
- start: number;
5117
- end: number | null;
5118
- /** The score target of the war. */
5119
- target: number;
5120
- winner: number | null;
5121
- /** The factions involved in the ranked war. */
5122
- factions: FactionRankedWarParticipant[];
5118
+ export interface UserBountiesResponse {
5119
+ bounties: Bounty[];
5123
5120
  }
5124
5121
 
5125
- export interface FactionRaidWarParticipant {
5126
- id: FactionId;
5127
- name: string;
5128
- score: number;
5129
- /** Faction's current chain. */
5130
- chain: number;
5131
- is_aggressor: boolean;
5122
+ export interface UserJobRanks {
5123
+ army: JobPositionArmyEnum;
5124
+ grocer: JobPositionGrocerEnum;
5125
+ casino: JobPositionCasinoEnum;
5126
+ medical: JobPositionMedicalEnum;
5127
+ law: JobPositionLawEnum;
5128
+ education: JobPositionEducationEnum;
5132
5129
  }
5133
5130
 
5134
- export interface FactionRaidWar {
5135
- war_id: number;
5136
- start: number;
5137
- end: number | null;
5138
- /** The factions involved in the raid war. */
5139
- factions: FactionRaidWarParticipant[];
5131
+ export interface UserJobRanksResponse {
5132
+ jobranks: UserJobRanks;
5140
5133
  }
5141
5134
 
5142
- export interface FactionTerritoryWarParticipant {
5143
- id: FactionId;
5135
+ export interface UserItemMarkeListingItemDetails {
5136
+ id: number;
5144
5137
  name: string;
5145
- score: number;
5146
- /** Faction's current chain. */
5147
- chain: number;
5148
- is_aggressor: boolean;
5149
- playerIds: UserId[];
5138
+ type: string;
5139
+ rarity: ("yellow" | "orange" | "red") | null;
5140
+ uid: ItemUid | null;
5141
+ stats: ItemMarketListingItemStats | null;
5142
+ bonuses: ItemMarketListingItemBonus[];
5150
5143
  }
5151
5144
 
5152
- export interface FactionTerritoryWar {
5153
- war_id: number;
5154
- territory: string;
5155
- start: number;
5156
- end: number | null;
5157
- /** The score target of the war. */
5158
- target: number;
5159
- winner?: FactionId | null;
5160
- /** The factions involved in the territory war. */
5161
- factions: FactionTerritoryWarParticipant[];
5145
+ export interface UserItemMarketListing {
5146
+ id: number;
5147
+ price: number;
5148
+ average_price: number;
5149
+ amount: number;
5150
+ is_anonymous: boolean;
5151
+ /** Amount remaining in the inventory. */
5152
+ available: number;
5153
+ item: UserItemMarkeListingItemDetails;
5162
5154
  }
5163
5155
 
5164
- export interface FactionWars {
5165
- ranked: FactionRankedWar | null;
5166
- raids: FactionRaidWar[];
5167
- territory: FactionTerritoryWar[];
5156
+ export interface UserItemMarketResponse {
5157
+ itemmarket: UserItemMarketListing[];
5158
+ _metadata: RequestMetadataWithLinks;
5168
5159
  }
5169
5160
 
5170
- export interface FactionWarsResponse {
5171
- pacts: FactionPact[];
5172
- wars: FactionWars;
5161
+ export interface UserFactionBalance {
5162
+ money: number;
5163
+ points: number;
5173
5164
  }
5174
5165
 
5175
- export interface FactionNews {
5176
- id: string;
5177
- text: string;
5178
- timestamp: number;
5166
+ export interface UserFactionBalanceResponse {
5167
+ factionBalance: UserFactionBalance | null;
5179
5168
  }
5180
5169
 
5181
- export interface FactionNewsResponse {
5182
- news: FactionNews[];
5183
- _metadata: RequestMetadataWithLinks;
5170
+ export interface UserOrganizedCrimeResponse {
5171
+ organizedCrime: FactionCrime | null;
5184
5172
  }
5185
5173
 
5186
- export interface FactionAttacksResponse {
5187
- attacks: Attack[];
5188
- _metadata: RequestMetadataWithLinks;
5174
+ export interface UserList {
5175
+ id: UserId;
5176
+ name: string;
5177
+ level: number;
5178
+ faction_id: FactionId | null;
5179
+ last_action: UserLastAction;
5180
+ status: UserStatus;
5189
5181
  }
5190
5182
 
5191
- export interface FactionAttacksFullResponse {
5192
- attacks: AttackSimplified[];
5183
+ export interface UserListResponse {
5184
+ list: UserList[];
5193
5185
  _metadata: RequestMetadataWithLinks;
5194
5186
  }
5195
5187
 
5196
- export interface FactionApplication {
5197
- /** application id */
5198
- id: number;
5199
- user: {
5200
- id: UserId;
5201
- name: string;
5202
- level: number;
5203
- stats: {
5204
- strength: number;
5205
- speed: number;
5206
- dexterity: number;
5207
- defense: number;
5208
- };
5209
- };
5210
- message: string;
5211
- valid_until: number;
5212
- status: FactionApplicationStatusEnum;
5188
+ /** The following selections will fallback to API v1 and may change at any time: 'ammo','bars','basic','battlestats','bazaar','cooldowns','criminalrecord','discord','display','education','equipment','events','gym','honors','icons','inventory','jobpoints','log','medals','merits','messages','missions','money','networth','newevents','newmessages','notifications','perks','profile','properties','refills','reports','skills','stocks','travel','weaponexp','workstats'. */
5189
+ export type UserSelectionName =
5190
+ | "attacks"
5191
+ | "attacksfull"
5192
+ | "bounties"
5193
+ | "calendar"
5194
+ | "crimes"
5195
+ | "enlistedcars"
5196
+ | "factionbalance"
5197
+ | "forumfeed"
5198
+ | "forumfriends"
5199
+ | "forumposts"
5200
+ | "forumsubscribedthreads"
5201
+ | "forumthreads"
5202
+ | "hof"
5203
+ | "itemmarket"
5204
+ | "jobranks"
5205
+ | "list"
5206
+ | "lookup"
5207
+ | "organizedcrime"
5208
+ | "personalstats"
5209
+ | "races"
5210
+ | "revives"
5211
+ | "revivesfull"
5212
+ | "timestamp"
5213
+ | "ammo"
5214
+ | "bars"
5215
+ | "basic"
5216
+ | "battlestats"
5217
+ | "bazaar"
5218
+ | "cooldowns"
5219
+ | "criminalrecord"
5220
+ | "discord"
5221
+ | "display"
5222
+ | "education"
5223
+ | "equipment"
5224
+ | "events"
5225
+ | "gym"
5226
+ | "honors"
5227
+ | "icons"
5228
+ | "inventory"
5229
+ | "jobpoints"
5230
+ | "log"
5231
+ | "medals"
5232
+ | "merits"
5233
+ | "messages"
5234
+ | "missions"
5235
+ | "money"
5236
+ | "networth"
5237
+ | "newevents"
5238
+ | "newmessages"
5239
+ | "notifications"
5240
+ | "perks"
5241
+ | "profile"
5242
+ | "properties"
5243
+ | "refills"
5244
+ | "reports"
5245
+ | "skills"
5246
+ | "stocks"
5247
+ | "travel"
5248
+ | "weaponexp"
5249
+ | "workstats";
5250
+
5251
+ export interface UserLookupResponse {
5252
+ selections: UserSelectionName[];
5213
5253
  }
5214
5254
 
5215
- export interface FactionApplicationsResponse {
5216
- applications: FactionApplication[];
5255
+ export interface PersonalStatsOther {
5256
+ other: {
5257
+ activity: {
5258
+ /** Time played in seconds */
5259
+ time: number;
5260
+ streak: {
5261
+ best: number;
5262
+ current: number;
5263
+ };
5264
+ };
5265
+ awards: number;
5266
+ merits_bought: number;
5267
+ refills: {
5268
+ energy: number;
5269
+ nerve: number;
5270
+ token: number;
5271
+ };
5272
+ donator_days: number;
5273
+ ranked_war_wins: number;
5274
+ };
5217
5275
  }
5218
5276
 
5219
- export interface FactionOngoingChain {
5220
- id: ChainId;
5221
- current: number;
5222
- max: number;
5223
- /** Seconds until chain breaks. */
5224
- timeout: number;
5225
- modifier: number;
5226
- /** Timestamp until when chain is on cooldown. */
5227
- cooldown: number;
5228
- start: number;
5229
- end: number;
5277
+ export interface PersonalStatsOtherPopular {
5278
+ other: {
5279
+ activity: {
5280
+ /** Time played in seconds */
5281
+ time: number;
5282
+ streak: {
5283
+ best: number;
5284
+ current: number;
5285
+ };
5286
+ };
5287
+ awards: number;
5288
+ merits_bought: number;
5289
+ refills: {
5290
+ energy: number;
5291
+ nerve: number;
5292
+ };
5293
+ donator_days: number;
5294
+ ranked_war_wins: number;
5295
+ };
5230
5296
  }
5231
5297
 
5232
- export interface FactionOngoingChainResponse {
5233
- chain: FactionOngoingChain;
5298
+ export interface PersonalStatsNetworthExtended {
5299
+ networth: {
5300
+ total: number;
5301
+ wallet: number;
5302
+ vaults: number;
5303
+ bank: number;
5304
+ overseas_bank: number;
5305
+ points: number;
5306
+ inventory: number;
5307
+ display_case: number;
5308
+ bazaar: number;
5309
+ item_market: number;
5310
+ property: number;
5311
+ stock_market: number;
5312
+ auction_house: number;
5313
+ bookie: number;
5314
+ company: number;
5315
+ enlisted_cars: number;
5316
+ piggy_bank: number;
5317
+ pending: number;
5318
+ loans: number;
5319
+ unpaid_fees: number;
5320
+ };
5234
5321
  }
5235
5322
 
5236
- export interface FactionChain {
5237
- id: ChainId;
5238
- chain: number;
5239
- respect: number;
5240
- start: number;
5241
- end: number;
5323
+ export interface PersonalStatsNetworthPublic {
5324
+ networth: {
5325
+ total: number;
5326
+ };
5242
5327
  }
5243
5328
 
5244
- export interface FactionChainsResponse {
5245
- chains: FactionChain[];
5246
- _metadata: RequestMetadataWithLinks;
5329
+ export interface PersonalStatsRacing {
5330
+ racing: {
5331
+ skill: number;
5332
+ points: number;
5333
+ races: {
5334
+ entered: number;
5335
+ won: number;
5336
+ };
5337
+ };
5247
5338
  }
5248
5339
 
5249
- export interface FactionChainReportResponse {
5250
- chainreport: FactionChainReport;
5340
+ export interface PersonalStatsMissions {
5341
+ missions: {
5342
+ missions: number;
5343
+ contracts: {
5344
+ total: number;
5345
+ duke: number;
5346
+ };
5347
+ credits: number;
5348
+ };
5251
5349
  }
5252
5350
 
5253
- export interface FactionChainReport {
5254
- id: ChainId;
5255
- faction_id: FactionId;
5256
- start: number;
5257
- end: number;
5258
- details: FactionChainReportDetails;
5259
- bonuses: FactionChainReportBonus[];
5260
- attackers: FactionChainReportAttacker[];
5261
- /** This is replaced with 'non_attackers' field and will be removed on 1st June 2025. */
5262
- "non-attackers"?: UserId[];
5263
- non_attackers: UserId[];
5351
+ export interface PersonalStatsDrugs {
5352
+ drugs: {
5353
+ cannabis: number;
5354
+ ecstasy: number;
5355
+ ketamine: number;
5356
+ lsd: number;
5357
+ opium: number;
5358
+ pcp: number;
5359
+ shrooms: number;
5360
+ speed: number;
5361
+ vicodin: number;
5362
+ xanax: number;
5363
+ total: number;
5364
+ overdoses: number;
5365
+ rehabilitations: {
5366
+ amount: number;
5367
+ fees: number;
5368
+ };
5369
+ };
5264
5370
  }
5265
5371
 
5266
- export interface FactionChainReportDetails {
5267
- chain: number;
5268
- respect: number;
5269
- members: number;
5270
- targets: number;
5271
- war: number;
5272
- best: number;
5273
- leave: number;
5274
- mug: number;
5275
- hospitalize: number;
5276
- assists: number;
5277
- retaliations: number;
5278
- overseas: number;
5279
- draws: number;
5280
- escapes: number;
5281
- losses: number;
5372
+ export interface PersonalStatsTravel {
5373
+ travel: {
5374
+ total: number;
5375
+ time_spent: number;
5376
+ items_bought: number;
5377
+ hunting: {
5378
+ skill: number;
5379
+ };
5380
+ attacks_won: number;
5381
+ defends_lost: number;
5382
+ argentina: number;
5383
+ canada: number;
5384
+ cayman_islands: number;
5385
+ china: number;
5386
+ hawaii: number;
5387
+ japan: number;
5388
+ mexico: number;
5389
+ united_arab_emirates: number;
5390
+ united_kingdom: number;
5391
+ south_africa: number;
5392
+ switzerland: number;
5393
+ };
5282
5394
  }
5283
5395
 
5284
- export interface FactionChainReportBonus {
5285
- attacker_id: UserId;
5286
- defender_id: UserId;
5287
- chain: number;
5288
- respect: number;
5289
- }
5290
-
5291
- export interface FactionChainReportAttacker {
5292
- id: UserId;
5293
- respect: FactionChainReportAttackerRespect;
5294
- attacks: FactionChainReportAttackerAttacks;
5396
+ export interface PersonalStatsTravelPopular {
5397
+ travel: {
5398
+ total: number;
5399
+ time_spent: number;
5400
+ };
5295
5401
  }
5296
5402
 
5297
- export interface FactionChainReportAttackerRespect {
5298
- total: number;
5299
- average: number;
5300
- best: number;
5403
+ export interface PersonalStatsItems {
5404
+ items: {
5405
+ found: {
5406
+ city: number;
5407
+ dump: number;
5408
+ easter_eggs: number;
5409
+ };
5410
+ trashed: number;
5411
+ used: {
5412
+ books: number;
5413
+ boosters: number;
5414
+ consumables: number;
5415
+ candy: number;
5416
+ alcohol: number;
5417
+ energy_drinks: number;
5418
+ stat_enhancers: number;
5419
+ easter_eggs: number;
5420
+ };
5421
+ viruses_coded: number;
5422
+ };
5301
5423
  }
5302
5424
 
5303
- export interface FactionChainReportAttackerAttacks {
5304
- total: number;
5305
- leave: number;
5306
- mug: number;
5307
- hospitalize: number;
5308
- assists: number;
5309
- retaliations: number;
5310
- overseas: number;
5311
- draws: number;
5312
- escapes?: number;
5313
- losses: number;
5314
- war: number;
5315
- bonuses: number;
5425
+ export interface PersonalStatsItemsPopular {
5426
+ items: {
5427
+ found: {
5428
+ dump: number;
5429
+ };
5430
+ used: {
5431
+ books: number;
5432
+ boosters: number;
5433
+ consumables: number;
5434
+ candy: number;
5435
+ alcohol: number;
5436
+ energy_drinks: number;
5437
+ stat_enhancers: number;
5438
+ easter_eggs: number;
5439
+ };
5440
+ };
5316
5441
  }
5317
5442
 
5318
- export interface FactionCrimeUser {
5319
- id: UserId;
5320
- outcome: FactionCrimeUserOutcome | null;
5321
- /** The timestamp at which the user joined the slot. */
5322
- joined_at: number;
5323
- /** Current planning progress on the slot. */
5324
- progress: number;
5443
+ export interface PersonalStatsInvestments {
5444
+ investments: {
5445
+ bank: {
5446
+ total: number;
5447
+ profit: number;
5448
+ current: number;
5449
+ time_remaining: number;
5450
+ };
5451
+ stocks: {
5452
+ profits: number;
5453
+ losses: number;
5454
+ fees: number;
5455
+ net_profits: number;
5456
+ payouts: number;
5457
+ };
5458
+ };
5325
5459
  }
5326
5460
 
5327
- export interface FactionCrimeRewardItem {
5328
- id: ItemId;
5329
- quantity: number;
5461
+ export interface PersonalStatsBounties {
5462
+ bounties: {
5463
+ placed: {
5464
+ amount: number;
5465
+ value: number;
5466
+ };
5467
+ collected: {
5468
+ amount: number;
5469
+ value: number;
5470
+ };
5471
+ received: {
5472
+ amount: number;
5473
+ value: number;
5474
+ };
5475
+ };
5330
5476
  }
5331
5477
 
5332
- export interface FactionCrimeRewardPayout {
5333
- type: FactionOrganizedCrimePayoutType;
5334
- /** Total percentage split between all participants. */
5335
- percentage: number;
5336
- paid_by: UserId;
5337
- paid_at: number;
5478
+ export interface PersonalStatsCrimesV2 {
5479
+ offenses: {
5480
+ vandalism: number;
5481
+ fraud: number;
5482
+ theft: number;
5483
+ counterfeiting: number;
5484
+ illicit_services: number;
5485
+ cybercrime: number;
5486
+ extortion: number;
5487
+ illegal_production: number;
5488
+ organized_crimes: number;
5489
+ total: number;
5490
+ };
5491
+ skills: {
5492
+ search_for_cash: number;
5493
+ bootlegging: number;
5494
+ graffiti: number;
5495
+ shoplifting: number;
5496
+ pickpocketing: number;
5497
+ card_skimming: number;
5498
+ burglary: number;
5499
+ hustling: number;
5500
+ disposal: number;
5501
+ cracking: number;
5502
+ forgery: number;
5503
+ scamming: number;
5504
+ };
5505
+ version: string;
5338
5506
  }
5339
5507
 
5340
- export interface FactionCrimeReward {
5341
- money: number;
5342
- items: FactionCrimeRewardItem[];
5343
- respect: number;
5344
- scope: number;
5345
- payout: FactionCrimeRewardPayout | null;
5508
+ export interface PersonalStatsCrimesV1 {
5509
+ total: number;
5510
+ sell_illegal_goods: number;
5511
+ theft: number;
5512
+ auto_theft: number;
5513
+ drug_deals: number;
5514
+ computer: number;
5515
+ fraud: number;
5516
+ murder: number;
5517
+ other: number;
5518
+ organized_crimes: number;
5519
+ version: string;
5346
5520
  }
5347
5521
 
5348
- export interface FactionCrimeSlot {
5349
- position: string;
5350
- item_requirement: {
5351
- id: ItemId;
5352
- /** Shows if the item is reusable or consumed during the crime. */
5353
- is_reusable: boolean;
5354
- /** Shows if user has the required item. */
5355
- is_available: boolean;
5356
- } | null;
5357
- user: FactionCrimeUser | null;
5358
- /** Returns CPR for the player who joined the slot. If the slot is empty (availalbe), it shows your CPR for that slot. This value is 0 for expired crimes. */
5359
- checkpoint_pass_rate: number;
5522
+ export interface PersonalStatsCrimesPopular {
5523
+ crimes: {
5524
+ total: number;
5525
+ version: string;
5526
+ };
5360
5527
  }
5361
5528
 
5362
- export interface FactionCrime {
5363
- id: FactionCrimeId;
5364
- previous_crime_id: FactionCrimeId | null;
5365
- name: string;
5366
- difficulty: number;
5367
- status: FactionCrimeStatusEnum;
5368
- /** The timestamp at which the crime was created. */
5369
- created_at: number;
5370
- planning_at: number | null;
5371
- ready_at: number | null;
5372
- /** The timestamp at which the crime will expire. */
5373
- expired_at: number;
5374
- executed_at: number | null;
5375
- slots: FactionCrimeSlot[];
5376
- rewards: FactionCrimeReward | null;
5529
+ export interface PersonalStatsCommunication {
5530
+ communication: {
5531
+ mails_sent: {
5532
+ total: number;
5533
+ friends: number;
5534
+ faction: number;
5535
+ colleagues: number;
5536
+ spouse: number;
5537
+ };
5538
+ classified_ads: number;
5539
+ personals: number;
5540
+ };
5377
5541
  }
5378
5542
 
5379
- export interface FactionCrimesResponse {
5380
- crimes: FactionCrime[];
5381
- _metadata: RequestMetadataWithLinks;
5543
+ export interface PersonalStatsFinishingHits {
5544
+ finishing_hits: {
5545
+ heavy_artillery: number;
5546
+ machine_guns: number;
5547
+ rifles: number;
5548
+ sub_machine_guns: number;
5549
+ shotguns: number;
5550
+ pistols: number;
5551
+ temporary: number;
5552
+ piercing: number;
5553
+ slashing: number;
5554
+ clubbing: number;
5555
+ mechanical: number;
5556
+ hand_to_hand: number;
5557
+ };
5382
5558
  }
5383
5559
 
5384
- export interface FactionCrimeResponse {
5385
- crime: FactionCrime;
5560
+ export interface PersonalStatsHospital {
5561
+ hospital: {
5562
+ times_hospitalized: number;
5563
+ medical_items_used: number;
5564
+ blood_withdrawn: number;
5565
+ reviving: {
5566
+ skill: number;
5567
+ revives: number;
5568
+ revives_received: number;
5569
+ };
5570
+ };
5386
5571
  }
5387
5572
 
5388
- export interface FactionBalance {
5389
- faction: {
5390
- money: number;
5391
- points: number;
5392
- scope: number;
5573
+ export interface PersonalStatsHospitalPopular {
5574
+ hospital: {
5575
+ medical_items_used: number;
5576
+ reviving: {
5577
+ skill: number;
5578
+ revives: number;
5579
+ };
5393
5580
  };
5394
- members: {
5395
- id: UserId;
5396
- username: string;
5397
- money: number;
5398
- points: number;
5399
- }[];
5400
5581
  }
5401
5582
 
5402
- export interface FactionBalanceResponse {
5403
- balance: FactionBalance;
5404
- }
5405
-
5406
- /**
5407
- * The following selections will fallback to API v1 and may change at any time: 'armor', 'boosters', 'caches', 'cesium', 'crimeexp', 'drugs', 'medical', 'positions', 'reports', 'temporary', 'weapons'.
5408
- * * The following selections are not available in API v2: 'armorynews', 'attacknews', 'crimenews', 'currency', 'donations', 'fundsnews', 'mainnews', 'membershipnews', 'territorynews'.
5409
- */
5410
- export type FactionSelectionName =
5411
- | "applications"
5412
- | "attacks"
5413
- | "attacksfull"
5414
- | "balance"
5415
- | "basic"
5416
- | "chain"
5417
- | "chainreport"
5418
- | "chains"
5419
- | "contributors"
5420
- | "crime"
5421
- | "crimes"
5422
- | "hof"
5423
- | "lookup"
5424
- | "members"
5425
- | "news"
5426
- | "rackets"
5427
- | "rankedwars"
5428
- | "rankedwarreport"
5429
- | "revives"
5430
- | "revivesfull"
5431
- | "stats"
5432
- | "territory"
5433
- | "territoryownership"
5434
- | "territorywarreport"
5435
- | "territorywars"
5436
- | "timestamp"
5437
- | "upgrades"
5438
- | "wars"
5439
- | "armor"
5440
- | "boosters"
5441
- | "caches"
5442
- | "cesium"
5443
- | "crimeexp"
5444
- | "drugs"
5445
- | "medical"
5446
- | "positions"
5447
- | "reports"
5448
- | "temporary"
5449
- | "weapons"
5450
- | "armorynews"
5451
- | "attacknews"
5452
- | "crimenews"
5453
- | "currency"
5454
- | "donations"
5455
- | "fundsnews"
5456
- | "mainnews"
5457
- | "membershipnews"
5458
- | "territorynews";
5459
-
5460
- export interface FactionLookupResponse {
5461
- selections: FactionSelectionName[];
5462
- }
5463
-
5464
- export interface FactionRankedWarDetails {
5465
- id: RankedWarId;
5466
- /** Timestamp the war started at. */
5467
- start: number;
5468
- /** Timestamp the war ended at. */
5469
- end: number;
5470
- target: number;
5471
- winner: FactionId | null;
5472
- factions: {
5473
- id: FactionId;
5474
- name: string;
5475
- score: number;
5476
- chain: number;
5477
- }[];
5478
- }
5479
-
5480
- export interface FactionRankedWarResponse {
5481
- rankedwars: FactionRankedWarDetails[];
5482
- _metadata: RequestMetadataWithLinks;
5583
+ export interface PersonalStatsJail {
5584
+ jail: {
5585
+ times_jailed: number;
5586
+ busts: {
5587
+ success: number;
5588
+ fails: number;
5589
+ };
5590
+ bails: {
5591
+ amount: number;
5592
+ fees: number;
5593
+ };
5594
+ };
5483
5595
  }
5484
5596
 
5485
- export interface FactionRankedWarReportResponse {
5486
- rankedwarreport: {
5487
- id: RankedWarId;
5488
- /** Timestamp the war started at. */
5489
- start: number;
5490
- /** Timestamp the war ended at. */
5491
- end: number;
5492
- winner: FactionId;
5493
- forfeit: boolean;
5494
- factions: {
5495
- id: FactionId;
5496
- name: string;
5497
- score: number;
5498
- attacks: number;
5499
- rank: {
5500
- before: string;
5501
- after: string;
5597
+ export interface PersonalStatsTrading {
5598
+ trading: {
5599
+ items: {
5600
+ bought: {
5601
+ market: number;
5602
+ shops: number;
5502
5603
  };
5503
- rewards: {
5504
- respect: number;
5505
- points: number;
5506
- items: {
5507
- id: ItemId;
5508
- name: string;
5509
- quantity: number;
5510
- }[];
5604
+ auctions: {
5605
+ won: number;
5606
+ sold: number;
5511
5607
  };
5512
- members: {
5513
- id: UserId;
5514
- name: string;
5515
- level: number;
5516
- attacks: number;
5517
- score: number;
5518
- }[];
5519
- }[];
5608
+ sent: number;
5609
+ };
5610
+ trades: number;
5611
+ points: {
5612
+ bought: number;
5613
+ sold: number;
5614
+ };
5615
+ bazaar: {
5616
+ customers: number;
5617
+ sales: number;
5618
+ profit: number;
5619
+ };
5620
+ item_market?: {
5621
+ customers: number;
5622
+ sales: number;
5623
+ revenue: number;
5624
+ fees: number;
5625
+ };
5520
5626
  };
5521
5627
  }
5522
5628
 
5523
- export interface ForumCategoriesResponse {
5524
- categories: {
5525
- id: ForumId;
5526
- title: string;
5527
- acronym: string;
5528
- threads: number;
5529
- }[];
5629
+ export interface PersonalStatsJobsPublic {
5630
+ jobs: {
5631
+ job_points_used: number;
5632
+ trains_received: number;
5633
+ };
5530
5634
  }
5531
5635
 
5532
- export interface ForumThreadAuthor {
5533
- id: UserId;
5534
- username: string;
5535
- karma: number;
5636
+ export interface PersonalStatsJobsExtended {
5637
+ jobs: {
5638
+ job_points_used: number;
5639
+ trains_received: number;
5640
+ stats: {
5641
+ manual: number;
5642
+ intelligence: number;
5643
+ endurance: number;
5644
+ total: number;
5645
+ };
5646
+ };
5536
5647
  }
5537
5648
 
5538
- export interface ForumPollVote {
5539
- answer: string;
5540
- votes: number;
5649
+ export interface PersonalStatsBattleStats {
5650
+ battle_stats: {
5651
+ strength: number;
5652
+ defense: number;
5653
+ speed: number;
5654
+ dexterity: number;
5655
+ total: number;
5656
+ };
5541
5657
  }
5542
5658
 
5543
- export interface ForumPoll {
5544
- question: string;
5545
- answers_count: number;
5546
- answers: ForumPollVote[];
5659
+ export interface PersonalStatsAttackingPublic {
5660
+ attacking: {
5661
+ attacks: {
5662
+ won: number;
5663
+ lost: number;
5664
+ stalemate: number;
5665
+ assist: number;
5666
+ stealth: number;
5667
+ };
5668
+ defends: {
5669
+ won: number;
5670
+ lost: number;
5671
+ stalemate: number;
5672
+ total: number;
5673
+ };
5674
+ elo: number;
5675
+ unarmored_wins: number;
5676
+ highest_level_beaten: number;
5677
+ escapes?: {
5678
+ player: number;
5679
+ foes: number;
5680
+ };
5681
+ killstreak: {
5682
+ best: number;
5683
+ };
5684
+ hits: {
5685
+ success: number;
5686
+ miss: number;
5687
+ critical: number;
5688
+ one_hit_kills: number;
5689
+ };
5690
+ damage: {
5691
+ total: number;
5692
+ best: number;
5693
+ };
5694
+ networth: {
5695
+ money_mugged: number;
5696
+ largest_mug: number;
5697
+ items_looted: number;
5698
+ };
5699
+ ammunition: {
5700
+ total: number;
5701
+ special: number;
5702
+ hollow_point: number;
5703
+ tracer: number;
5704
+ piercing: number;
5705
+ incendiary: number;
5706
+ };
5707
+ faction: {
5708
+ respect: number;
5709
+ retaliations: number;
5710
+ ranked_war_hits: number;
5711
+ raid_hits: number;
5712
+ territory: {
5713
+ wall_joins: number;
5714
+ wall_clears: number;
5715
+ wall_time: number;
5716
+ };
5717
+ };
5718
+ };
5547
5719
  }
5548
5720
 
5549
- export interface ForumThreadBase {
5550
- id: ForumThreadId;
5551
- title: string;
5552
- forum_id: ForumId;
5553
- posts: number;
5554
- rating: number;
5555
- /** Total number of times players have opened this thread. */
5556
- views: number;
5557
- author: ForumThreadAuthor;
5558
- last_poster: ForumThreadAuthor | null;
5559
- first_post_time: number;
5560
- last_post_time: number | null;
5561
- has_poll: boolean;
5562
- is_locked: boolean;
5563
- is_sticky: boolean;
5721
+ export interface PersonalStatsAttackingExtended {
5722
+ attacking: {
5723
+ attacks: {
5724
+ won: number;
5725
+ lost: number;
5726
+ stalemate: number;
5727
+ assist: number;
5728
+ stealth: number;
5729
+ };
5730
+ defends: {
5731
+ won: number;
5732
+ lost: number;
5733
+ stalemate: number;
5734
+ total: number;
5735
+ };
5736
+ elo: number;
5737
+ unarmored_wins: number;
5738
+ highest_level_beaten: number;
5739
+ escapes: {
5740
+ player: number;
5741
+ foes: number;
5742
+ };
5743
+ killstreak: {
5744
+ best: number;
5745
+ current: number;
5746
+ };
5747
+ hits: {
5748
+ success: number;
5749
+ miss: number;
5750
+ critical: number;
5751
+ one_hit_kills: number;
5752
+ };
5753
+ damage: {
5754
+ total: number;
5755
+ best: number;
5756
+ };
5757
+ networth: {
5758
+ money_mugged: number;
5759
+ largest_mug: number;
5760
+ items_looted: number;
5761
+ };
5762
+ ammunition: {
5763
+ total: number;
5764
+ special: number;
5765
+ hollow_point: number;
5766
+ tracer: number;
5767
+ piercing: number;
5768
+ incendiary: number;
5769
+ };
5770
+ faction: {
5771
+ respect: number;
5772
+ retaliations: number;
5773
+ ranked_war_hits: number;
5774
+ raid_hits: number;
5775
+ territory: {
5776
+ wall_joins: number;
5777
+ wall_clears: number;
5778
+ wall_time: number;
5779
+ };
5780
+ };
5781
+ };
5564
5782
  }
5565
5783
 
5566
- export interface ForumThreadExtended extends ForumThreadBase {
5567
- content: string;
5568
- content_raw: string;
5569
- poll: ForumPoll | null;
5784
+ export interface PersonalStatsAttackingPopular {
5785
+ attacking: {
5786
+ attacks: {
5787
+ won: number;
5788
+ lost: number;
5789
+ stalemate: number;
5790
+ assist: number;
5791
+ };
5792
+ defends: {
5793
+ won: number;
5794
+ lost: number;
5795
+ stalemate: number;
5796
+ };
5797
+ elo: number;
5798
+ escapes: {
5799
+ player: number;
5800
+ foes: number;
5801
+ };
5802
+ killstreak: {
5803
+ best: number;
5804
+ };
5805
+ hits: {
5806
+ success: number;
5807
+ miss: number;
5808
+ critical: number;
5809
+ one_hit_kills: number;
5810
+ };
5811
+ damage: {
5812
+ total: number;
5813
+ best: number;
5814
+ };
5815
+ networth: {
5816
+ money_mugged: number;
5817
+ largest_mug: number;
5818
+ items_looted: number;
5819
+ };
5820
+ ammunition: {
5821
+ total: number;
5822
+ special: number;
5823
+ hollow_point: number;
5824
+ tracer: number;
5825
+ piercing: number;
5826
+ incendiary: number;
5827
+ };
5828
+ faction: {
5829
+ respect: number;
5830
+ ranked_war_hits: number;
5831
+ };
5832
+ };
5570
5833
  }
5571
5834
 
5572
- export interface ForumPost {
5573
- id: ForumPostId;
5574
- thread_id: ForumThreadId;
5575
- author: ForumThreadAuthor;
5576
- /** Indicates whether post was made using the old formatting engine which doesn't use HTML. */
5577
- is_legacy: boolean;
5578
- is_topic: boolean;
5579
- is_edited: boolean;
5580
- is_pinned: boolean;
5581
- created_time: number;
5582
- edited_by: UserId | null;
5583
- has_quote: boolean;
5584
- quoted_post_id: number | null;
5585
- /** depending on the input 'cat' parameter, this will either return raw value (with HTML) or plain text. Legacy posts are returned as is, they can't be stripped of tags. */
5586
- content: string;
5587
- likes: number;
5588
- dislikes: number;
5835
+ export interface PersonalStatsHistoricStat {
5836
+ /** Requested stat name */
5837
+ name: string;
5838
+ value: number;
5839
+ /** Timestamp when the stat was last updated */
5840
+ timestamp: number;
5589
5841
  }
5590
5842
 
5591
- export interface ForumThreadUserExtended extends ForumThreadBase {
5592
- new_posts: number | null;
5843
+ export interface UserPersonalStatsHistoric {
5844
+ personalstats: PersonalStatsHistoricStat[];
5593
5845
  }
5594
5846
 
5595
- export interface ForumSubscribedThreadPostsCount {
5596
- new: number;
5597
- total: number;
5847
+ /** Response for PersonalStatsCrimes depends on which crime version user is currently. */
5848
+ export interface PersonalStatsCrimes {
5849
+ crimes: PersonalStatsCrimesV1 | PersonalStatsCrimesV2;
5598
5850
  }
5599
5851
 
5600
- export interface ForumSubscribedThread {
5601
- id: ForumThreadId;
5602
- forum_id: ForumId;
5603
- author: ForumThreadAuthor;
5604
- title: string;
5605
- posts: ForumSubscribedThreadPostsCount;
5852
+ export interface UserPersonalStatsPopular {
5853
+ personalstats: PersonalStatsAttackingPopular &
5854
+ PersonalStatsJobsPublic &
5855
+ PersonalStatsHospitalPopular &
5856
+ PersonalStatsCrimesPopular &
5857
+ PersonalStatsItemsPopular &
5858
+ PersonalStatsTravelPopular &
5859
+ PersonalStatsDrugs &
5860
+ PersonalStatsNetworthPublic &
5861
+ PersonalStatsOtherPopular;
5606
5862
  }
5607
5863
 
5608
- export interface ForumFeed {
5609
- thread_id: ForumThreadId;
5610
- post_id: ForumPostId;
5611
- user: ForumThreadAuthor;
5612
- title: string;
5613
- text: string;
5614
- timestamp: number;
5615
- is_seen: boolean;
5616
- type: ForumFeedTypeEnum;
5864
+ /** Schema name corresponds to the requested category */
5865
+ export interface UserPersonalStatsCategory {
5866
+ personalstats:
5867
+ | PersonalStatsAttackingPublic
5868
+ | PersonalStatsJobsPublic
5869
+ | PersonalStatsTrading
5870
+ | PersonalStatsJail
5871
+ | PersonalStatsHospital
5872
+ | PersonalStatsFinishingHits
5873
+ | PersonalStatsCommunication
5874
+ | PersonalStatsCrimes
5875
+ | PersonalStatsBounties
5876
+ | PersonalStatsItems
5877
+ | PersonalStatsTravel
5878
+ | PersonalStatsDrugs
5879
+ | PersonalStatsMissions
5880
+ | PersonalStatsRacing
5881
+ | PersonalStatsNetworthPublic
5882
+ | PersonalStatsOther;
5617
5883
  }
5618
5884
 
5619
- export interface ForumThreadsResponse {
5620
- threads: ForumThreadBase[];
5621
- _metadata: RequestMetadataWithLinks;
5885
+ export interface UserPersonalStatsFull {
5886
+ personalstats: PersonalStatsAttackingExtended &
5887
+ PersonalStatsBattleStats &
5888
+ PersonalStatsJobsExtended &
5889
+ PersonalStatsTrading &
5890
+ PersonalStatsJail &
5891
+ PersonalStatsHospital &
5892
+ PersonalStatsFinishingHits &
5893
+ PersonalStatsCommunication &
5894
+ PersonalStatsCrimes &
5895
+ PersonalStatsBounties &
5896
+ PersonalStatsInvestments &
5897
+ PersonalStatsItems &
5898
+ PersonalStatsTravel &
5899
+ PersonalStatsDrugs &
5900
+ PersonalStatsMissions &
5901
+ PersonalStatsRacing &
5902
+ PersonalStatsNetworthExtended &
5903
+ PersonalStatsOther;
5622
5904
  }
5623
5905
 
5624
- export interface ForumThreadResponse {
5625
- thread: ForumThreadExtended;
5906
+ export interface UserPersonalStatsFullPublic {
5907
+ personalstats: PersonalStatsAttackingPublic &
5908
+ PersonalStatsJobsPublic &
5909
+ PersonalStatsTrading &
5910
+ PersonalStatsJail &
5911
+ PersonalStatsHospital &
5912
+ PersonalStatsFinishingHits &
5913
+ PersonalStatsCommunication &
5914
+ PersonalStatsCrimes &
5915
+ PersonalStatsBounties &
5916
+ PersonalStatsItems &
5917
+ PersonalStatsTravel &
5918
+ PersonalStatsDrugs &
5919
+ PersonalStatsMissions &
5920
+ PersonalStatsRacing &
5921
+ PersonalStatsNetworthPublic &
5922
+ PersonalStatsOther;
5626
5923
  }
5627
5924
 
5628
- export interface ForumPostsResponse {
5629
- posts: ForumPost[];
5630
- _metadata: RequestMetadataWithLinks;
5631
- }
5925
+ export type UserPersonalStatsResponse =
5926
+ | UserPersonalStatsFull
5927
+ | UserPersonalStatsFullPublic
5928
+ | UserPersonalStatsCategory
5929
+ | UserPersonalStatsPopular
5930
+ | UserPersonalStatsHistoric;
5632
5931
 
5633
- export type ForumSelectionName =
5634
- | "categories"
5635
- | "lookup"
5636
- | "posts"
5637
- | "thread"
5638
- | "threads"
5639
- | "timestamp";
5932
+ export type PersonalStatsCategoryEnum =
5933
+ | "all"
5934
+ | "popular"
5935
+ | "attacking"
5936
+ | "battle_stats"
5937
+ | "jobs"
5938
+ | "trading"
5939
+ | "jail"
5940
+ | "hospital"
5941
+ | "finishing_hits"
5942
+ | "communication"
5943
+ | "crimes"
5944
+ | "bounties"
5945
+ | "investments"
5946
+ | "items"
5947
+ | "travel"
5948
+ | "drugs"
5949
+ | "missions"
5950
+ | "racing"
5951
+ | "networth"
5952
+ | "other"
5953
+ | "itemmarketcustomers"
5954
+ | "itemmarketsales"
5955
+ | "itemmarketrevenue"
5956
+ | "itemmarketfees";
5640
5957
 
5641
- export interface ForumLookupResponse {
5642
- selections: ForumSelectionName[];
5958
+ export type PersonalStatsStatName =
5959
+ | "attackswon"
5960
+ | "attackslost"
5961
+ | "attacksdraw"
5962
+ | "attacksassisted"
5963
+ | "defendswon"
5964
+ | "defendslost"
5965
+ | "defendsstalemated"
5966
+ | "elo"
5967
+ | "yourunaway"
5968
+ | "theyrunaway"
5969
+ | "unarmoredwon"
5970
+ | "bestkillstreak"
5971
+ | "attackhits"
5972
+ | "attackmisses"
5973
+ | "attackdamage"
5974
+ | "bestdamage"
5975
+ | "onehitkills"
5976
+ | "attackcriticalhits"
5977
+ | "roundsfired"
5978
+ | "specialammoused"
5979
+ | "hollowammoused"
5980
+ | "tracerammoused"
5981
+ | "piercingammoused"
5982
+ | "incendiaryammoused"
5983
+ | "attacksstealthed"
5984
+ | "retals"
5985
+ | "moneymugged"
5986
+ | "largestmug"
5987
+ | "itemslooted"
5988
+ | "highestbeaten"
5989
+ | "respectforfaction"
5990
+ | "rankedwarhits"
5991
+ | "raidhits"
5992
+ | "territoryjoins"
5993
+ | "territoryclears"
5994
+ | "territorytime"
5995
+ | "jobpointsused"
5996
+ | "trainsreceived"
5997
+ | "marketitemsbought"
5998
+ | "auctionswon"
5999
+ | "auctionsells"
6000
+ | "itemssent"
6001
+ | "trades"
6002
+ | "cityitemsbought"
6003
+ | "pointsbought"
6004
+ | "pointssold"
6005
+ | "bazaarcustomers"
6006
+ | "bazaarsales"
6007
+ | "bazaarprofit"
6008
+ | "jailed"
6009
+ | "peoplebusted"
6010
+ | "failedbusts"
6011
+ | "peoplebought"
6012
+ | "peopleboughtspent"
6013
+ | "hospital"
6014
+ | "medicalitemsused"
6015
+ | "bloodwithdrawn"
6016
+ | "reviveskill"
6017
+ | "revives"
6018
+ | "revivesreceived"
6019
+ | "heavyhits"
6020
+ | "machinehits"
6021
+ | "riflehits"
6022
+ | "smghits"
6023
+ | "shotgunhits"
6024
+ | "pistolhits"
6025
+ | "temphits"
6026
+ | "piercinghits"
6027
+ | "slashinghits"
6028
+ | "clubbinghits"
6029
+ | "mechanicalhits"
6030
+ | "h2hhits"
6031
+ | "mailssent"
6032
+ | "friendmailssent"
6033
+ | "factionmailssent"
6034
+ | "companymailssent"
6035
+ | "spousemailssent"
6036
+ | "classifiedadsplaced"
6037
+ | "personalsplaced"
6038
+ | "criminaloffensesold"
6039
+ | "sellillegalgoods"
6040
+ | "theftold"
6041
+ | "autotheftcrime"
6042
+ | "drugdealscrime"
6043
+ | "computercrime"
6044
+ | "fraudold"
6045
+ | "murdercrime"
6046
+ | "othercrime"
6047
+ | "organizedcrimes"
6048
+ | "bountiesplaced"
6049
+ | "totalbountyspent"
6050
+ | "bountiescollected"
6051
+ | "totalbountyreward"
6052
+ | "bountiesreceived"
6053
+ | "receivedbountyvalue"
6054
+ | "cityfinds"
6055
+ | "dumpfinds"
6056
+ | "itemsdumped"
6057
+ | "booksread"
6058
+ | "boostersused"
6059
+ | "consumablesused"
6060
+ | "candyused"
6061
+ | "alcoholused"
6062
+ | "energydrinkused"
6063
+ | "statenhancersused"
6064
+ | "eastereggsfound"
6065
+ | "eastereggsused"
6066
+ | "virusescoded"
6067
+ | "traveltimes"
6068
+ | "timespenttraveling"
6069
+ | "itemsboughtabroad"
6070
+ | "attackswonabroad"
6071
+ | "defendslostabroad"
6072
+ | "argtravel"
6073
+ | "mextravel"
6074
+ | "uaetravel"
6075
+ | "hawtravel"
6076
+ | "japtravel"
6077
+ | "uktravel"
6078
+ | "satravel"
6079
+ | "switravel"
6080
+ | "chitravel"
6081
+ | "cantravel"
6082
+ | "caytravel"
6083
+ | "drugsused"
6084
+ | "overdosed"
6085
+ | "rehabs"
6086
+ | "rehabcost"
6087
+ | "cantaken"
6088
+ | "exttaken"
6089
+ | "kettaken"
6090
+ | "lsdtaken"
6091
+ | "opitaken"
6092
+ | "pcptaken"
6093
+ | "shrtaken"
6094
+ | "spetaken"
6095
+ | "victaken"
6096
+ | "xantaken"
6097
+ | "missionscompleted"
6098
+ | "contractscompleted"
6099
+ | "dukecontractscompleted"
6100
+ | "missioncreditsearned"
6101
+ | "racingskill"
6102
+ | "racingpointsearned"
6103
+ | "racesentered"
6104
+ | "raceswon"
6105
+ | "networth"
6106
+ | "timeplayed"
6107
+ | "activestreak"
6108
+ | "bestactivestreak"
6109
+ | "awards"
6110
+ | "refills"
6111
+ | "nerverefills"
6112
+ | "tokenrefills"
6113
+ | "meritsbought"
6114
+ | "daysbeendonator"
6115
+ | "criminaloffenses"
6116
+ | "vandalism"
6117
+ | "theft"
6118
+ | "counterfeiting"
6119
+ | "fraud"
6120
+ | "illicitservices"
6121
+ | "cybercrime"
6122
+ | "extortion"
6123
+ | "illegalproduction"
6124
+ | "currentkillstreak"
6125
+ | "strength"
6126
+ | "defense"
6127
+ | "speed"
6128
+ | "dexterity"
6129
+ | "totalstats"
6130
+ | "manuallabor"
6131
+ | "intelligence"
6132
+ | "endurance"
6133
+ | "totalworkingstats"
6134
+ | "moneyinvested"
6135
+ | "investedprofit"
6136
+ | "investamount"
6137
+ | "banktimeleft"
6138
+ | "stockprofits"
6139
+ | "stocklosses"
6140
+ | "stockfees"
6141
+ | "stocknetprofits"
6142
+ | "stockpayouts"
6143
+ | "networthwallet"
6144
+ | "networthvault"
6145
+ | "networthbank"
6146
+ | "networthcayman"
6147
+ | "networthpoints"
6148
+ | "networthitems"
6149
+ | "networthdisplaycase"
6150
+ | "networthbazaar"
6151
+ | "networthitemmarket"
6152
+ | "networthproperties"
6153
+ | "networthstockmarket"
6154
+ | "networthauctionhouse"
6155
+ | "networthbookie"
6156
+ | "networthcompany"
6157
+ | "networthenlistedcars"
6158
+ | "networthpiggybank"
6159
+ | "networthpending"
6160
+ | "networthloan"
6161
+ | "networthunpaidfees"
6162
+ | "huntingskill"
6163
+ | "searchforcashskill"
6164
+ | "bootleggingskill"
6165
+ | "graffitiskill"
6166
+ | "shopliftingskill"
6167
+ | "pickpocketingskill"
6168
+ | "cardskimmingskill"
6169
+ | "burglaryskill"
6170
+ | "hustlingskill"
6171
+ | "disposalskill"
6172
+ | "crackingskill"
6173
+ | "forgeryskill"
6174
+ | "scammingskill";
6175
+
6176
+ export interface FactionTerritoryWarFinishedFaction {
6177
+ id: FactionId;
6178
+ name: string;
6179
+ score: number;
6180
+ is_aggressor: boolean;
5643
6181
  }
5644
6182
 
5645
- export interface KeyLogResponse {
5646
- log: {
5647
- timestamp: number;
5648
- type: string;
5649
- selections: string;
5650
- id: number | null;
5651
- comment?: string | null;
5652
- ip: string;
5653
- }[];
6183
+ export interface FactionTerritoryWarFinished {
6184
+ id: TerritoryWarId;
6185
+ territory: FactionTerritoryEnum;
6186
+ start: number;
6187
+ end: number;
6188
+ target: number;
6189
+ result: FactionTerritoryWarResultEnum;
6190
+ factions: FactionTerritoryWarFinishedFaction[];
5654
6191
  }
5655
6192
 
5656
- export interface KeyInfoResponse {
5657
- info: {
5658
- selections: {
5659
- company: string[];
5660
- faction: FactionSelectionName[];
5661
- market: MarketSelectionName[];
5662
- property: string[];
5663
- torn: TornSelectionName[];
5664
- user: UserSelectionName[];
5665
- racing: RacingSelectionName[];
5666
- forum: ForumSelectionName[];
5667
- key: KeySelectionName[];
5668
- };
5669
- access: {
5670
- level: number;
5671
- type: ApiKeyAccessTypeEnum;
5672
- faction: boolean;
5673
- faction_id?: FactionId | null;
5674
- company: boolean;
5675
- company_id?: CompanyId | null;
5676
- };
5677
- };
6193
+ export interface FactionTerritoryWarOngoingFaction {
6194
+ id: FactionId;
6195
+ name: string;
6196
+ score: number;
6197
+ is_aggressor: boolean;
6198
+ chain: number;
6199
+ playerIds: UserId[];
5678
6200
  }
5679
6201
 
5680
- export type KeySelectionName = "info" | "log";
6202
+ export interface FactionTerritoryWarOngoing {
6203
+ id: TerritoryWarId;
6204
+ territory: FactionTerritoryEnum;
6205
+ start: number;
6206
+ end: number;
6207
+ target: number;
6208
+ factions: FactionTerritoryWarOngoingFaction[];
6209
+ }
5681
6210
 
5682
- export interface ItemMarketListingItemBonus {
5683
- id: number;
5684
- title: string;
5685
- description: string;
5686
- value: number;
6211
+ export interface FactionTerritoryWarsResponse {
6212
+ territorywars: FactionTerritoryWarOngoing[] | FactionTerritoryWarFinished[];
5687
6213
  }
5688
6214
 
5689
- export interface ItemMarketListingItemStats {
5690
- damage: number | null;
5691
- accuracy: number | null;
5692
- armor: number | null;
5693
- quality: number;
6215
+ export interface FactionTerritoryWarsHistoryResponse {
6216
+ territorywars: FactionTerritoryWarFinished[];
5694
6217
  }
5695
6218
 
5696
- export interface ItemMarketItem {
5697
- id: ItemId;
5698
- name: string;
5699
- type: string;
5700
- average_price: number;
6219
+ export interface FactionTerritoryWarReportMembers {
6220
+ id: UserId;
6221
+ username: string;
6222
+ level: number;
6223
+ score: number;
6224
+ joins: number;
6225
+ clears: number;
5701
6226
  }
5702
6227
 
5703
- export interface ItemMarketListingStackable {
5704
- price: number;
5705
- amount: number;
6228
+ export interface FactionTerritoryWarReportFaction {
6229
+ id: FactionId;
6230
+ name: string;
6231
+ score: number;
6232
+ joins: number;
6233
+ clears: number;
6234
+ is_aggressor: boolean;
6235
+ members: FactionTerritoryWarReportMembers[];
5706
6236
  }
5707
6237
 
5708
- export interface ItemMarketListingItemDetails {
5709
- uid: ItemUid;
5710
- stats: ItemMarketListingItemStats;
5711
- bonuses: ItemMarketListingItemBonus[];
5712
- rarity: ("yellow" | "orange" | "red") | null;
6238
+ export interface FactionTerritoryWarReport {
6239
+ id: TerritoryWarId;
6240
+ territory: FactionTerritoryEnum;
6241
+ started_at: number;
6242
+ ended_at: number;
6243
+ winner: FactionId;
6244
+ result: string;
6245
+ factions: FactionTerritoryWarReportFaction[];
5713
6246
  }
5714
6247
 
5715
- export interface ItemMarketListingNonstackable {
5716
- price: number;
5717
- amount: number;
5718
- item_details: ItemMarketListingItemDetails;
6248
+ export interface FactionTerritoryWarReportResponse {
6249
+ territorywarreport: FactionTerritoryWarReport[];
5719
6250
  }
5720
6251
 
5721
- export interface ItemMarket {
5722
- item: ItemMarketItem;
5723
- listings: (ItemMarketListingNonstackable | ItemMarketListingStackable)[];
6252
+ export interface FactionTerritoryOwnership {
6253
+ id: string;
6254
+ owned_by: FactionId | null;
6255
+ acquired_at: number | null;
5724
6256
  }
5725
6257
 
5726
- export interface MarketItemMarketResponse {
5727
- itemmarket: ItemMarket;
5728
- _metadata: RequestMetadataWithLinks;
6258
+ export interface FactionTerritoriesOwnershipResponse {
6259
+ territoryownership: FactionTerritoryOwnership[];
5729
6260
  }
5730
6261
 
5731
- /** The following selections will fallback to API v1 and may change at any time: 'pointsmarket'. */
5732
- export type MarketSelectionName =
5733
- | "itemmarket"
5734
- | "lookup"
5735
- | "timestamp"
5736
- | "pointsmarket"
5737
- | "bazaar";
6262
+ export interface TornRacketReward {
6263
+ type: TornRacketType;
6264
+ quantity: number;
6265
+ id: ItemId | null;
6266
+ }
5738
6267
 
5739
- export interface MarketLookupResponse {
5740
- selections: MarketSelectionName[];
6268
+ export interface TornRacket {
6269
+ name: string;
6270
+ level: number;
6271
+ description: string;
6272
+ reward: TornRacketReward;
6273
+ created_at: number;
6274
+ changed_at: number;
5741
6275
  }
5742
6276
 
5743
- export interface RacingCarsResponse {
5744
- cars: RaceCar[];
6277
+ export interface FactionRacketsReponse {
6278
+ rackets: TornRacket[];
5745
6279
  }
5746
6280
 
5747
- export interface RaceCar {
5748
- car_item_id: ItemId;
5749
- car_item_name: string;
5750
- top_speed: number;
5751
- acceleration: number;
5752
- braking: number;
5753
- dirt: number;
5754
- handling: number;
5755
- safety: number;
5756
- tarmac: number;
5757
- class: RaceClassEnum;
6281
+ export interface FactionTerritory {
6282
+ id: FactionTerritoryEnum;
6283
+ acquired_at: number;
6284
+ sector: number;
6285
+ size: number;
6286
+ density: number;
6287
+ slots: number;
6288
+ respect: number;
6289
+ coordinates: TornTerritoryCoordinates;
6290
+ racket: TornRacket | null;
5758
6291
  }
5759
6292
 
5760
- export interface RacingTracksResponse {
5761
- tracks: RaceTrack[];
6293
+ export interface FactionTerritoriesReponse {
6294
+ territory: FactionTerritory[];
5762
6295
  }
5763
6296
 
5764
- export interface RaceTrack {
5765
- id: RaceTrackId;
5766
- title: string;
5767
- description: string;
6297
+ export interface FactionPosition {
6298
+ name: string;
6299
+ is_default: boolean;
6300
+ abilities: FactionPositionAbilityEnum[];
5768
6301
  }
5769
6302
 
5770
- export interface RacingCarUpgradesResponse {
5771
- carupgrades: RaceCarUpgrade[];
6303
+ export interface FactionPositionsResponse {
6304
+ positions: FactionPosition[];
5772
6305
  }
5773
6306
 
5774
- export interface RaceCarUpgrade {
5775
- id: RaceCarUpgradeId;
5776
- class_required: RaceClassEnum;
6307
+ export interface FactionUpgradeDetails {
6308
+ id: FactionBranchId;
5777
6309
  name: string;
5778
- description: string;
5779
- category: RaceCarUpgradeCategory;
5780
- subcategory: RaceCarUpgradeSubCategory;
5781
- effects: {
5782
- top_speed: number;
5783
- acceleration: number;
5784
- braking: number;
5785
- handling: number;
5786
- safety: number;
5787
- dirt: number;
5788
- tarmac: number;
5789
- };
5790
- cost: {
5791
- points: number;
5792
- cash: number;
5793
- };
6310
+ ability: string;
6311
+ level: number;
6312
+ cost: number;
6313
+ unlocked_at?: number;
5794
6314
  }
5795
6315
 
5796
- export interface RacingRacesResponse {
5797
- races: Race[];
5798
- _metadata: RequestMetadataWithLinks;
6316
+ export interface FactionBranchDetails {
6317
+ name: string;
6318
+ order: number;
6319
+ /** Respect cost multiplier. */
6320
+ multiplier: number;
6321
+ upgrades: FactionUpgradeDetails[];
5799
6322
  }
5800
6323
 
5801
- export interface Race {
5802
- id: RaceId;
5803
- title: string;
5804
- track_id: RaceTrackId;
5805
- creator_id: UserId;
5806
- status: RaceStatusEnum;
5807
- laps: number;
5808
- participants: {
5809
- minimum: number;
5810
- maximum: number;
5811
- current: number;
5812
- };
5813
- schedule: {
5814
- join_from: number;
5815
- join_until: number;
5816
- start: number;
5817
- end: number | null;
5818
- };
5819
- requirements: {
5820
- car_class: RaceClassEnum | null;
5821
- driver_class: RaceClassEnum | null;
5822
- car_item_id: ItemId | null;
5823
- requires_stock_car: boolean;
5824
- requires_password: boolean;
5825
- join_fee: number;
6324
+ export interface FactionUpgrades {
6325
+ core: {
6326
+ upgrades?: FactionUpgradeDetails[];
5826
6327
  };
6328
+ peace: FactionBranchDetails[];
6329
+ war: FactionBranchDetails[];
5827
6330
  }
5828
6331
 
5829
- export interface RacingTrackRecordsResponse {
5830
- records: RaceRecord[];
6332
+ export interface FactionUpgradesResponse {
6333
+ upgrades: FactionUpgrades;
6334
+ state: FactionBranchStateEnum;
5831
6335
  }
5832
6336
 
5833
- export interface RaceRecord {
5834
- driver_id: UserId;
5835
- driver_name: string;
5836
- car_item_id: ItemId;
5837
- lap_time: number;
5838
- car_item_name: string;
6337
+ export interface FactionStat {
6338
+ name: FactionStatEnum;
6339
+ value: number;
5839
6340
  }
5840
6341
 
5841
- export interface RacerDetails {
5842
- driver_id: UserId;
5843
- position: number | null;
5844
- car_id: RaceCarId;
5845
- car_item_id: ItemId;
5846
- car_item_name: string;
5847
- car_class: RaceClassEnum;
5848
- has_crashed: boolean | null;
5849
- best_lap_time: number | null;
5850
- race_time: number | null;
5851
- time_ended: number | null;
6342
+ export interface FactionStatsResponse {
6343
+ stats: FactionStat[];
5852
6344
  }
5853
6345
 
5854
- export interface RacingRaceDetailsResponse {
5855
- race?: {
5856
- results: RacerDetails[];
5857
- } & Race;
6346
+ export interface FactionContributor {
6347
+ id: UserId;
6348
+ username: string;
6349
+ value: number;
6350
+ in_faction: boolean;
5858
6351
  }
5859
6352
 
5860
- export type RacingSelectionName =
5861
- | "cars"
5862
- | "carupgrades"
5863
- | "lookup"
5864
- | "race"
5865
- | "races"
5866
- | "records"
5867
- | "timestamp"
5868
- | "tracks";
5869
-
5870
- export interface RacingLookupResponse {
5871
- selections: RacingSelectionName[];
6353
+ export interface FactionContributorsResponse {
6354
+ contributors: FactionContributor[];
5872
6355
  }
5873
6356
 
5874
- export interface TornEducationRewards {
5875
- working_stats: {
5876
- manual_labor: number | null;
5877
- intelligence: number | null;
5878
- endurance: number | null;
5879
- };
5880
- effect: string | null;
5881
- honor: string | null;
6357
+ export interface FactionHofStats {
6358
+ rank: HofValueString;
6359
+ respect: HofValue;
6360
+ chain: HofValue;
5882
6361
  }
5883
6362
 
5884
- export interface TornEducationPrerequisites {
5885
- cost: number;
5886
- courses: number[];
6363
+ export interface FactionHofResponse {
6364
+ hof: FactionHofStats;
5887
6365
  }
5888
6366
 
5889
- export interface TornEducationCourses {
5890
- id: EducationId;
5891
- code: string;
6367
+ /** Details about a faction member. */
6368
+ export interface FactionMember {
6369
+ id: UserId;
5892
6370
  name: string;
5893
- description: string;
5894
- duration: number;
5895
- rewards: TornEducationRewards;
5896
- prerequisites: TornEducationPrerequisites;
6371
+ position: string;
6372
+ level: number;
6373
+ days_in_faction: number;
6374
+ is_revivable: boolean;
6375
+ /** Shows if the member is currently defending territory wall. */
6376
+ is_on_wall: boolean;
6377
+ /** Shows if the member is currently participating in an organized crime. Show false for members of other factions. */
6378
+ is_in_oc: boolean;
6379
+ /** Shows if the member is eligible for an early discharge from the hospital. */
6380
+ has_early_discharge: boolean;
6381
+ last_action: UserLastAction;
6382
+ status: UserStatus;
6383
+ revive_setting: ReviveSetting;
5897
6384
  }
5898
6385
 
5899
- export interface TornEducation {
5900
- id: number;
5901
- name: string;
5902
- courses: TornEducationCourses[];
6386
+ /** Details about a user's last action. */
6387
+ export interface UserLastAction {
6388
+ status: string;
6389
+ timestamp: number;
6390
+ relative: string;
5903
6391
  }
5904
6392
 
5905
- export interface TornEducationResponse {
5906
- education: TornEducation[];
6393
+ /** Details about a user's status. */
6394
+ export interface UserStatus {
6395
+ description: string;
6396
+ details: string | null;
6397
+ state: string;
6398
+ until: number | null;
5907
6399
  }
5908
6400
 
5909
- export interface TornTerritoryCoordinates {
5910
- x: number;
5911
- y: number;
6401
+ export interface FactionMembersResponse {
6402
+ members: FactionMember[];
5912
6403
  }
5913
6404
 
5914
- export interface TornTerritory {
5915
- id: FactionTerritoryEnum;
5916
- sector: number;
5917
- size: number;
5918
- density: number;
5919
- slots: number;
5920
- respect: number;
5921
- coordinates: TornTerritoryCoordinates;
5922
- neighbors: FactionTerritoryEnum[];
6405
+ export interface FactionRank {
6406
+ /** /** */
6407
+ level: number;
6408
+ name: string;
6409
+ division: number;
6410
+ position: number;
6411
+ wins: number;
5923
6412
  }
5924
6413
 
5925
- export interface TornTerritoriesResponse {
5926
- territory: TornTerritory[];
5927
- _metadata: RequestMetadataWithLinks;
6414
+ export interface FactionBasic {
6415
+ id: FactionId;
6416
+ name: string;
6417
+ tag: string;
6418
+ tag_image: string;
6419
+ leader_id: UserId;
6420
+ "co-leader_id"?: UserId;
6421
+ co_leader_id: UserId;
6422
+ respect: number;
6423
+ days_old: number;
6424
+ capacity: number;
6425
+ members: number;
6426
+ is_enlisted: boolean | null;
6427
+ rank: FactionRank;
6428
+ best_chain: number;
5928
6429
  }
5929
6430
 
5930
- export interface TornTerritoriesNoLinksReponse {
5931
- territory: TornTerritory[];
6431
+ export interface FactionBasicResponse {
6432
+ basic: FactionBasic;
5932
6433
  }
5933
6434
 
5934
- export interface TornSubcrimesResponse {
5935
- subcrimes: TornSubcrime[];
6435
+ export interface FactionPact {
6436
+ faction_id: FactionId;
6437
+ faction_name: string;
6438
+ /** The duration until when is the non-aggression pact valid. */
6439
+ until: string;
5936
6440
  }
5937
6441
 
5938
- export interface TornSubcrime {
5939
- id: number;
6442
+ export interface FactionRankedWarParticipant {
6443
+ id: FactionId;
5940
6444
  name: string;
5941
- nerve_cost: number;
6445
+ score: number;
6446
+ /** Faction's current chain. */
6447
+ chain: number;
5942
6448
  }
5943
6449
 
5944
- export interface TornCrimesResponse {
5945
- crimes: TornCrime[];
6450
+ export interface FactionRankedWar {
6451
+ war_id: number;
6452
+ start: number;
6453
+ end: number | null;
6454
+ /** The score target of the war. */
6455
+ target: number;
6456
+ winner: number | null;
6457
+ /** The factions involved in the ranked war. */
6458
+ factions: FactionRankedWarParticipant[];
5946
6459
  }
5947
6460
 
5948
- export interface TornCrime {
5949
- id: TornCrimeId;
6461
+ export interface FactionRaidWarParticipant {
6462
+ id: FactionId;
5950
6463
  name: string;
5951
- category_id: number;
5952
- category_name?: string;
5953
- enhancer_id: number;
5954
- enhancer_name: string;
5955
- unique_outcomes_count: number;
5956
- unique_outcomes_ids: number[];
5957
- notes?: string[];
6464
+ score: number;
6465
+ /** Faction's current chain. */
6466
+ chain: number;
6467
+ is_aggressor: boolean;
5958
6468
  }
5959
6469
 
5960
- export interface TornCalendarActivity {
5961
- title: string;
5962
- description: string;
6470
+ export interface FactionRaidWar {
6471
+ war_id: number;
5963
6472
  start: number;
5964
- end: number;
6473
+ end: number | null;
6474
+ /** The factions involved in the raid war. */
6475
+ factions: FactionRaidWarParticipant[];
5965
6476
  }
5966
6477
 
5967
- export interface TornCalendarResponse {
5968
- calendar: {
5969
- competitions: TornCalendarActivity[];
5970
- events: TornCalendarActivity[];
5971
- };
6478
+ export interface FactionTerritoryWarParticipant {
6479
+ id: FactionId;
6480
+ name: string;
6481
+ score: number;
6482
+ /** Faction's current chain. */
6483
+ chain: number;
6484
+ is_aggressor: boolean;
6485
+ playerIds: UserId[];
5972
6486
  }
5973
6487
 
5974
- export interface TornHof {
5975
- id: UserId;
5976
- username: string;
5977
- faction_id: FactionId;
5978
- level: number;
5979
- last_action: number;
5980
- rank_name: string;
5981
- rank_number: number;
5982
- position: number;
5983
- signed_up: number;
5984
- age_in_days: number;
5985
- value: any;
5986
- rank: string;
6488
+ export interface FactionTerritoryWar {
6489
+ war_id: number;
6490
+ territory: string;
6491
+ start: number;
6492
+ end: number | null;
6493
+ /** The score target of the war. */
6494
+ target: number;
6495
+ winner?: FactionId | null;
6496
+ /** The factions involved in the territory war. */
6497
+ factions: FactionTerritoryWarParticipant[];
5987
6498
  }
5988
6499
 
5989
- export interface TornHofResponse {
5990
- hof: TornHof[];
5991
- _metadata: RequestMetadataWithLinks;
6500
+ export interface FactionWars {
6501
+ ranked: FactionRankedWar | null;
6502
+ raids: FactionRaidWar[];
6503
+ territory: FactionTerritoryWar[];
5992
6504
  }
5993
6505
 
5994
- export interface FactionHofValues {
5995
- chain: number | null;
5996
- chain_duration: number | null;
5997
- respect: number | null;
6506
+ export interface FactionWarsResponse {
6507
+ pacts: FactionPact[];
6508
+ wars: FactionWars;
5998
6509
  }
5999
6510
 
6000
- export interface TornFactionHof {
6001
- id: FactionId;
6002
- name: string;
6003
- members: number;
6004
- position: number;
6005
- /** The full rank title & division of the faction. */
6006
- rank: string;
6007
- values: FactionHofValues;
6511
+ export interface FactionNews {
6512
+ id: string;
6513
+ text: string;
6514
+ timestamp: number;
6008
6515
  }
6009
6516
 
6010
- export interface TornFactionHofResponse {
6011
- factionhof: TornFactionHof[];
6517
+ export interface FactionNewsResponse {
6518
+ news: FactionNews[];
6012
6519
  _metadata: RequestMetadataWithLinks;
6013
6520
  }
6014
6521
 
6015
- export interface TornLog {
6016
- id: LogId;
6017
- title: string;
6522
+ export interface FactionAttacksResponse {
6523
+ attacks: Attack[];
6524
+ _metadata: RequestMetadataWithLinks;
6018
6525
  }
6019
6526
 
6020
- export interface TornLogCategory {
6021
- id: LogCategoryId;
6022
- title: string;
6527
+ export interface FactionAttacksFullResponse {
6528
+ attacks: AttackSimplified[];
6529
+ _metadata: RequestMetadataWithLinks;
6023
6530
  }
6024
6531
 
6025
- export interface TornLogTypesResponse {
6026
- logtypes: TornLog[];
6532
+ export interface FactionApplication {
6533
+ /** application id */
6534
+ id: number;
6535
+ user: {
6536
+ id: UserId;
6537
+ name: string;
6538
+ level: number;
6539
+ stats: {
6540
+ strength: number;
6541
+ speed: number;
6542
+ dexterity: number;
6543
+ defense: number;
6544
+ };
6545
+ };
6546
+ message: string;
6547
+ valid_until: number;
6548
+ status: FactionApplicationStatusEnum;
6027
6549
  }
6028
6550
 
6029
- export interface TornLogCategoriesResponse {
6030
- logcategories: TornLogCategory[];
6551
+ export interface FactionApplicationsResponse {
6552
+ applications: FactionApplication[];
6031
6553
  }
6032
6554
 
6033
- export interface Bounty {
6034
- target_id: UserId;
6035
- target_name: string;
6036
- target_level: number;
6037
- lister_id: UserId | null;
6038
- lister_name: string | null;
6039
- reward: number;
6040
- reason: string | null;
6041
- quantity: number;
6042
- is_anonymous: boolean;
6043
- valid_until: number;
6555
+ export interface FactionOngoingChain {
6556
+ id: ChainId;
6557
+ current: number;
6558
+ max: number;
6559
+ /** Seconds until chain breaks. */
6560
+ timeout: number;
6561
+ modifier: number;
6562
+ /** Timestamp until when chain is on cooldown. */
6563
+ cooldown: number;
6564
+ start: number;
6565
+ end: number;
6044
6566
  }
6045
6567
 
6046
- export interface AttackLogSummary {
6047
- id: UserId | null;
6048
- name: /** Name of the participant, could be null in stealthed attacks. */
6049
- string | null;
6050
- hits: number;
6051
- misses: number;
6052
- damage: number;
6568
+ export interface FactionOngoingChainResponse {
6569
+ chain: FactionOngoingChain;
6053
6570
  }
6054
6571
 
6055
- export interface AttackLog {
6056
- text: string;
6057
- timestamp: number;
6058
- action: AttackActionEnum;
6059
- icon: string;
6060
- attacker: /** This value could be null in stealthed attacks. */
6061
- {
6062
- id: UserId;
6063
- name: string;
6064
- item: /** This object could be null if there was no item being used in this turn or during this effect. */
6065
- {
6066
- id?: ItemId;
6067
- name?: string;
6068
- } | null;
6069
- } | null;
6070
- defender: /** This value could be null in stealthed attacks. */
6071
- {
6072
- id: UserId;
6073
- name: string;
6074
- } | null;
6572
+ export interface FactionChain {
6573
+ id: ChainId;
6574
+ chain: number;
6575
+ respect: number;
6576
+ start: number;
6577
+ end: number;
6075
6578
  }
6076
6579
 
6077
- export interface AttackLogResponse {
6078
- attacklog: {
6079
- log: AttackLog[];
6080
- summary: AttackLogSummary[];
6081
- };
6580
+ export interface FactionChainsResponse {
6581
+ chains: FactionChain[];
6082
6582
  _metadata: RequestMetadataWithLinks;
6083
6583
  }
6084
6584
 
6085
- export interface TornBountiesResponse {
6086
- bounties: Bounty[];
6087
- _metadata: RequestMetadataWithLinks;
6585
+ export interface FactionChainReportResponse {
6586
+ chainreport: FactionChainReport;
6088
6587
  }
6089
6588
 
6090
- export interface TornItemAmmo {
6091
- id: AmmoId;
6092
- name: string;
6093
- price: number;
6094
- /** Types of ammo */
6095
- types: TornItemAmmoTypeEnum[];
6589
+ export interface FactionChainReport {
6590
+ id: ChainId;
6591
+ faction_id: FactionId;
6592
+ start: number;
6593
+ end: number;
6594
+ details: FactionChainReportDetails;
6595
+ bonuses: FactionChainReportBonus[];
6596
+ attackers: FactionChainReportAttacker[];
6597
+ /** This is replaced with 'non_attackers' field and will be removed on 1st June 2025. */
6598
+ "non-attackers"?: UserId[];
6599
+ non_attackers: UserId[];
6096
6600
  }
6097
6601
 
6098
- export interface TornItemAmmoResponse {
6099
- itemammo: TornItemAmmo[];
6602
+ export interface FactionChainReportDetails {
6603
+ chain: number;
6604
+ respect: number;
6605
+ members: number;
6606
+ targets: number;
6607
+ war: number;
6608
+ best: number;
6609
+ leave: number;
6610
+ mug: number;
6611
+ hospitalize: number;
6612
+ assists: number;
6613
+ retaliations: number;
6614
+ overseas: number;
6615
+ draws: number;
6616
+ escapes: number;
6617
+ losses: number;
6100
6618
  }
6101
6619
 
6102
- export interface TornItemMods {
6103
- id: ItemModId;
6104
- name: string;
6105
- description: string;
6106
- /** Whether the upgrade fits on dual weapons. */
6107
- dual_fit: boolean;
6108
- /** The weapon types this upgrade can be attached to. */
6109
- weapons: TornItemWeaponTypeEnum[];
6620
+ export interface FactionChainReportBonus {
6621
+ attacker_id: UserId;
6622
+ defender_id: UserId;
6623
+ chain: number;
6624
+ respect: number;
6110
6625
  }
6111
6626
 
6112
- export interface TornItemModsResponse {
6113
- itemmods: TornItemMods[];
6627
+ export interface FactionChainReportAttacker {
6628
+ id: UserId;
6629
+ respect: FactionChainReportAttackerRespect;
6630
+ attacks: FactionChainReportAttackerAttacks;
6114
6631
  }
6115
6632
 
6116
- export interface TornItemBaseStats {
6117
- damage: number;
6118
- accuracy: number;
6119
- armor: number;
6633
+ export interface FactionChainReportAttackerRespect {
6634
+ total: number;
6635
+ average: number;
6636
+ best: number;
6120
6637
  }
6121
6638
 
6122
- export interface TornItemWeaponDetails {
6123
- stealth_level: number;
6124
- base_stats: TornItemBaseStats;
6125
- category: TornItemWeaponCategoryEnum;
6126
- ammo: {
6127
- id: AmmoId;
6128
- name: string;
6129
- magazine_rounds: number;
6130
- rate_of_fire: {
6131
- minimum: number;
6132
- maximum: number;
6133
- };
6134
- } | null;
6135
- mods: ItemModId[];
6639
+ export interface FactionChainReportAttackerAttacks {
6640
+ total: number;
6641
+ leave: number;
6642
+ mug: number;
6643
+ hospitalize: number;
6644
+ assists: number;
6645
+ retaliations: number;
6646
+ overseas: number;
6647
+ draws: number;
6648
+ escapes?: number;
6649
+ losses: number;
6650
+ war: number;
6651
+ bonuses: number;
6136
6652
  }
6137
6653
 
6138
- export interface TornItemArmorCoverage {
6139
- name: TornItemArmorCoveragePartEnum;
6140
- value: number;
6654
+ export interface FactionCrimeUser {
6655
+ id: UserId;
6656
+ outcome: FactionCrimeUserOutcome | null;
6657
+ /** The timestamp at which the user joined the slot. */
6658
+ joined_at: number;
6659
+ /** Current planning progress on the slot. */
6660
+ progress: number;
6141
6661
  }
6142
6662
 
6143
- export interface TornItemArmorDetails {
6144
- coverage: TornItemArmorCoverage[];
6145
- base_stats: TornItemBaseStats;
6663
+ export interface FactionCrimeRewardItem {
6664
+ id: ItemId;
6665
+ quantity: number;
6146
6666
  }
6147
6667
 
6148
- export interface TornItem {
6149
- id: ItemId;
6150
- name: string;
6151
- description: string;
6152
- effect: string | null;
6153
- requirement: string | null;
6154
- image: string;
6155
- type: TornItemTypeEnum;
6156
- sub_type: TornItemWeaponTypeEnum | null;
6157
- is_masked: boolean;
6158
- is_tradable: boolean;
6159
- is_found_in_city: boolean;
6160
- value: {
6161
- vendor: {
6162
- country: string;
6163
- name: string;
6164
- } | null;
6165
- buy_price: number | null;
6166
- sell_price: number | null;
6167
- market_price: number;
6168
- };
6169
- circulation: number;
6170
- details: TornItemWeaponDetails | TornItemArmorDetails | null;
6668
+ export interface FactionCrimeRewardPayout {
6669
+ type: FactionOrganizedCrimePayoutType;
6670
+ /** Total percentage split between all participants. */
6671
+ percentage: number;
6672
+ paid_by: UserId;
6673
+ paid_at: number;
6171
6674
  }
6172
6675
 
6173
- export interface TornItemsResponse {
6174
- items: TornItem[];
6676
+ export interface FactionCrimeReward {
6677
+ money: number;
6678
+ items: FactionCrimeRewardItem[];
6679
+ respect: number;
6680
+ scope: number;
6681
+ payout: FactionCrimeRewardPayout | null;
6175
6682
  }
6176
6683
 
6177
- export interface TornFactionTreeBranch {
6178
- id: FactionBranchId;
6179
- name: string;
6180
- upgrades: {
6181
- name: string;
6182
- level: number;
6183
- ability: string;
6184
- cost: number;
6185
- challenge: {
6186
- description: string;
6187
- amount_required: number;
6188
- stat: FactionStatEnum;
6189
- } | null;
6190
- }[];
6684
+ export interface FactionCrimeSlot {
6685
+ position: string;
6686
+ item_requirement: {
6687
+ id: ItemId;
6688
+ /** Shows if the item is reusable or consumed during the crime. */
6689
+ is_reusable: boolean;
6690
+ /** Shows if user has the required item. */
6691
+ is_available: boolean;
6692
+ } | null;
6693
+ user: FactionCrimeUser | null;
6694
+ /** Returns CPR for the player who joined the slot. If the slot is empty (availalbe), it shows your CPR for that slot. This value is 0 for expired crimes. */
6695
+ checkpoint_pass_rate: number;
6191
6696
  }
6192
6697
 
6193
- export interface TornFactionTree {
6698
+ export interface FactionCrime {
6699
+ id: FactionCrimeId;
6700
+ previous_crime_id: FactionCrimeId | null;
6194
6701
  name: string;
6195
- branches: TornFactionTreeBranch[];
6702
+ difficulty: number;
6703
+ status: FactionCrimeStatusEnum;
6704
+ /** The timestamp at which the crime was created. */
6705
+ created_at: number;
6706
+ planning_at: number | null;
6707
+ ready_at: number | null;
6708
+ /** The timestamp at which the crime will expire. */
6709
+ expired_at: number;
6710
+ executed_at: number | null;
6711
+ slots: FactionCrimeSlot[];
6712
+ rewards: FactionCrimeReward | null;
6196
6713
  }
6197
6714
 
6198
- export interface TornFactionTreeResponse {
6199
- factionTree: TornFactionTree[];
6715
+ export interface FactionCrimesResponse {
6716
+ crimes: FactionCrime[];
6717
+ _metadata: RequestMetadataWithLinks;
6718
+ }
6719
+
6720
+ export interface FactionCrimeResponse {
6721
+ crime: FactionCrime;
6722
+ }
6723
+
6724
+ export interface FactionBalance {
6725
+ faction: {
6726
+ money: number;
6727
+ points: number;
6728
+ scope: number;
6729
+ };
6730
+ members: {
6731
+ id: UserId;
6732
+ username: string;
6733
+ money: number;
6734
+ points: number;
6735
+ }[];
6736
+ }
6737
+
6738
+ export interface FactionBalanceResponse {
6739
+ balance: FactionBalance;
6200
6740
  }
6201
6741
 
6202
6742
  /**
6203
- * The following selections will fallback to API v1 and may change at any time: 'bank','cards','cityshops','companies','competition','dirtybombs','gyms','honors','itemdetails','itemstats','medals','organisedcrimes','pawnshop','pokertables','properties','raidreport','raids','rockpaperscissors','searchforcash','shoplifting','stats','stocks'.
6204
- * * The following selections are not available in API v2: 'chainreport', 'rackets', 'rankedwarreport', 'rankedwars', 'territorynames', 'territorywarreport', 'territorywars'.
6743
+ * The following selections will fallback to API v1 and may change at any time: 'armor', 'boosters', 'caches', 'cesium', 'crimeexp', 'drugs', 'medical', 'positions', 'reports', 'temporary', 'weapons'.
6744
+ * * The following selections are not available in API v2: 'armorynews', 'attacknews', 'crimenews', 'currency', 'donations', 'fundsnews', 'mainnews', 'membershipnews', 'territorynews'.
6205
6745
  */
6206
- export type TornSelectionName =
6207
- | "attacklog"
6208
- | "bounties"
6209
- | "calendar"
6746
+ export type FactionSelectionName =
6747
+ | "applications"
6748
+ | "attacks"
6749
+ | "attacksfull"
6750
+ | "balance"
6751
+ | "basic"
6752
+ | "chain"
6753
+ | "chainreport"
6754
+ | "chains"
6755
+ | "contributors"
6756
+ | "crime"
6210
6757
  | "crimes"
6211
- | "education"
6212
- | "factionhof"
6213
- | "factiontree"
6214
6758
  | "hof"
6215
- | "itemammo"
6216
- | "itemmods"
6217
- | "items"
6218
- | "logcategories"
6219
- | "logtypes"
6220
6759
  | "lookup"
6221
- | "subcrimes"
6222
- | "territory"
6223
- | "timestamp"
6224
- | "bank"
6225
- | "cards"
6226
- | "cityshops"
6227
- | "companies"
6228
- | "competition"
6229
- | "dirtybombs"
6230
- | "gyms"
6231
- | "honors"
6232
- | "itemdetails"
6233
- | "itemstats"
6234
- | "medals"
6235
- | "organisedcrimes"
6236
- | "pawnshop"
6237
- | "pokertables"
6238
- | "properties"
6239
- | "raidreport"
6240
- | "raids"
6241
- | "rockpaperscissors"
6242
- | "searchforcash"
6243
- | "shoplifting"
6244
- | "stats"
6245
- | "stocks"
6246
- | "chainreport"
6760
+ | "members"
6761
+ | "news"
6247
6762
  | "rackets"
6248
- | "rankedwarreport"
6249
6763
  | "rankedwars"
6250
- | "territorynames"
6764
+ | "rankedwarreport"
6765
+ | "revives"
6766
+ | "revivesfull"
6767
+ | "stats"
6768
+ | "territory"
6769
+ | "territoryownership"
6251
6770
  | "territorywarreport"
6252
- | "territorywars";
6771
+ | "territorywars"
6772
+ | "timestamp"
6773
+ | "upgrades"
6774
+ | "wars"
6775
+ | "armor"
6776
+ | "boosters"
6777
+ | "caches"
6778
+ | "cesium"
6779
+ | "crimeexp"
6780
+ | "drugs"
6781
+ | "medical"
6782
+ | "positions"
6783
+ | "reports"
6784
+ | "temporary"
6785
+ | "weapons"
6786
+ | "armorynews"
6787
+ | "attacknews"
6788
+ | "crimenews"
6789
+ | "currency"
6790
+ | "donations"
6791
+ | "fundsnews"
6792
+ | "mainnews"
6793
+ | "membershipnews"
6794
+ | "territorynews";
6253
6795
 
6254
- export interface TornLookupResponse {
6255
- selections: TornSelectionName[];
6796
+ export interface FactionLookupResponse {
6797
+ selections: FactionSelectionName[];
6256
6798
  }
6257
6799
 
6258
- export interface PersonalStatsOther {
6259
- other: {
6260
- activity: {
6261
- /** Time played in seconds */
6262
- time: number;
6263
- streak: {
6264
- best: number;
6265
- current: number;
6266
- };
6267
- };
6268
- awards: number;
6269
- merits_bought: number;
6270
- refills: {
6271
- energy: number;
6272
- nerve: number;
6273
- token: number;
6274
- };
6275
- donator_days: number;
6276
- ranked_war_wins: number;
6277
- };
6800
+ export interface FactionRankedWarDetails {
6801
+ id: RankedWarId;
6802
+ /** Timestamp the war started at. */
6803
+ start: number;
6804
+ /** Timestamp the war ended at. */
6805
+ end: number;
6806
+ target: number;
6807
+ winner: FactionId | null;
6808
+ factions: {
6809
+ id: FactionId;
6810
+ name: string;
6811
+ score: number;
6812
+ chain: number;
6813
+ }[];
6278
6814
  }
6279
6815
 
6280
- export interface PersonalStatsOtherPopular {
6281
- other: {
6282
- activity: {
6283
- /** Time played in seconds */
6284
- time: number;
6285
- streak: {
6286
- best: number;
6287
- current: number;
6816
+ export interface FactionRankedWarResponse {
6817
+ rankedwars: FactionRankedWarDetails[];
6818
+ _metadata: RequestMetadataWithLinks;
6819
+ }
6820
+
6821
+ export interface FactionRankedWarReportResponse {
6822
+ rankedwarreport: {
6823
+ id: RankedWarId;
6824
+ /** Timestamp the war started at. */
6825
+ start: number;
6826
+ /** Timestamp the war ended at. */
6827
+ end: number;
6828
+ winner: FactionId;
6829
+ forfeit: boolean;
6830
+ factions: {
6831
+ id: FactionId;
6832
+ name: string;
6833
+ score: number;
6834
+ attacks: number;
6835
+ rank: {
6836
+ before: string;
6837
+ after: string;
6288
6838
  };
6289
- };
6290
- awards: number;
6291
- merits_bought: number;
6292
- refills: {
6293
- energy: number;
6294
- nerve: number;
6295
- };
6296
- donator_days: number;
6297
- ranked_war_wins: number;
6839
+ rewards: {
6840
+ respect: number;
6841
+ points: number;
6842
+ items: {
6843
+ id: ItemId;
6844
+ name: string;
6845
+ quantity: number;
6846
+ }[];
6847
+ };
6848
+ members: {
6849
+ id: UserId;
6850
+ name: string;
6851
+ level: number;
6852
+ attacks: number;
6853
+ score: number;
6854
+ }[];
6855
+ }[];
6298
6856
  };
6299
6857
  }
6300
6858
 
6301
- export interface PersonalStatsNetworthExtended {
6302
- networth: {
6303
- total: number;
6304
- wallet: number;
6305
- vaults: number;
6306
- bank: number;
6307
- overseas_bank: number;
6308
- points: number;
6309
- inventory: number;
6310
- display_case: number;
6311
- bazaar: number;
6312
- item_market: number;
6313
- property: number;
6314
- stock_market: number;
6315
- auction_house: number;
6316
- bookie: number;
6317
- company: number;
6318
- enlisted_cars: number;
6319
- piggy_bank: number;
6320
- pending: number;
6321
- loans: number;
6322
- unpaid_fees: number;
6323
- };
6859
+ export interface ForumCategoriesResponse {
6860
+ categories: {
6861
+ id: ForumId;
6862
+ title: string;
6863
+ acronym: string;
6864
+ threads: number;
6865
+ }[];
6324
6866
  }
6325
6867
 
6326
- export interface PersonalStatsNetworthPublic {
6327
- networth: {
6328
- total: number;
6329
- };
6868
+ export interface ForumThreadAuthor {
6869
+ id: UserId;
6870
+ username: string;
6871
+ karma: number;
6330
6872
  }
6331
6873
 
6332
- export interface PersonalStatsRacing {
6333
- racing: {
6334
- skill: number;
6335
- points: number;
6336
- races: {
6337
- entered: number;
6338
- won: number;
6339
- };
6340
- };
6874
+ export interface ForumPollVote {
6875
+ answer: string;
6876
+ votes: number;
6341
6877
  }
6342
6878
 
6343
- export interface PersonalStatsMissions {
6344
- missions: {
6345
- missions: number;
6346
- contracts: {
6347
- total: number;
6348
- duke: number;
6349
- };
6350
- credits: number;
6351
- };
6879
+ export interface ForumPoll {
6880
+ question: string;
6881
+ answers_count: number;
6882
+ answers: ForumPollVote[];
6352
6883
  }
6353
6884
 
6354
- export interface PersonalStatsDrugs {
6355
- drugs: {
6356
- cannabis: number;
6357
- ecstasy: number;
6358
- ketamine: number;
6359
- lsd: number;
6360
- opium: number;
6361
- pcp: number;
6362
- shrooms: number;
6363
- speed: number;
6364
- vicodin: number;
6365
- xanax: number;
6366
- total: number;
6367
- overdoses: number;
6368
- rehabilitations: {
6369
- amount: number;
6370
- fees: number;
6371
- };
6372
- };
6885
+ export interface ForumThreadBase {
6886
+ id: ForumThreadId;
6887
+ title: string;
6888
+ forum_id: ForumId;
6889
+ posts: number;
6890
+ rating: number;
6891
+ /** Total number of times players have opened this thread. */
6892
+ views: number;
6893
+ author: ForumThreadAuthor;
6894
+ last_poster: ForumThreadAuthor | null;
6895
+ first_post_time: number;
6896
+ last_post_time: number | null;
6897
+ has_poll: boolean;
6898
+ is_locked: boolean;
6899
+ is_sticky: boolean;
6373
6900
  }
6374
6901
 
6375
- export interface PersonalStatsTravel {
6376
- travel: {
6377
- total: number;
6378
- time_spent: number;
6379
- items_bought: number;
6380
- hunting: {
6381
- skill: number;
6382
- };
6383
- attacks_won: number;
6384
- defends_lost: number;
6385
- argentina: number;
6386
- canada: number;
6387
- cayman_islands: number;
6388
- china: number;
6389
- hawaii: number;
6390
- japan: number;
6391
- mexico: number;
6392
- united_arab_emirates: number;
6393
- united_kingdom: number;
6394
- south_africa: number;
6395
- switzerland: number;
6396
- };
6902
+ export interface ForumThreadExtended extends ForumThreadBase {
6903
+ content: string;
6904
+ content_raw: string;
6905
+ poll: ForumPoll | null;
6397
6906
  }
6398
6907
 
6399
- export interface PersonalStatsTravelPopular {
6400
- travel: {
6401
- total: number;
6402
- time_spent: number;
6403
- };
6908
+ export interface ForumPost {
6909
+ id: ForumPostId;
6910
+ thread_id: ForumThreadId;
6911
+ author: ForumThreadAuthor;
6912
+ /** Indicates whether post was made using the old formatting engine which doesn't use HTML. */
6913
+ is_legacy: boolean;
6914
+ is_topic: boolean;
6915
+ is_edited: boolean;
6916
+ is_pinned: boolean;
6917
+ created_time: number;
6918
+ edited_by: UserId | null;
6919
+ has_quote: boolean;
6920
+ quoted_post_id: number | null;
6921
+ /** depending on the input 'cat' parameter, this will either return raw value (with HTML) or plain text. Legacy posts are returned as is, they can't be stripped of tags. */
6922
+ content: string;
6923
+ likes: number;
6924
+ dislikes: number;
6404
6925
  }
6405
6926
 
6406
- export interface PersonalStatsItems {
6407
- items: {
6408
- found: {
6409
- city: number;
6410
- dump: number;
6411
- easter_eggs: number;
6412
- };
6413
- trashed: number;
6414
- used: {
6415
- books: number;
6416
- boosters: number;
6417
- consumables: number;
6418
- candy: number;
6419
- alcohol: number;
6420
- energy_drinks: number;
6421
- stat_enhancers: number;
6422
- easter_eggs: number;
6423
- };
6424
- viruses_coded: number;
6425
- };
6927
+ export interface ForumThreadUserExtended extends ForumThreadBase {
6928
+ new_posts: number | null;
6426
6929
  }
6427
6930
 
6428
- export interface PersonalStatsItemsPopular {
6429
- items: {
6430
- found: {
6431
- dump: number;
6432
- };
6433
- used: {
6434
- books: number;
6435
- boosters: number;
6436
- consumables: number;
6437
- candy: number;
6438
- alcohol: number;
6439
- energy_drinks: number;
6440
- stat_enhancers: number;
6441
- easter_eggs: number;
6442
- };
6443
- };
6931
+ export interface ForumSubscribedThreadPostsCount {
6932
+ new: number;
6933
+ total: number;
6444
6934
  }
6445
6935
 
6446
- export interface PersonalStatsInvestments {
6447
- investments: {
6448
- bank: {
6449
- total: number;
6450
- profit: number;
6451
- current: number;
6452
- time_remaining: number;
6453
- };
6454
- stocks: {
6455
- profits: number;
6456
- losses: number;
6457
- fees: number;
6458
- net_profits: number;
6459
- payouts: number;
6460
- };
6461
- };
6936
+ export interface ForumSubscribedThread {
6937
+ id: ForumThreadId;
6938
+ forum_id: ForumId;
6939
+ author: ForumThreadAuthor;
6940
+ title: string;
6941
+ posts: ForumSubscribedThreadPostsCount;
6462
6942
  }
6463
6943
 
6464
- export interface PersonalStatsBounties {
6465
- bounties: {
6466
- placed: {
6467
- amount: number;
6468
- value: number;
6469
- };
6470
- collected: {
6471
- amount: number;
6472
- value: number;
6473
- };
6474
- received: {
6475
- amount: number;
6476
- value: number;
6477
- };
6478
- };
6944
+ export interface ForumFeed {
6945
+ thread_id: ForumThreadId;
6946
+ post_id: ForumPostId;
6947
+ user: ForumThreadAuthor;
6948
+ title: string;
6949
+ text: string;
6950
+ timestamp: number;
6951
+ is_seen: boolean;
6952
+ type: ForumFeedTypeEnum;
6479
6953
  }
6480
6954
 
6481
- export interface PersonalStatsCrimesV2 {
6482
- offenses: {
6483
- vandalism: number;
6484
- fraud: number;
6485
- theft: number;
6486
- counterfeiting: number;
6487
- illicit_services: number;
6488
- cybercrime: number;
6489
- extortion: number;
6490
- illegal_production: number;
6491
- organized_crimes: number;
6492
- total: number;
6493
- };
6494
- skills: {
6495
- search_for_cash: number;
6496
- bootlegging: number;
6497
- graffiti: number;
6498
- shoplifting: number;
6499
- pickpocketing: number;
6500
- card_skimming: number;
6501
- burglary: number;
6502
- hustling: number;
6503
- disposal: number;
6504
- cracking: number;
6505
- forgery: number;
6506
- scamming: number;
6507
- };
6508
- version: string;
6955
+ export interface ForumThreadsResponse {
6956
+ threads: ForumThreadBase[];
6957
+ _metadata: RequestMetadataWithLinks;
6509
6958
  }
6510
6959
 
6511
- export interface PersonalStatsCrimesV1 {
6512
- total: number;
6513
- sell_illegal_goods: number;
6514
- theft: number;
6515
- auto_theft: number;
6516
- drug_deals: number;
6517
- computer: number;
6518
- fraud: number;
6519
- murder: number;
6520
- other: number;
6521
- organized_crimes: number;
6522
- version: string;
6523
- }
6524
-
6525
- export interface PersonalStatsCrimesPopular {
6526
- crimes: {
6527
- total: number;
6528
- version: string;
6529
- };
6530
- }
6531
-
6532
- export interface PersonalStatsCommunication {
6533
- communication: {
6534
- mails_sent: {
6535
- total: number;
6536
- friends: number;
6537
- faction: number;
6538
- colleagues: number;
6539
- spouse: number;
6540
- };
6541
- classified_ads: number;
6542
- personals: number;
6543
- };
6544
- }
6545
-
6546
- export interface PersonalStatsFinishingHits {
6547
- finishing_hits: {
6548
- heavy_artillery: number;
6549
- machine_guns: number;
6550
- rifles: number;
6551
- sub_machine_guns: number;
6552
- shotguns: number;
6553
- pistols: number;
6554
- temporary: number;
6555
- piercing: number;
6556
- slashing: number;
6557
- clubbing: number;
6558
- mechanical: number;
6559
- hand_to_hand: number;
6560
- };
6561
- }
6562
-
6563
- export interface PersonalStatsHospital {
6564
- hospital: {
6565
- times_hospitalized: number;
6566
- medical_items_used: number;
6567
- blood_withdrawn: number;
6568
- reviving: {
6569
- skill: number;
6570
- revives: number;
6571
- revives_received: number;
6572
- };
6573
- };
6574
- }
6575
-
6576
- export interface PersonalStatsHospitalPopular {
6577
- hospital: {
6578
- medical_items_used: number;
6579
- reviving: {
6580
- skill: number;
6581
- revives: number;
6582
- };
6583
- };
6584
- }
6585
-
6586
- export interface PersonalStatsJail {
6587
- jail: {
6588
- times_jailed: number;
6589
- busts: {
6590
- success: number;
6591
- fails: number;
6592
- };
6593
- bails: {
6594
- amount: number;
6595
- fees: number;
6596
- };
6597
- };
6598
- }
6599
-
6600
- export interface PersonalStatsTrading {
6601
- trading: {
6602
- items: {
6603
- bought: {
6604
- market: number;
6605
- shops: number;
6606
- };
6607
- auctions: {
6608
- won: number;
6609
- sold: number;
6610
- };
6611
- sent: number;
6612
- };
6613
- trades: number;
6614
- points: {
6615
- bought: number;
6616
- sold: number;
6617
- };
6618
- bazaar: {
6619
- customers: number;
6620
- sales: number;
6621
- profit: number;
6622
- };
6623
- item_market?: {
6624
- customers: number;
6625
- sales: number;
6626
- revenue: number;
6627
- fees: number;
6628
- };
6629
- };
6960
+ export interface ForumThreadResponse {
6961
+ thread: ForumThreadExtended;
6630
6962
  }
6631
6963
 
6632
- export interface PersonalStatsJobsPublic {
6633
- jobs: {
6634
- job_points_used: number;
6635
- trains_received: number;
6636
- };
6964
+ export interface ForumPostsResponse {
6965
+ posts: ForumPost[];
6966
+ _metadata: RequestMetadataWithLinks;
6637
6967
  }
6638
6968
 
6639
- export interface PersonalStatsJobsExtended {
6640
- jobs: {
6641
- job_points_used: number;
6642
- trains_received: number;
6643
- stats: {
6644
- manual: number;
6645
- intelligence: number;
6646
- endurance: number;
6647
- total: number;
6648
- };
6649
- };
6650
- }
6969
+ export type ForumSelectionName =
6970
+ | "categories"
6971
+ | "lookup"
6972
+ | "posts"
6973
+ | "thread"
6974
+ | "threads"
6975
+ | "timestamp";
6651
6976
 
6652
- export interface PersonalStatsBattleStats {
6653
- battle_stats: {
6654
- strength: number;
6655
- defense: number;
6656
- speed: number;
6657
- dexterity: number;
6658
- total: number;
6659
- };
6977
+ export interface ForumLookupResponse {
6978
+ selections: ForumSelectionName[];
6660
6979
  }
6661
6980
 
6662
- export interface PersonalStatsAttackingPublic {
6663
- attacking: {
6664
- attacks: {
6665
- won: number;
6666
- lost: number;
6667
- stalemate: number;
6668
- assist: number;
6669
- stealth: number;
6670
- };
6671
- defends: {
6672
- won: number;
6673
- lost: number;
6674
- stalemate: number;
6675
- total: number;
6676
- };
6677
- elo: number;
6678
- unarmored_wins: number;
6679
- highest_level_beaten: number;
6680
- escapes?: {
6681
- player: number;
6682
- foes: number;
6683
- };
6684
- killstreak: {
6685
- best: number;
6686
- };
6687
- hits: {
6688
- success: number;
6689
- miss: number;
6690
- critical: number;
6691
- one_hit_kills: number;
6692
- };
6693
- damage: {
6694
- total: number;
6695
- best: number;
6696
- };
6697
- networth: {
6698
- money_mugged: number;
6699
- largest_mug: number;
6700
- items_looted: number;
6701
- };
6702
- ammunition: {
6703
- total: number;
6704
- special: number;
6705
- hollow_point: number;
6706
- tracer: number;
6707
- piercing: number;
6708
- incendiary: number;
6709
- };
6710
- faction: {
6711
- respect: number;
6712
- retaliations: number;
6713
- ranked_war_hits: number;
6714
- raid_hits: number;
6715
- territory: {
6716
- wall_joins: number;
6717
- wall_clears: number;
6718
- wall_time: number;
6719
- };
6720
- };
6721
- };
6981
+ export interface KeyLogResponse {
6982
+ log: {
6983
+ timestamp: number;
6984
+ type: string;
6985
+ selections: string;
6986
+ id: number | null;
6987
+ comment?: string | null;
6988
+ ip: string;
6989
+ }[];
6722
6990
  }
6723
6991
 
6724
- export interface PersonalStatsAttackingExtended {
6725
- attacking: {
6726
- attacks: {
6727
- won: number;
6728
- lost: number;
6729
- stalemate: number;
6730
- assist: number;
6731
- stealth: number;
6732
- };
6733
- defends: {
6734
- won: number;
6735
- lost: number;
6736
- stalemate: number;
6737
- total: number;
6738
- };
6739
- elo: number;
6740
- unarmored_wins: number;
6741
- highest_level_beaten: number;
6742
- escapes: {
6743
- player: number;
6744
- foes: number;
6745
- };
6746
- killstreak: {
6747
- best: number;
6748
- current: number;
6992
+ export interface KeyInfoResponse {
6993
+ info: {
6994
+ selections: {
6995
+ company: string[];
6996
+ faction: FactionSelectionName[];
6997
+ market: MarketSelectionName[];
6998
+ property: string[];
6999
+ torn: TornSelectionName[];
7000
+ user: UserSelectionName[];
7001
+ racing: RacingSelectionName[];
7002
+ forum: ForumSelectionName[];
7003
+ key: KeySelectionName[];
6749
7004
  };
6750
- hits: {
6751
- success: number;
6752
- miss: number;
6753
- critical: number;
6754
- one_hit_kills: number;
6755
- };
6756
- damage: {
6757
- total: number;
6758
- best: number;
6759
- };
6760
- networth: {
6761
- money_mugged: number;
6762
- largest_mug: number;
6763
- items_looted: number;
6764
- };
6765
- ammunition: {
6766
- total: number;
6767
- special: number;
6768
- hollow_point: number;
6769
- tracer: number;
6770
- piercing: number;
6771
- incendiary: number;
6772
- };
6773
- faction: {
6774
- respect: number;
6775
- retaliations: number;
6776
- ranked_war_hits: number;
6777
- raid_hits: number;
6778
- territory: {
6779
- wall_joins: number;
6780
- wall_clears: number;
6781
- wall_time: number;
6782
- };
6783
- };
6784
- };
6785
- }
6786
-
6787
- export interface PersonalStatsAttackingPopular {
6788
- attacking: {
6789
- attacks: {
6790
- won: number;
6791
- lost: number;
6792
- stalemate: number;
6793
- assist: number;
6794
- };
6795
- defends: {
6796
- won: number;
6797
- lost: number;
6798
- stalemate: number;
6799
- };
6800
- elo: number;
6801
- escapes: {
6802
- player: number;
6803
- foes: number;
6804
- };
6805
- killstreak: {
6806
- best: number;
6807
- };
6808
- hits: {
6809
- success: number;
6810
- miss: number;
6811
- critical: number;
6812
- one_hit_kills: number;
6813
- };
6814
- damage: {
6815
- total: number;
6816
- best: number;
6817
- };
6818
- networth: {
6819
- money_mugged: number;
6820
- largest_mug: number;
6821
- items_looted: number;
6822
- };
6823
- ammunition: {
6824
- total: number;
6825
- special: number;
6826
- hollow_point: number;
6827
- tracer: number;
6828
- piercing: number;
6829
- incendiary: number;
6830
- };
6831
- faction: {
6832
- respect: number;
6833
- ranked_war_hits: number;
6834
- };
6835
- };
6836
- }
6837
-
6838
- export interface PersonalStatsHistoricStat {
6839
- /** Requested stat name */
6840
- name: string;
6841
- value: number;
6842
- /** Timestamp when the stat was last updated */
6843
- timestamp: number;
6844
- }
6845
-
6846
- export interface UserPersonalStatsHistoric {
6847
- personalstats: PersonalStatsHistoricStat[];
6848
- }
6849
-
6850
- /** Response for PersonalStatsCrimes depends on which crime version user is currently. */
6851
- export interface PersonalStatsCrimes {
6852
- crimes: PersonalStatsCrimesV1 | PersonalStatsCrimesV2;
6853
- }
6854
-
6855
- export interface UserPersonalStatsPopular {
6856
- personalstats: PersonalStatsAttackingPopular &
6857
- PersonalStatsJobsPublic &
6858
- PersonalStatsHospitalPopular &
6859
- PersonalStatsCrimesPopular &
6860
- PersonalStatsItemsPopular &
6861
- PersonalStatsTravelPopular &
6862
- PersonalStatsDrugs &
6863
- PersonalStatsNetworthPublic &
6864
- PersonalStatsOtherPopular;
6865
- }
6866
-
6867
- /** Schema name corresponds to the requested category */
6868
- export interface UserPersonalStatsCategory {
6869
- personalstats:
6870
- | PersonalStatsAttackingPublic
6871
- | PersonalStatsJobsPublic
6872
- | PersonalStatsTrading
6873
- | PersonalStatsJail
6874
- | PersonalStatsHospital
6875
- | PersonalStatsFinishingHits
6876
- | PersonalStatsCommunication
6877
- | PersonalStatsCrimes
6878
- | PersonalStatsBounties
6879
- | PersonalStatsItems
6880
- | PersonalStatsTravel
6881
- | PersonalStatsDrugs
6882
- | PersonalStatsMissions
6883
- | PersonalStatsRacing
6884
- | PersonalStatsNetworthPublic
6885
- | PersonalStatsOther;
6886
- }
6887
-
6888
- export interface UserPersonalStatsFull {
6889
- personalstats: PersonalStatsAttackingExtended &
6890
- PersonalStatsBattleStats &
6891
- PersonalStatsJobsExtended &
6892
- PersonalStatsTrading &
6893
- PersonalStatsJail &
6894
- PersonalStatsHospital &
6895
- PersonalStatsFinishingHits &
6896
- PersonalStatsCommunication &
6897
- PersonalStatsCrimes &
6898
- PersonalStatsBounties &
6899
- PersonalStatsInvestments &
6900
- PersonalStatsItems &
6901
- PersonalStatsTravel &
6902
- PersonalStatsDrugs &
6903
- PersonalStatsMissions &
6904
- PersonalStatsRacing &
6905
- PersonalStatsNetworthExtended &
6906
- PersonalStatsOther;
6907
- }
6908
-
6909
- export interface UserPersonalStatsFullPublic {
6910
- personalstats: PersonalStatsAttackingPublic &
6911
- PersonalStatsJobsPublic &
6912
- PersonalStatsTrading &
6913
- PersonalStatsJail &
6914
- PersonalStatsHospital &
6915
- PersonalStatsFinishingHits &
6916
- PersonalStatsCommunication &
6917
- PersonalStatsCrimes &
6918
- PersonalStatsBounties &
6919
- PersonalStatsItems &
6920
- PersonalStatsTravel &
6921
- PersonalStatsDrugs &
6922
- PersonalStatsMissions &
6923
- PersonalStatsRacing &
6924
- PersonalStatsNetworthPublic &
6925
- PersonalStatsOther;
6926
- }
6927
-
6928
- export type UserPersonalStatsResponse =
6929
- | UserPersonalStatsFull
6930
- | UserPersonalStatsFullPublic
6931
- | UserPersonalStatsCategory
6932
- | UserPersonalStatsPopular
6933
- | UserPersonalStatsHistoric;
6934
-
6935
- export type PersonalStatsCategoryEnum =
6936
- | "all"
6937
- | "popular"
6938
- | "attacking"
6939
- | "battle_stats"
6940
- | "jobs"
6941
- | "trading"
6942
- | "jail"
6943
- | "hospital"
6944
- | "finishing_hits"
6945
- | "communication"
6946
- | "crimes"
6947
- | "bounties"
6948
- | "investments"
6949
- | "items"
6950
- | "travel"
6951
- | "drugs"
6952
- | "missions"
6953
- | "racing"
6954
- | "networth"
6955
- | "other"
6956
- | "itemmarketcustomers"
6957
- | "itemmarketsales"
6958
- | "itemmarketrevenue"
6959
- | "itemmarketfees";
6960
-
6961
- export type PersonalStatsStatName =
6962
- | "attackswon"
6963
- | "attackslost"
6964
- | "attacksdraw"
6965
- | "attacksassisted"
6966
- | "defendswon"
6967
- | "defendslost"
6968
- | "defendsstalemated"
6969
- | "elo"
6970
- | "yourunaway"
6971
- | "theyrunaway"
6972
- | "unarmoredwon"
6973
- | "bestkillstreak"
6974
- | "attackhits"
6975
- | "attackmisses"
6976
- | "attackdamage"
6977
- | "bestdamage"
6978
- | "onehitkills"
6979
- | "attackcriticalhits"
6980
- | "roundsfired"
6981
- | "specialammoused"
6982
- | "hollowammoused"
6983
- | "tracerammoused"
6984
- | "piercingammoused"
6985
- | "incendiaryammoused"
6986
- | "attacksstealthed"
6987
- | "retals"
6988
- | "moneymugged"
6989
- | "largestmug"
6990
- | "itemslooted"
6991
- | "highestbeaten"
6992
- | "respectforfaction"
6993
- | "rankedwarhits"
6994
- | "raidhits"
6995
- | "territoryjoins"
6996
- | "territoryclears"
6997
- | "territorytime"
6998
- | "jobpointsused"
6999
- | "trainsreceived"
7000
- | "marketitemsbought"
7001
- | "auctionswon"
7002
- | "auctionsells"
7003
- | "itemssent"
7004
- | "trades"
7005
- | "cityitemsbought"
7006
- | "pointsbought"
7007
- | "pointssold"
7008
- | "bazaarcustomers"
7009
- | "bazaarsales"
7010
- | "bazaarprofit"
7011
- | "jailed"
7012
- | "peoplebusted"
7013
- | "failedbusts"
7014
- | "peoplebought"
7015
- | "peopleboughtspent"
7016
- | "hospital"
7017
- | "medicalitemsused"
7018
- | "bloodwithdrawn"
7019
- | "reviveskill"
7020
- | "revives"
7021
- | "revivesreceived"
7022
- | "heavyhits"
7023
- | "machinehits"
7024
- | "riflehits"
7025
- | "smghits"
7026
- | "shotgunhits"
7027
- | "pistolhits"
7028
- | "temphits"
7029
- | "piercinghits"
7030
- | "slashinghits"
7031
- | "clubbinghits"
7032
- | "mechanicalhits"
7033
- | "h2hhits"
7034
- | "mailssent"
7035
- | "friendmailssent"
7036
- | "factionmailssent"
7037
- | "companymailssent"
7038
- | "spousemailssent"
7039
- | "classifiedadsplaced"
7040
- | "personalsplaced"
7041
- | "criminaloffensesold"
7042
- | "sellillegalgoods"
7043
- | "theftold"
7044
- | "autotheftcrime"
7045
- | "drugdealscrime"
7046
- | "computercrime"
7047
- | "fraudold"
7048
- | "murdercrime"
7049
- | "othercrime"
7050
- | "organizedcrimes"
7051
- | "bountiesplaced"
7052
- | "totalbountyspent"
7053
- | "bountiescollected"
7054
- | "totalbountyreward"
7055
- | "bountiesreceived"
7056
- | "receivedbountyvalue"
7057
- | "cityfinds"
7058
- | "dumpfinds"
7059
- | "itemsdumped"
7060
- | "booksread"
7061
- | "boostersused"
7062
- | "consumablesused"
7063
- | "candyused"
7064
- | "alcoholused"
7065
- | "energydrinkused"
7066
- | "statenhancersused"
7067
- | "eastereggsfound"
7068
- | "eastereggsused"
7069
- | "virusescoded"
7070
- | "traveltimes"
7071
- | "timespenttraveling"
7072
- | "itemsboughtabroad"
7073
- | "attackswonabroad"
7074
- | "defendslostabroad"
7075
- | "argtravel"
7076
- | "mextravel"
7077
- | "uaetravel"
7078
- | "hawtravel"
7079
- | "japtravel"
7080
- | "uktravel"
7081
- | "satravel"
7082
- | "switravel"
7083
- | "chitravel"
7084
- | "cantravel"
7085
- | "caytravel"
7086
- | "drugsused"
7087
- | "overdosed"
7088
- | "rehabs"
7089
- | "rehabcost"
7090
- | "cantaken"
7091
- | "exttaken"
7092
- | "kettaken"
7093
- | "lsdtaken"
7094
- | "opitaken"
7095
- | "pcptaken"
7096
- | "shrtaken"
7097
- | "spetaken"
7098
- | "victaken"
7099
- | "xantaken"
7100
- | "missionscompleted"
7101
- | "contractscompleted"
7102
- | "dukecontractscompleted"
7103
- | "missioncreditsearned"
7104
- | "racingskill"
7105
- | "racingpointsearned"
7106
- | "racesentered"
7107
- | "raceswon"
7108
- | "networth"
7109
- | "timeplayed"
7110
- | "activestreak"
7111
- | "bestactivestreak"
7112
- | "awards"
7113
- | "refills"
7114
- | "nerverefills"
7115
- | "tokenrefills"
7116
- | "meritsbought"
7117
- | "daysbeendonator"
7118
- | "criminaloffenses"
7119
- | "vandalism"
7120
- | "theft"
7121
- | "counterfeiting"
7122
- | "fraud"
7123
- | "illicitservices"
7124
- | "cybercrime"
7125
- | "extortion"
7126
- | "illegalproduction"
7127
- | "currentkillstreak"
7128
- | "strength"
7129
- | "defense"
7130
- | "speed"
7131
- | "dexterity"
7132
- | "totalstats"
7133
- | "manuallabor"
7134
- | "intelligence"
7135
- | "endurance"
7136
- | "totalworkingstats"
7137
- | "moneyinvested"
7138
- | "investedprofit"
7139
- | "investamount"
7140
- | "banktimeleft"
7141
- | "stockprofits"
7142
- | "stocklosses"
7143
- | "stockfees"
7144
- | "stocknetprofits"
7145
- | "stockpayouts"
7146
- | "networthwallet"
7147
- | "networthvault"
7148
- | "networthbank"
7149
- | "networthcayman"
7150
- | "networthpoints"
7151
- | "networthitems"
7152
- | "networthdisplaycase"
7153
- | "networthbazaar"
7154
- | "networthitemmarket"
7155
- | "networthproperties"
7156
- | "networthstockmarket"
7157
- | "networthauctionhouse"
7158
- | "networthbookie"
7159
- | "networthcompany"
7160
- | "networthenlistedcars"
7161
- | "networthpiggybank"
7162
- | "networthpending"
7163
- | "networthloan"
7164
- | "networthunpaidfees"
7165
- | "huntingskill"
7166
- | "searchforcashskill"
7167
- | "bootleggingskill"
7168
- | "graffitiskill"
7169
- | "shopliftingskill"
7170
- | "pickpocketingskill"
7171
- | "cardskimmingskill"
7172
- | "burglaryskill"
7173
- | "hustlingskill"
7174
- | "disposalskill"
7175
- | "crackingskill"
7176
- | "forgeryskill"
7177
- | "scammingskill";
7005
+ access: {
7006
+ level: number;
7007
+ type: ApiKeyAccessTypeEnum;
7008
+ faction: boolean;
7009
+ faction_id?: FactionId | null;
7010
+ company: boolean;
7011
+ company_id?: CompanyId | null;
7012
+ };
7013
+ };
7014
+ }
7178
7015
 
7179
- export interface UserCurrentEducation {
7180
- id: EducationId;
7181
- until: number;
7016
+ export type KeySelectionName = "info" | "log";
7017
+
7018
+ export interface ItemMarketListingItemBonus {
7019
+ id: number;
7020
+ title: string;
7021
+ description: string;
7022
+ value: number;
7182
7023
  }
7183
7024
 
7184
- export interface UserEducation {
7185
- complete: EducationId[];
7186
- current: UserCurrentEducation | null;
7025
+ export interface ItemMarketListingItemStats {
7026
+ damage: number | null;
7027
+ accuracy: number | null;
7028
+ armor: number | null;
7029
+ quality: number;
7187
7030
  }
7188
7031
 
7189
- export interface UserEducationResponse {
7190
- education: UserEducation;
7032
+ export interface ItemMarketItem {
7033
+ id: ItemId;
7034
+ name: string;
7035
+ type: string;
7036
+ average_price: number;
7191
7037
  }
7192
7038
 
7193
- export interface UserCrimeDetailsBootlegging {
7194
- /** Online store statistics. */
7195
- online_store: {
7196
- earnings: number;
7197
- visits: number;
7198
- customers: number;
7199
- sales: number;
7039
+ export interface ItemMarketListingStackable {
7040
+ price: number;
7041
+ amount: number;
7042
+ }
7043
+
7044
+ export interface ItemMarketListingItemDetails {
7045
+ uid: ItemUid;
7046
+ stats: ItemMarketListingItemStats;
7047
+ bonuses: ItemMarketListingItemBonus[];
7048
+ rarity: ("yellow" | "orange" | "red") | null;
7049
+ }
7050
+
7051
+ export interface ItemMarketListingNonstackable {
7052
+ price: number;
7053
+ amount: number;
7054
+ item_details: ItemMarketListingItemDetails;
7055
+ }
7056
+
7057
+ export interface ItemMarket {
7058
+ item: ItemMarketItem;
7059
+ listings: (ItemMarketListingNonstackable | ItemMarketListingStackable)[];
7060
+ }
7061
+
7062
+ export interface MarketItemMarketResponse {
7063
+ itemmarket: ItemMarket;
7064
+ _metadata: RequestMetadataWithLinks;
7065
+ }
7066
+
7067
+ /** The following selections will fallback to API v1 and may change at any time: 'pointsmarket'. */
7068
+ export type MarketSelectionName =
7069
+ | "itemmarket"
7070
+ | "lookup"
7071
+ | "timestamp"
7072
+ | "pointsmarket"
7073
+ | "bazaar";
7074
+
7075
+ export interface MarketLookupResponse {
7076
+ selections: MarketSelectionName[];
7077
+ }
7078
+
7079
+ export interface RacingCarsResponse {
7080
+ cars: RaceCar[];
7081
+ }
7082
+
7083
+ export interface RaceCar {
7084
+ car_item_id: ItemId;
7085
+ car_item_name: string;
7086
+ top_speed: number;
7087
+ acceleration: number;
7088
+ braking: number;
7089
+ dirt: number;
7090
+ handling: number;
7091
+ safety: number;
7092
+ tarmac: number;
7093
+ class: RaceClassEnum;
7094
+ }
7095
+
7096
+ export interface RacingTracksResponse {
7097
+ tracks: RaceTrack[];
7098
+ }
7099
+
7100
+ export interface RaceTrack {
7101
+ id: RaceTrackId;
7102
+ title: string;
7103
+ description: string;
7104
+ }
7105
+
7106
+ export interface RacingCarUpgradesResponse {
7107
+ carupgrades: RaceCarUpgrade[];
7108
+ }
7109
+
7110
+ export interface RaceCarUpgrade {
7111
+ id: RaceCarUpgradeId;
7112
+ class_required: RaceClassEnum;
7113
+ name: string;
7114
+ description: string;
7115
+ category: RaceCarUpgradeCategory;
7116
+ subcategory: RaceCarUpgradeSubCategory;
7117
+ effects: {
7118
+ top_speed: number;
7119
+ acceleration: number;
7120
+ braking: number;
7121
+ handling: number;
7122
+ safety: number;
7123
+ dirt: number;
7124
+ tarmac: number;
7200
7125
  };
7201
- /** DVD sales statistics. */
7202
- dvd_sales: {
7203
- action: number;
7204
- comedy: number;
7205
- drama: number;
7206
- fantasy: number;
7207
- horror: number;
7208
- romance: number;
7209
- thriller: number;
7210
- /** This is replaced with 'sci_fi' field and will be removed on 1st June 2025. */
7211
- "sci-fi"?: number;
7212
- sci_fi: number;
7213
- total: number;
7214
- earnings: number;
7126
+ cost: {
7127
+ points: number;
7128
+ cash: number;
7215
7129
  };
7216
- dvds_copied?: number;
7217
7130
  }
7218
7131
 
7219
- export interface UserCrimeDetailsGraffiti {
7220
- cans_used: number;
7221
- most_graffiti_in_one_area: number;
7222
- most_graffiti_simultaneously: number;
7223
- graffiti_removed: number;
7224
- cost_to_city: number;
7132
+ export interface RacingRacesResponse {
7133
+ races: Race[];
7134
+ _metadata: RequestMetadataWithLinks;
7225
7135
  }
7226
7136
 
7227
- export interface UserCrimeDetailsShoplifting {
7228
- average_notoriety: number;
7137
+ export interface Race {
7138
+ id: RaceId;
7139
+ title: string;
7140
+ track_id: RaceTrackId;
7141
+ creator_id: UserId;
7142
+ status: RaceStatusEnum;
7143
+ laps: number;
7144
+ participants: {
7145
+ minimum: number;
7146
+ maximum: number;
7147
+ current: number;
7148
+ };
7149
+ schedule: {
7150
+ join_from: number;
7151
+ join_until: number;
7152
+ start: number;
7153
+ end: number | null;
7154
+ };
7155
+ requirements: {
7156
+ car_class: RaceClassEnum | null;
7157
+ driver_class: RaceClassEnum | null;
7158
+ car_item_id: ItemId | null;
7159
+ requires_stock_car: boolean;
7160
+ requires_password: boolean;
7161
+ join_fee: number;
7162
+ };
7229
7163
  }
7230
7164
 
7231
- export interface UserCrimeDetailsCardSkimming {
7232
- card_details: {
7233
- recoverable: number;
7234
- recovered: number;
7235
- sold: number;
7236
- lost: number;
7237
- areas: {
7238
- id: number;
7239
- amount: number;
7240
- }[];
7165
+ export interface RacingTrackRecordsResponse {
7166
+ records: RaceRecord[];
7167
+ }
7168
+
7169
+ export interface RaceRecord {
7170
+ driver_id: UserId;
7171
+ driver_name: string;
7172
+ car_item_id: ItemId;
7173
+ lap_time: number;
7174
+ car_item_name: string;
7175
+ }
7176
+
7177
+ export interface RacerDetails {
7178
+ driver_id: UserId;
7179
+ position: number | null;
7180
+ car_id: RaceCarId;
7181
+ car_item_id: ItemId;
7182
+ car_item_name: string;
7183
+ car_class: RaceClassEnum;
7184
+ has_crashed: boolean | null;
7185
+ best_lap_time: number | null;
7186
+ race_time: number | null;
7187
+ time_ended: number | null;
7188
+ }
7189
+
7190
+ export interface RacingRaceDetailsResponse {
7191
+ race?: Race & {
7192
+ results: RacerDetails[];
7241
7193
  };
7242
- skimmers: {
7243
- active: number;
7244
- most_lucrative: number;
7245
- oldest_recovered: number;
7246
- lost: number;
7194
+ }
7195
+
7196
+ export type RacingSelectionName =
7197
+ | "cars"
7198
+ | "carupgrades"
7199
+ | "lookup"
7200
+ | "race"
7201
+ | "races"
7202
+ | "records"
7203
+ | "timestamp"
7204
+ | "tracks";
7205
+
7206
+ export interface RacingLookupResponse {
7207
+ selections: RacingSelectionName[];
7208
+ }
7209
+
7210
+ export interface TornEducationRewards {
7211
+ working_stats: {
7212
+ manual_labor: number | null;
7213
+ intelligence: number | null;
7214
+ endurance: number | null;
7247
7215
  };
7216
+ effect: string | null;
7217
+ honor: string | null;
7248
7218
  }
7249
7219
 
7250
- export interface UserCrimeDetailsHustling {
7251
- total_audience_gathered: number;
7252
- biggest_money_won: number;
7253
- shill_money_collected: number;
7254
- pickpocket_money_collected: number;
7220
+ export interface TornEducationPrerequisites {
7221
+ cost: number;
7222
+ courses: number[];
7223
+ }
7224
+
7225
+ export interface TornEducationCourses {
7226
+ id: EducationId;
7227
+ code: string;
7228
+ name: string;
7229
+ description: string;
7230
+ duration: number;
7231
+ rewards: TornEducationRewards;
7232
+ prerequisites: TornEducationPrerequisites;
7255
7233
  }
7256
7234
 
7257
- export interface UserCrimeDetailsCracking {
7258
- brute_force_cycles: number;
7259
- encryption_layers_broken: number;
7260
- highest_mips: number;
7261
- chars_guessed: number;
7262
- chars_guessed_total: number;
7235
+ export interface TornEducation {
7236
+ id: number;
7237
+ name: string;
7238
+ courses: TornEducationCourses[];
7263
7239
  }
7264
7240
 
7265
- export interface UserCrimeDetailsScamming {
7266
- most_responses: number;
7267
- zones: {
7268
- red: number;
7269
- neutral: number;
7270
- concern: number;
7271
- sensitivity: number;
7272
- temptation: number;
7273
- hesitation: number;
7274
- low_reward: number;
7275
- medium_reward: number;
7276
- high_reward: number;
7277
- };
7278
- concerns: {
7279
- attempts: number;
7280
- resolved: number;
7281
- };
7282
- payouts: {
7283
- low: number;
7284
- medium: number;
7285
- high: number;
7286
- };
7287
- emails: {
7288
- scraper: number;
7289
- phisher: number;
7290
- };
7241
+ export interface TornEducationResponse {
7242
+ education: TornEducation[];
7291
7243
  }
7292
7244
 
7293
- export interface UserSubcrime {
7294
- id: number;
7295
- total: number;
7296
- success: number;
7297
- fail: number;
7245
+ export interface TornTerritoryCoordinates {
7246
+ x: number;
7247
+ y: number;
7298
7248
  }
7299
7249
 
7300
- export interface UserCrimeRewardAmmo {
7301
- standard: number;
7302
- special: number;
7250
+ export interface TornTerritory {
7251
+ id: FactionTerritoryEnum;
7252
+ sector: number;
7253
+ size: number;
7254
+ density: number;
7255
+ slots: number;
7256
+ respect: number;
7257
+ coordinates: TornTerritoryCoordinates;
7258
+ neighbors: FactionTerritoryEnum[];
7303
7259
  }
7304
7260
 
7305
- export interface UserCrimeRewardItem {
7306
- id: number;
7307
- amount: number;
7261
+ export interface TornTerritoriesResponse {
7262
+ territory: TornTerritory[];
7263
+ _metadata: RequestMetadataWithLinks;
7308
7264
  }
7309
7265
 
7310
- export interface UserCrimeRewards {
7311
- money: number;
7312
- ammo: UserCrimeRewardAmmo;
7313
- items: UserCrimeRewardItem[];
7266
+ export interface TornTerritoriesNoLinksReponse {
7267
+ territory: TornTerritory[];
7314
7268
  }
7315
7269
 
7316
- export interface UserCrimeAttempts {
7317
- total: number;
7318
- success: number;
7319
- fail: number;
7320
- critical_fail: number;
7321
- subcrimes: UserSubcrime[];
7270
+ export interface TornSubcrimesResponse {
7271
+ subcrimes: TornSubcrime[];
7322
7272
  }
7323
7273
 
7324
- export interface UserCrimeUniquesRewardMoney {
7325
- min: number;
7326
- max: number;
7274
+ export interface TornSubcrime {
7275
+ id: number;
7276
+ name: string;
7277
+ nerve_cost: number;
7327
7278
  }
7328
7279
 
7329
- export interface UserCrimeUniquesRewardAmmo {
7330
- amount: number;
7331
- type: UserCrimeUniquesRewardAmmoEnum;
7280
+ export interface TornCrime {
7281
+ id: TornCrimeId;
7282
+ name: string;
7283
+ category_id: number;
7284
+ category_name?: string;
7285
+ enhancer_id: number;
7286
+ enhancer_name: string;
7287
+ unique_outcomes_count: number;
7288
+ unique_outcomes_ids: number[];
7289
+ notes?: string[];
7332
7290
  }
7333
7291
 
7334
- export interface UserCrimeUniquesReward {
7335
- items: UserCrimeRewardItem[];
7336
- money: UserCrimeUniquesRewardMoney | null;
7337
- ammo: UserCrimeUniquesRewardAmmo | null;
7292
+ export interface TornCrimesResponse {
7293
+ crimes: TornCrime[];
7338
7294
  }
7339
7295
 
7340
- export interface UserCrimeUniques {
7341
- /** Unique result id. */
7342
- id: number;
7343
- rewards: UserCrimeUniquesReward;
7296
+ export interface TornCalendarActivity {
7297
+ title: string;
7298
+ description: string;
7299
+ start: number;
7300
+ end: number;
7344
7301
  }
7345
7302
 
7346
- export interface UserCrimesResponse {
7347
- crimes: UserCrime;
7303
+ export interface TornCalendarResponse {
7304
+ calendar: {
7305
+ competitions: TornCalendarActivity[];
7306
+ events: TornCalendarActivity[];
7307
+ };
7348
7308
  }
7349
7309
 
7350
- export interface UserCrime {
7351
- nerve_spent: number;
7352
- skill: number;
7353
- progression_bonus: number;
7354
- rewards: UserCrimeRewards;
7355
- attempts: UserCrimeAttempts;
7356
- uniques: UserCrimeUniques[];
7357
- miscellaneous:
7358
- | UserCrimeDetailsBootlegging
7359
- | UserCrimeDetailsGraffiti
7360
- | UserCrimeDetailsShoplifting
7361
- | UserCrimeDetailsCardSkimming
7362
- | UserCrimeDetailsHustling
7363
- | UserCrimeDetailsCracking
7364
- | UserCrimeDetailsScamming
7365
- | null;
7310
+ export interface TornHof {
7311
+ id: UserId;
7312
+ username: string;
7313
+ faction_id: FactionId;
7314
+ level: number;
7315
+ last_action: number;
7316
+ rank_name: string;
7317
+ rank_number: number;
7318
+ position: number;
7319
+ signed_up: number;
7320
+ age_in_days: number;
7321
+ value: any;
7322
+ rank: string;
7366
7323
  }
7367
7324
 
7368
- export interface UserRacesResponse {
7369
- races: RacingRaceDetailsResponse[];
7325
+ export interface TornHofResponse {
7326
+ hof: TornHof[];
7370
7327
  _metadata: RequestMetadataWithLinks;
7371
7328
  }
7372
7329
 
7373
- export interface UserRaceCarDetails extends RaceCar {
7374
- id: RaceCarId;
7375
- name: string | null;
7376
- worth: number;
7377
- points_spent: number;
7378
- races_entered: number;
7379
- races_won: number;
7380
- is_removed: boolean;
7381
- parts: RaceCarUpgradeId[];
7330
+ export interface FactionHofValues {
7331
+ chain: number | null;
7332
+ chain_duration: number | null;
7333
+ respect: number | null;
7382
7334
  }
7383
7335
 
7384
- export interface UserEnlistedCarsResponse {
7385
- enlistedcars: UserRaceCarDetails[];
7336
+ export interface TornFactionHof {
7337
+ id: FactionId;
7338
+ name: string;
7339
+ members: number;
7340
+ position: number;
7341
+ /** The full rank title & division of the faction. */
7342
+ rank: string;
7343
+ values: FactionHofValues;
7386
7344
  }
7387
7345
 
7388
- export interface UserForumPostsResponse {
7389
- forumPosts: ForumPost[];
7346
+ export interface TornFactionHofResponse {
7347
+ factionhof: TornFactionHof[];
7390
7348
  _metadata: RequestMetadataWithLinks;
7391
7349
  }
7392
7350
 
7393
- export interface UserForumThreadsResponse {
7394
- forumThreads: ForumThreadUserExtended[];
7395
- _metadata: RequestMetadataWithLinks;
7351
+ export interface TornLog {
7352
+ id: LogId;
7353
+ title: string;
7396
7354
  }
7397
7355
 
7398
- export interface UserForumSubscribedThreadsResponse {
7399
- forumSubscribedThreads?: ForumSubscribedThread[];
7356
+ export interface TornLogCategory {
7357
+ id: LogCategoryId;
7358
+ title: string;
7400
7359
  }
7401
7360
 
7402
- export interface UserForumFeedResponse {
7403
- forumFeed: ForumFeed[];
7361
+ export interface TornLogTypesResponse {
7362
+ logtypes: TornLog[];
7404
7363
  }
7405
7364
 
7406
- export interface UserForumFriendsResponse {
7407
- forumFriends: ForumFeed[];
7365
+ export interface TornLogCategoriesResponse {
7366
+ logcategories: TornLogCategory[];
7408
7367
  }
7409
7368
 
7410
- export interface HofValue {
7411
- value: number;
7412
- rank: number;
7369
+ export interface Bounty {
7370
+ target_id: UserId;
7371
+ target_name: string;
7372
+ target_level: number;
7373
+ lister_id: UserId | null;
7374
+ lister_name: string | null;
7375
+ reward: number;
7376
+ reason: string | null;
7377
+ quantity: number;
7378
+ is_anonymous: boolean;
7379
+ valid_until: number;
7413
7380
  }
7414
7381
 
7415
- export interface HofValueString {
7416
- value: string;
7417
- rank: number | null;
7382
+ export interface AttackLogSummary {
7383
+ id: UserId | null;
7384
+ name: /** Name of the participant, could be null in stealthed attacks. */
7385
+ string | null;
7386
+ hits: number;
7387
+ misses: number;
7388
+ damage: number;
7418
7389
  }
7419
7390
 
7420
- export interface UserHofStats {
7421
- attacks: HofValue;
7422
- busts: HofValue;
7423
- defends: HofValue;
7424
- networth: HofValue;
7425
- offences: HofValue;
7426
- revives: HofValue;
7427
- level: HofValue;
7428
- rank: HofValue;
7429
- awards: HofValue;
7430
- racing_skill: HofValue;
7431
- racing_points: HofValue;
7432
- racing_wins: HofValue;
7433
- travel_time: HofValue;
7434
- working_stats: HofValue;
7435
- battle_stats: HofValue | null;
7391
+ export interface AttackLog {
7392
+ text: string;
7393
+ timestamp: number;
7394
+ action: AttackActionEnum;
7395
+ icon: string;
7396
+ attacker: /** This value could be null in stealthed attacks. */
7397
+ {
7398
+ id: UserId;
7399
+ name: string;
7400
+ item: /** This object could be null if there was no item being used in this turn or during this effect. */
7401
+ {
7402
+ id?: ItemId;
7403
+ name?: string;
7404
+ } | null;
7405
+ } | null;
7406
+ defender: /** This value could be null in stealthed attacks. */
7407
+ {
7408
+ id: UserId;
7409
+ name: string;
7410
+ } | null;
7436
7411
  }
7437
7412
 
7438
- export interface UserHofResponse {
7439
- hof: UserHofStats;
7413
+ export interface AttackLogResponse {
7414
+ attacklog: {
7415
+ log: AttackLog[];
7416
+ summary: AttackLogSummary[];
7417
+ };
7418
+ _metadata: RequestMetadataWithLinks;
7440
7419
  }
7441
7420
 
7442
- export interface UserCalendar {
7443
- /** Event start time displayed in TCT. */
7444
- start_time: string;
7421
+ export interface TornBountiesResponse {
7422
+ bounties: Bounty[];
7423
+ _metadata: RequestMetadataWithLinks;
7445
7424
  }
7446
7425
 
7447
- export interface UserCalendarResponse {
7448
- calendar: UserCalendar;
7426
+ export interface TornItemAmmo {
7427
+ id: AmmoId;
7428
+ name: string;
7429
+ price: number;
7430
+ /** Types of ammo */
7431
+ types: TornItemAmmoTypeEnum[];
7449
7432
  }
7450
7433
 
7451
- export interface UserBountiesResponse {
7452
- bounties: Bounty[];
7434
+ export interface TornItemAmmoResponse {
7435
+ itemammo: TornItemAmmo[];
7453
7436
  }
7454
7437
 
7455
- export interface UserJobRanks {
7456
- army: JobPositionArmyEnum;
7457
- grocer: JobPositionGrocerEnum;
7458
- casino: JobPositionCasinoEnum;
7459
- medical: JobPositionMedicalEnum;
7460
- law: JobPositionLawEnum;
7461
- education: JobPositionEducationEnum;
7438
+ export interface TornItemMods {
7439
+ id: ItemModId;
7440
+ name: string;
7441
+ description: string;
7442
+ /** Whether the upgrade fits on dual weapons. */
7443
+ dual_fit: boolean;
7444
+ /** The weapon types this upgrade can be attached to. */
7445
+ weapons: TornItemWeaponTypeEnum[];
7462
7446
  }
7463
7447
 
7464
- export interface UserJobRanksResponse {
7465
- jobranks: UserJobRanks;
7448
+ export interface TornItemModsResponse {
7449
+ itemmods: TornItemMods[];
7466
7450
  }
7467
7451
 
7468
- export interface UserItemMarkeListingItemDetails {
7469
- id: number;
7470
- name: string;
7471
- type: string;
7472
- rarity: ("yellow" | "orange" | "red") | null;
7473
- uid: ItemUid | null;
7474
- stats: ItemMarketListingItemStats | null;
7475
- bonuses: ItemMarketListingItemBonus[];
7452
+ export interface TornItemBaseStats {
7453
+ damage: number;
7454
+ accuracy: number;
7455
+ armor: number;
7476
7456
  }
7477
7457
 
7478
- export interface UserItemMarketListing {
7479
- id: number;
7480
- price: number;
7481
- average_price: number;
7482
- amount: number;
7483
- is_anonymous: boolean;
7484
- /** Amount remaining in the inventory. */
7485
- available: number;
7486
- item: UserItemMarkeListingItemDetails;
7458
+ export interface TornItemWeaponDetails {
7459
+ stealth_level: number;
7460
+ base_stats: TornItemBaseStats;
7461
+ category: TornItemWeaponCategoryEnum;
7462
+ ammo: {
7463
+ id: AmmoId;
7464
+ name: string;
7465
+ magazine_rounds: number;
7466
+ rate_of_fire: {
7467
+ minimum: number;
7468
+ maximum: number;
7469
+ };
7470
+ } | null;
7471
+ mods: ItemModId[];
7487
7472
  }
7488
7473
 
7489
- export interface UserItemMarketResponse {
7490
- itemmarket: UserItemMarketListing[];
7491
- _metadata: RequestMetadataWithLinks;
7474
+ export interface TornItemArmorCoverage {
7475
+ name: TornItemArmorCoveragePartEnum;
7476
+ value: number;
7492
7477
  }
7493
7478
 
7494
- export interface UserFactionBalance {
7495
- money: number;
7496
- points: number;
7479
+ export interface TornItemArmorDetails {
7480
+ coverage: TornItemArmorCoverage[];
7481
+ base_stats: TornItemBaseStats;
7497
7482
  }
7498
7483
 
7499
- export interface UserFactionBalanceResponse {
7500
- factionBalance: UserFactionBalance | null;
7484
+ export interface TornItem {
7485
+ id: ItemId;
7486
+ name: string;
7487
+ description: string;
7488
+ effect: string | null;
7489
+ requirement: string | null;
7490
+ image: string;
7491
+ type: TornItemTypeEnum;
7492
+ sub_type: TornItemWeaponTypeEnum | null;
7493
+ is_masked: boolean;
7494
+ is_tradable: boolean;
7495
+ is_found_in_city: boolean;
7496
+ value: {
7497
+ vendor: {
7498
+ country: string;
7499
+ name: string;
7500
+ } | null;
7501
+ buy_price: number | null;
7502
+ sell_price: number | null;
7503
+ market_price: number;
7504
+ };
7505
+ circulation: number;
7506
+ details: TornItemWeaponDetails | TornItemArmorDetails | null;
7501
7507
  }
7502
7508
 
7503
- export interface UserOrganizedCrimeResponse {
7504
- organizedCrime: FactionCrime | null;
7509
+ export interface TornItemsResponse {
7510
+ items: TornItem[];
7505
7511
  }
7506
7512
 
7507
- export interface UserList {
7508
- id: UserId;
7513
+ export interface TornFactionTreeBranch {
7514
+ id: FactionBranchId;
7509
7515
  name: string;
7510
- level: number;
7511
- faction_id: FactionId | null;
7512
- last_action: UserLastAction;
7513
- status: UserStatus;
7516
+ upgrades: {
7517
+ name: string;
7518
+ level: number;
7519
+ ability: string;
7520
+ cost: number;
7521
+ challenge: {
7522
+ description: string;
7523
+ amount_required: number;
7524
+ stat: FactionStatEnum;
7525
+ } | null;
7526
+ }[];
7514
7527
  }
7515
7528
 
7516
- export interface UserListResponse {
7517
- list: UserList[];
7518
- _metadata: RequestMetadataWithLinks;
7529
+ export interface TornFactionTree {
7530
+ name: string;
7531
+ branches: TornFactionTreeBranch[];
7519
7532
  }
7520
7533
 
7521
- /** The following selections will fallback to API v1 and may change at any time: 'ammo','bars','basic','battlestats','bazaar','cooldowns','criminalrecord','discord','display','education','equipment','events','gym','honors','icons','inventory','jobpoints','log','medals','merits','messages','missions','money','networth','newevents','newmessages','notifications','perks','profile','properties','refills','reports','skills','stocks','travel','weaponexp','workstats'. */
7522
- export type UserSelectionName =
7523
- | "attacks"
7524
- | "attacksfull"
7534
+ export interface TornFactionTreeResponse {
7535
+ factionTree: TornFactionTree[];
7536
+ }
7537
+
7538
+ /**
7539
+ * The following selections will fallback to API v1 and may change at any time: 'bank','cards','cityshops','companies','competition','dirtybombs','gyms','honors','itemdetails','itemstats','medals','organisedcrimes','pawnshop','pokertables','properties','raidreport','raids','rockpaperscissors','searchforcash','shoplifting','stats','stocks'.
7540
+ * * The following selections are not available in API v2: 'chainreport', 'rackets', 'rankedwarreport', 'rankedwars', 'territorynames', 'territorywarreport', 'territorywars'.
7541
+ */
7542
+ export type TornSelectionName =
7543
+ | "attacklog"
7525
7544
  | "bounties"
7526
7545
  | "calendar"
7527
7546
  | "crimes"
7528
- | "enlistedcars"
7529
- | "factionbalance"
7530
- | "forumfeed"
7531
- | "forumfriends"
7532
- | "forumposts"
7533
- | "forumsubscribedthreads"
7534
- | "forumthreads"
7547
+ | "education"
7548
+ | "factionhof"
7549
+ | "factiontree"
7535
7550
  | "hof"
7536
- | "itemmarket"
7537
- | "jobranks"
7538
- | "list"
7551
+ | "itemammo"
7552
+ | "itemmods"
7553
+ | "items"
7554
+ | "logcategories"
7555
+ | "logtypes"
7539
7556
  | "lookup"
7540
- | "organizedcrime"
7541
- | "personalstats"
7542
- | "races"
7543
- | "revives"
7544
- | "revivesfull"
7557
+ | "subcrimes"
7558
+ | "territory"
7545
7559
  | "timestamp"
7546
- | "ammo"
7547
- | "bars"
7548
- | "basic"
7549
- | "battlestats"
7550
- | "bazaar"
7551
- | "cooldowns"
7552
- | "criminalrecord"
7553
- | "discord"
7554
- | "display"
7555
- | "education"
7556
- | "equipment"
7557
- | "events"
7558
- | "gym"
7560
+ | "bank"
7561
+ | "cards"
7562
+ | "cityshops"
7563
+ | "companies"
7564
+ | "competition"
7565
+ | "dirtybombs"
7566
+ | "gyms"
7559
7567
  | "honors"
7560
- | "icons"
7561
- | "inventory"
7562
- | "jobpoints"
7563
- | "log"
7568
+ | "itemdetails"
7569
+ | "itemstats"
7564
7570
  | "medals"
7565
- | "merits"
7566
- | "messages"
7567
- | "missions"
7568
- | "money"
7569
- | "networth"
7570
- | "newevents"
7571
- | "newmessages"
7572
- | "notifications"
7573
- | "perks"
7574
- | "profile"
7571
+ | "organisedcrimes"
7572
+ | "pawnshop"
7573
+ | "pokertables"
7575
7574
  | "properties"
7576
- | "refills"
7577
- | "reports"
7578
- | "skills"
7575
+ | "raidreport"
7576
+ | "raids"
7577
+ | "rockpaperscissors"
7578
+ | "searchforcash"
7579
+ | "shoplifting"
7580
+ | "stats"
7579
7581
  | "stocks"
7580
- | "travel"
7581
- | "weaponexp"
7582
- | "workstats";
7582
+ | "chainreport"
7583
+ | "rackets"
7584
+ | "rankedwarreport"
7585
+ | "rankedwars"
7586
+ | "territorynames"
7587
+ | "territorywarreport"
7588
+ | "territorywars";
7583
7589
 
7584
- export interface UserLookupResponse {
7585
- selections: UserSelectionName[];
7590
+ export interface TornLookupResponse {
7591
+ selections: TornSelectionName[];
7586
7592
  }