PDA

View Full Version : How do I create a new spell?


Dag
01-09-2007, 07:13 AM
I have been reading through all the threads on spell creation/editing and they all seem to be from 2 years ago or longer. Is there a more recent thread I am missing? I am customizing my server and would like to implement custom spells so I may define my server. Is there a way to create new spells and would you please let me know how. I am learning alot of information quickly but I have never enjoyed something so much. Thank you in advance for your help. 8-)

morganpartee
01-09-2007, 10:16 AM
i dont know. though i would love to learn... Would love a 500% speed increase...

Maybe once i know how, i could write a program to do it! lol....

That would kick.

bufferofnewbies
01-09-2007, 11:00 AM
The spells themselves haven't really changed much over the passage of time. They still use the same file from back then.
If you are just adjusting spells you already have: check outGeorgeS' (http://66.159.225.58/eqemu/eq.html) site for the spell editor. It's a quick fix for desire. Easy to use, and less hassle than learning the system.

If you are seeking to make new spells, best bet is to browse through the old posts and jump into spell creation head first.. see what does and doesnt work. Break a few eggs. That sounds a bit like the commonly hated 'oh I know how but don't want to teach you' effect in that it has no real information but, from my experience, nothing beats actually seeing for youself what works and what doesn't when you make changes to the server. That way, when you DO come across something that isn't covered by someone else's programs, you have a basic idea of where to look and what to do.

mattmeck
01-09-2007, 11:51 AM
The best spell editor is notepad.

John Adams
01-09-2007, 03:02 PM
Be careful when going apesh!t and making 500% haste spells ~grin~ Some things the Emu just cannot handle (nor could Live, I am sure). There's a reason things are as they are. Stability.

Example; I made a custom Monk weapon for my buddy. It had like 10000hp, 500 stats... totally insane procs etc. Soon as that weapon tapped a mob, the entire world crashed. Just keep backups, you should be ok.

morganpartee
01-12-2007, 11:31 AM
ok, ive done it. I reccomend Openspell. once you get it to work right...ITS UBER.

My bard, whose name is god btw, has about 10 different buffs currently, on different items, which i can cast on anyone, and can use on any mob...
(500% speed increase, 300%haste etc etc...lol)

GL!

:)

GeorgeS
01-15-2007, 03:31 PM
I think Windcatcher should be pleased at his program!

So many find it very useful, as it's about the only thing that works

GeorgeS

kc5wee
08-03-2007, 03:25 PM
I just wanted to add to this - I was hunting down a way to add spells too. I bet I blew almost a whole day just to find this out. I couldnt find any of this written anywhere.

- Open spell_us.txt with openspell. What you change here you *must* also copy this file to C:\eqemu\spell_us.txt, and any other user on your server has to have it too. The spells_en.txt is not used anymore. It goes by spell ID... so if you #cast 1250 then that spell will be compared with the server's copy (to prevent cheating) and the spell, casting delay, recast time, who can cast, etc... and listed effects will be executed.
- You can also use notepad, but I would highly suggest using openspell. Use Word Wrapping.
- The spells table in the database does nothing. Its just there for referance.

Here is an example of a spell I created, called "Flaming Fire", for a level 10 Wizard, costing 100 mana for 10 damage. (I know, bad ratio, but I wanted to see it work)

5000^Flaming Fire^PLAYER_1^^^^ You been hit by Flaming Fire^ is on fire^^150^0^0^0^1000^1500^25000^0^0^0^100^-10^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0 ^0^0^0^0^0^0^0^0^0^0^0^0^0^-1^-1^-1^-1^1^1^1^1^-1^-1^-1^-1^100^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^ 0^0^0^0^0^5^0^24^-1^0^0^255^255^255^255^255^255^255^255^255^255^255^ 10^255^255^255^255^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0 ^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0 ^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0 ^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0

Format of this file:
id,name,activated,aeduration,aerange,attrib1,attri b2,attrib3,attrib4,attrib5,attrib6,attrib7,attrib8 ,attrib9,att
rib10,attrib11,attrib12,autocast,autocasttext,base 1,base2,base3,base4,base5,base6,base7,base8,base9, base10,base1
1,base12,bookicon,brdlevel,bstlevel,calc1,calc2,ca lc3,calc4,calc5,calc6,calc7,calc8,calc9,calc10,cal c11,calc12,c
astinganim,castingtime,castmsg1,castmsg2,castmsg3, castmsg4,castmsg5,classes,clrlevel,deities,deletab le,desc1,des
c2,desc3,desc4,desc5,desc6,desc7,desc8,desc9,desc1 0,desc11,desc12,descnum,dotstackingexempt,drulevel ,duration,du
rationformula,durationtext,enclevel,environment,ex tra,fizzleadj,fizzletime,foci,focus1,focus2,focus3 ,focus4,focu
sitems,gemicon,lighttype,location,maglevel,manacos t,max1,max2,max3,max4,max5,max6,max7,max8,max9,max 10,max11,max
12,maxduration,minduration,minlevel,mnklevel,necle vel,pallevel,pushback,pushup,range,reagentcount1,r eagentcount2
,reagentcount3,reagentcount4,reagentid1,reagentid2 ,reagentid3,reagentid4,reagents,recasttime,resist, resistadj,rn
glevel,roglevel,shdlevel,shmlevel,shortbuff,skill, source,spaindex,spellanim,spellicon,spelltype,targ etanim,targe
ttype,targname,timeofday,traveltype,uninterruptabl e,unknown112,unknown113,unknown129,unknown130,unkn own131,unkno
wn139,unknown140,unknown141,unknown144,unknown145, unknown146,unknown147,unknown148,unknown149,unknow n150,unknown
151,unknown152,unknown153,updated,warlevel,wizleve l

GeorgeS
08-04-2007, 06:14 AM
Thanks for the info - I'm in the process of making a simple spell editor, and this will help.

GeorgeS

ChaosSlayer
01-07-2008, 12:58 PM
Hiya Geogre!
Any word on a new spell editor? =)

I am not using OpenSpell editor cuase... well rather complicated
I am using the one writen by a german guy a while ago.
Its user interface is marvelously easy to read and understand, the only problem that it has some problem when saving the spell file, so when ever I created or edit a spell, instead of just copyign over the file, i keep a backup copy, and only copy over the spell line i edited, cuase otherwise file gets currupted.
It also seem to not be able to edit certain things like spell animation or properly assign spell description.

Overall if you could take a look at it, and write something eqauly easy to use, but fully functional- it would be most appriciated =)

In case there is actuly a NEW AND WORKING spell editor around I am not aware off- please point me to it.

Big Thanks =)

AndMetal
01-14-2008, 06:56 AM
Here is an example of a spell I created, called "Flaming Fire", for a level 10 Wizard, costing 100 mana for 10 damage. (I know, bad ratio, but I wanted to see it work)

5000^Flaming Fire^PLAYER_1^^^^ You been hit by Flaming Fire^ is on fire^^150^0^0^0^1000^1500^25000^0^0^0^100^-10^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0 ^0^0^0^0^0^0^0^0^0^0^0^0^0^-1^-1^-1^-1^1^1^1^1^-1^-1^-1^-1^100^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^ 0^0^0^0^0^5^0^24^-1^0^0^255^255^255^255^255^255^255^255^255^255^255^ 10^255^255^255^255^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0 ^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0 ^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0 ^0^0^0^0^0^0^0^0^0^0^0^0^0^0^0

Format of this file:
id,name,activated,aeduration,aerange,attrib1,attri b2,attrib3,attrib4,attrib5,attrib6,attrib7,attrib8 ,attrib9,att
rib10,attrib11,attrib12,autocast,autocasttext,base 1,base2,base3,base4,base5,base6,base7,base8,base9, base10,base1
1,base12,bookicon,brdlevel,bstlevel,calc1,calc2,ca lc3,calc4,calc5,calc6,calc7,calc8,calc9,calc10,cal c11,calc12,c
astinganim,castingtime,castmsg1,castmsg2,castmsg3, castmsg4,castmsg5,classes,clrlevel,deities,deletab le,desc1,des
c2,desc3,desc4,desc5,desc6,desc7,desc8,desc9,desc1 0,desc11,desc12,descnum,dotstackingexempt,drulevel ,duration,du
rationformula,durationtext,enclevel,environment,ex tra,fizzleadj,fizzletime,foci,focus1,focus2,focus3 ,focus4,focu
sitems,gemicon,lighttype,location,maglevel,manacos t,max1,max2,max3,max4,max5,max6,max7,max8,max9,max 10,max11,max
12,maxduration,minduration,minlevel,mnklevel,necle vel,pallevel,pushback,pushup,range,reagentcount1,r eagentcount2
,reagentcount3,reagentcount4,reagentid1,reagentid2 ,reagentid3,reagentid4,reagents,recasttime,resist, resistadj,rn
glevel,roglevel,shdlevel,shmlevel,shortbuff,skill, source,spaindex,spellanim,spellicon,spelltype,targ etanim,targe
ttype,targname,timeofday,traveltype,uninterruptabl e,unknown112,unknown113,unknown129,unknown130,unkn own131,unkno
wn139,unknown140,unknown141,unknown144,unknown145, unknown146,unknown147,unknown148,unknown149,unknow n150,unknown
151,unknown152,unknown153,updated,warlevel,wizleve l

I'm not trying to rock the boat here, but this information is actually incorrect.

Back in October (after this post was made), I created a resource in the Wiki (http://www.eqemulator.net/wiki/wikka.php?wakka=SpellsUsTxt) based on the OpenSpell XML file. It is by no means complete (as in, missing descriptions about several of the fields), but of course others are welcome to contribute to it :)

There are a total of 203 fields (labeled field0 through field202), and are in a fairly different order than listed above.

GeorgeS
01-14-2008, 02:32 PM
With the number of fields (like items table), this is hard work to code. I spent several months writing eqitems item editor, and a spell editor is also no simple feat - hence the very very few out there.

I still abide what I said, and will eventually write the program, but we'll see how it goes. I should have time next week open for programing this

One thing I would prefer is to upload this as a table and not work from a flat text file (nightmare to parse). It will create the file when you're done so that the spells will work in game.

I really wish the spells were in a table...

GeorgeS

Dispair2
01-14-2008, 02:59 PM
With the number of fields (like items table), this is hard work to code. I spent several months writing eqitems item editor, and a spell editor is also no simple feat - hence the very very few out there.

I still abide what I said, and will eventually write the program, but we'll see how it goes. I should have time next week open for programing this

One thing I would prefer is to upload this as a table and not work from a flat text file (nightmare to parse). It will create the file when you're done so that the spells will work in game.

I really wish the spells were in a table...

GeorgeS


Yes, I think you are correct that this would be easier if it were in a table. If i was to write code for this is say vb.net i would have the program import the file to an SQL table seeing as we are all already using MySQL and then edit the DB to make changes then write a new .txt file for publication. as i am sure their are a ton of people already working on this i will most likely not hammer away at it however, i will play with it a little over the next week while i am off of work and see if i can't get a moderately functional design together for everyone to play with.

Dispair2
01-14-2008, 03:35 PM
This is a bad Guide: Spells_us.txt (http://www.eqemulator.net/wiki/wikka.php?wakka=SpellsUsTxt#player1)

AndMetal
01-14-2008, 04:22 PM
This is a bad Guide: Spells_us.txt (http://www.eqemulator.net/wiki/wikka.php?wakka=SpellsUsTxt#player1)

It is by no means complete (as in, missing descriptions about several of the fields), but of course others are welcome to contribute to it :)

i will play with it a little over the next week while i am off of work and see if i can't get a moderately functional design together for everyone to play with.

Nuff said :)

TheLieka
01-15-2008, 07:23 AM
That guide is actually pretty good. It identifies the values used by OpenSpell. It's a very handy reference when you're digging through the spell file with excel trying to adjust a batch of spells. In fact, I've got it saved as a favorite. ;)

Dax

Dispair2
01-15-2008, 03:18 PM
I looked back over the wiki about the spells file and i am not sure if i am just too simple to understand but it seams like allot of things are off on that file from my spells files that or their are allot of spells that have a 0 mana cost and so on. Also can anyone give me a broken down side by side list of what the fields are? I have been pulling it apart my self in word and just can not seam to decipher it.

AndMetal
01-21-2008, 12:36 PM
Another useful resource for decoding the different fields is Lucy (http://lucy.allakhazam.com/downloads.html). On the download page, there are dumps of the Lucy spell database in CVS format (although you can't extract them on a Windows system because the files contain colons), which is parsed from the spells_us.txt file. By cross referencing known fields in Lucy & unknown fields based on current known information, I have already uncovered some additional information (like field 145, counting from 0, is the spell animation).

Something else to remember is that the most recent spells_us.txt file uses 215 unique fields, where as the Titanium client uses 203 unique fields. The most recent spells_us.txt file can be downloaded directly from the official patch server here (http://patch.everquest.com:7000/patch/everquest/main/spells_us.txt) (right-click & choose Save As, otherwise it will kill your browser) if you want to work against it.

AndMetal
01-22-2008, 07:12 AM
I found myself with some free time yesterday & updated the Wiki. It should be a little more complete, and hopefully a little easier to read. A lot of the fields don't have a description, but they should be relatively self-explanatory. I also included a SQL file at the bottom to create a table with all of the columns.

On a side note, there's actually an even more recent version of the spells_us.txt file here (http://patch.everquest.com:7000/patch/everquest/en/patch1/main/spells_us.txt.gz) (also through the official patcher) that has a few more fields, which look to still be unknown.

Dispair2
01-22-2008, 10:24 AM
Thank you very much i revisit the wiki and see what i can learn i had not seen this post and started a new thread asking for information, but any information that return i am sure will greatly help everyone.

AndMetal
01-22-2008, 08:55 PM
The SQL information is the true format of the spells_us.txt file. If you use those as your headers in a spreadsheet, everything will match up. You will find that, with the Titanium version of the client's spells_us.txt, you will have fewer than the total fields listed in the Wiki, but they are still unknown values, so it shouldn't be an issue.

Faza
04-11-2008, 12:49 PM
i just downloaded openspell 1.1 and it asked me if i wanted to configure spells for EQemu 5.5 or 5.7 .... i'm using 7!

which do i use? will any of it work?

trevius
04-13-2008, 05:44 PM
Try the Bleh/Ailia spell editor from the dev>tools section. It works great.

Faza
04-13-2008, 08:30 PM
ok, i'm all set for editing spells

except that the spell scrolls, the items in the game, show up as unusuable despite #castspell <spell i edited> performing the way i edited it to ...

so how do i change the scroll properties? i'm looking at scrolls in the items table (using navicat) and don't see the level/class restrictions that i'm trying to remove


help!

trevius
04-13-2008, 08:43 PM
Try copying your edited spells_us.txt file to your everquest playing directory. You may want to back up your old one instead of overwriting it though.

Also, I heard when making spell scrolls, you have to make sure they are useable by the class that is intended for the spell.

Faza
04-13-2008, 10:56 PM
i put the edited spells_us in my eq directory (client) and my eqEMU directory (server)

it doesn't change that "level need: WIZ (49)" still shows up for ice comet


i *did* search through a bunch of posts and find that i can change the bit code for what classes can use the spell, sort of ... if you change the class attribute for spell scrolls (items called Spell: SOMESPELL) to 65xxx (i forgot) you can get the in game item to display as "Level: War (255) CLR (255) ...WIZ (49)" etc

so now i just have to find out where those 255's are and then i can make them 1's and then everyone can cast anything =P

trevius
04-14-2008, 01:06 AM
If you use the bleh/ailia spell editor, you can find all of that info and change it easily.

Faza
04-15-2008, 06:14 PM
i'm using the spell editor on GeorgeS' site for eqemu tools

i'll have to change each one manually, but that's ok

ooh, or i can just open spells_us in notebad and do a find-and-replace for all values of "255" (making them "1")

awesome...all/all spells, here i come

erik_llewellyn
04-15-2008, 06:56 PM
I found that opening MS Excel, using the import option, and setting the deliminator to ^ let me view the spells in collum format and make changing them all to be usable by lvl 1 and all classes was super easy. you then simply export it again making sure you use ^ as your deliminator. ***NOTE*** a value of 255 for the level means that it cannot be used, your value should read something like "wizard(1)" in game.

As for setting your scrolls to all/all, you have to go into the database and make the changes to the table "items", collum "classes" AND "races", value "65535"

erik_llewellyn
04-15-2008, 07:08 PM
Almost forgot, do NOT simply use notepad and do a replace all "255" with "1" as this will cause several other spells/abilites to fail since it will also replace numbers like 1255 to be 11. I did that innitially when I first started making my all/all server and it was a nightmare that I found was easier to start over instead of fix.

You will also need to be able to make your custom spell_us.txt file available to download for those you want to play on your server. The catch to this is you cannot post said link or file on these forums. It is also highly suggested for anyone who plays on your server to backup thier current spell file for later use on normal servers.

Faza
04-15-2008, 11:15 PM
haha, where the hell were you when i was spending 5 hours figuring all of that out?

i must suck at explaining what myself, no one could give me those answers

thank you just the same =)


i'll try excel; i didn't think of "255" showing up as *part* of a number, which was definitely a lazy move on my part

(what if i did a find/replace for ^255^ ? i would only have to worry about whatever spell was #255, right?)


do you happen to know a reference for formula lists? i'm mostly curious about min/max negative values: where the max is a greater distance from zero because the spell should progress toward negative infinity...will that compute, or would i just be using the wrong formula to describe the action?



oh and since you seem to be perfectly ahead of me: how can i give, say, clerics tracking? enchanters FD (the skill)? are skills hardcoded?

erik_llewellyn
04-16-2008, 06:41 AM
Check out the "skill_caps" table in your database. you can simply add the class you wish to a skill and incert the appropriate level and cap and any class should be able to use any skill you setup this way. This can also be used to expand/extend current skills for classes such as making clerics dodge be able to go over 75. For a list of the class to class # chart, look at http://www.eqemulator.net/wiki/wikka.php?wakka=ClassList

Skill chart can be found at http://www.eqemulator.net/wiki/wikka.php?wakka=SkillList

Faza
04-16-2008, 08:54 AM
very nice! thanks!