PlaneShift

Gameplay => Newbie Help (Start Here) => Topic started by: Quipp on May 22, 2006, 05:54:47 am

Title: Estimating enemies
Post by: Quipp on May 22, 2006, 05:54:47 am
Hello, I am pretty new, but every time i right-click somthing and read the bottom of the description it tells me that I try to estimate the strength of <name> but have no clue. What attribute must I train in order for me to do this? and what level must that attribute be?
Title: Re: Estimating enemies
Post by: Karyuu on May 22, 2006, 06:08:04 am
Hiya Quipp, welcome to the community :}

Having a higher Intelligence stat will let you make better estimations of the strength of others. And if someone has a high charisma, it can boost how strong they appear to others. As for how high your Intelligence must be for you to begin to sense the strengths, aim for 50 and above.
Title: Re: Estimating enemies
Post by: DaveG on May 22, 2006, 05:21:18 pm
Getting past the 100 mark will improve your estimating skills even more.
Title: Re: Estimating enemies
Post by: Leritho on May 22, 2006, 06:21:13 pm
Hi,

since the starter seems to have aked a question which is alright to ask - I would like to know which characteristics do (or which don't) influence the strength others believe I have.
Title: Re: Estimating enemies
Post by: Bereror on May 22, 2006, 06:43:34 pm
since the starter seems to have aked a question which is alright to ask - I would like to know which characteristics do (or which don't) influence the strength others believe I have.

All your stats.
Title: Re: Estimating enemies
Post by: Leritho on May 22, 2006, 07:02:48 pm
Just that I am  not mistaken here:

Lets say I become a freakin good chef, are the best singer in Yliakum and have plenty of other skill which do not influence my phisical strength or ability to fight at all, I could still be seen as  'impossible to defeat'? Is it a smart move than to train any other skill if I am a guy how is proud of his duell points?

How I see it, the best way would be than to train only strength, agility, endurance, light-amor and sword and therefore be seen as a medium character, but I would probalby always win in any duell where the other has about the same 'strength'.

So, does the strength-thing makes sence than at all or is it just confusing? With the concept of my guild - I shouldn't even complain here, but I still would like to have that indicator beeing more precise.
Title: Re: Estimating enemies
Post by: Herleva on May 22, 2006, 07:10:02 pm
With "All your stats" Bereror means "All your stats", not your skills.
you can be lousy in all skills, when your stats are top you will appear strong.
(stats: agility, intelligence, charisma, endurance, strength, will)

Greetings

Herleva, Freelancer
Title: Re: Estimating enemies
Post by: Quipp on May 22, 2006, 09:23:24 pm
Thanks for the info guys.
Title: Re: Estimating enemies
Post by: DaveG on May 22, 2006, 10:14:59 pm
What it does, is grab the average of all 6 stats for you and the target, and takes the difference.  The description output is based on which bracket that difference falls into.

I'm lazy, so here's the code from src/server/usermanager.cpp (http://planeshift.cvs.sourceforge.net/*checkout*/planeshift/planeshift/src/server/usermanager.cpp)
Code: [Select]
            if ( playerAttr->GetStat(PSITEMSTATS_STAT_INTELLIGENCE) < 50 )
                desc.AppendFmt( "\n\nYou try to evaluate the strength of %s, but you have no clue.", charName.GetData() );
            else
            {
                // Character's Strength assessment code below.
                char* StrengthGuessPhrases[] = {"won't require any effort to defeat",
                                                "is noticeably weaker than you",
                                                "won't pose much of a challenge",
                                                "is not quite as strong as you",
                                                "is about as strong as you",
                                                "is somewhat stronger than you",
                                                "will pose a challenge to defeat",
                                                "is signifigantly more powerful than you",
                                                "may be impossible to defeat" };
   
                bool smart = (playerAttr->GetStat(PSITEMSTATS_STAT_INTELLIGENCE) >= 100);

                int CharsLvl      = charData->GetCharLevel();
                int PlayersLvl    = client->GetCharacterData()->GetCharLevel();
                int LvlDifference = PlayersLvl - CharsLvl;
                int Phrase        = 0;

                if ( LvlDifference >= 50 )
                    Phrase = 0;
                else if ( LvlDifference > 30 )
                    Phrase = 1;
                else if ( LvlDifference > 15 && smart)
                    Phrase = 2;
                else if ( LvlDifference > 5 )
                    Phrase = 3;
                else if ( LvlDifference >= -5 && LvlDifference <= 5 )
                    Phrase = 4;
                else if ( LvlDifference >= -15 )
                    Phrase = 5;
                else if ( LvlDifference >= -30 && smart)
                    Phrase = 6;
                else if ( LvlDifference >= -45 )
                    Phrase = 7;
                else if ( LvlDifference < -50 )
                    Phrase = 8;

                // Enable for Debugging only
                // desc+="\n CharsLvl: "; desc+=CharsLvl; desc+=" | YourLvl: "; desc+=PlayersLvl; desc+="\n";

                desc.AppendFmt( "\n\nYou evaluate that %s %s.", charName.GetData(), StrengthGuessPhrases[Phrase] );
            }

The "level" is just from this, in src/server/bulkobjects/pscharacter.cpp (http://planeshift.cvs.sourceforge.net/*checkout*/planeshift/planeshift/src/server/bulkobjects/pscharacter.cpp)
Code: [Select]
unsigned int psCharacter::GetCharLevel()
{
    return ( attributes.GetStat(PSITEMSTATS_STAT_STRENGTH) +
             attributes.GetStat(PSITEMSTATS_STAT_ENDURANCE) +
             attributes.GetStat(PSITEMSTATS_STAT_AGILITY) +
             attributes.GetStat(PSITEMSTATS_STAT_INTELLIGENCE) +
             attributes.GetStat(PSITEMSTATS_STAT_WILL) +
             attributes.GetStat(PSITEMSTATS_STAT_CHARISMA) ) / 6;
}

Welcome to the land of open-source.  :P
Title: Re: Estimating enemies
Post by: Leritho on May 22, 2006, 11:11:32 pm
yes, thanks a lot!

/me is very grateful for the information and bows several times...    :sorcerer:

*edit - add

there is a typo: signifigantly ->significantly

*2nd edit

I've made a suggestion for the identifying thing - that it would depend also on the difference of a combination of Charisma and Itelligence of both players in this post (http://hydlaa.com/smf/index.php?topic=23580.msg259059#msg259059).