Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #1  
Old 05-17-2013, 09:32 AM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default Spellscale not work in Perl?

Code:
quest::modifynpcstat("spellscale",900);
I've done every other stat like this and they work just fine... (didn't try healscale actually)


Anyone else have problems with this? I've scaled all stats on an NPC.. but when it comes to spells it only takes the spellscale from the database value set for that NPC.


Side note... my source is up to date as well.
Reply With Quote
  #2  
Old 05-17-2013, 02:33 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

Quote:
Originally Posted by NatedogEZ View Post
Code:
quest::modifynpcstat("spellscale",900);
I've done every other stat like this and they work just fine... (didn't try healscale actually)


Anyone else have problems with this? I've scaled all stats on an NPC.. but when it comes to spells it only takes the spellscale from the database value set for that NPC.


Side note... my source is up to date as well.
Not sure about the quest version without looking at the source.

This is what I used in my stuff the day I put it in:

Code:
			$NPC->ModifyNPCStat("spellscale", $SD[$NPC->GetLevel()][$NTYPE][22]  *  $SZD{$zonesn}[$instanceversion][9]);
			$NPC->ModifyNPCStat("healscale", $SD[$NPC->GetLevel()][$NTYPE][23]  *  $SZD{$zonesn}[$instanceversion][8]);
$NPC being the entity iteration of course, and then the 2nd argument is my stuff I'm passing to it to get my scaling.
Reply With Quote
  #3  
Old 05-18-2013, 01:37 AM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

Thank you Akkadius I will try using entity like that.
Reply With Quote
  #4  
Old 05-18-2013, 04:05 AM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

Hmm.. did what you said... maybe its an issue with the NPC.

I am trying to scale "Spellscale" on player pets.

I tried just scaling the pets spell damage with the database .. set it to 150 and still doesn't work.

Works for normal NPCs though...

I spawned the pet with #dbspawn 1315 (the pet as an NPC it works!)

The NPC as a Player PET the scaling DOES NOT work.

So I wasn't doing it wrong.. just seems to be a problem somewhere in the code for player pets maybe?

I'll have to check it later.
Reply With Quote
  #5  
Old 05-18-2013, 04:21 AM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

From Attack.cpp
Code:
	if(other->IsNPC() && !other->IsPet())
{
float npcspellscale = other->CastToNPC()->GetSpellScale();
damage = ((float)damage * npcspellscale) / (float)100;
}

This makes spellscale NOT work for pets I am guessing.

Is this intended?
Reply With Quote
  #6  
Old 05-18-2013, 05:29 AM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

I edited that and it didn't help... still not sure why I can't spellscale Player pets. (database and quest don't work)
Reply With Quote
  #7  
Old 05-18-2013, 12:04 PM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

stupid question - what IS a spellscale? what it suppose to do?
Reply With Quote
  #8  
Old 05-18-2013, 05:14 PM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

Scales how much damage an NPC will do with spells.

100 = Normal damage

50 = Half damage

150 = 50% more dmg.. ect ect

You can scale damage with Perl in a boss fight for example.

I am trying to figure out why spellscale doesn't work for pets.
Reply With Quote
  #9  
Old 05-18-2013, 06:08 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

It was originally intended to perform scaling on the fly through Perl scripts.

So one issue is making entirely new spell sets for NPC's (Fuck that).

Use a Cleric spell set and you can scale it for example, have it do 5x the damage if you wish (500) and you can reuse the same spellset.

healscale does the same thing but for only healing spells.

Natedog, pet is derived from mob so you may need to do a $mob->CastToNPC()->ModifyNPCStat("stuff", value);

Don't take my syntax as verbatim, you may want to check the reference sheet but that is how you would handle it for pets.
Reply With Quote
  #10  
Old 05-18-2013, 09:23 PM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

got it
how does it works with dots and debuffs? do those also get scaled?
non stat buffs? like SoW?
Reply With Quote
  #11  
Old 05-18-2013, 09:50 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

Quote:
Originally Posted by ChaosSlayerZ View Post
got it
how does it works with dots and debuffs? do those also get scaled?
non stat buffs? like SoW?
They are only damage oriented scales, + or -, so DoT's, DD's (anything damage oriented) and healscale is obvious (HoT's, Direct Heals)

That covers like 80% of spells that can even make use of scaling, SoW is not a good example, buffs aren't really either because NPC's are like 1% impacted by a stat buff when it comes to scaling. However if you are going to get tricky with fights such as using charms or other fancy spells you are usually going to tie that into your fight specially.
Reply With Quote
  #12  
Old 05-19-2013, 12:24 AM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

One thing to note though Akkadius... spellscale on pets doesn't even work through the database.


Will try Casting it though. (Talking player pets btw)
Reply With Quote
  #13  
Old 05-19-2013, 01:14 AM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

Quote:
Originally Posted by NatedogEZ View Post
One thing to note though Akkadius... spellscale on pets doesn't even work through the database.


Will try Casting it though. (Talking player pets btw)
Was never meant to for pets, but the Perl handling should work
Reply With Quote
  #14  
Old 05-19-2013, 08:26 AM
NatedogEZ's Avatar
NatedogEZ
Developer
 
Join Date: Dec 2012
Posts: 515
Default

The perl handling works... but the damage never scales. (For player pets that is) :(
Reply With Quote
  #15  
Old 05-19-2013, 02:53 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

Quote:
Originally Posted by NatedogEZ View Post
The perl handling works... but the damage never scales. (For player pets that is) :(
Pet spells are handled in a different part of the code that those variables were not implemented most likely.
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 03:44 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