EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   This might save me a lot of greif (https://www.eqemulator.org/forums/showthread.php?t=26037)

laxative 08-28-2008 04:12 PM

This might save me a lot of greif
 
Ok,

So I'm digging around looking to modify the paladins abilities and skills and I come across this gem.

I do a search of my emulators files for this function "hasskill"

I find this in the client.cpp file

bool Client::HasSkill(SkillType skill_id) const {
return((GetSkill(skill_id) > 0) && CanHaveSkill(skill_id)) then this:

int8 Client::SkillTrainLevel(SkillType skillid, int16 class_){
return(database.GetTrainLevel(class_, skillid, RuleI(Character, MaxLevel)));

Soo,, to the guru's if I understand this correctly this means that this function queries and get's it's answer from the client? in this case Titanium's EQGAME.EXE?

That's going to save me a lot of pain... as I can quickly grep for everything that's client:: and find out exactly what I can and can't do... short of finding the damn titanium client source... now that'd be freaking cool!

Thanks

VallonTallonZek 08-28-2008 05:15 PM

It is talking about the Client class not the actual Client software on the players computer.

The Paladin skills are stored in the database in the Skill_Caps table.

laxative 08-28-2008 08:28 PM

ok fair answer, and I know about the skills_cap table, I've been in there muddling around. Allow me to get more specific:

CanHaveSkill(skill_id)

To me, this would imply canhaveskill has to check "something" to determine whether or not this class can have this skill. Do you, or anyknow where this check is made?

OR, I think maybe someone could confirm that even if I could make it so this check worked, that the client would stop my paladin from Kicking?

I could edit kick in class_skills and give it to the paladin at say.. level 6. Then fill in the tables in the skill_caps but something tells me I'm not going to be kicking anything because the client will override.

Yes?

AND, thank you for correcting me on what I thought was a call to the client executable.

KLS 08-28-2008 09:00 PM

The client will still override things like base class skills no matter what you have set in the db and code unfortunately.

laxative 08-28-2008 09:48 PM

Thank you KLS,

is there any kind of list that would give me a broader understanding of what the client handles?

Right now I'm most interested in having the paladin use the same combat tables, I would think combat is handled almost in full on the server, but I keep failing at locating where the base to hit, and to hit modifiers are...

any help?

Thanks again.

hayward6 08-29-2008 03:28 PM

There's some of that info in the rules_value table like base crit, and things like that... but no break down by class :(

KLS 08-29-2008 07:35 PM

You can give the client things like dodge, parry, riposte, block, etc if you wanted cause it requires no interaction from the client. Things that do the client tends to override, dual wield, backstab, frenzy etc.

You could make a paladin melee exactly the same as a monk, minus special attacks if you wanted to. Would require some changes to the code though.

laxative 08-30-2008 10:01 AM

KLS,

thank you, and I've done exactly that. I modified a lot of the paladin skills that I estimated would not be controlled client side.

He still SUCKS in melee compared to the same level Beastlord BOT (angelox)
I really need to get with Angelox and maybe find out why that is.

One question I do have though is in Skills_cap.cpp there are a bunch of calculations that calculate the 'r' value. I notice from the code it generally does a (level*5) +5 but then goes on to input caps if the toon is below certain levels.

So I've done all the modification to skills in the DATABASE not in the source, I'm wondering if the code if going to override my database.

I'm not leveling crazy fast as I'm buys making merchant lists and working on the low level zones as some of my friends have expressed interest in playing a classic/progression type environment. We're all chipping in for hardware etc. I'm really getting excited about this.

Laxa


All times are GMT -4. The time now is 11:31 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.