May-02-2024, 09:02 PM
I'm gearing up to make a CCRPG in Python. The characters will be point bought. The starting points for a level 1 character is 100 points. Each level up gives them another 20 points. This will be super heroic in genre and the abilities reflect such. I'm working with a 2d plane so Flight will do things like add defense as well as immunity to pits and floor traps.
The abilities will all be 20 points at first level and 10 points at every other level of purchase. The levels of purchase can change multiple things. Let's say you bought level 1 Fire Powers the initial purchase costs 20 points (so the equivalent of a level up), each subsequent level costs 10. When you invest that 20 in Fire Powers, you gain an attack that does 5 damage (example for sake of discussion). When you put in the 10 points you have the choice of increasing the base attack's damage by 5, making an area of effect attack that does 5, or put down a hazard that persists for a duration called Fire Rain that at base lasts 3 turns doing 5 damage to everything in it a turn. Let's say you increased the base attack's damage by 5, so it does 10. All the other aspects of Fire Powers that your bought are still doing 5 damage. Let's say you put in another 10 points you have the choice of increasing the base attack's damage further, buying an aspect, or increasing an aspect that you bought already's damage by 5 (or increasing it's duration in case of the Fire Rain).
With such a widely varying character creation and leveling system, which data structure is best to save the characters in? I'll have a party of these characters, would it be best to have a data structure for each individual character?
The abilities will all be 20 points at first level and 10 points at every other level of purchase. The levels of purchase can change multiple things. Let's say you bought level 1 Fire Powers the initial purchase costs 20 points (so the equivalent of a level up), each subsequent level costs 10. When you invest that 20 in Fire Powers, you gain an attack that does 5 damage (example for sake of discussion). When you put in the 10 points you have the choice of increasing the base attack's damage by 5, making an area of effect attack that does 5, or put down a hazard that persists for a duration called Fire Rain that at base lasts 3 turns doing 5 damage to everything in it a turn. Let's say you increased the base attack's damage by 5, so it does 10. All the other aspects of Fire Powers that your bought are still doing 5 damage. Let's say you put in another 10 points you have the choice of increasing the base attack's damage further, buying an aspect, or increasing an aspect that you bought already's damage by 5 (or increasing it's duration in case of the Fire Rain).
With such a widely varying character creation and leveling system, which data structure is best to save the characters in? I'll have a party of these characters, would it be best to have a data structure for each individual character?