Giter Club home page Giter Club logo

api's People

Contributors

alistair3149 avatar dependabot[bot] avatar octfx avatar spaceenergy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

api's Issues

Making TractorBeam, SalvageModifier stats available

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:

  • Force
  • Range
  • Full strength distance
  • Max angle
  • Max volume

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.

Value should return null when there are no data

For example for the ship Orion, since the data came from Ship Matrix,

image

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.

Starmap Views

Views for viewing / editing Starmap Objects

  • Systems
    • Objects of a system
  • Celestial Objects

Adding data for location turrets

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

Determine whether an item can be stored in inventory

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.

Inconsistent damage between weapon variations

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 } ]

Potentially incorrect missile damage calculation

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:

Wiki API:
image

Erkul:
image

SPViewer
image

UIF
image

As you can see above, the Wiki API has energy damage included while the other excluded it.

Add F8C Lightning

Now that F8C is flight ready, its in game data and pledge store info should be added to the API.

Manufacturers endpoint, has mis-named brands and duplicates

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:

  • "Crusader Industries" appearing 45 times
  • "Drake Interplanetary" appearing 62 times
  • "Ace Astrogen" appearing 58 times
  • etc

image
(credit to Strangelove (Ex-Juval))

image

F8C not returning FOCI as array

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.

Keywords like 85x pulls non related article.

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.

P8-AR returning 404 from items endpoint

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

Mapping for Retaliator (base) and Retaliator Bomber

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.

Talon should not have the missile hardpoint from Talon Shrike

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?

Adding data for bombs

Bombs should have more detailed data related to its performance.

  • Damage
  • Explosion radius
  • Arm time
  • Ignite time

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.

Improving the Weapon/Armour Responses

Gripes

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:

  1. Variant items cannot be filtered out.
  2. Difficult to programmatically distinguish between a base model or a variant when retrieving all weapons/armour.
  3. Items dont list their variants.
  4. Difficult to link a variant item back to its base model's wiki page

Expanding

beginning with my first gripe:

"Variant items cannot be filtered out".

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:

"Difficult to programmatically distinguish between a base model or a variant"

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

"Items dont list their variants"

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

"Difficult to link a variant item back to its base model's wiki page"

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.

Closing off

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.

Refactor Jobs

Comm-Link Chain, only process newly downloaded ones

  • Download

    • Parse
      • Image metadata + hashes
    • Translate
    • Create Wiki Page
      • Approve
  • Configurable Schedule

  • Manual Schedule execution

Exclude Levski in shops data

Levski should be excluded since it is no longer accessible in game. For example, Prospector is listed as buyable on Levski.

Speed data for ground vehicle

Would it be possible to add speed-related stats for ground vehicles in game? Here's a list that might be helpful:

  • Max speed
  • 0 to max speed time
  • Turn rate

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.