Author |
Message |
![[Post New]](/dcforum/templates/default/images/icon_minipost_new.gif) 12/11/2007 17:41:05
|
BattleMode
Rampage
![[Avatar]](/dcforum/images/avatar/043c3d7e489c69b48737cc0c92d0f3a2.jpg)
Joined: 11/14/2007 01:35:49
Messages: 126
Offline
|
Szlat wrote:
One thing we haven't discussed is Stats. In a separate thread we discussed how Stats should be capped differently for different Classes, but we haven't discussed what should be Stats. I suppose if an ability is available to all classes, and it has a numeric incremental value, then it could be consider for a stat.
IMO this should be simplified. Not stats and abilities, but just abilities. This also makes it easier to create dynamic rules for class like setups where for example the max of an ability can be determined by the players class (for those who like classes). I also think all abilities (including health) should be derived from the same generic ability class. I am also hoping this aproach will make creating a dynamic user interface allowing the player to configure everything easier.
You would end up with the following class types:
* abilities
* weapon magic
* vehicle magic (not in UT2004 RPG)
* artifacts
I now have a working prototype (which now already has a persistent player database that is separate from the RPG settings, custom HUD and some other useful stuff) and the next step will be to add a generic system for adding those classes and allowing the server owner to determine the rules and the player to define his build. This is a tad complicated so I might need multiple attempts to get this right.
An example:
Code:
class BattleAbility_HealthBonus extends BattleAbilityClass;
static function ServerModifyPlayer (UTPawn P, int Level)
{
P.Health = P.default.Health + Level;
}
defaultproperties
{
AbilityName = "Health bonus";
AbilityDescription = "Gives you extra health every time you spawn.";
AbilityDefaultMaxLevel = 100;
}
|
|
 |
![[Post New]](/dcforum/templates/default/images/icon_minipost_new.gif) 12/12/2007 00:54:56
|
Szlat
Wicked Sick!
Joined: 05/18/2005 18:32:41
Messages: 2124
Location: UK
Offline
|
BattleMode wrote:
IMO this should be simplified. Not stats and abilities, but just abilities.
I like the thought of keeping things simple. And if the stats were abilities, it would mean then that even these were under the control of the server admins.
From an implementation point of view, it is easier. The only downside would be that abilities currently have a max of about 20 levels, with most having less than 10 levels. These stats ones could easily have 100-300 levels, each one point each.
Instead, I think it may be better to bundle points together - so for example the health bonus ability could have 20 levels, each of which costs 5 points and gives you +10 health.
And I know the code snippet is only an example, but for completeness you might want to also increase HealthMax.
|
|
 |
![[Post New]](/dcforum/templates/default/images/icon_minipost_new.gif) 12/12/2007 01:47:10
|
BattleMode
Rampage
![[Avatar]](/dcforum/images/avatar/043c3d7e489c69b48737cc0c92d0f3a2.jpg)
Joined: 11/14/2007 01:35:49
Messages: 126
Offline
|
Szlat wrote:
I like the thought of keeping things simple. And if the stats were abilities, it would mean then that even these were under the control of the server admins.
My thoughts exactly.
Szlat wrote:
From an implementation point of view, it is easier. The only downside would be that abilities currently have a max of about 20 levels, with most having less than 10 levels. These stats ones could easily have 100-300 levels, each one point each.
Instead, I think it may be better to bundle points together - so for example the health bonus ability could have 20 levels, each of which costs 5 points and gives you +10 health.
Thats a good idea.
Szlat wrote:
And I know the code snippet is only an example, but for completeness you might want to also increase HealthMax.
Good point, thanks, especially since it it not just an example but an actual part of the source code I am currently working on .
New version:Code:
class BattleAbility_HealthBonus extends BattleAbility;
static function ServerModifyPlayer (UTPawn P, int Level)
{
P.Health = P.default.Health + Level;
P.HealthMax = P.default.HealthMax + Level;
}
defaultproperties
{
AbilityName = "Health bonus";
AbilityDescription = "Gives you extra 10 extra health per level every time you spawn.";
AbilityMaxLevel = 10;
AbilityLevel1Cost = 5;
AbilityCostIncreasePerLevel = 0;
}
|
|
 |
|
|
|