Spells structures

Discussions of the design and development of in-game content.

Moderator: Team Members

LethalEncounter
Team: Zombie
Posts: 2717
Joined: Wed Jul 25, 2007 10:10 pm

Post by LethalEncounter » Fri Aug 01, 2008 9:06 pm

John Adams wrote:Another quickie about spell "tiers".
Are we supposed to add 1 `spells` table entry for Apprentice I - IV, Adept I - III, and Master I-II? So, 9 individual records for the same spell (Faithful Swing for instance, for Pally), just with different Tier and spell_data?
Yes. Different spells will have different values for the effects and might even have additional effects.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Fri Aug 01, 2008 9:24 pm

Well crap, that spells list just grew pretty much. :D

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Sat Aug 02, 2008 11:30 pm

Another question, this is about spell_book_type. I see in the code there are 5 constants:
SPELL_BOOK_TYPE_SPELL 0
SPELL_BOOK_TYPE_COMBAT_ART 1
SPELL_BOOK_TYPE_ABILITY 2
SPELL_BOOK_TYPE_TRADESKILL 3
SPELL_BOOK_TYPE_NOT_SHOWN 4
But in the sample Sprint ability, the spell_book_type is set to 256.
Is Sprint wrong, or are there more values in the code to be added?
Thanks!

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Sun Aug 03, 2008 2:20 am

Some info, then of course, a question LOL.
I believe the SpellDamage LUA function parameter for DamageType takes one of these constant values from the code:

Code: Select all

DAMAGE_PACKET_DAMAGE_TYPE_SLASH		0x00
DAMAGE_PACKET_DAMAGE_TYPE_CRUSH		0x01
DAMAGE_PACKET_DAMAGE_TYPE_PIERCE	0x02
DAMAGE_PACKET_DAMAGE_TYPE_HEAT		0x03
DAMAGE_PACKET_DAMAGE_TYPE_COLD		0x04
DAMAGE_PACKET_DAMAGE_TYPE_MAGIC		0x05
DAMAGE_PACKET_DAMAGE_TYPE_MENTAL	0x06
DAMAGE_PACKET_DAMAGE_TYPE_DIVINE	0x07
DAMAGE_PACKET_DAMAGE_TYPE_DISEASE	0x08
DAMAGE_PACKET_DAMAGE_TYPE_POISON	0x09
DAMAGE_PACKET_DAMAGE_TYPE_DROWN		0x0A
DAMAGE_PACKET_DAMAGE_TYPE_FALLING	0x0B
DAMAGE_PACKET_DAMAGE_TYPE_PAIN		0x0C
I am assuming it just has to be 1-C, and not the 0x01 in the DB, correct? And are these the right values we should be using?
Now the actual question ;)
For spells like my Faithful Swing, which hits for 'x' damage, but also siphons life. How would you set that up in spell_data? I do not see a damagetype that would be used as a heal.
TIA! Going to sleep now. You get a short break, til I wake up ;)

LethalEncounter
Team: Zombie
Posts: 2717
Joined: Wed Jul 25, 2007 10:10 pm

Post by LethalEncounter » Sun Aug 03, 2008 6:04 am

I am assuming it just has to be 1-C, and not the 0x01 in the DB, correct? And are these the right values we should be using?
huh?
For spells like my Faithful Swing, which hits for 'x' damage, but also siphons life. How would you set that up in spell_data? I do not see a damagetype that would be used as a heal.
I'll need to add a new LUA function called SpellSiphon that uses the spell packet type of DAMAGE_PACKET_TYPE_SIPHON_SPELL.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Sun Aug 03, 2008 9:52 am

LethalEncounter wrote:
I am assuming it just has to be 1-C, and not the 0x01 in the DB, correct? And are these the right values we should be using?
huh?
Sorry, it was getting REAL late, and guys my age need their sleep... what I meant was, when building the spell_data for a damage spell, for one of my params do I have to enter 0x00 in `value` to say my next param is going to be a Slashing damagetype? Or do I just enter a '0'?
And if it is a Pain damagetype, would I enter 0x0C or 'C', or 12? etc...
Or, maybe I am totally off on what these values mean... I assumed when the SpellDamage lua wanted a DamageType, Damage params, I would be using one of those constants and then the amount of damage to inflict passed to SpellDamage().
Confusing? I am just getting warmed up. :)

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Post by Zcoretri » Sun Aug 03, 2008 11:00 am

John, for the damage type parameter use these values:
0 = crushing
1 = slashing
2 = piercing
3 = heat
4 = cold
5 = magic
6 = mental
7 = divine
8 = disease
9 = poison

LethalEncounter
Team: Zombie
Posts: 2717
Joined: Wed Jul 25, 2007 10:10 pm

Post by LethalEncounter » Sun Aug 03, 2008 11:28 am

John Adams wrote:
LethalEncounter wrote:
I am assuming it just has to be 1-C, and not the 0x01 in the DB, correct? And are these the right values we should be using?
huh?
Sorry, it was getting REAL late, and guys my age need their sleep... what I meant was, when building the spell_data for a damage spell, for one of my params do I have to enter 0x00 in `value` to say my next param is going to be a Slashing damagetype? Or do I just enter a '0'?
And if it is a Pain damagetype, would I enter 0x0C or 'C', or 12? etc...
Or, maybe I am totally off on what these values mean... I assumed when the SpellDamage lua wanted a DamageType, Damage params, I would be using one of those constants and then the amount of damage to inflict passed to SpellDamage().
Confusing? I am just getting warmed up. :)
Oh heh, no you can use decimal values for the numbers. It is just listed in hex because it was easier at the time.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Sun Aug 03, 2008 11:51 am

Thanks Zco and LE.
Here's another for anyone in general. "Tiers", those spells that have upgrades from Apprentice I to II, III, etc... are there any level restrictions on learning those upgrades, or should the level match the original spell?
Meaning, my Faithful Swing Level 1 Pally spell could be Adept III, but still level 1? I do not see this info on Alla's. I was really hoping for a Lucy for EQ2 Spells (like there was for EQ), but the link only seems to offer running their collector or yet another Wiki...

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Post by Zcoretri » Sun Aug 03, 2008 12:03 pm

John Adams wrote:Thanks Zco and LE.
Here's another for anyone in general. "Tiers", those spells that have upgrades from Apprentice I to II, III, etc... are there any level restrictions on learning those upgrades, or should the level match the original spell?
Meaning, my Faithful Swing Level 1 Pally spell could be Adept III, but still level 1? I do not see this info on Alla's. I was really hoping for a Lucy for EQ2 Spells (like there was for EQ), but the link only seems to offer running their collector or yet another Wiki...
Yes John...in live, to get the Adept III spell you would have to craft it using a harvested rare (a loam in the Paladin's case).
I don't no shit about original EQ, lol...so don't what the Lucy reference is :?

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Sun Aug 03, 2008 12:19 pm

Lucy is a diabolical plot to expose the underbelly of the SOE beast.
Example: http://lucy.allakhazam.com/spell.html?i ... ource=Live (click on Raw Data to have your mind blown heh)
Wish I had this for EQ2. ;)
As for the tiers, I knew about how to get them. The question I have is about the spells "level". All Tiers of a given spell are the same character level required? Even Master I and II?
I also know that (in my example) Faithful Swing (1) does get replaced by a newer, more powerful version as my toon levels - Faithful Strike (15). But I am only asking about Tiers (Apprentice I, Adept I, Master I).
Thanks for being patient :)

LethalEncounter
Team: Zombie
Posts: 2717
Joined: Wed Jul 25, 2007 10:10 pm

Post by LethalEncounter » Sun Aug 03, 2008 12:33 pm

Yup I am pretty sure they have the same level requirements. Master are just rare drops from mobs and Adepts are just made from rare items.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Post by Zcoretri » Sun Aug 03, 2008 12:35 pm

John Adams wrote:Lucy is a diabolical plot to expose the underbelly of the SOE beast.
Example: http://lucy.allakhazam.com/spell.html?i ... ource=Live (click on Raw Data to have your mind blown heh)
Wish I had this for EQ2. ;)
Yeah, thats lots a parameters in there, lol. Will have something like it someday :)
As for the tiers, I knew about how to get them. The question I have is about the spells "level". All Tiers of a given spell are the same character level required? Even Master I and II?
Yes, all tiers of a given spell will have same character level requirement.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Mon Aug 04, 2008 7:18 pm

Thanks for the input guys.
Now I need to know about "resistibility". Our database has this value as unsigned - meaning, no negative values. However, most of what I am seeing on allakhazam shows resistibility as a "-12" for lower end spells. I am assuming this means, "Kick" has a -12 effect on a mobs resistance to Crushing damage.
Question: Does the server need this to be -12? If so, I'll change these unsigned to signed ints.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Sat Aug 16, 2008 10:09 am

This never got answered, but I asked elsewhere so... onto the next "spells" question.
On eq2 wikia, Faithful Swing (and others) show this "Hit Bonus" value. Will this need to be a spell_data entry, or is there something we can hard-wire into each spells base record since it does not appear 'variable'?
Also, these Hit Bonuses - are they the only type of Bonus you might get on a spell/ability? If not, like there is a heal bonus or multiple bonuses on some abilities, perhaps this does need to be handled in spell_data...
Thoughts?

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests