Page 1 of 1

The Resist Conversion Effort

Posted: Sun Aug 04, 2013 10:09 am
by John Adams
Now that I am back to playing with data more regularly, I'd like to see some movement on utilizing the newer Elemental, Noxious and Arcane resist combos for our new clients. See this post back when we first talked about it 9 mos ago or so.

I liked Xinux's suggestion of just adding the 3 new fields and keeping the old ones for those older clients - but that means in Server code we'll need to version check and use one branch of resists over the other.

That is the reason for this post, a focused discussion of "the bigger picture". What do you think? No brainer, or will this grow into a monster trying to straddle old/new technologies?

For today, I will simply add 3 new fields to `character_details` and we'll go from there.

Thank you for your input.

Re: The Resist Conversion Effort

Posted: Sun Aug 04, 2013 11:32 am
by John Adams
Update: Thanks to Xinux for reminding me, we did "hack" some support for Elemental, Arcane and Noxious by doing hard mappings of Heat->Elemental, Poison->Noxious and Magic->Arcane. However, those are not all inclusive, so I still feel we need to invest time to add them properly.

Let me know if I am missing anything.

Re: The Resist Conversion Effort

Posted: Sat Jan 18, 2014 3:30 pm
by John Adams
Bump, this was one of the tasks for 2013 that slipped through the cracks.

Now, I'd really, really like input into this effort and make some movement on it sooner than later. We're adding tons of stuff to Emu, and I'd like a decision / clarification about what we want to do. I see two options:

1) Clean up the code and database, drop all these unnecessary types and go strictly with the 3 types: Elemental, Arcane, Noxious. Older clients be damned.
2) Continue to add new stuff using the new 3, mapping them to the 7 (or vice versa). I think we're already doing this?

Jab and I discussed it briefly this afternoon
[15:21] <~john> how big of a task will it be to convert us from heat/cold/magic/mental/divine/disease/pois on to elemental/arcane/noxious, 100%?
[15:22] <~john> since you've been into the combat stuff, thought you'd know how much of it is currently being used at all.
[15:23] <Jabantiz> probably not hard
[15:23] <Jabantiz> only used in 1 spot that i am aware of
[15:23] <~john> i'm looking at code now, most of it just seems to be pushing the "heat" packet to the client.
[15:24] <~john> CalculateBonuses, etc.
[15:24] <~john> it's on my TODO list to get this modernized this year.
[15:25] <Jabantiz> actually resists seem to be based on spell avoidance not the resists
[15:25] <~john> see stuff like ret += GetInfoStruct()->heat / 50;
[15:26] <~john> GetDamageTypeResistPercentage
[15:27] <~john> lol in GetSkillByWeaponType, all of them fall through the switch and say "Disruption" lol
[15:29] <Jabantiz> can a weapon have magic damage?
[15:29] <Jabantiz> besides spell wands that is, which is disruption
[15:30] <Jabantiz> and heat = elemental, not sure if that matters in what you see in the code
[15:40] <Jabantiz> so you want to drop the old and not maintain both now? resists that is
[15:42] <~john> Well, that's why I started asking how "hard" it would be... because, if we want to maintain a built-in EQ2 Classic option, that might make calc functions ridiculously complex?
[15:45] <Jabantiz> calc function should be matching the types, same equation for all, just determining what types to use
[15:46] <Jabantiz> forgot most of the combat code so honestly can't tell you how complicated that would be
[15:48] <~john> I suppose it would be okay to do everything in the old 7 style in code, but convert the new 3 TO the old 7, or vice versa, whichever makes more sense.
[15:48] <~john> I almost wish I wasn't so willing to keep old client support around... no one else does.
[15:49] <Jabantiz> i would like to keep it but every one wants classic client or live client, nothing in between it seems like
[15:50] <Jabantiz> and classic client is a bitch to try and get working
[15:52] <~john> Yeah as far as Day-1 client goes, we'll leave that to someone else to sort out lol. I donot mind our RoK - Live support. Though we've completely stopped testing anything in the RoK - SF clients... I doubt they work at all anymore.
[15:55] <Jabantiz> RoK might not be a bad client to keep working
[15:55] <Jabantiz> i notice that is mentioned a lot by new people on the forums
[15:56] <~john> Kunark, ys.
[15:56] <~john> always reminds me of the old EQ convos, where people feel the best expansion of EQ (1) was Kunark heh
[15:57] <Jabantiz> i think it was the best in eq2 as well lol, game was great at that time
[15:57] <~john> you might remember YEARS ago, EQ2Emu was going to halt on RoK, do all features and full content... but damn that LE kept making new clients compatible :D
[15:58] <Jabantiz> lol
[15:58] <Jabantiz> it is easy to make clients compatible with this emu
[15:59] <~john> yeah, the structs thing was the work of genius. not sure why others don't do it. probably the same nightmare we're now facing :D
Consider older clients before we rip code out, too... always thinking "Classic EQ2". For us, Classic could = RoK

I eagerly await your input.

Re: The Resist Conversion Effort

Posted: Thu Apr 17, 2014 2:28 pm
by Jabantiz
I have been debating this and can't come to a conclusion. I would suggest a rule to allow the server admin to pick what system they want to use, the old one or the new 3 resist, but if they choose the old how would newer clients display, on items and char sheet, the resists that were removed. With the 3 resist system and older clients we could send the generic resists to all the ones they cover or just pick 1 resist in a category to send it to, however any one that would want to do a classic sever would then need to come in and make server core changes.

So the old system with have issues with newer clients and the new system would prevent a classic system a lot of people seem to want. As I said I can't make up my mind on what would be better.