The following warnings occurred:
Warning [2] Use of undefined constant SAPI_NAME - assumed 'SAPI_NAME' (this will throw an Error in a future version of PHP) - Line: 3388 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3388 errorHandler->error
/showthread.php 116 build_archive_link
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/inc/functions.php 3324 build_forum_breadcrumb
/showthread.php 195 build_forum_breadcrumb
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/showthread.php 195 build_forum_breadcrumb






Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Spell damage calculation
Author Message
Tastaran
Apprentice
*

Posts: 18
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Dec 2015
Reputation: 0



Post: #1
Spell damage calculation
Hello,

how works the strength of the spell in trigger "@spelleffect" (argn2) ?
No idea how can i set my dmg through it.

If I use function "damage" there is still some unwanted damage and I dont know how to disable it.
Even if i set argn2=0 there is still some random damage from 30-60, or effect of the spell 0. Still same.

Works only if i disable trigger (return 1), but here is not effect etc...

Code :
on=@spelleffect
local.dmg=<calcdmg> // calculated from spell effect and attributes.
argn2=0
damage <local.dmg>,dam_god,<src>
return 0
04-20-2017 11:11 PM
Find all posts by this user Like Post Quote this message in a reply
darksun84
Sir Spamalot
****

Posts: 1,687
Likes Given: 245
Likes Received: 162 in 151 posts
Joined: Mar 2012
Reputation: 35



Post: #2
RE: Spell damage calculation
Using the damage function will just add additional damage along with the spell damage.
Try use LOCAL.Effect and local.resist

See
Quote:Some changes on spell triggers (@Effect [spells] / @SpellEffect [chars]) to allow more user customization
-Renamed LOCAL.Dam to LOCAL.Effect, now it can be used on all spells (damage, buff, etc) instead only on damage spells

and
Quote:local.resist: Damage reduction to apply, it's set to 25 automatically when the spell is going to be resisted, then sysmessage <DEFMSG.RESISTMAGIC> will be shown. Setting it to 0 will result in no resist and no sysmessage. You can force or totally remove resists here.
NOTE: Since formulas will be calculated yes or yes from now, checks about spell's affecting this char or not should be moved to @SpellSuccess ( they should've been there from an start, but we all placed them in @SpellEffect Tongue) so @Effect won't even be called.
Fixed some spells not being correctly found in case of having multiple books since the code for GetSpellbook() returned the first found book, and this may not have the requested spell.
04-20-2017 11:50 PM
Find all posts by this user Like Post Quote this message in a reply
Tastaran
Apprentice
*

Posts: 18
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Dec 2015
Reputation: 0



Post: #3
RE: Spell damage calculation
Well i tried evade it ... but local.effect works properly, ty for fast reaction ... It was a lot of nerves Big Grin
04-21-2017 12:34 AM
Find all posts by this user Like Post Quote this message in a reply
Coruja
Sphere Developer
*****

Posts: 987
Likes Given: 5
Likes Received: 226 in 187 posts
Joined: Jul 2012
Reputation: 7

Dimension Shard

Post: #4
RE: Spell damage calculation
spell effects can be changed based on your .ini settings. If MAGICF_OSIFORMULAS setting is disabled on your sphere.ini, sphere will use the EFFECT value set on spells (sphere_spells.scp) so if an spell like Heal have EFFECT=8,12 it will heal a "random" value between 8,12 (lower magery skills have more chance to get lower values, higher magery skill will get higher values)

otherwise if you use MAGICF_OSIFORMULAS, sphere will ignore these EFFECT values and use the internal OSI formula instead, which are more complex because most of these formulas are different from each other, they get the result based on combination of skill values, etc

and as already said, you can also use LOCAL.Effect to customize these effects or use your own formula on scripts
04-26-2017 01:50 PM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)