Page 2 of 3

Re: Character Stats

Posted: Mon May 25, 2009 1:28 pm
by John Adams
Ok, I can change the default. The only reason I set it to 0 was that after looking at these starting stats, they are all over the board heh.

Any idea what starting stats on Save VS are? If those are all 0's by default, then I'll leave those.

Btw, this is something me or Scatman could implement and not distract you (LE). Or Image, if he's bored ;)

Re: Character Stats

Posted: Mon May 25, 2009 1:30 pm
by John Adams
Also, one more thing regarding default HP/Power... aren't those a calculation based on STA and INT? So maybe I don't need those in the starting_details table?

Re: Character Stats

Posted: Mon May 25, 2009 1:32 pm
by Zcoretri
John Adams wrote:Ok, I can change the default. The only reason I set it to 0 was that after looking at these starting stats, they are all over the board heh.

Any idea what starting stats on Save VS are? If those are all 0's by default, then I'll leave those.

Btw, this is something me or Scatman could implement and not distract you (LE). Or Image, if he's bored ;)

The stats for Save VS are in percent, so depending on what race you are you get a percent bonus or percent decrease.

Re: Character Stats

Posted: Mon May 25, 2009 1:39 pm
by John Adams
Zcoretri wrote:The stats for Save VS are in percent, so depending on what race you are you get a percent bonus or percent decrease.
But those are actually "Traits" right, and not a starting statistic? So it would be like a passive buff, no?

Re: Character Stats

Posted: Mon May 25, 2009 1:41 pm
by Scatman
I can do it.

Maybe instead of having how much hp/power, have the offset for it instead. Like STA * hp_offset to find the new HP, etc.

Re: Character Stats

Posted: Mon May 25, 2009 1:49 pm
by John Adams
Here's the updated structure with data from IGN:

Code: Select all

    CREATE TABLE `starting_details` (
      `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
      `race_id` TINYINT(3) UNSIGNED NOT NULL DEFAULT '255',
      `class_id` TINYINT(3) UNSIGNED NOT NULL DEFAULT '255',
      `max_hp` INT(10) UNSIGNED NOT NULL DEFAULT '40',
      `max_power` INT(10) UNSIGNED NOT NULL DEFAULT '45',
      `max_concentration` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
      `str` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '17',
      `agi` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '17',
      `sta` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '17',
      `intel` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '17',
      `wis` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '17',
      `heat` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '11',
      `cold` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '11',
      `magic` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '11',
      `mental` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '11',
      `divine` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '11',
      `disease` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '11',
      `poison` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '11',
      `coin_copper` INT(10) UNSIGNED NOT NULL DEFAULT '0',
      `coin_silver` INT(10) UNSIGNED NOT NULL DEFAULT '0',
      `coin_gold` INT(10) UNSIGNED NOT NULL DEFAULT '0',
      `coin_plat` INT(10) UNSIGNED NOT NULL DEFAULT '0',
      `status_points` INT(10) UNSIGNED NOT NULL DEFAULT '0',
      PRIMARY KEY  (`id`),
      UNIQUE KEY `RaceClassIDX` (`race_id`,`class_id`)
    ) ENGINE=INNODB;
Data:

Code: Select all

    INSERT  INTO `starting_details`(`id`,`race_id`,`class_id`,`max_hp`,`max_power`,`max_concentration`,`str`,`agi`,`sta`,`intel`,`wis`,`heat`,`cold`,`magic`,`mental`,`divine`,`disease`,`poison`,`coin_copper`,`coin_silver`,`coin_gold`,`coin_plat`,`status_points`)
    VALUES
    (1,0,255,40,45,0,25,20,25,12,18,0,0,0,0,0,0,0,0,0,0,0,0),
    (2,1,255,40,45,0,13,23,15,26,23,0,0,0,0,0,0,0,0,0,0,0,0),
    (3,2,255,40,45,0,22,16,25,12,25,0,0,0,0,0,0,0,0,0,0,0,0),
    (4,3,255,40,45,0,12,18,15,30,25,0,0,0,0,0,0,0,0,0,0,0,0),
    (5,4,255,40,45,0,16,24,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0),
    (6,5,255,40,45,0,12,25,16,27,20,0,0,0,0,0,0,0,0,0,0,0,0),
    (7,6,255,40,45,0,17,25,18,21,19,0,0,0,0,0,0,0,0,0,0,0,0),
    (8,7,255,40,45,0,15,30,17,16,22,0,0,0,0,0,0,0,0,0,0,0,0),
    (9,8,255,40,45,0,10,22,15,23,30,0,0,0,0,0,0,0,0,0,0,0,0),
    (10,9,255,40,45,0,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0),
    (11,10,255,40,45,0,18,22,18,20,22,0,0,0,0,0,0,0,0,0,0,0,0),
    (12,11,255,40,45,0,22,23,20,15,20,0,0,0,0,0,0,0,0,0,0,0,0),
    (13,12,255,40,45,0,30,15,25,15,15,0,0,0,0,0,0,0,0,0,0,0,0),
    (14,13,255,40,45,0,10,30,15,25,20,0,0,0,0,0,0,0,0,0,0,0,0),
    (15,14,255,40,45,0,25,18,30,10,17,0,0,0,0,0,0,0,0,0,0,0,0),
    (16,15,255,40,45,0,14,30,16,17,23,0,0,0,0,0,0,0,0,0,0,0,0),
    (17,16,255,40,45,0,10,30,10,25,25,0,0,0,0,0,0,0,0,0,0,0,0),
    (18,17,255,40,45,0,10,30,10,25,25,0,0,0,0,0,0,0,0,0,0,0,0),
    (19,18,255,40,45,0,21,17,23,15,24,0,0,0,0,0,0,0,0,0,0,0,0);

Re: Character Stats

Posted: Mon May 25, 2009 1:51 pm
by John Adams
Scatman wrote:I can do it.

Maybe instead of having how much hp/power, have the offset for it instead. Like STA * hp_offset to find the new HP, etc.
I was trying for customization as well, maybe if we leave the values empty, World can just figure out some stuff based on some calcs we come up with - otherwise, if I want my level 1 players to have 50HP no matter what... not sure how to preserve that, since once a level 1 goes to level 2, I think World decides on it's own what those values should be.

So this is likely bigger than simply character creation... you can doo eet!

Re: Character Stats

Posted: Mon May 25, 2009 1:52 pm
by Zcoretri
John Adams wrote:
Zcoretri wrote:The stats for Save VS are in percent, so depending on what race you are you get a percent bonus or percent decrease.
But those are actually "Traits" right, and not a starting statistic? So it would be like a passive buff, no?
Yes they are like passive buffs, but they are not "character traits" that you can chose from, you get them as soon as you create your character, so I take it that they are a starting stat, so whatever your base vs. is you get 3% more poison resist for example.

Re: Character Stats

Posted: Mon May 25, 2009 1:55 pm
by John Adams
Oops, bad wording on my part. Let me clarify, I mean that they are a passive spell, on the player at all times, from the time of their birth, and cannot be canceled, dispelled, or removed in any way.

BUT!

They are still "Spells" as far as we're concerned. At least, that's my understanding of how buffs, passive and active, work here.

Re: Character Stats

Posted: Mon May 25, 2009 2:18 pm
by Zcoretri
Nah, these are not spells, they stat additions.

Re: Character Stats

Posted: Mon May 25, 2009 2:22 pm
by John Adams
Ok, since you insist.

How do you plan to implement the "spell" that Characters get to increase their str, agi, sta, int, or wis, or their cold, heat, poison, etc... when they reach levels 8, 18, 28, etc...?

You plan to just shove a new value into the DB for character_details.cold? +5?

Because that's not how I see it working. How I see it working is that when the player logs in, zones or whatever, the world just knows these perma-buffs exist, and applies them. Like magic. But they are still "spells", still have spell data, class/race/level restrictions, still have a spell script, and function like any other passive SPELL. :P

Re: Character Stats

Posted: Mon May 25, 2009 2:25 pm
by Scatman
My assumption would be that they are spells too, just like the passive AA's are spells that can never be debuffed and you can't see them in your buff window (most). When you put a point into an AA it even says, "You learn EQ2Emu Uberness (Apprentice I)" when you put the first point into it. It bumps up to Apprentice II when you put the second point into it, etc.

Re: Character Stats

Posted: Mon May 25, 2009 2:36 pm
by Zcoretri
Just more spell stuff that needs implementation then :mrgreen:

Re: Character Stats

Posted: Mon May 25, 2009 2:37 pm
by John Adams
I understand that. But I do not think you understand the implementation concepts vs just simply adding values.

Doesn't matter whether they are base or buff. They have to be modified somehow, and everything we've been discussing on this for 2 years has been using Spells to do it - regardless of how it looks on the player-end of an SOE server... this is the emulator, and how we might implement the same functionality.

For instance, in our character_details table, a barbarian char will have 0 vs cold as a base stat. But, as you've pointed out, Barbarian races get a bonus vs cold just for being barbarians. That does not mean we shove a 3 into the barbarian characters "cold" field.

Instead, being a Barbarian, when that player logs in, "passive effects" are applied - one being, the 3% vs cold bonus. Therefore, I do not believe our implementation of these passive effects will be a hard-coded value added to existing values and permanently stored in a data table... but instead, applied by world at login/zone.

Shrug. If I'm wrong, then I'm wrong. Don't really care. :) Just trying to express my view of where I thought we were going with "Spells", arts, spells, traits, AA, whatever. Cuz this is certainly how I've designed the Spells data thusfar.

Re: Character Stats

Posted: Mon May 25, 2009 4:11 pm
by LethalEncounter
John Adams wrote: Instead, being a Barbarian, when that player logs in, "passive effects" are applied - one being, the 3% vs cold bonus.
Passive effects like this should be spells that are applied whenever the player logs in. In fact, that is how SOE handles passive effects. We just need to add the capability to the emu.