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

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 09-23-2008, 02:05 AM
seveianrex
Sarnak
 
Join Date: Sep 2008
Location: asdf
Posts: 60
Default Project Illusion

Hi all,

I just got finished writing the code for Project Illusion.

The one thing I haven't been able to figure out yet is: when you click "Make Hotkey" on your character for the AA itself, the button it creates is blank. I would assume this is related to the database table "altadv_vars" column [hotkey_sid] or [hotkey_sid2]. I just have no idea what "sid" is? It's not SpellID, I know that much. StringID? Help!

The other thing I wanted to put up here for discussion is this: I know on EQLive, the only spells that Project Illusion AA would work for were the basic ones such as "Illusion Human". Spells such as "Minor Illusion" would not be effective. I see a number of ways of addressing this:
1) Allow any spell with an illusion in any effect slot be compatible with Project Illusion AA
2) Allow any spell that has only a single effect slot (the illusion), be compatible with Project Illusion AA
3) Allow any spell that has an actual spell name beginning with "Illusion" be compatible with Project Illusion AA

Obviously, option #1 would be easiest code-and-computation-wise, and frankly, having Project Illusion work with Minor Illusion might be fun... I'm just wondering if there would be any unintended exploits as a result. Spells like Nights Dark Terror have an illusion component.... but you can cast those on group already anyways. I think that perhaps Option #2 is probably the safest bet.

Anyways, any thoughts would be appreciated. I'm hoping to have this code fully tested and ready to post within a couple of days.
Reply With Quote
  #2  
Old 09-23-2008, 02:22 AM
seveianrex
Sarnak
 
Join Date: Sep 2008
Location: asdf
Posts: 60
Default

Oh yea, couple more things... the range on illusion spells, since they are self-only, is set to 0. Therefore, a temporary hard-coded range has to be used when using Project Illusion. Therefore, I went with a range of 100 (the same range as Nights Dark Terror).

The one thing I've seen so far that might be a problem with allowing something like Minor Illusion / Illusion Tree be used with Project Illusion is the fact that it has a root component, effectively meaning any Enchanter could spontaneously root their groupmates. :P
Reply With Quote
  #3  
Old 09-23-2008, 02:46 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Quote:
Originally Posted by seveianrex View Post
The one thing I haven't been able to figure out yet is: when you click "Make Hotkey" on your character for the AA itself, the button it creates is blank. I would assume this is related to the database table "altadv_vars" column [hotkey_sid] or [hotkey_sid2]. I just have no idea what "sid" is? It's not SpellID, I know that much. StringID? Help!
You are correct, it refers to a String ID. The current values correspond to eqstr_en.txt in the EverQuest client directory. After searching through the file, I was able to find this:
Code:
5662 Project
5663 Illusion
So, hotkey_sid would be 5662, hotkey_sid2 would be 5663. I do find it a little odd, because most strings are now handled in dbstr_us.txt, but the packet structure still includes it:
common/patches/Titanium_structs.h
Code:
struct SendAA_Struct {
/*0000*/	int32 id;
/*0004*/	int32 unknown004;		//set to 1.
/*0008*/	int32 hotkey_sid;
/*0012*/	int32 hotkey_sid2;
/*0016*/	int32 title_sid;
/*0020*/	int32 desc_sid;
/*0024*/	int32 class_type;
/*0028*/	int32 cost;
/*0032*/	int32 seq;
/*0036*/	int32 current_level; //1s, MQ2 calls this AARankRequired
/*0040*/	int32 prereq_skill;		//is < 0, abs() is category #
/*0044*/	int32 prereq_minpoints; //min points in the prereq
/*0048*/	int32 type;
/*0052*/	int32 spellid;
/*0056*/	int32 spell_type;
/*0060*/	int32 spell_refresh;
/*0064*/	int16 classes;
/*0066*/	int16 berserker; //seems to be 1 if its a berserker ability
/*0068*/	int32 max_level;
/*0072*/	int32 last_id;
/*0076*/	int32 next_id;
/*0080*/	int32 cost2;
/*0084*/	int32 unknown80[2]; //0s
/*0088*/	int32 total_abilities;
/*0092*/	AA_Ability abilities[0];
};
so it looks the client still needs it from the server.

Quote:
Originally Posted by seveianrex View Post
The other thing I wanted to put up here for discussion is this: I know on EQLive, the only spells that Project Illusion AA would work for were the basic ones such as "Illusion Human". Spells such as "Minor Illusion" would not be effective. I see a number of ways of addressing this:
1) Allow any spell with an illusion in any effect slot be compatible with Project Illusion AA
2) Allow any spell that has only a single effect slot (the illusion), be compatible with Project Illusion AA
3) Allow any spell that has an actual spell name beginning with "Illusion" be compatible with Project Illusion AA
Or option 4) allow it to only work with an effectdescnum of 49, which is "Illusion: Player" vs 48 (and a few others) which is "Illusion: Other".

Hope this helps.
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #4  
Old 09-23-2008, 09:02 AM
seveianrex
Sarnak
 
Join Date: Sep 2008
Location: asdf
Posts: 60
Default

Thanks, that helps a lot!
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 05:24 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