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 03-28-2009, 03:43 AM
Tertiary
Hill Giant
 
Join Date: Nov 2003
Posts: 192
Default

Quote:
Originally Posted by trevius View Post
I wish there was a way to check if a client was SoF or not. Then, we could just do an if before making the output.
Thanks for the info on the item links, that may be my problem.

There is a way to check the client version. The client network stream has a method which returns a string describing which patch file that client is using (Client62, Titanium, SoF). I'll post an example of how to check it later today. It would be best though if everything could be done in SoF.cpp, to keep the main source as version agnostic as possible.

EDIT: Lol, this is Derision, just happened to be logged on my alternate account
Reply With Quote
  #2  
Old 03-28-2009, 04:51 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Hah, was wondering if that was you while I was reading that! Funny

Yeah, I agree that it would be best if we could do it all in SoF.cpp, but I think it would be tricky in some cases like this where stuff is being hard coded and not put into any sort of structure. Unless maybe we could recreate the same commands with alternate settings in SoF.cpp, I dunno any other way to do it. I was thinking about if it might be possible to set encodes for the special/formatted/common or whatever messages packets that would look for a string that looked like an item link and then add the required 5 0s in there. But, that would be quite a hack IMO, and might cause more issues than it would be worth. One solution I was thinking of would be to make alternate commands just for SoF (#sofitemsearch, #sofpeekinv, etc), but that would be much less than ideal imo. The only other thing I could think of would be to create a rule that would let admins set if they wanted to use SoF settings for stuff like command output and anything else that might need to be changed. Then, we could have a simple rule check, but again that would be less than ideal as well.

I don't think there are many things that would have to be changed outside of the SoF.cpp that would effect the other clients. For most things that are hard coded, I have just been able to just create new opcodes and handling that doesn't effect Titanium users. In this case, that isn't really an option as far as I can think of unfortunately.

Oh, and a client version check function would be nice to have handy for certain situations. I would really like to have a way for a porting NPC to check if the client is SoF or not so it doesn't port Titanium users to zones they don't have. I am sure there are plenty of other times that would come in handy as well if we are going to have 2 compatible and fully functional clients (not counting 6.2).
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 03-28-2009 at 12:54 PM..
Reply With Quote
  #3  
Old 04-30-2009, 08:32 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Here is the new SoF table that I have so far. It still needs some adjustments to be perfect, but it is getting there. This table was made directly from a Live collect while playing a rogue, so it should have every Rogue AA available. Once this is fully functional, I will collect the rest of the classes AA info and get them added to the table. It won't be as much work for the other classes, since they should all have the same General AAs and I think there are only a few Archetype AA changes between classes, so it would mostly just be collecting class specific AAs.

This table is NOT the final version, I am only posting it for development purposes at this point. To test it, you can rename your current AA table and rename this one to "alt_vars" so that it uses it in place of the current one. Once code is written for it, SoF will most likely use AA tables completely separate from the standard Titanium and other client AA tables. I have prefixed the table name with "sof_" in case we require more SoF specific tables in the future so they will all be grouped together if prefixed like this.

And here is the actual table itself:
Code:
/*
MySQL Data Transfer
Source Host: 192.168.1.102
Source Database: stormhaven
Target Host: 192.168.1.102
Target Database: stormhaven
Date: 4/30/2009 7:09:52 AM
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for sof_altadv_vars
-- ----------------------------
DROP TABLE IF EXISTS `sof_altadv_vars`;
CREATE TABLE `sof_altadv_vars` (
  `skill_id` int(11) NOT NULL default '0',
  `name` varchar(128) default NULL,
  `hotkey_sid` int(10) unsigned NOT NULL default '0',
  `hotkey_sid2` int(10) unsigned NOT NULL default '0',
  `title_sid` int(10) unsigned NOT NULL default '0',
  `desc_sid` int(10) unsigned NOT NULL default '0',
  `class_type` int(10) unsigned NOT NULL default '0',
  `cost` int(11) default NULL,
  `seq` int(10) NOT NULL,
  `current_level` int(10) NOT NULL default '1',
  `prereq_skill` int(10) unsigned NOT NULL default '0',
  `prereq_minpoints` int(10) unsigned NOT NULL default '0',
  `type` tinyint(3) unsigned NOT NULL default '1',
  `spellid` int(10) unsigned NOT NULL default '0',
  `spell_type` int(10) unsigned NOT NULL default '0',
  `spell_refresh` int(10) unsigned NOT NULL default '0',
  `classes` int(10) unsigned NOT NULL default '65534',
  `berserker` int(10) unsigned NOT NULL default '0',
  `max_level` int(11) default NULL,
  `last_id` int(11) unsigned NOT NULL,
  `next_id` int(11) unsigned NOT NULL,
  `cost_inc` tinyint(4) NOT NULL default '0',
  `expansion` tinyint(4) NOT NULL,
  `total_abilities` tinyint(4) NOT NULL,
  PRIMARY KEY  (`skill_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `sof_altadv_vars` VALUES ('2', 'Innate Strength', '4294967295', '4294967295', '2', '2', '51', '1', '1', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '3', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('7', 'Innate Stamina', '4294967295', '4294967295', '7', '7', '51', '1', '2', '3', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '8', '10', '3', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('12', 'Innate Agility', '4294967295', '4294967295', '12', '12', '51', '1', '3', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '13', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('17', 'Innate Dexterity', '4294967295', '4294967295', '17', '17', '51', '1', '4', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '18', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('22', 'Innate Intelligence', '4294967295', '4294967295', '22', '22', '51', '1', '5', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '23', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('27', 'Innate Wisdom', '4294967295', '4294967295', '27', '27', '51', '1', '6', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '28', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('32', 'Innate Charisma', '4294967295', '4294967295', '32', '32', '51', '1', '7', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '33', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('37', 'Innate Fire Protection', '4294967295', '4294967295', '37', '37', '51', '1', '8', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '38', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('42', 'Innate Cold Protection', '4294967295', '4294967295', '42', '42', '51', '1', '9', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '43', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('47', 'Innate Magic Protection', '4294967295', '4294967295', '47', '47', '51', '1', '10', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '48', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('52', 'Innate Poison Protection', '4294967295', '4294967295', '52', '52', '51', '1', '11', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '53', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('57', 'Innate Disease Protection', '4294967295', '4294967295', '57', '57', '51', '1', '12', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '58', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('68', 'Innate Metabolism', '4294967295', '4294967295', '68', '68', '51', '1', '15', '3', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '3', '69', '4294967295', '3', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('71', 'Innate Lung Capacity', '4294967295', '4294967295', '71', '71', '51', '1', '16', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '6', '4294967295', '72', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('74', 'First Aid', '4294967295', '4294967295', '74', '74', '51', '1', '17', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '3', '4294967295', '75', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('107', 'Natural Durability', '4294967295', '4294967295', '107', '107', '55', '6', '28', '3', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '6', '108', '7541', '12', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('110', 'Natural Healing', '4294967295', '4294967295', '110', '110', '55', '2', '29', '1', '0', '0', '2', '4294967295', '0', '0', '33722', '1', '3', '4294967295', '111', '2', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('116', 'Fear Resistance', '4294967295', '4294967295', '116', '116', '55', '2', '31', '1', '0', '0', '2', '4294967295', '0', '0', '33722', '1', '3', '4294967295', '117', '2', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('119', 'Finishing Blow', '4294967295', '4294967295', '119', '119', '55', '2', '32', '1', '0', '0', '2', '4294967295', '0', '0', '33722', '1', '18', '4294967295', '120', '2', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('122', 'Combat Stability', '4294967295', '4294967295', '122', '122', '55', '2', '33', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '28', '4294967295', '123', '2', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('125', 'Combat Agility', '4294967295', '4294967295', '125', '125', '55', '2', '34', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '28', '4294967295', '126', '2', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('198', 'Ambidexterity', '4294967295', '4294967295', '198', '198', '59', '9', '81', '1', '0', '0', '3', '4294967295', '0', '0', '33682', '0', '1', '4294967295', '4294967295', '9', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('243', 'Escape', '243', '4294967295', '243', '243', '59', '9', '102', '1', '0', '0', '3', '5244', '1', '4320', '512', '0', '1', '2147483647', '2147483647', '9', '3', '0');
INSERT INTO `sof_altadv_vars` VALUES ('244', 'Poison Mastery', '4294967295', '4294967295', '244', '244', '59', '3', '103', '1', '0', '0', '1', '4294967295', '0', '0', '512', '0', '3', '4294967295', '245', '3', '3', '2');
INSERT INTO `sof_altadv_vars` VALUES ('247', 'Double Riposte', '4294967295', '4294967295', '247', '247', '59', '3', '104', '1', '0', '0', '2', '4294967295', '0', '0', '33466', '1', '6', '4294967295', '248', '3', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('254', 'Purge Poison', '254', '254', '254', '254', '59', '5', '107', '1', '0', '0', '3', '5232', '12', '4320', '512', '0', '1', '4294967295', '4294967295', '5', '3', '0');
INSERT INTO `sof_altadv_vars` VALUES ('279', 'Physical Enhancement', '4294967295', '4294967295', '279', '279', '59', '5', '120', '1', '0', '0', '3', '4294967295', '0', '0', '33722', '1', '1', '4294967295', '4294967295', '5', '3', '3');
INSERT INTO `sof_altadv_vars` VALUES ('280', 'Adv. Trap Negotiation', '4294967295', '4294967295', '280', '280', '59', '3', '121', '1', '0', '0', '3', '4294967295', '0', '0', '768', '0', '3', '4294967295', '281', '3', '3', '2');
INSERT INTO `sof_altadv_vars` VALUES ('283', 'Acrobatics', '4294967295', '4294967295', '283', '283', '59', '3', '122', '1', '0', '0', '3', '4294967295', '0', '0', '896', '0', '3', '4294967295', '284', '3', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('287', 'Chaotic Stab', '4294967295', '4294967295', '287', '287', '59', '6', '124', '1', '0', '0', '3', '4294967295', '0', '0', '512', '0', '1', '4294967295', '4294967295', '6', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('412', 'New Tanaan Crafting Mastery', '4294967295', '4294967295', '412', '412', '51', '3', '141', '6', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '6', '416', '4294967295', '18', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('418', 'Planar Power', '4294967295', '4294967295', '418', '418', '65', '2', '142', '5', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '20', '421', '1001', '10', '4', '7');
INSERT INTO `sof_altadv_vars` VALUES ('498', 'Hasty Exit', '4294967295', '4294967295', '498', '498', '65', '2', '166', '3', '243', '1', '3', '4294967295', '0', '0', '512', '0', '6', '499', '886', '6', '4', '1');
INSERT INTO `sof_altadv_vars` VALUES ('501', 'Hastened Purification', '4294967295', '4294967295', '501', '501', '63', '2', '167', '1', '254', '1', '3', '4294967295', '0', '0', '512', '0', '6', '4294967295', '502', '2', '4', '1');
INSERT INTO `sof_altadv_vars` VALUES ('564', 'Ferocity', '4294967295', '4294967295', '564', '564', '65', '3', '189', '3', '0', '0', '2', '4294967295', '0', '0', '658', '1', '6', '565', '1621', '9', '4', '1');
INSERT INTO `sof_altadv_vars` VALUES ('605', 'Shroud of Stealth', '4294967295', '4294967295', '605', '605', '63', '6', '204', '1', '0', '0', '3', '4294967295', '0', '0', '512', '0', '1', '4294967295', '4294967295', '6', '4', '1');
INSERT INTO `sof_altadv_vars` VALUES ('606', 'Nimble Evasion', '4294967295', '4294967295', '606', '606', '65', '1', '205', '5', '0', '0', '3', '4294967295', '0', '0', '512', '0', '5', '609', '4294967295', '5', '4', '1');
INSERT INTO `sof_altadv_vars` VALUES ('622', 'Hastened Stealth', '4294967295', '4294967295', '622', '622', '63', '3', '209', '3', '0', '0', '3', '4294967295', '0', '0', '512', '0', '3', '623', '4294967295', '9', '4', '1');
INSERT INTO `sof_altadv_vars` VALUES ('625', 'Ingenuity', '4294967295', '4294967295', '625', '625', '65', '3', '210', '3', '0', '0', '2', '4294967295', '0', '0', '642', '1', '9', '626', '4733', '6', '4', '1');
INSERT INTO `sof_altadv_vars` VALUES ('65', 'Innate Regeneration', '4294967295', '4294967295', '65', '65', '51', '1', '225', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '25', '4294967295', '662', '1', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('62', 'Innate Run Speed', '4294967295', '4294967295', '62', '62', '61', '5', '13', '4', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '5', '64', '673', '8', '7', '1');
INSERT INTO `sof_altadv_vars` VALUES ('678', 'Packrat', '4294967295', '4294967295', '678', '678', '61', '3', '233', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '11', '4294967295', '679', '3', '7', '1');
INSERT INTO `sof_altadv_vars` VALUES ('683', 'Heightened Endurance', '4294967295', '4294967295', '683', '683', '61', '3', '234', '1', '0', '0', '2', '4294967295', '0', '0', '642', '1', '15', '4294967295', '684', '3', '7', '1');
INSERT INTO `sof_altadv_vars` VALUES ('686', 'Weapon Affinity', '4294967295', '4294967295', '686', '686', '55', '5', '235', '5', '0', '0', '2', '4294967295', '0', '0', '33722', '1', '6', '689', '7640', '25', '7', '1');
INSERT INTO `sof_altadv_vars` VALUES ('806', 'Sinister Strikes', '4294967295', '4294967295', '806', '806', '65', '12', '270', '1', '198', '1', '3', '4294967295', '0', '0', '33682', '0', '1', '4294967295', '4294967295', '12', '7', '1');
INSERT INTO `sof_altadv_vars` VALUES ('846', 'Triple Backstab', '4294967295', '4294967295', '846', '846', '65', '9', '281', '3', '0', '0', '3', '4294967295', '0', '0', '512', '0', '15', '847', '1301', '18', '7', '1');
INSERT INTO `sof_altadv_vars` VALUES ('878', 'Seized Opportunity', '4294967295', '4294967295', '878', '878', '65', '3', '790', '1', '0', '0', '3', '4294967295', '0', '0', '512', '0', '13', '4294967295', '879', '3', '7', '1');
INSERT INTO `sof_altadv_vars` VALUES ('881', 'Trap Circumvention', '4294967295', '4294967295', '881', '881', '65', '3', '292', '1', '0', '0', '3', '4294967295', '0', '0', '512', '0', '5', '4294967295', '882', '3', '7', '1');
INSERT INTO `sof_altadv_vars` VALUES ('888', 'Virulent Venom ', '4294967295', '4294967295', '888', '888', '65', '3', '294', '1', '0', '0', '3', '4294967295', '0', '0', '512', '0', '5', '4294967295', '889', '3', '7', '1');
INSERT INTO `sof_altadv_vars` VALUES ('113', 'Combat Fury', '4294967295', '4294967295', '113', '113', '64', '3', '310', '6', '0', '0', '3', '4294967295', '0', '0', '512', '0', '6', '947', '4294967295', '21', '4', '11');
INSERT INTO `sof_altadv_vars` VALUES ('979', 'Blacksmithing Mastery', '4294967295', '4294967295', '979', '979', '59', '3', '324', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '3', '4294967295', '980', '3', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('982', 'Baking Mastery', '4294967295', '4294967295', '982', '982', '59', '3', '325', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '3', '4294967295', '983', '3', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('985', 'Brewing Mastery', '4294967295', '4294967295', '985', '985', '59', '3', '326', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '3', '4294967295', '986', '3', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('988', 'Fletching Mastery', '4294967295', '4294967295', '988', '988', '59', '3', '327', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '3', '4294967295', '989', '3', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('991', 'Pottery Mastery', '4294967295', '4294967295', '991', '991', '59', '3', '328', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '3', '4294967295', '992', '3', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('994', 'Tailoring Mastery', '4294967295', '4294967295', '994', '994', '59', '3', '329', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '3', '4294967295', '995', '3', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('997', 'Salvage', '4294967295', '4294967295', '997', '997', '60', '5', '330', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '3', '4294967295', '998', '5', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1000', 'Origin', '1000', '4294967295', '1000', '1000', '67', '7', '331', '1', '0', '0', '1', '5824', '20', '4320', '65534', '1', '1', '4294967295', '4294967295', '7', '8', '0');
INSERT INTO `sof_altadv_vars` VALUES ('1006', 'Discordant Defiance', '4294967295', '4294967295', '1006', '1006', '66', '5', '333', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '10', '4294967295', '1007', '5', '8', '5');
INSERT INTO `sof_altadv_vars` VALUES ('1021', 'Mystical Attuning', '4294967295', '4294967295', '1021', '1021', '51', '5', '334', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '7', '4294967295', '1022', '5', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1026', 'Delay Death', '4294967295', '4294967295', '1026', '1026', '66', '3', '335', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '25', '4294967295', '1027', '3', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1044', 'Veteran\'s Wrath', '4294967295', '4294967295', '1044', '1044', '67', '3', '339', '1', '113', '6', '3', '4294967295', '0', '0', '512', '0', '12', '4294967295', '1045', '3', '8', '6');
INSERT INTO `sof_altadv_vars` VALUES ('1056', 'Energetic Attunement', '4294967295', '4294967295', '1056', '1056', '71', '5', '783', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '15', '4294967295', '1057', '5', '12', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1092', 'Master of Disguise', '4294967295', '4294967295', '1092', '1092', '67', '7', '353', '1', '0', '0', '3', '4294967295', '0', '0', '768', '0', '1', '4294967295', '4294967295', '7', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1093', 'Slippery Attacks', '4294967295', '4294967295', '1093', '1093', '66', '3', '354', '1', '0', '0', '2', '4294967295', '0', '0', '33682', '0', '5', '4294967295', '1094', '3', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1181', 'Shielding Resistance', '4294967295', '4294967295', '1181', '1181', '66', '3', '388', '1', '0', '0', '2', '4294967295', '0', '0', '33682', '0', '5', '4294967295', '1182', '3', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1304', 'Precision', '4294967295', '4294967295', '1304', '1304', '66', '3', '439', '1', '0', '0', '3', '4294967295', '0', '0', '512', '0', '9', '4294967295', '1305', '3', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1307', 'Nerves of Steel', '4294967295', '4294967295', '1307', '1307', '66', '5', '440', '1', '0', '0', '3', '4294967295', '0', '0', '512', '0', '8', '4294967295', '1308', '5', '8', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1388', 'Innate See Invis', '4294967295', '4294967295', '1388', '1388', '70', '9', '322', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '1', '4294967295', '4294967295', '9', '10', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1420', 'Bandage Wounds', '4294967295', '4294967295', '1420', '1420', '66', '3', '497', '1', '74', '3', '1', '4294967295', '0', '0', '65532', '0', '5', '4294967295', '1421', '3', '10', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1477', 'Stealthy Getaway', '1477', '1477', '1477', '1477', '70', '9', '789', '1', '0', '0', '3', '8149', '3', '4320', '512', '0', '1', '4294967295', '4294967295', '9', '10', '0');
INSERT INTO `sof_altadv_vars` VALUES ('1542', 'Appraisal', '1542', '4294967295', '1542', '1542', '60', '3', '536', '1', '0', '0', '3', '8240', '0', '1', '512', '0', '1', '4294967295', '4294967295', '3', '10', '0');
INSERT INTO `sof_altadv_vars` VALUES ('1543', 'Precise Strikes', '4294967295', '4294967295', '1543', '1543', '70', '5', '537', '1', '1304', '3', '3', '4294967295', '0', '0', '512', '0', '12', '4294967295', '1544', '5', '10', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1587', 'Concentration', '4294967295', '4294967295', '1587', '1587', '66', '3', '563', '1', '0', '0', '2', '4294967295', '0', '0', '642', '1', '3', '4294967295', '1589', '3', '10', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1592', 'Enhanced Aggression', '4294967295', '4294967295', '1592', '1592', '66', '5', '498', '1', '0', '0', '2', '4294967295', '0', '0', '33722', '1', '20', '4294967295', '1593', '5', '10', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1604', 'Anatomy', '4294967295', '4294967295', '1604', '1604', '66', '5', '555', '1', '0', '0', '3', '4294967295', '0', '0', '512', '0', '14', '4294967295', '1605', '5', '10', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1641', 'Thief\'s Intuition', '4294967295', '4294967295', '1641', '1641', '70', '15', '568', '1', '280', '3', '3', '4294967295', '0', '0', '512', '0', '1', '4294967295', '4294967295', '15', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('1647', 'Harmonic Dissonance', '1647', '1647', '1647', '1647', '68', '0', '574', '1', '0', '0', '4', '8771', '21', '900', '65534', '1', '1', '4294967295', '4294967295', '0', '3', '0');
INSERT INTO `sof_altadv_vars` VALUES ('4675', 'Jewel Craft Mastery', '4294967295', '4294967295', '4675', '4675', '59', '3', '576', '1', '0', '0', '1', '4294967295', '0', '0', '49150', '1', '3', '4294967295', '4676', '3', '3', '1');
INSERT INTO `sof_altadv_vars` VALUES ('4688', 'Combat Medic', '4294967295', '4294967295', '4688', '4688', '71', '3', '579', '1', '1420', '5', '1', '4294967295', '0', '0', '65532', '0', '5', '4294967295', '4689', '3', '12', '1');
INSERT INTO `sof_altadv_vars` VALUES ('4698', 'Quick Draw', '4294967295', '4294967295', '4698', '4698', '51', '5', '581', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '2', '4294967295', '6545', '5', '12', '1');
INSERT INTO `sof_altadv_vars` VALUES ('4699', 'Battle Ready', '4294967295', '4294967295', '4699', '4699', '51', '5', '582', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '3', '4294967295', '6540', '5', '12', '1');
INSERT INTO `sof_altadv_vars` VALUES ('4702', 'Glyph of Dragon Scales', '4702', '4702', '4702', '4702', '71', '3', '585', '1', '0', '0', '4', '9475', '31', '600', '65534', '1', '1', '4294967295', '4294967295', '3', '12', '0');
INSERT INTO `sof_altadv_vars` VALUES ('4705', 'Glyph of Draconic Potential', '4705', '4705', '4705', '4705', '71', '3', '588', '1', '0', '0', '4', '9478', '31', '600', '65534', '1', '1', '4294967295', '4294967295', '3', '12', '0');
INSERT INTO `sof_altadv_vars` VALUES ('4706', 'Glyph of Destruction', '4706', '4706', '4706', '4706', '71', '3', '589', '1', '0', '0', '4', '9479', '31', '600', '65534', '1', '1', '4294967295', '4294967295', '3', '12', '0');
INSERT INTO `sof_altadv_vars` VALUES ('4739', 'Killing Spree', '4294967295', '4294967295', '4739', '4739', '71', '3', '733', '1', '0', '0', '2', '4294967295', '0', '0', '642', '1', '9', '4294967295', '4740', '3', '12', '1');
INSERT INTO `sof_altadv_vars` VALUES ('5021', 'Twisted Shank', '5021', '5021', '5021', '5021', '71', '9', '670', '1', '0', '0', '3', '11341', '7', '60', '512', '0', '1', '4294967295', '4294967295', '9', '12', '0');
INSERT INTO `sof_altadv_vars` VALUES ('5022', 'Dirty Fighting', '5022', '5022', '5022', '5022', '71', '3', '671', '1', '0', '0', '3', '11247', '5', '600', '512', '0', '6', '4294967295', '5023', '3', '12', '0');
INSERT INTO `sof_altadv_vars` VALUES ('5025', 'Ligament Slice', '5025', '5025', '5025', '5025', '71', '3', '672', '1', '0', '0', '3', '11251', '6', '180', '512', '0', '3', '4294967295', '5026', '3', '12', '0');
INSERT INTO `sof_altadv_vars` VALUES ('5028', 'Tumble', '5028', '4294967295', '5028', '5028', '75', '9', '673', '1', '0', '0', '3', '11254', '4', '900', '512', '0', '2', '4294967295', '6041', '9', '12', '0');
INSERT INTO `sof_altadv_vars` VALUES ('6119', 'General Sturdiness', '4294967295', '4294967295', '6119', '6119', '76', '6', '3801', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '10', '4294967295', '6120', '6', '14', '1');
INSERT INTO `sof_altadv_vars` VALUES ('5263', 'Shield Block', '4294967295', '4294967295', '5263', '5263', '71', '3', '3802', '1', '0', '0', '2', '4294967295', '0', '0', '784', '0', '6', '4294967295', '6125', '3', '12', '1');
INSERT INTO `sof_altadv_vars` VALUES ('6559', 'Hastened Ligament Slice', '4294967295', '4294967295', '6559', '6559', '73', '6', '3726', '1', '5025', '1', '3', '4294967295', '0', '0', '512', '0', '6', '4294967295', '6273', '6', '14', '1');
INSERT INTO `sof_altadv_vars` VALUES ('6560', 'Knave\'s Return Kick', '4294967295', '4294967295', '6560', '6560', '73', '6', '3727', '1', '878', '1', '3', '4294967295', '0', '0', '512', '0', '3', '4294967295', '6276', '6', '14', '2');
INSERT INTO `sof_altadv_vars` VALUES ('52000', 'Glyph of Courage', '52000', '52000', '52000', '52000', '65', '4', '5000', '1', '0', '0', '4', '12748', '31', '600', '65534', '1', '1', '4294967295', '4294967295', '4', '0', '0');
INSERT INTO `sof_altadv_vars` VALUES ('52002', 'Glyph of Stored Life', '52002', '52002', '52002', '52002', '65', '4', '5002', '1', '0', '0', '4', '12750', '31', '600', '65534', '1', '1', '4294967295', '4294967295', '4', '0', '0');
INSERT INTO `sof_altadv_vars` VALUES ('52004', 'Glyph of Angry Thoughts', '52004', '52004', '52004', '52004', '65', '4', '5004', '1', '0', '0', '4', '12752', '31', '300', '65534', '1', '1', '4294967295', '4294967295', '4', '0', '0');
INSERT INTO `sof_altadv_vars` VALUES ('7062', 'Foraging', '4294967295', '4294967295', '7062', '7062', '51', '3', '5005', '1', '0', '0', '1', '4294967295', '0', '0', '65534', '1', '1', '4294967295', '4294967295', '3', '0', '1');
With some recent discoveries from Derision, SoF AAs are almost completely functional on my test server. There are still a few minor things to work out, but once those are done, the tables will just need to be filled in the rest of the way and they will be ready to go.

Also, I think it would be a very good idea to maybe add 1 more field to this table as a bool. The new field could be called something like "enabled" with 1 being enabled and 0 being disabled (enabled is default). This new field would then be checked before sending the AA with the AA tables. That way, we could populate the entire table to include every single AA, but then decide which ones we want to send to the client so we don't send them a bunch of AAs that have no coding support for them just yet.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #4  
Old 04-30-2009, 08:45 AM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

That's a really good idea, actually, if it could be worked out in the code. Everyone's well aware that most of the EQEmu project is a work in progress, it'd be nice to save them the trouble of buying non-working AAs or at least be able to warn them of them if possible. At worst (though it wouldn't be quite Live-like), the AA's description could have a note added to explain that it isn't functional yet.

EDIT: On second thought, I suppose a note like that couldn't be added. The actually descriptions aren't loaded from the database, are they? Sorry, I still have a lot to learn.
Reply With Quote
  #5  
Old 04-30-2009, 05:03 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Well, I am sure we could make a standard setting to either disable them in game or to warn about them. Actually, we could just set a bogus prereq_skill skill for any we want to disable. That is probably the easiest and best way to deal with this. Then, as AAs are coded, we just remove that prereq_skill or set it to whatever it is supposed to be set to. I didn't really think about doing it that way before, but it would be simple and require no extra coding.

I think once the issue with consolidated AAs is figured out, I should be able to collect the rest of the class' AAs and get them all added. Then, it would just mean some clean up to make sure everything is set properly.

Once the tables are ready, we would just need to get it coded to be able to handle separate tables for SoF AAs. I am not exactly sure how to do that, but I am sure it is possible.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #6  
Old 05-01-2009, 06:19 AM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

Quote:
Originally Posted by trevius
1. Chat Channels - Chat Channels are not functioning in SoF. It appears that in SoF, the Chat Server and Mail Server are combined. This would probably require a rewrite of the mail and chat servers unfortunately.
I've just started incorporating the mail server functionality into the chatserver (it will be a new program called UCS).

It's complicated a bit by the fact that Titanium clients establish two connections to it, one for mail and one for chat. I've added an extra character to the Mailkey, M = Mail connection, C = Chat Connection, S = (SoF) Combined connection. This is set by world, since it can determine what version the client is.

I should add that in SoF, the friends list is now maintained by the server. If you add or remove a friend it sends a command to the UCS which must be responded to for the friend to be added or removed. The friends list is also sent to the client when a connection to the UCS is established.

Last edited by Derision; 05-01-2009 at 05:10 PM..
Reply With Quote
  #7  
Old 05-26-2009, 12:10 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Has there been a release of UCS yet ?
Reply With Quote
Reply

Thread Tools
Display Modes

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 07:38 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