Thutmose / Pokecube

Primary Development has moved to: https://github.com/Pokecube-Development
https://github.com/Pokecube-Development
19 stars 7 forks source link

Balance suggestion #110

Closed doctorkreger closed 7 years ago

doctorkreger commented 8 years ago

Currently, the best moves like Hyper Beam fire without penalty or limit, making things hilariously easy after getting these types of moves (flying around on Flygon with hyper beam and watching everything melt.) I think if pp can't be easily implemented, maybe have berry costs assigned to some/all moves, requiring some upkeep for such power. Whatever works, there just needs to be a reason to switch from hyper beam from time to time.

Thutmose commented 8 years ago

PP is somewhat currently used for the cooldown between attacks, having them have a hunger cost would probably also be a good idea.

Currently hunger is what they use for determining when to eat berries, I can probably set a hunger cost per move, have it default to being inversely based on PP, then have some moves like hyperbeam have a rather larger cost.

This is a good idea.

jochuan commented 8 years ago

it isn't possible to implement the actual PP system from the pokemons game ? i think that would be strange seeing your pokemon die after being starved when the pp of one move ended

Thutmose commented 8 years ago

PP system doesn't work well with realtime combat, or at least not for having players able to wander around with their pokemobs for a while, and having them guard them, most will run out of PP rather quickly, and then be useless for defense against mobs.

so the way hunger works is as follows:

Every tick, a counter of time since last meal increases. If this counter gets above some number, the pokemob tries to eat something, which lowers it. If it is lower, the pokemob will slowly regenerate health If this counter get above some higher number, the pokemob starts taking hunger damage.

I think the above only applies once out of battle.

Riding a pokemob increases the amount the counter increases each tick, lower the level, the more it increases. RF Siphon increases the amount the counter increases each tick as well.

What I can do is this: Based on PP of the move, increase the hunger counter by a certain amount. This will make it so that after a certain number of move uses, the pokemob will try to eat a berry, and if there are no berries, after a few more move uses, will start to take hunger damage, once out of battle.

jochuan commented 8 years ago

This mean that when it is in battle it still can use the movement as long as he want

XileForce commented 8 years ago

Hmm just an idea. But what about implementing a sort of stamina feature? Where stronger moves use more stamina and stamina regenerates faster or slower depending on lvl and maybe other factors. Then say a strong attack needs 20 stamina but you only have 10 you have to wait a second for it to regen before you can use it. But maybe a weaker attack only requires 2 stamina to use. If the available stamina/max stamina showed in the combat GUI in top left and attacks showed cost as well it would be pretty easy to choose in real time. Basically like PP but having it regenerate passively to work with the real time aspect of the mod better. Idk just throwing out ideas. seems like this would be very difficult to implement anyways.

Thutmose commented 8 years ago

There is already something similar done internally to this, each attack has a "cooldown" which is somewhat based on the PP, I could consider making some way to make this cooldown visible to the player.

jochuan commented 8 years ago

I still think that PP from the pokemon games would be better and as xileforce said it would be regenerated when the pokemon is out of the pokeball the same that happens with the HP now, but that is just a idea

XileForce commented 8 years ago

What if you kept the pp affecting the speed of attacks like it is now, but also made pp a limited, regenerating pool and make its size scale with level. That way it still limits spamming like in the games. So basically rather than having a pp pool per move like in the games. You just have one pp pool that all the moves draw from, akin to mana basically, which still enforces limits on spamming but passively regenerates either at a set rate or scaled depending on level. The pool size would also probably have to scale based on level due to higher level moves usually requiring more pp. Again idk how feasible this is to implement. It's just the only thing I've thought of to get the pp system working right in a real time combat scenario. I think it would also have the effect of slowing down battles a bit which IMO would be good. Sometimes Pokémon duels go so fast you can't even change to a different attack before it's over.

Thutmose commented 8 years ago

Currently this is how it works:

Pokemob uses an attack, based on the attack PP, pokemob stats modifications, and config option, a cooldown timer is set. If the cooldown timer is more than 0, the pokemob will not do an attack, and will wait for cooldown timer to drop below 0. If the cooldown timer is less than 0, the pokemob will use an attack, which resets the timer to a new value, based on said attack.

You can currently slow down battles by increasing the config battle for that timer.

doctorkreger commented 8 years ago

Maybe another feature should be a minimum forced cooldown for some moves, like hyper beam. Flying through a cloud of Zubats on a Flygon with hyper beam is maximum carnage, with what seems to be no limit to firing rate or usage.

Also, as far as displaying the cooldown to players, the move selector could function as a regenerating indicator left to right, with the currently highlighted move firing when the bar is full.

On Thu, Jul 14, 2016 at 5:33 PM, Thutmose notifications@github.com wrote:

Currently this is how it works:

Pokemob uses an attack, based on the attack PP, pokemob stats modifications, and config option, a cooldown timer is set. If the cooldown timer is more than 0, the pokemob will not do an attack, and will wait for cooldown timer to drop below 0. If the cooldown timer is less than 0, the pokemob will use an attack, which resets the timer to a new value, based on said attack.

You can currently slow down battles by increasing the config battle for that timer.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Thutmose/Pokecube/issues/110#issuecomment-232799273, or mute the thread https://github.com/notifications/unsubscribe/AFPlVGgKWPo3o0_vMfLDuJzJUn-_b73jks5qVqtDgaJpZM4JJqwz .

Thutmose commented 7 years ago

Next version will have a regenerating indicator for whether cooldown is over. I have also re-balanced things such that hyperbeam and similar attacks have much longer cooldowns, and cooldowns no longer magically reset when the target is killed, this will greatly reduce spamability of hyperbeam (and other moves)