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

Development::Feature Requests Post suggestions/feature requests here.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-05-2015, 11:47 PM
Hateborne
Hill Giant
 
Join Date: May 2010
Posts: 125
Question Ability to Cast Runes from Perl/LUA

This spawned off of this thread -> http://www.eqemulator.org/forums/showthread.php?t=39187

Is it possible to get something that would allow one to either edit spells already in place (i.e. set rune amount on buff tic) or scripted way to create a rune and use the spell icon/effect-description (similar to how $npc->Damage() can use a spell ID for particles, naming, combat log, etc). This spawned out of a desire to create a small, short-duration rune based off of the healing amount on certain spells.

Does this exist? If not, is this possible to be created/added?


-Hate
Reply With Quote
  #2  
Old 01-06-2015, 01:39 AM
Kayen
Developer
 
Join Date: Mar 2009
Location: -
Posts: 228
Default

You can not really manipulate raw spell data via quest function. The way spells are coded in the source it would take some massive rewriting to do it (if even possible).

Easiest solution by far, just make a bunch of rune spells. This is EXACTLY what live does to handle an effect like you describe.

If you really want true custom spell effects, you kinda need to just go in the source and make them.
Reply With Quote
  #3  
Old 01-06-2015, 02:17 AM
Hateborne
Hill Giant
 
Join Date: May 2010
Posts: 125
Default

Is it possible then to get a function similar to $npc->Damage() to emulate a casted rune spell? The Damage() bit allows one to specify the source mob, damage, "damaging spell", and possible to avoid/resist (maybe slot too).


-Hate
Reply With Quote
  #4  
Old 01-06-2015, 06:27 AM
Kayen
Developer
 
Join Date: Mar 2009
Location: -
Posts: 228
Default

I think you don't really understand what the npc->Damage function does.

It really has nothing to do with spell casting, in the source it is used to apply the damage of the spell after its been fully calculated out based on the spells data. When used as a quest function its nothing more then sending a message and some graphics.

You can't just make fake buffs using quest functions. The entire spell process relies on pulling data from the spells_new table that is loaded into memory.

It is not impossible to add what you want but it is just such a narrow application requiring a lot of custom code it i just isn't justified.

Especially since there is a very simple and straight forward solution to what you want to do using the existing mechanics.

Just make several different custom rune spells with increasing amounts.

Then when a player casts a spell based on what the heal amount is ect

Use $mob->SpellFinished to apply the rune effect using the custom spell id.
Reply With Quote
  #5  
Old 01-06-2015, 01:35 PM
Hateborne
Hill Giant
 
Join Date: May 2010
Posts: 125
Default

Kayen,

Apologies and thank you for the clarification. My hang-up with adding dozens of spells the inability for clean scaling. I would need to continually create new runes as the characters continue to gear up.

Thanks again for your input!

-Hate
Reply With Quote
  #6  
Old 01-06-2015, 07:57 PM
Kayen
Developer
 
Join Date: Mar 2009
Location: -
Posts: 228
Default

Don't over think it.

You have about 32000 spell ids you can use.

With a few queries you can pop out a 100 custom rune spells in a few seconds.

Also if you want to get a little creative. Look at spell effect id 413, it has the ability to focus rune amount values. So if you use that and set a limit to rune spells on it. You could in theory add as an equipment focus effect a scaling rune focus. So if you made like 20 custom rune spells, then also had like 20 custom rune focus spells you might be able to keep up with content scaling easier if you get what I mean.

http://wiki.eqemulator.org/p?SpellEffects&frm=Main
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 04:01 AM.


 

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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3