Go Back   EQEmulator Home > EQEmulator Forums > Support > Spell Support

Spell Support Broken Spells? Want them Fixed? Request it here.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-05-2015, 11:26 PM
Hateborne
Hill Giant
 
Join Date: May 2010
Posts: 125
Question Perl-Based Dynamic Runes

Evening Ladies and Gents,

I'm curious if there is a way that one might either dynamically set or dynamically cast a rune. I am looking to allow certain heals to generate short duration runes based off of their healing amount, but I'm somewhat lost on how to begin such a task. I'm sure that I cannot be alone in this. I would also like to not have to make 50 or so spells and cast them that way unless completely and totally necessary.


-Hate
Reply With Quote
  #2  
Old 01-05-2015, 11:30 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Quote:
Originally Posted by Hateborne View Post
Evening Ladies and Gents,

I'm curious if there is a way that one might either dynamically set or dynamically cast a rune. I am looking to allow certain heals to generate short duration runes based off of their healing amount, but I'm somewhat lost on how to begin such a task. I'm sure that I cannot be alone in this. I would also like to not have to make 50 or so spells and cast them that way unless completely and totally necessary.


-Hate
\global\spells\*.*

sub EVENT_SPELL_EFFECT_CLIENT
Reply With Quote
  #3  
Old 01-05-2015, 11:31 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Oh, based on healing amount just read that. Lemme dig a bit.
Reply With Quote
  #4  
Old 01-05-2015, 11:33 PM
Hateborne
Hill Giant
 
Join Date: May 2010
Posts: 125
Default

Quote:
Originally Posted by ghanja View Post
\global\spells\*.*

sub EVENT_SPELL_EFFECT_CLIENT
Yes, but how would one tamper with the effect on a rune or generate the dynamic amount to block/deflect?


-Hate
Reply With Quote
  #5  
Old 01-05-2015, 11:34 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Yeah that's right. The script will be called when the spell is casted, the SPELL_EFFECT_CLIENT will be called when it lands.

So, set a variable to $client->GetHP() in the beginning of the script and compare that to the HP in the EVENT_SPELL_EFFECT_CLIENT

I suppose that would work, haven't tried it in practice yet.
Reply With Quote
  #6  
Old 01-05-2015, 11:36 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Quote:
Originally Posted by Hateborne View Post
Yes, but how would one tamper with the effect on a rune or generate the dynamic amount to block/deflect?


-Hate
Not sure if the actual absorption could be adjusted on the fly or not (at least as the source stands). You may be set on doing just that, otherwise, I would just make Rune spells with differing absorption amounts, deciding which to cast on the client based on the amount the spell healed for.
Reply With Quote
  #7  
Old 01-05-2015, 11:37 PM
Hateborne
Hill Giant
 
Join Date: May 2010
Posts: 125
Default

Removed as you answered it while typing this up. Pewp.


-Hate
Reply With Quote
  #8  
Old 01-05-2015, 11:41 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Quote:
Originally Posted by Hateborne View Post
Removed as you answered it while typing this up. Pewp.


-Hate
Something like this:

https://github.com/EQEmu/Server/blob...pells.cpp#L145

But, allows one to pass spell category, duration, etc. would be, well, real nice. It -may- exist, I'll dig some more. If it doesn't, *it would be great to have*.
Reply With Quote
  #9  
Old 01-05-2015, 11:50 PM
Hateborne
Hill Giant
 
Join Date: May 2010
Posts: 125
Default

ghanja,

Thank you for your time in this. I'll harass Akkadius about this as well to see if he has any input as well.


-Hate
Reply With Quote
  #10  
Old 01-05-2015, 11:53 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Quote:
Originally Posted by Hateborne View Post
ghanja,

Thank you for your time in this. I'll harass Akkadius about this as well to see if he has any input as well.


-Hate
I dont mind at all, I'm curious myself. If you find an answer though (a more definitive one) please update the post. I'll be watching it.
Reply With Quote
  #11  
Old 01-06-2015, 12:14 AM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

i've been curious as to how well perl would respond to something like this. you're wanting to set maybe a fraction of the total amount healed (not maximum heal power) as absorption AND base the time it fades on the amount healed as well?

depending on what gets triggered when, i'm guessing you could perhaps have the "rune" itself handled entirely by perl. it wouldn't show up as a normal spell effect icon on the client, but the idea has me interested.
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
  #12  
Old 01-06-2015, 12:20 AM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Quote:
Originally Posted by c0ncrete View Post
i've been curious as to how well perl would respond to something like this. you're wanting to set maybe a fraction of the total amount healed (not maximum heal power) as absorption AND base the time it fades on the amount healed as well?

depending on what gets triggered when, i'm guessing you could perhaps have the "rune" itself handled entirely by perl. it wouldn't show up as a normal spell effect icon on the client, but the idea has me interested.
In preliminary digging, displaying a spell icon with the effect itself -may- not be an issue. I may be premature here, though I believe I found something that already exists somewhat similar (as far as giving the appearance that something like this addition would add).

I'd prefer someone far more intimate with the source than I to look though. It is an interesting concept, hopefully if it exists and/or is added would be done just for those pesky LUA guys. :p
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 08:18 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3