maael/temtem-api

[Endpoint]: /api/breeding

Opened this issue · 0 comments

maael commented

This is a rough dump of what I had in mind for the breeding endpoint - I'm not sure how useful it will be, and any alterations/suggestions are welcome.

Endpoint: /api/breeding
Method: POST

Request Body:

{
  "male": {
    "temtem": id or name?,
    "breedingItem": "item name",
    "isLuma": boolean,  
    "stats": {
      "hp": number,
      "sta": number,
      "spd": number,
      "atk": number,
      "def": number,
      "spatk": number,
      "spdef": number,
      "total": number
    },
  },
  "female": {
    "temtem": id or name?,
    "breedingItem": "item name",
    "isLuma": boolean,  
    "stats": {
      "hp": number,
      "sta": number,
      "spd": number,
      "atk": number,
      "def": number,
      "spatk": number,
      "spdef": number,
      "total": number
    },
  }
}

Response:

{
  "temtem": id or name?, //Expandable with ?expand query param to include whole temtem object, will be the female
  "eggTechniques": Technique[],
  "lumaChance": number,
  "trait1": Trait[], // List of possible traits based on held items etc
  "trait2": Trait[], // List of possible traits based on held items etc
  "stats": {
    "hp": { // Based on held items and temtems
      "min": number,
      "minChance": 20,
      "max": number,
      "maxChance": 40,
      "avg": number, // Average rounded up
      "avgChance: 40,
    },
    "sta": { // Based on held items and temtems
      "min": number,
      "minChance": 20,
      "max": number,
      "maxChance": 40,
      "avg": number, // Average rounded up
      "avgChance: 40,
    },,
    "spd": { // Based on held items and temtems
      "min": number,
      "minChance": 20,
      "max": number,
      "maxChance": 40,
      "avg": number, // Average rounded up
      "avgChance: 40,
    },,
    "atk": { // Based on held items and temtems
      "min": number,
      "minChance": 20,
      "max": number,
      "maxChance": 40,
      "avg": number, // Average rounded up
      "avgChance: 40,
    },,
    "def": { // Based on held items and temtems
      "min": number,
      "minChance": 20,
      "max": number,
      "maxChance": 40,
      "avg": number, // Average rounded up
      "avgChance: 40,
    },,
    "spatk": { // Based on held items and temtems
      "min": number,
      "minChance": 20,
      "max": number,
      "maxChance": 40,
      "avg": number, // Average rounded up
      "avgChance: 40,
    },,
    "spdef": { // Based on held items and temtems
      "min": number,
      "minChance": 20,
      "max": number,
      "maxChance": 40,
      "avg": number, // Average rounded up
      "avgChance: 40,
    },
    "total": { // Based on held items and temtems
      "min": number,
      "minChance": 20,
      "max": number,
      "maxChance": 40,
      "avg": number, // Average rounded up
      "avgChance: 40,
    },
  },
}