Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Development

Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-21-2002, 02:31 PM
RadiationVibe
Fire Beetle
 
Join Date: Jan 2002
Posts: 8
Default Combat

Is anyone working on refining the combat? I have been trying to figure out how EQ calculates the attack number so we can have a closer combat system.

I have a formula that is very close for the weapon skill portion. It's not exactly the same but very close. I'd say over 70% of the numbers are exact and the remaining 30% are 1 point off. I still need to add the strength and offense parts.
Reply With Quote
  #2  
Old 01-21-2002, 04:04 PM
Nada
Sarnak
 
Join Date: Jan 2002
Posts: 87
Default

Keep us updated with the infomation about combat code. I think the emu really needs a new combat system and, If you can post the code when its in a later stage.
Reply With Quote
  #3  
Old 01-22-2002, 04:21 AM
Socket
Fire Beetle
 
Join Date: Jan 2002
Posts: 5
Default

Give me some feedback on this. I'd like to know what you like/don't like about the current combat code.
Reply With Quote
  #4  
Old 01-22-2002, 04:57 AM
Nada
Sarnak
 
Join Date: Jan 2002
Posts: 87
Default

Its kinda off beat compared to the live servers, which it should we cant be perfect on it. For example i make my self lvl 40 grab the warrior 2handed epic and im hitting for 500-600 and im totaly stripped no armor at all. Also duel wield i think combat classes should have duel wield constantly working when you use 2 weapons. Most of all i think you hit to hard for your level maybe reduce the max hit for levels etc and, possible add berserker for warriors when they on about last bubble of hp. I have more to say just im at school dont have alot of time.
Reply With Quote
  #5  
Old 01-22-2002, 05:02 AM
RadiationVibe
Fire Beetle
 
Join Date: Jan 2002
Posts: 8
Default

I'm not saying I like or dislike anything. Actually what has been done so far is great. I would just like to see it closer to the real eq system. My goal is to determine how it calculates the attack and defense ratings then use those numbers hopefully in a similar way to the real eq.
Reply With Quote
  #6  
Old 01-22-2002, 05:17 AM
darvik
Fire Beetle
 
Join Date: Jan 2002
Posts: 21
Default

The formula is definetly out of whack. Last night I signed in, leveled myself to 70th , memmed ice commet , spawned a level 50 mob with default max HPs .. (something like 2420) , and boy was I surprised when she smacked me down in 1 hit for 2600+ damage with no weapon!

-- Darvik
Reply With Quote
  #7  
Old 01-22-2002, 05:28 AM
Hmm
Discordant
 
Join Date: Jan 2002
Posts: 276
Default

dar thats because you go defense skill of zero
__________________
Hmm...
Reply With Quote
  #8  
Old 01-22-2002, 07:06 AM
devn00b's Avatar
devn00b
Demi-God
 
Join Date: Jan 2002
Posts: 15,658
Default

one thing i have noticed is that when i summon a lvl 70 mob say and im like lvl 61 the mob NEVER hits me...or when it does its for 10-25dammage...now a lvl 70 mob should be hitting for what? 350ish im guessing..need to set dammage by mob lvl im guessing..
__________________
(Former)Senior EQEMu Developer
GuildWars Co-Founder / World Builder.
World Builder and Co-Founder Zek [PVP/Guild Wars/City Takeovers]
Member of the "I hate devn00b" Club
Most Senior EQEMu Member.

Current Work: EverQuest 2 Emulator. Zeklabs Server
Reply With Quote
  #9  
Old 01-22-2002, 08:47 AM
Francisco
Fire Beetle
 
Join Date: Jan 2002
Posts: 8
Default

It should be flurrying on you every round too :p
Reply With Quote
  #10  
Old 01-22-2002, 09:54 AM
DeletedUser
Fire Beetle
 
Join Date: Sep 2002
Posts: 0
Default

Yes, I am working on combat code, I will post the formulas right here: (Please note these are not on the public emu for two major reasons, 1) npcs do not have "base stats", 2) AC checks aren't functioning properly) PLEASE UNDERSTAND NOT ALL OF THESE ARE CODED INTO THE PROGRAM (meaning you can't copy and paste and they work)

First the chance to hit:
---------------------------------------------------------------------------------
float attacker = ((this->GetLevel()/2) * ((this->GetDEX()/6)+this->GetSTR()+atkbonus+this->pp.skills[skillinuse]));
float defender = (other->GetLevel()/2) * (other->GetAC()+(pp.skills[DEFENSE]/2)+other->GetINT()+other->GetAGI());
float hitsuccess = (attacker / defender);

Note: top of the division is all attacker info, bottom is defender.
---------------------------------------------------------------------------------
Then attack min damage:
---------------------------------------------------------------------------------

float mindmg = ((this->GetLevel()) * (weapon_damage * 2) * ((this->GetAGI()/4) + atkbonus + pp.skills[skillinuse] + this->GetSTR()));
float mindmg2 = ((other->GetLevel()) * (other->GetAC() + other->GetSTA() + other->GetINT() + other->GetAGI()));
float result = mindmg / mindmg2;
---------------------------------------------------------------------------------
Then attack max damage:
---------------------------------------------------------------------------------

float maxdmg = ((this->GetLevel()) * (weapon_damage * 3) * (this->GetAGI() + pp.skills[skillinuse] + this->GetSTR())*3);
float maxdmg2 = ((other->GetLevel()) * (other->GetAC() + other->GetSTA() + other->GetINT() + other->GetAGI()));
float result = maxdmg / maxdmg2;

Note: top of the division is all attacker info, bottom is defender.

---------------------------------------------------------------------------------
A random is put in these attacks so they are not static.
---------------------------------------------------------------------------------
Now for upping attack skills (chance to up your skill)
---------------------------------------------------------------------------------
float chanceskill = (maxskill*skillfactor) - ((curskill/10) * (1+(yourlvl-theirlvl));
float result = chanceskill / 1000; //makes it a decimal percentage

Yes, negatives are possible meaning, you don't get to up your skill! Makes sense, you don't get your skill upped on a lvl 30
Note: skillfactor is a number that can be set for each combat skill, I assumed in a way we would want a difference of the uppage per combat skill. (Ofcourse there will be limits of max skill and max skill per level.)
---------------------------------------------------------------------------------
Yet another, upping trade skills! (similar to combat skills)
---------------------------------------------------------------------------------
float result = ((maxskill*skillfactor) - (curskill)) / 1000;

Note: Yet another decimal to be used for %. (Ofcourse there will be limits of max skill and max skill per level.)
---------------------------------------------------------------------------------
It never ends! Time for some monk combat! (and kick)
---------------------------------------------------------------------------------
MaxDmg:
float result = ((lvl*2)*(str+skill+agi))*5.5 / ((((lvl)*(AC+AGI+STA))/3)/10);

MinDmg:
float result = ((lvl*2)*(str+skill+agi))*1.5 / ((((lvl)*(AC+AGI+STA))/3)/10);

Note: top of the division is all attacker info, bottom is defender. Secondly, the multiplying by 1.5 and 5.5 can be changed for different skills to make it more realistic (flying kick obviousely hits for a lot more than regular kick, thats what you would change to make this work) and ofcourse chance to hit code would also be used on these.

If there are any questions, don't ask I posted this just for reference, nothing else.
Reply With Quote
  #11  
Old 01-22-2002, 09:45 PM
PimpDaddy
Fire Beetle
 
Join Date: Jan 2002
Posts: 4
Default

Some notes:

-DEX and STR have nothing to do chance to hit, I think
DEX is only for archery, throwing and faster upping weapon skills.
STR only raises max damage (at higher levels) and modal damage (slightly). Chance to hit is solely based on attacker offense skill, weapon skill and level vs. defender level and defense skill/AC.

-AC really has two properties: avoid getting hit, and if you get hit, avoid damage (a green mob will hit you less and for less damage). Total AC takes defense skill into account.

-Mobs seem to have different AC's for different weapon types. I dont know if there is a difference for 1hb, 1hs, etc, but I know that some mobs are more vunerable to archery than others (trac for example).

-AGI raises total AC, but only a small amount. AGI is also used for reposite/dodge type of skills, but not directly in a to hit/miss calculation. Its impact would be to big.
AGI is also unrelated to calculating damage output.

-INT is entirely unrelated to combat formula. It only raises skills.

-There are damage caps at certain level intervals (10, 20, 30 i think).
Max damage calculation is slightly different for each of these levels too.

-There should be a class related damage factor (i.e. monks have higher damage tables than warriors).


As you can see, EQ's combat system is pretty complicated.
Reply With Quote
  #12  
Old 01-23-2002, 02:32 AM
RadiationVibe
Fire Beetle
 
Join Date: Jan 2002
Posts: 8
Default

I think Image is trying to create a combat system that makes more sense than what EQ does. I like that approach, but I also want to see a system that functions the same as EQ and let the server operator decide which to use.

Strength does increase the attack rating which I assume translates to a greater chance of hitting.

Image, are you open to having a choice on the combat? I think there are flaws with the EQ way but I believe a lot would want to use it.
Reply With Quote
  #13  
Old 01-23-2002, 02:41 AM
RadiationVibe
Fire Beetle
 
Join Date: Jan 2002
Posts: 8
Default

I think Image is trying to create a combat system that makes more sense than what EQ does. I like that approach, but I also want to see a system that functions the same as EQ and let the server operator decide which to use.

Strength does increase the attack rating which I assume translates to a greater chance of hitting.

Image, are you open to having a choice on the combat? I think there are flaws with the EQ way but I believe a lot would want to use it.
Reply With Quote
  #14  
Old 01-23-2002, 02:50 AM
Trumpcard
Demi-God
 
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
Default

I would also like to see facing incorporated into the attack algorithms. IE, you gain a + to attack/damage on a creature with
its back to you. Nothing like a good ol sneak attack. Another
factor that should be put in is a penalty when the character is overweight on attack skills.
Reply With Quote
  #15  
Old 01-23-2002, 08:27 AM
PimpDaddy
Fire Beetle
 
Join Date: Jan 2002
Posts: 4
Default

Just thought most people were looking for more or less an exact copy of the eqlive servers. Oh well, just pointing some stuff out in case this was so.

The ATK value you see in the eq client is a actually a combined value of the to hit rating and str related attack rating. Originally these were two separate values in the client, but as not to confuse user they combined it into one. It is not an acurate reflection, more of an simple overal rating to keep it understanble to a wide audience. Parsing of logs still shows that STR does not effect to hit ratio.

Strength doesnt do much on lower levels, except raise the limit of what you can carry. Its effect on higher levels is more noticable, but not that spectacular either. In most cases (on lower and even conning mobs) the net effect of a level 60 shaman str buff on a level 50 player is about 1 to 2% damage increase. On larger, higher level creatures the effect is more usefull, up to 5%, even up to 10% I have heard.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 10:18 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3