Set stats depending which profession

Serj

Member
Jun 13, 2018
15
0
32
Hi
I would like to set fix Stats depending which prof. player choose in CharacterCreation gump
So it works with race like this
C#:
private static void SetStats(Mobile m, NetState state, int str, int dex, int intel)
        {
            var max = state.NewCharacterCreation ? 225 : 250;//

            FixStats(ref str, ref dex, ref intel, max);

            if (str < 10 || str > 60 || dex < 10 || dex > 60 || intel < 10 || intel > 60 || (str + dex + intel) != max)
            {
                if( m.Race==Race.Elf)
                {
                str = 70;//
                dex = 25;//
                intel = 100;//
                }
                else
                    {
                str = 100;//
                dex = 10;//
                intel = 100;//
                }
            }

            m.InitStats(str, dex, intel);
        }
But not with profession
I tryied to use
if(args.profession==1) or
if (prof==1) or
if (pm.profession==1)
nothing seems to work
 

Grimoric

Well-Known Member
Mar 21, 2015
182
44
44
I don't have a server to reference at the moment.

But I guess that function is called then you have not selected a specific profession. It is called then you selected your own skills.
Isn't it another function with the same name that has an extra parameter called "prof " used when you select your profession?

-Grim
 

Serj

Member
Jun 13, 2018
15
0
32
there is
C#:
private static void SetSkills(Mobile m, SkillNameValue[] skills, int prof)
        {
            switch (prof)
            {
                case 1: // Warrior
                {
                    skills = new[]
                    {
                        new SkillNameValue(SkillName.Hiding, 99), new SkillNameValue(SkillName.Parry, 99),
                        new SkillNameValue(SkillName.Swords, 99), new SkillNameValue(SkillName.Healing, 99)
                        , new SkillNameValue(SkillName.MagicResist, 99)
                    };

                    break;
                }
                case 2: // Magician
                {
                    skills = new[]
                    {
                        new SkillNameValue(SkillName.EvalInt, 100),
                        new SkillNameValue(SkillName.Magery, 99), new SkillNameValue(SkillName.Meditation, 99),
                        new SkillNameValue(SkillName.Hiding, 99), new SkillNameValue(SkillName.Healing, 99)
                    };

                    break;
                }
                case 3: // Blacksmith
                {
                    skills = new[]
                    {
                        new SkillNameValue(SkillName.AnimalTaming, 99), new SkillNameValue(SkillName.AnimalLore, 100),
                        new SkillNameValue(SkillName.Veterinary, 99), new SkillNameValue(SkillName.Hiding, 99), new SkillNameValue(SkillName.Healing, 99)
                    };

                    break;
and so on...
 

Grimoric

Well-Known Member
Mar 21, 2015
182
44
44
Should be a function like SetStats(Mobile m, NetState state, int Profession, int str, int dex, int intel) if there isn't a changed recently. This function is called when a player has selected a profession and the stats are set ardently.

-Grim
 

Serj

Member
Jun 13, 2018
15
0
32
WA o_O Thanks
I don't have this part Maybe i have an old version or i deleted it for some reason
P.S. Interesting How they use the same "method" by adding one parameter
 

Grimoric

Well-Known Member
Mar 21, 2015
182
44
44
Ah ok, It was added on 3rd April so it is a new addition to the server. You can still copy the function and implement it on your own server if you have too many things changed.

-Grim
 

Serj

Member
Jun 13, 2018
15
0
32
hmm strange
First need to switch with places-priority method "SetStats"
second its get variables from... I don't know where from Cause such variables even not exist in method SetStats