EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Tools (https://www.eqemulator.org/forums/forumdisplay.php?f=593)
-   -   Null Spell Editor (https://www.eqemulator.org/forums/showthread.php?t=31419)

Null 07-17-2010 08:57 PM

v1.2
 
Changes
  • Redid Delete Functionality so that it will only mark a spell for deletion, but will not actually preform the delete until a write is preformed. (it actually works now too)
  • Improved the Searching functionality so it will take into account the search string, search filter and changed check box at the same time. Previously it would best case only take into account two of them.
  • Changed the Copy Incrementation so that if it finds a roman numeral or numeric value in the spell name, it will increment that value (III changes to IV or 3 changes to 4)
  • Added Undelete Spell and Undelete All to the menu drop downs.

    I also moved the initialization panel so that it would be fully viewable at lower resolutions.

Null Spell Editor v1.2
Null Spell Editor v1.2 (No Video)

Enjoy!

AudioGarden21 07-18-2010 03:26 AM

I think you're done Null. Stick a fork in it.

Way to go man. I'm sure the community will be thankful for your hard work and diligence on this project. I know I am.

Have a good one Null.

Cheers!

Akkadius 07-24-2010 01:45 PM

Very very great editor once again. I do have one request though. An option to select a spell a reassign it to an id that is free of the lowest number (for the sake of Titanium clients). For example I weeded out spells that don't need to be used by us, but to be able to auto snap a new spell to a ID that is the lowest in the free range without conflicting and playing a guessing game would be awesome. Thanks tons Null!

Null 07-24-2010 05:39 PM

v1.3
 
I have a new version up. If you pull your spdat.h from google code then you will need to use this version to get your pull downs populated correctly.

Changes
  • Updated the parsing for spdat.h on the latest enum formatting for google code. This change should work with the old way of formatting, so dont worry about your custom/outdated local files throwing up.
  • Added 'Set to Lowest ID' to the Spells menu. This will move a spell file to the lowest possible unused ID. It works with revert so that if you accidentally press it or otherwise decide the old id was better, you can send it back. Thanks Akkadius for this idea.
  • Did some minor text changes so that fields were a little more descriptive.

Download Links

Null Spell Editor v1.3
Null Spell Editor v1.3 (No Videos)


Enjoy the new build, and let me know if you have any issues or requests!

Bellos 07-27-2010 08:41 PM

Hey i can connect and everything but it seems like the changes are being saved to my spell file. I mean it looks like it in the editor, but when i try to add a spell to an item like a clicky. It doesnt show up in my spell list.

Im using georges item editor. Also im on titanium.

GeorgeS 07-27-2010 09:41 PM

The file needs to be imported into the database first, then the editor will see the spells. I sent a pm regarding this.

GeorgeS

pfyon 09-18-2010 02:44 PM

The problem with that insert query is 'range' is a reserved word in mysql 5.something (is for me using 5.1.41 anyway). If you quote your column names with ` , you can specify the column name.

It's failing for me, not sure if it's due to that reason though. I tell it to do a full write to the database and it pauses for 10 seconds or so then appears to finish, but the table just gets truncated. No error messages.

Null 09-21-2010 01:39 PM

I don't remember what version of MySQL I am using at home, but so far it has not had an issue with the range field.

Typically it breaks when a field in the database gets renamed, I keep meaning to fix it so people don't need to wait for me to get around to fixing it every time this happens but I'm slammed at the moment time wise. If I could get blind inserts working this wouldn't be a problem, but I cant seem to get them to play nice.

I thought I added error checking for that insert (what version are you using?) but I might have missed one.

Either way, can you give me a dump of your database fields so I can check them against what I am targeting in code?

pfyon 09-21-2010 05:33 PM

Quote:

Originally Posted by Null (Post 192350)
I don't remember what version of MySQL I am using at home, but so far it has not had an issue with the range field.

Typically it breaks when a field in the database gets renamed, I keep meaning to fix it so people don't need to wait for me to get around to fixing it every time this happens but I'm slammed at the moment time wise. If I could get blind inserts working this wouldn't be a problem, but I cant seem to get them to play nice.

I thought I added error checking for that insert (what version are you using?) but I might have missed one.

Either way, can you give me a dump of your database fields so I can check them against what I am targeting in code?

I'm using 1.3, and it does have the error checking for that query, at least it tells you there's an error and doesn't just break.

Here's the table:

Code:

mysql> show columns in spells_new;
+----------------------+--------------+------+-----+------------+-------+
| Field                | Type        | Null | Key | Default    | Extra |
+----------------------+--------------+------+-----+------------+-------+
| id                  | int(11)      | NO  | PRI | 0          |      |
| name                | varchar(64)  | YES  |    | NULL      |      |
| player_1            | varchar(64)  | YES  |    | BLUE_TRAIL |      |
| teleport_zone        | varchar(64)  | YES  |    | NULL      |      |
| you_cast            | varchar(120) | YES  |    | NULL      |      |
| other_casts          | varchar(120) | YES  |    | NULL      |      |
| cast_on_you          | varchar(120) | YES  |    | NULL      |      |
| cast_on_other        | varchar(120) | YES  |    | NULL      |      |
| spell_fades          | varchar(120) | YES  |    | NULL      |      |
| range                | int(11)      | NO  |    | 100        |      |
| aoerange            | int(11)      | NO  |    | 0          |      |
| pushback            | int(11)      | NO  |    | 0          |      |
| pushup              | int(11)      | NO  |    | 0          |      |
| cast_time            | int(11)      | NO  |    | 0          |      |
| recovery_time        | int(11)      | NO  |    | 0          |      |
| recast_time          | int(11)      | NO  |    | 0          |      |
| buffdurationformula  | int(11)      | NO  |    | 7          |      |
| buffduration        | int(11)      | NO  |    | 65        |      |
| AEDuration          | int(11)      | NO  |    | 0          |      |
| mana                | int(11)      | NO  |    | 0          |      |
| effect_base_value1  | int(11)      | NO  |    | 100        |      |
| effect_base_value2  | int(11)      | NO  |    | 0          |      |
| effect_base_value3  | int(11)      | NO  |    | 0          |      |
| effect_base_value4  | int(11)      | NO  |    | 0          |      |
| effect_base_value5  | int(11)      | NO  |    | 0          |      |
| effect_base_value6  | int(11)      | NO  |    | 0          |      |
| effect_base_value7  | int(11)      | NO  |    | 0          |      |
| effect_base_value8  | int(11)      | NO  |    | 0          |      |
| effect_base_value9  | int(11)      | NO  |    | 0          |      |
| effect_base_value10  | int(11)      | NO  |    | 0          |      |
| effect_base_value11  | int(11)      | NO  |    | 0          |      |
| effect_base_value12  | int(11)      | NO  |    | 0          |      |
| effect_limit_value1  | int(11)      | NO  |    | 0          |      |
| effect_limit_value2  | int(11)      | NO  |    | 0          |      |
| effect_limit_value3  | int(11)      | NO  |    | 0          |      |
| effect_limit_value4  | int(11)      | NO  |    | 0          |      |
| effect_limit_value5  | int(11)      | NO  |    | 0          |      |
| effect_limit_value6  | int(11)      | NO  |    | 0          |      |
| effect_limit_value7  | int(11)      | NO  |    | 0          |      |
| effect_limit_value8  | int(11)      | NO  |    | 0          |      |
| effect_limit_value9  | int(11)      | NO  |    | 0          |      |
| effect_limit_value10 | int(11)      | NO  |    | 0          |      |
| effect_limit_value11 | int(11)      | NO  |    | 0          |      |
| effect_limit_value12 | int(11)      | NO  |    | 0          |      |
| max1                | int(11)      | NO  |    | 0          |      |
| max2                | int(11)      | NO  |    | 0          |      |
| max3                | int(11)      | NO  |    | 0          |      |
| max4                | int(11)      | NO  |    | 0          |      |
| max5                | int(11)      | NO  |    | 0          |      |
| max6                | int(11)      | NO  |    | 0          |      |
| max7                | int(11)      | NO  |    | 0          |      |
| max8                | int(11)      | NO  |    | 0          |      |
| max9                | int(11)      | NO  |    | 0          |      |
| max10                | int(11)      | NO  |    | 0          |      |
| max11                | int(11)      | NO  |    | 0          |      |
| max12                | int(11)      | NO  |    | 0          |      |
| icon                | int(11)      | NO  |    | 0          |      |
| memicon              | int(11)      | NO  |    | 0          |      |
| components1          | int(11)      | NO  |    | -1        |      |
| components2          | int(11)      | NO  |    | -1        |      |
| components3          | int(11)      | NO  |    | -1        |      |
| components4          | int(11)      | NO  |    | -1        |      |
| component_counts1    | int(11)      | NO  |    | 1          |      |
| component_counts2    | int(11)      | NO  |    | 1          |      |
| component_counts3    | int(11)      | NO  |    | 1          |      |
| component_counts4    | int(11)      | NO  |    | 1          |      |
| NoexpendReagent1    | int(11)      | NO  |    | -1        |      |
| NoexpendReagent2    | int(11)      | NO  |    | -1        |      |
| NoexpendReagent3    | int(11)      | NO  |    | -1        |      |
| NoexpendReagent4    | int(11)      | NO  |    | -1        |      |
| formula1            | int(11)      | NO  |    | 100        |      |
| formula2            | int(11)      | NO  |    | 100        |      |
| formula3            | int(11)      | NO  |    | 100        |      |
| formula4            | int(11)      | NO  |    | 100        |      |
| formula5            | int(11)      | NO  |    | 100        |      |
| formula6            | int(11)      | NO  |    | 100        |      |
| formula7            | int(11)      | NO  |    | 100        |      |
| formula8            | int(11)      | NO  |    | 100        |      |
| formula9            | int(11)      | NO  |    | 100        |      |
| formula10            | int(11)      | NO  |    | 100        |      |
| formula11            | int(11)      | NO  |    | 100        |      |
| formula12            | int(11)      | NO  |    | 100        |      |
| LightType            | int(11)      | NO  |    | 0          |      |
| goodEffect          | int(11)      | NO  |    | 0          |      |
| Activated            | int(11)      | NO  |    | 0          |      |
| resisttype          | int(11)      | NO  |    | 0          |      |
| effectid1            | int(11)      | NO  |    | 254        |      |
| effectid2            | int(11)      | NO  |    | 254        |      |
| effectid3            | int(11)      | NO  |    | 254        |      |
| effectid4            | int(11)      | NO  |    | 254        |      |
| effectid5            | int(11)      | NO  |    | 254        |      |
| effectid6            | int(11)      | NO  |    | 254        |      |
| effectid7            | int(11)      | NO  |    | 254        |      |
| effectid8            | int(11)      | NO  |    | 254        |      |
| effectid9            | int(11)      | NO  |    | 254        |      |
| effectid10          | int(11)      | NO  |    | 254        |      |
| effectid11          | int(11)      | NO  |    | 254        |      |
| effectid12          | int(11)      | NO  |    | 254        |      |
| targettype          | int(11)      | NO  |    | 2          |      |
| basediff            | int(11)      | NO  |    | 0          |      |
| skill                | int(11)      | NO  |    | 98        |      |
| zonetype            | int(11)      | NO  |    | -1        |      |
| EnvironmentType      | int(11)      | NO  |    | 0          |      |
| TimeOfDay            | int(11)      | NO  |    | 0          |      |
| classes1            | int(11)      | NO  |    | 255        |      |
| classes2            | int(11)      | NO  |    | 255        |      |
| classes3            | int(11)      | NO  |    | 255        |      |
| classes4            | int(11)      | NO  |    | 255        |      |
| classes5            | int(11)      | NO  |    | 255        |      |
| classes6            | int(11)      | NO  |    | 255        |      |
| classes7            | int(11)      | NO  |    | 255        |      |
| classes8            | int(11)      | NO  |    | 255        |      |
| classes9            | int(11)      | NO  |    | 255        |      |
| classes10            | int(11)      | NO  |    | 255        |      |
| classes11            | int(11)      | NO  |    | 255        |      |
| classes12            | int(11)      | NO  |    | 255        |      |
| classes13            | int(11)      | NO  |    | 255        |      |
| classes14            | int(11)      | NO  |    | 255        |      |
| classes15            | int(11)      | NO  |    | 255        |      |
| classes16            | int(11)      | NO  |    | 255        |      |
| CastingAnim          | int(11)      | NO  |    | 44        |      |
| TargetAnim          | int(11)      | NO  |    | 13        |      |
| TravelType          | int(11)      | NO  |    | 0          |      |
| SpellAffectIndex    | int(11)      | NO  |    | -1        |      |
| field124            | int(11)      | NO  |    | 0          |      |
| field125            | int(11)      | NO  |    | 0          |      |
| deities1            | int(11)      | NO  |    | 0          |      |
| deities2            | int(11)      | NO  |    | 0          |      |
| deities3            | int(11)      | NO  |    | 0          |      |
| deities4            | int(11)      | NO  |    | 0          |      |
| deities5            | int(11)      | NO  |    | 0          |      |
| deities6            | int(11)      | NO  |    | 0          |      |
| deities7            | int(11)      | NO  |    | 0          |      |
| deities8            | int(11)      | NO  |    | 0          |      |
| deities9            | int(11)      | NO  |    | 0          |      |
| deities10            | int(11)      | NO  |    | 0          |      |
| deities11            | int(11)      | NO  |    | 0          |      |
| deities12            | int(12)      | NO  |    | 0          |      |
| deities13            | int(11)      | NO  |    | 0          |      |
| deities14            | int(11)      | NO  |    | 0          |      |
| deities15            | int(11)      | NO  |    | 0          |      |
| deities16            | int(11)      | NO  |    | 0          |      |
| field142            | int(11)      | NO  |    | 100        |      |
| field143            | int(11)      | NO  |    | 0          |      |
| new_icon            | int(11)      | NO  |    | 161        |      |
| spellanim            | int(11)      | NO  |    | 0          |      |
| uninterruptable      | int(11)      | NO  |    | 0          |      |
| ResistDiff          | int(11)      | NO  |    | -150      |      |
| dot_stacking_exempt  | int(11)      | NO  |    | 0          |      |
| deleteable          | int(11)      | NO  |    | 0          |      |
| RecourseLink        | int(11)      | NO  |    | 0          |      |
| field151            | int(11)      | NO  |    | 0          |      |
| field152            | int(11)      | NO  |    | 0          |      |
| field153            | int(11)      | NO  |    | 0          |      |
| short_buff_box      | int(11)      | NO  |    | -1        |      |
| descnum              | int(11)      | NO  |    | 0          |      |
| typedescnum          | int(11)      | YES  |    | NULL      |      |
| effectdescnum        | int(11)      | YES  |    | NULL      |      |
| field158            | int(11)      | YES  |    | NULL      |      |
| field159            | int(11)      | NO  |    | 0          |      |
| field160            | int(11)      | NO  |    | 0          |      |
| field161            | int(11)      | NO  |    | 0          |      |
| bonushate            | int(11)      | NO  |    | 0          |      |
| field163            | int(11)      | NO  |    | 100        |      |
| field164            | int(11)      | NO  |    | -150      |      |
| field165            | int(11)      | NO  |    | 0          |      |
| EndurCost            | int(11)      | NO  |    | 0          |      |
| EndurTimerIndex      | int(11)      | NO  |    | 0          |      |
| field168            | int(11)      | NO  |    | 0          |      |
| field169            | int(11)      | NO  |    | 0          |      |
| field170            | int(11)      | NO  |    | 0          |      |
| field171            | int(11)      | NO  |    | 0          |      |
| field172            | int(11)      | NO  |    | 0          |      |
| HateAdded            | int(11)      | NO  |    | 0          |      |
| EndurUpkeep          | int(11)      | NO  |    | 0          |      |
| field175            | int(11)      | YES  |    | NULL      |      |
| numhits              | int(11)      | NO  |    | 0          |      |
| pvpresistbase        | int(11)      | NO  |    | -150      |      |
| pvpresistcalc        | int(11)      | NO  |    | 100        |      |
| pvpresistcap        | int(11)      | NO  |    | -150      |      |
| spell_category      | int(11)      | NO  |    | -99        |      |
| field181            | int(11)      | NO  |    | 7          |      |
| field182            | int(11)      | NO  |    | 65        |      |
| field183            | int(11)      | NO  |    | 0          |      |
| field184            | int(11)      | NO  |    | 0          |      |
| can_mgb              | int(11)      | NO  |    | 0          |      |
| nodispell            | int(11)      | NO  |    | -1        |      |
| npc_category        | int(11)      | NO  |    | 0          |      |
| npc_usefulness      | int(11)      | NO  |    | 0          |      |
| field189            | int(11)      | NO  |    | 0          |      |
| field190            | int(11)      | NO  |    | 0          |      |
| field191            | int(11)      | NO  |    | 0          |      |
| field192            | int(11)      | NO  |    | 0          |      |
| nimbuseffect        | int(11)      | YES  |    | 0          |      |
| field194            | int(11)      | NO  |    | 0          |      |
| field195            | int(11)      | NO  |    | 0          |      |
| field196            | int(11)      | NO  |    | 0          |      |
| field197            | int(11)      | NO  |    | 0          |      |
| field198            | int(11)      | NO  |    | 0          |      |
| field199            | int(11)      | NO  |    | 1          |      |
| field200            | int(11)      | NO  |    | 0          |      |
| field201            | int(11)      | NO  |    | 0          |      |
| field202            | int(11)      | NO  |    | 0          |      |
| field203            | int(11)      | YES  |    | 0          |      |
| field204            | int(11)      | YES  |    | 0          |      |
| field205            | int(11)      | YES  |    | 0          |      |
| field206            | int(11)      | YES  |    | -1        |      |
| spellgroup          | int(11)      | YES  |    | 0          |      |
| field208            | int(11)      | YES  |    | 0          |      |
| field209            | int(11)      | YES  |    | 0          |      |
| field210            | int(11)      | YES  |    | 1          |      |
| field211            | int(11)      | YES  |    | 0          |      |
| allowrest            | int(11)      | YES  |    | 0          |      |
| field213            | int(11)      | YES  |    | 1          |      |
| field214            | int(11)      | YES  |    | 1          |      |
+----------------------+--------------+------+-----+------------+-------+
215 rows in set (0.02 sec)


pfyon 09-21-2010 05:35 PM

And here's the error reported by the editor:
Code:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'range, aoerange, pushback, pushup, cast_time, recovery_time, recast_time, buffdu' at line 1
When I put backticks (`) around 'range' from the query you posted earlier in this thread, it works.

edit: also, not exactly sure what you mean by blind inserts, but if I use
Code:

mysql> insert into blind values (1,'test','test',1);
Query OK, 1 row affected (0.24 sec)

with table
Code:

mysql> show columns in blind;
+-------+------------------+------+-----+---------+----------------+
| Field | Type            | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO  | PRI | NULL    | auto_increment |
| col1  | varchar(45)      | NO  |    | NULL    |                |
| col2  | varchar(45)      | NO  |    | NULL    |                |
| col3  | int(10) unsigned | NO  |    | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

It works fine.

Code:

mysql> select * from blind;
+----+------+------+------+
| id | col1 | col2 | col3 |
+----+------+------+------+
|  1 | test | test |    1 |
+----+------+------+------+
1 row in set (0.00 sec)

There's probably a better way to auto insert the index, though.

Funkey Monkey 10-07-2010 07:29 PM

any word on this error? Im trying 1.3 and I get that range error msg before i can even get in and edit something. I get the msg on starting screen when i hit use spellfile from database. Also get the error if i load from local spell file and then try to write full to database.

Null 10-11-2010 01:24 PM

Been sort of swamped/moving/generally doing other shit. I'll try to patch it up in the near future, along with the ability to edit the db strings file.

Thanks for being patient.

Templus 11-08-2010 10:24 AM

can't seem to get it to connect to my database :( not sure why, I enter in all the information correctly

Null 04-18-2011 12:44 AM

v1.8
 
Changes
  • Fixed some MySQL query issues, let me know if anyone has any other issues with them.
  • Added a gem icon viewer to go along side the buff icon viewer.
  • Added the ability to edit the dbstr_us.txt. The caveat is that the file must be saved separately from the spells.
  • Added a Resistance Simulator which allows you to edit spell resist formulas on the fly, view graphs of your formulas, setup resist modifiers for spell types and classes, and then test those resistances against two mock characters. This is entirely hooked into the spell editor so any changes that you make to the spells in the editor are automatically reflected in the simulator.

Remember to run trustfall.bat before using the editor...

Enjoy!

Null Spell Editor v1.8
Null Spell Editor v1.8 (No Video)

deaddraqear 04-19-2011 01:57 PM

Hey Null.. Not sure if I'm missing something here, but with the latest version, I cannot click on "mana" box to edit value at all. In the old version, it works fine. (old version obviously refers to latest release prior to 1.8)


Also, have a question regarding old version. I cannot change the "skill" of any spells.. I can do everything else just fine, but the drop down list for skill type is blank other then the pre-chosen skill. What I have been doing is just copy/editing spells, then going into navicat to change the skill used. There something I messed up on when loading config up?

edit: Playing with it a little differently (keyboard only), I realized I can just tab over just fine. Playing with it further, I found I cannot click on any of the boxes to on the left side below Name and above the duration drop box. (new icon, particle effect, skill drop box, mana, casting time, spell group). Not really a big deal, but I'm sure this isn't as intended?

Thx for 1.8 release tho, I can now choose skills and whatnot, so you can disregard the "question". Great job!

Null 04-19-2011 07:59 PM

Fixed!

1.8.1
1.8.1 (no video)

Akkadius 04-26-2011 08:19 PM

Quote:

Originally Posted by Null (Post 198719)

Null, you are the man!

Astal 05-03-2011 08:51 PM

Quote:

Originally Posted by Null (Post 198719)

Hey null, question about editing the strings.

How does it work, you just type in the ID you want the string to have then the description and hit save string file or?

I tried this but when i check that spell again the description for the string ID i entered comes up blank

Null 05-04-2011 12:20 AM

You can change the number if you want or you can just edit that string value for its default id. The deal is that you have to save the string file separately from the spell file (File-> Save String File) and anyone playing on your server will need to save that file into their Everquest directory.

Astal 05-04-2011 06:53 PM

when you say you can change the number if you want.

It defaults to 0 correct? cause mine do, unless thats because the spells are already made. Anyway i tried setting the number to 35000, typed the description, saved the string file and the spell file and reloaded both and the field was blank and if I erased 35000 and typed it in again it was still blank.

Just wanna make sure im not doing something wrong

Also, should it take 60 seconds to save the string file?


Ok i just did the same thing and confirmed it does not save to the string file in 1.81 atleast for me. If its just me thats fine I can deal with that ill just edit the string file normally since i know how now.

Null 05-04-2011 11:48 PM

I went back and tried what you did, setting the ID to 3500 and it exploded...silently. I fixed the bug and here is the build:

1.8.2
1.8.2 (no video)

Let me know if it gives you anymore troubles.

Astal 05-05-2011 04:16 PM

Quote:

Originally Posted by Null (Post 199374)
I went back and tried what you did, setting the ID to 3500 and it exploded...silently. I fixed the bug and here is the build:

1.8.2
1.8.2 (no video)

Let me know if it gives you anymore troubles.

will do thanks man

Astal 05-19-2011 11:59 PM

nevermind, sigh

krujo81 08-21-2011 01:19 AM

Hay i was wondering if you keep up with this anymore?. i been waiting on a vearsion that lets me edit spell id and target type.

the current target type box is empty. and as for the edit spell id's i was wondering if it was posabile to notice holes in the spellfile id's like for example 2345 2346-2350 and you could select any of the open ID's to put in your spell before just adding to the next highest ID

Null 09-08-2011 08:10 PM

Null Spell Editor v1.8.3
 
I believe I fixed the target type drop down issue, the formatting changed in one of the header files so I had to update it.

The editor should have a 'Set to Lowest ID' menu option under spells, let me know if that does what you want.

Here is the new build:
Null Spell Editor v1.8.3

lerxst2112 09-08-2011 08:29 PM

Thanks Null! The target type is working fine for me now. :)

krujo81 09-08-2011 11:34 PM

Hay null thanks for the update the only thing about the find next id's i was talking about is for some reason i was told Not to use spell id 0-3? cant remember how many but i know 0-2 for sure wasn't to be used. so i was hopeing it could scan the file and find all id's then give you refrence slots like it would see the 0-3 and 400-800 and 700-1000 and then lets say you edit the ID to 701 and the next scan would show 700 702-1000

Null 10-22-2011 03:50 PM

1.8.3 with videos as requested:

http://dl.dropbox.com/u/7751891/NullSpellEdit_1.8.3.rar

AudioGarden21 01-17-2012 02:57 AM

Hey Null! Been a while man. I want to thank you again for all the work you've done on this editor.

I just recently came across an issue with assigning requirements to spells. For some reason the diety/dieties I select won't stick. I'm trying to create a diety restricted spell for the purpose of making custom spells for each class/diety mix. After I assign the diety, if I select the spell on the left side of the menu again, it shows a check mark for a diety other than the one I'm trying to assign.

Here's an example:

I select Yaulp, a level 1 Cleric spell, and assign it to Innoruuk. If I reselect the spell on the left side box again, it shows Quellious as checked instead of Inny. If I try to uncheck Quellious, then reselect the spell again on the left side, it still shows as checked. In order to clear that check mark from Quellious, I have to check Innoruuk, uncheck it, then reselect the spell to clear Quellious.

All I know is, that feature is functioning completely out of whack and I'm not sure why. Some help would be appreciated.

QUICK RUN DOWN

Check Innoruuk
Select spell
Quellious checked instead of Innoruuk
Select spell
Check Innoruuk
Uncheck Innoruuk
Select spell
Quellious deselected

The rest seem to be pretty much the same in that they don't select/deselect as they should.

EDIT

Here's a quick edit to give a run down of what check selects what diety:

Bertoxxulos - works fine, selects and deselects no problem
Cazic Thule - selects Brell Serilis, check/uncheck Cazic Thule to deselect Brell Serilis
Bristlebane - selects Cazic Thule, check/uncheck Bristlebane to deselect Cazic Thule
Karana - selects Erollisi Marr, check/uncheck Karana to deselect Erollisi Marr
Prexus - selects Bristlebane, check/uncheck Prexus to deselect Bristlebane
Rallos Zek - selects Innoruuk, check/uncheck Rallos Zek to deselect Bristlebane
Solusek Ro - selects Karana, check/uncheck Solusek Ro to deselect Karana
Tunare - works fine, selects and deselects no problem
Brell Serilis - selects Mithaniel Marr, check/uncheck Brell Serilis to deselect Mithaniel Marr
Erollisi Marr - selects Prexus, check/uncheck Erollisi Marr to deselect Prexus
Innoruuk - selects Quellious, check/uncheck Quellious to deselect Quellious
Mithaniel Marr - selects Rallos Zek, check/uncheck Mithaniel Marr to deselect Rallos Zek
Quellious - selects Rodcet Nife, check/uncheck Quellious to deselect Rodcet Nife
Rodcet Nife - selects Solusek Ro, check/uncheck Rodcet Nife to deselect Solusek Ro
The Tribunal - works fine, selects and deselects no problem

Clearly there's an issue with the linkage of the selection boxes and the proper diety.

Here's an easier to read summary:

Broken

Cazic Thule > Brell Serilis
Bristlebane > Cazic Thule
Karana > Erollisi Marr
Prexus > Bristlebane
Rallos Zek > Innoruuk
Solusek Ro > Karana
Brell Serilis > Mithaniel Marr
Erollisi Marr > Prexus
Innoruuk > Quellious
Mithaniel Marr > Rallos Zek
Quellious > Rodcet Nife
Rodcet Nife > Solusek Ro

Working

Bertoxxulos
Tunare
The Tribunal

EDIT 2

Well, it seems through my testing you can cast a spell regardless of your class diety and whether or not you set it for a specific diety (just tested with a Gnome Cleric following Brell Serillis using a spell restricted to Innoruuk in the spell file), so I guess it's irrelevant in the end. The only way to limit a specific spell is on the scroll itself, from what I've seen, but it would still be nice to get that fixed if there is any reason for it existing outside of my tests.

AudioGarden21 01-17-2012 08:01 AM

Request for numhits & field175 to be implemented in the editor.
 
It has come to my attention that some spells have what could be considered charges. Take for example the spell Burning Aura. It has a maximum of 240 charges before it dissipates. Field175 I believe refers to the type of spell being used, and only spells that have the numhits field populated have anything in field175. Burning Aura has a value of 1 in Field175, for example.

I looked and the values range between 1-9 (minus 4) and I've cross checked each of them with several spells in each value, but I couldn't link them to anything specific on the spell data from Allakhazam.

I thought it was liked to Category on Allakhazam, but I came across several anomalies that didn't seem to welcome that theory, however.

Caryatis 01-17-2012 08:24 PM

It is a category, its called "numhits_type" on what.the.fizzle(alla is pretty useless for anything higher end... spell parser-wise)

This is from an old server of mine when I combed through w.t.f and organized them as best I could:

Code:

NUMHIT_AEMAX = 0,                                // max target in cone/beam/unknown(32) spells
NUMHIT_INCOMINGMELEE = 1,                // melee hits landing on you
NUMHIT_OFFENSIVEMELEE = 2,                // outgoing melee attacks
NUMHIT_INCOMINGDETRISPELL = 3,        // incoming detrimental spells
NUMHIT_OFFENSIVECAST = 4,                // spells/procs
NUMHIT_OFFENSIVEMELEE2 = 5,        // All melee skills
NUMHIT_INCOMINGMELEE2 = 6,                // same
NUMHIT_CASTSPELL = 7,                        // any cast spell matching focus
NUMHIT_ANYDAMAGE = 8,                        // spell or melee dmg
NUMHIT_INCOMINGDETRISPELL2 = 9,        // guessed
NUMHIT_SPELLPROC = 10,                        // buff procs etc
NUMHIT_SPELLPROC2 = 11                        // same

The current numhits code is pretty sloppy(mostly my bad) but it gets the job done. I do have a diff of all the categories incorporated unfortunately its mixed with 15k other lines and it was mainly cosmetic. For example, Skin of the Reptile is numhits_type 10 which means its numhits only last for XX buff procs but the code currently checks for buffs like this on every melee swing so the field is not needed in that instance.

Its not ideal however as we have bits all over and to add support for other types means spreading even more around.

AudioGarden21 01-17-2012 09:10 PM

Quote:

Originally Posted by Caryatis (Post 206083)
It is a category, its called "numhits_type" on what.the.fizzle(alla is pretty useless for anything higher end... spell parser-wise)

This is from an old server of mine when I combed through w.t.f and organized them as best I could:

Code:

NUMHIT_AEMAX = 0,                                // max target in cone/beam/unknown(32) spells
NUMHIT_INCOMINGMELEE = 1,                // melee hits landing on you
NUMHIT_OFFENSIVEMELEE = 2,                // outgoing melee attacks
NUMHIT_INCOMINGDETRISPELL = 3,        // incoming detrimental spells
NUMHIT_OFFENSIVECAST = 4,                // spells/procs
NUMHIT_OFFENSIVEMELEE2 = 5,        // All melee skills
NUMHIT_INCOMINGMELEE2 = 6,                // same
NUMHIT_CASTSPELL = 7,                        // any cast spell matching focus
NUMHIT_ANYDAMAGE = 8,                        // spell or melee dmg
NUMHIT_INCOMINGDETRISPELL2 = 9,        // guessed
NUMHIT_SPELLPROC = 10,                        // buff procs etc
NUMHIT_SPELLPROC2 = 11                        // same

The current numhits code is pretty sloppy(mostly my bad) but it gets the job done. I do have a diff of all the categories incorporated unfortunately its mixed with 15k other lines and it was mainly cosmetic. For example, Skin of the Reptile is numhits_type 10 which means its numhits only last for XX buff procs but the code currently checks for buffs like this on every melee swing so the field is not needed in that instance.

Its not ideal however as we have bits all over and to add support for other types means spreading even more around.

Thanks for the clarification of the values, Caryatis, much appreciated.

I did notice that the numhits factor had no bearing on when or whether the spell would actually dissipate once those charges were met, so I knew there was some limiting factor in the code for the usefulness of numhits. You also mentioned that Skin of the Reptile uses type 10. When I was cross referencing the values for an explanation of their purpose, I saw that Reptile's value was set to 1 in my database. Do you think that the type value might play a factor in why most of my reverse procs don't function like I remember them functioning?

EDIT

I just tested Skin of the Reptile, setting numhits to 3 and numhits_type to 10, to see if it would dissipate after three procs but it doesn't seem to make any difference as it lasted the entire duration and proc'd 5 times. One thing of note though, it seems that average procs per minute limit the amount of procs that defensive procs are capable of putting out, which is contrary to what I remember happening. I'm pretty sure they're supposed to be independent of APM. I'm guessing there's no code implemented to take advantage of the numhits_type values in the spell file.

Caryatis 01-17-2012 10:14 PM

I never said all types were working and the code I posted is from my server source, not the general source so the setting of that field is irrelevant.

Since I no longer commit, you might want to just do it yourself. Look at how it works for regular dmg shields and then add that in execweaponproc(which will work for any hit limited proc buff if you do it right).

chrsschb 02-28-2012 03:13 AM

Having an issue with bard aoe songs trying to affect NPCs.

They hit players fine using the AEBard target type, but are also trying to hit npcs, returning a crap load of these errors:

Your spell did not take hold.


Over and over and over and over and over...


Any idea how to prevent this? Maybe a LimitTarget effect, but what value? Is there a different target type I can use? I've tried AECaster, AEClientv1, AEClientv2, etc.

Completely lost here.

sorvani 02-28-2012 10:07 PM

you are completely lost but that's ok. i just tested a fix for it.

chrsschb 02-28-2012 10:43 PM

Quote:

Originally Posted by sorvani (Post 207654)
you are completely lost but that's ok. i just tested a fix for it.

Let me know what it is, thanks.

sorvani 02-28-2012 11:05 PM

just committed the change, get rev2105

chrsschb 02-29-2012 12:09 AM

Guessing it's a source edit and not a SQL update since I can't grab it from the updates folder.

chrsschb 03-08-2012 03:25 PM

I don't know what it is, maybe I'm just retarded but every spell I edit using this editor, doing things as simple as just modifying minimum values on a proc, completely breaks them.

For example, Shroud of Death. Normally this spell gives the Shadowknight a lifetap weapon proc for 50 damage/heal.

I modified this to be Level + Min, with min being 50. So it should be healing for 110 now at 60. No, instead it says it heals the NPC for 107.

screenshot showing the parts I edited, I changed minimum from -45 to 50, and maximum from 50 to 0:
http://downloads.overthetophosting.c...pelleditor.png

in-game results:
http://downloads.overthetophosting.com/images/wtf.png

ARGHHHH

sorvani 03-08-2012 06:15 PM

It's a lifetap hence the negative number to damage the NPC and not heal it.


All times are GMT -4. The time now is 05:14 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.