starcitizenwiki / api Goto Github PK
View Code? Open in Web Editor NEWThe star-citizen.wiki API. Automatically scrapes Comm-Links, Stats and In-Game Data.
Home Page: https://api.star-citizen.wiki
License: MIT License
The star-citizen.wiki API. Automatically scrapes Comm-Links, Stats and In-Game Data.
Home Page: https://api.star-citizen.wiki
License: MIT License
Currently, the JSON files from SCUnpacked does not contain any stats on the tractor beams.
For tractor beams. stats below would be helpful to the community:
On a side note. SalvageModifier can be different modules such as Tractor Module or Scraper Module. Those stats are not available on the API yet as well.
For example for the ship Orion, since the data came from Ship Matrix,
The values marked with -
should return null
instead of 0
as there are no data on it.
Btw the insurance
object on Orion should return null or empty also since there are no data.
Similar to SCU/Cargo capacity, 0
provides more information as it indicates that the ship cannot intake any fuel, whereas null
can also mean the data is missing.
Views for viewing / editing Starmap Objects
According to the dump, 890J should have a hardpoint_medical_bed
hardpoint.
However those are not present in the API response.
There are various ground turrets implemented in game. It will be useful to have the stats of the turrets since they are increasing common in missions related to outpost
BEHR_groundturret_AA_S4
BRAA_groundturret_AA
BRAA_groundturret_AP_S1
The dimension of Caterpillar on the ship API seems to be incorrect.
Issue:
It seems that some vehicles that got their name
property from Pledge Store have trailing whitespaces behind the string.
For example, on https://api.star-citizen.wiki/api/v2/vehicles/04571d49-0680-4b84-bdb1-dbebeb22c898
"name": "Ares Inferno ",
should be
"name": "Ares Inferno",
Some food items can not be stored in inventory (e.g. hotdog, ice cream, etc.)
It would be nice to know whether an item can be stored in inventory.
One possible solution is to detect whether there is a Store
action under SEntityInteractableParams
. Maybe there are better ways but I am unsure.
I'm finding it a little strange that a weapon with a slightly different paint can change its damage properties, here are some examples i've encountered so far
FS-9 LMG returns: damages: [ { type: 'impact', name: 'physical', damage: 3 } ]
FS-9 "Evergreen" LMG returns: damages: [ { type: 'impact', name: 'distortion', damage: 35 } ]
FS-9 "Finish Line" LMG returns: damages: [ { type: 'impact', name: 'physical', damage: 15 } ]
A03 Sniper Rifle returns: damages: [ { type: 'impact', name: 'physical', damage: 10.5 } ]
A03 "Canuto" Sniper Rifle returns: damages: [ { type: 'impact', name: 'stun', damage: 1 } ]
Arclight Pistol returns: damages: [ { type: 'impact', name: 'energy', damage: 15 } ]
Arclight "Herrero" Pistol returns: damages: [ { type: 'impact', name: 'stun', damage: 10 } ]
I am not entirely sure how missile damage are calculated, but it seems that there is a discrepancy between how the API calculates it and other tools such as Erkul and SPViewer.
Take Spark I as an example:
As you can see above, the Wiki API has energy damage included while the other excluded it.
API response when querying the Apollo Medivac/Triage, returns a null value for its crew capacity.
Namely the inventoryOccupancyVolume
data
Now that F8C is flight ready, its in game data and pledge store info should be added to the API.
Various brands such as Firestorm Kinetics (FSKI) and MaxOx (MXOX) have been named "Aegis Dynamics".
Additionally, there are a lot of duplicate entries for brands are present throughout the response, these duplicate brands also do not have any brand code attached to them, including:
I've noticed that the F8C does not return its foci
as an array like most other ships.
requesting a 100i gives me the following response:
[
{ en_EN: 'Starter', de_DE: 'Einsteiger' },
{ en_EN: 'Touring', de_DE: 'Reisen' }
]
an 890j will give me:
[
{ en_EN: 'Luxury Touring', de_DE: 'Luxus-Reisen' }
]
but an F8C will give me:
{ en_EN: 'Combat' }
appears to be the only ship that returns its foci this way from what I have found so far.
Feature request:
Would it be possible to route UUID to the correct API with only UUID?
For example, https://api.star-citizen.wiki/api/search/968249b2-ca7c-4b41-8f58-730673fefc8c would result in the Mustang Gamma Vehicle V2 API output (https://api.star-citizen.wiki/api/v2/vehicles/968249b2-ca7c-4b41-8f58-730673fefc8c).
Fury should have 0 as cargo capacity instead of 0.06.
curl -X 'POST' \ 'https://api.star-citizen.wiki/api/v2/galactapedia/search' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "query": "85x" }'
returns
The 85x article and Ellis Belt Alpha.
{ "id": "0Gz5jL9vgP", "title": "85x", "slug": "origin-85x", "thumbnail": "https://cig-galactapedia-prod.s3.amazonaws.com/upload/973b4072-d906-4bd6-bb91-7a425f2c6450", "type": "SpacecraftShip", "rsi_url": "https://robertsspaceindustries.com/galactapedia/article/0Gz5jL9vgP-origin-85x", "api_url": "https://api.star-citizen.wiki/api/v2/galactapedia/0Gz5jL9vgP", "created_at": "2021-02-08T00:46:03.000000Z" }, { "id": "02k585XkQe", "title": "Ellis Belt Alpha", "slug": "ellis-belt-alpha", "thumbnail": "https://cig-galactapedia-prod.s3.amazonaws.com/upload/bbd1aafa-d286-484b-ab90-63c1ec6a7ed1", "type": "PlanetMoonSpaceStationPlatform", "rsi_url": "https://robertsspaceindustries.com/galactapedia/article/02k585XkQe-ellis-belt-alpha", "api_url": "https://api.star-citizen.wiki/api/v2/galactapedia/02k585XkQe", "created_at": "2022-04-27T00:01:35.000000Z" }
Per: https://robertsspaceindustries.com/galactapedia/search?query=85x
Only shows 1 article.
Requesting the Behring P8-AR Rifle from /api/v2/items/P8-AR Rifle
or by its UUID 957822ba-821d-47aa-a2f8-22d5e1321de
returns a 404 status code.
the item is listed under /api/v2/items
and its manufacturer /api/v2/manufacturers/behr
According to the dump, Vulture should have a GravityGenerator
and LifeSupportGenerator
hardpoint.
However those are not present in the API response.
The ports exist but there are no specified missiles attached to them.
https://api.star-citizen.wiki/api/v2/vehicles/8bbcd2cd-1e4b-4b0b-a65c-385bb2a02c32?include=hardpoints
As indicated here, C8R should skip the cargo grid hardpoints.
Would it be possible to include mass for the item API?
It seems that the ship matrix info for the base Retaliator is mapped to Retaliator Bomber (e.g. Tali should have Heavy Bomber
instead of Heavy Gunship
for focus).
It is a bit confusing because there are only one Tali in game, which is the Retaliator Bomber
, but it is named only Retaliator
in game.
However, Retaliator
is referred to the base version in ship matrix and Retaliator Bomber
for the bomber.
Black Mountain Sujin Tea (Medium Blend) and Breakfast dog is sold in game but there are no shop data in the API. Could be more items but those are the two that I found.
It seems that Talon has the missile hardpoints and racks that are exclusive to Talon Shrike. Similar things have happened with Constellation and 300 series before too, maybe there's other way to differentiate whether a hardpoint exist on a variant?
A2 bomb rack (BMBRCK_CRUS_STARL_Left
) has the name MSD-313 Missile Rack
.
https://github.com/StarCitizenWiki/scunpacked-data/blob/3cfde6041ea161d09b721ef42e278598468c0b2a/v2/items/bmbrck_crus_starl_left.json#L4
Bombs should have more detailed data related to its performance.
On a side note, what is the difference between physical damage and energy damage on missiles, torpedoes, and bombs? I couldn't find much info about it.
{
"code": 500,
"message": "App\\Models\\SC\\Vehicle\\Vehicle::getScuAttribute(): Return value must be of type float, null returned"
}
Example: Sabre
I've recently encountered a few issues/gripes when dealing with armour / weapon items retrieved from the api.
I'll expand on these later in this issue, but for brevity, they are as follows:
beginning with my first gripe:
Frankly there are a LOT of weapons and armour items that are fundamentally the same outside of their respective colorways and being able to filter out these items would reduce clutter and the overwhelming amount of items being presented.
If we want to achieve this at the request/response level, it could be achieved by adding a filter flag that a user can pass into the request url, such as listVariants=[true|false]
โ or we can let the user distinguish between items themselves, which brings me to:
When requesting weapons / armour from their respective endpoints (/api/v2/weapons
and /api/v2/armor
respectively) there is no immediate indicator that an item is a variant. This information is only actually given when directly requesting a specific item. For example, A personal weapon will return a base_model
attribute containing a direct API link if it is a variant, while a "base model" weapon does not.
providing a base_model
attribute through the /api/v2/weapons
endpoint would allow the user to still retrieve all weapons if they choose, but also the ability to filter out items that contain a base_model
attribute when needed
This could be theoratically achieved by adding the base_model
attribute to the personal_weapon_link_v2
schema resulting in the following example response:
[
{
"uuid": "1aad8334-8d0a-4dd1-bcca-bd195bc013a7",
"name": "A03 \"Canuto\" Sniper Rifle",
"type": "Sniper Rifle",
"class": "Ballistic",
"manufacturer": {
"name": "Gemini",
"code": "GEM",
"link": "https://api.star-citizen.wiki/api/v2/manufacturers/Gemini"
},
"base_model": "https://api.star-citizen.wiki/api/v2/personal-weapons/6b1fb5e8-f9ec-49bc-befb-c81b7c08c5ea",
"link": "https://api.star-citizen.wiki/api/v2/items/1aad8334-8d0a-4dd1-bcca-bd195bc013a7",
"updated_at": "2023-12-15T10:02:47.000000Z",
"version": "3.22.0-LIVE.9003376"
},
]
This is slightly more annoying when it comes to armour, as some armour variants/colorways dont provide a base_model
attribute in their clothing
schema at all
While I dont think this is particularly important or impactful, I still think it is worth mentioning.
I would like for specific item responses to also return a list of its variants, similar to how a vehicle may list its loaners. this would allow for faster traversal over related items, when also providing item variants
This issue, I find particularly annoying. being able to provide a link back to an items wiki page, allows me to present a user to see more information about an item by pointing them to that page. with vehicles, I was able to achieve this by formatting the returned ship name and creating a link from it, however item variants do not poses their own dedicated wiki page, and as i'm unable to always reliably or efficiently grab the items base model, I cannot create or provide that link.
At the moment, everything outlined above are just gripes, I may have completely missed or overlooked something or could simply be flat-out wrong. If so, please tell me. however, I wish to present this issue as a somewhat open discussion towards how the api may be improved and made more accessible.
Ships like 100i and 300i have the bed hardpoints in the API, while ships like Carrack and Cutlass Black are missing the bed hardpoints even though they are present in the SCUnpacked data.
Issue:
https://api.star-citizen.wiki/api/v2/vehicles/4c034eef-329c-4336-850e-49bfb1f06a15 should have the same output as https://api.star-citizen.wiki/api/v2/vehicles/Lynx, like the other vehicles
Comm-Link Chain, only process newly downloaded ones
Download
Configurable Schedule
Manual Schedule execution
Constellation Taurus should have 174 SCU instead of 6 SCU. Seems like the 168 SCU cargo grid f2701031-8df7-49cb-8f74-ea88bdc536e8
was not counted.
Levski should be excluded since it is no longer accessible in game. For example, Prospector is listed as buyable on Levski.
Would it be possible to add armor stats to the v2 vehicles API?
Would it be possible to include the game data vehicle size in the API?
Ship matrix size is sometimes inconsistent with what is in the game data (see here for example)
Each route with usage examples
Would it be possible to add speed-related stats for ground vehicles in game? Here's a list that might be helpful:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.