-
Notifications
You must be signed in to change notification settings - Fork 4
Functionality draft
Tibor Zauko edited this page Dec 17, 2018
·
15 revisions
Trainer can:
- log in with username and password
- "catch" (create new) Pokemon
- includes viewing a list of Pokemon Species for selecting species of the "caught" pokemon
- rename (update nickname) Pokemon
- train Pokemon
- increase level (by at least 1)
- evolve - update species to next step in evolution tree
- release (delete) Pokemon
- view Pokemon (their or other trainers teams)
- includes listing all trainers for the case of viewing teams of other trainers
- create a new gym challenge (against a gym which they haven't challenged yet)
- reopen a lost challenge (rechallenge a gym)
- gift Pokemon to other trainer (update trainer id)
- includes listing all trainers
- change their password
- each trainer can change only their own Pokemon - gifting a Pokemon removes it from their management
Gym Leader can:
- do all things a trainer can, except create a challenge against their own gym
- if an outstanding challenge exists for a gym and the trainer then becomes the gym leader, the challenge should automatically be deleted
- if a closed (won/lost) challenge exists for a gym and the trainer then becomes the gym leader, the challenge should be preserved, however, the gym leader should be prevented from modifying this challenge
- gym leader is distinguished from ordinary trainer only by their trainer profile/entity appearing as gym leader in one of the gyms
- view challenges against their gym
- close an outstanding challenge (set its state from
WAITING_TO_ACCEPT
toWON
orLOST
) - (on discovery of serious breach of the pokemon league rules) change state of challenge between
WON
andREVOKED
- set the specialization of a gym in a pokemon type according to their preference (including null for no specialization/mixed)
Admin can:
- do all things a trainer can
- admin is distinguished from ordinary trainer by a set flag (boolean) in their trainer profile/entity
- Create and delete gyms
- Appoint gym leaders (update the gym)
- on appointment, the gyms specialization should reset to null
- one trainer can lead only one gym
- create, update (excl. evolutionary data) and delete pokemon species
- the usual species rules apply (unique species name, must have primary type, can have a secondary type that must be different from primary)
- update pokemon species
- give/revoke admin rights from others
Challenge status:
Only the following challenge status changes are allowed.
- from WON to REVOKED
- from LOST to WAITING_TO_ACCEPT
- from REVOKED to WON
- from WAITING_TO_ACCEPT to WON or LOST