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
wall magic & poisoning magic
Author Message
Satvet
Journeyman
*

Posts: 105
Likes Given: 32
Likes Received: 6 in 6 posts
Joined: Sep 2015
Reputation: 0



Post: #1
wall magic & poisoning magic
i mentioned earlier.
wall spell timeing not work at LOCAL.DURATION.
I want the wall to get up one by one. (as before)
if this is not possible.
why do not you tell me it will not happen?
or.
can not do this i'm LOCAL.DURATION.
If I had a mistake, would you tell me where was wrong.

poisoning magic problem.
first try.
first trying to spell. (ok)
Everything works fine.
[Image: 4PVp54.png]

second trial.
After the other side is poisoned.
it healings the poison.
it does not show any effect when you throw poison again.
poisoned don't wearer gets damaged.
until damaged.
after
the damage appears in effect.
hitpoint effect bar work continues.
[Image: JazVvo.png]
(This post was last modified: 05-10-2017 09:00 AM by Satvet.)
05-10-2017 03:27 AM
Find all posts by this user Like Post Quote this message in a reply
Leonidas
Master
**

Posts: 277
Likes Given: 3
Likes Received: 13 in 12 posts
Joined: May 2013
Reputation: 1



Post: #2
RE: wall magic & poisoning magic
We can help you better if you could post your poison script.
05-13-2017 03:03 PM
Find all posts by this user Like Post Quote this message in a reply
Satvet
Journeyman
*

Posts: 105
Likes Given: 32
Likes Received: 6 in 6 posts
Joined: Sep 2015
Reputation: 0



Post: #3
RE: wall magic & poisoning magic
My codes are no problem. 56b is working, 56d is not working.
The first create poison spell effect is not working.
Poison effect occurs when the poisoned character is damaged. (spell damage, wrestling damage)
Fortunately I gave the poison effect when I ate magic. (temporarily)

Code:
[player event]
ON=@SPELLEFFECT
IF ((<ARGN> == 20) || (<ARGN> == 39))
IF !(<FLAGS>&(STATF_POISONED)) && !(<FINDID.I_RUNE_POISON>)
FLAGS <FLAGS>|STATF_POISONED
ELSE
FLAGS <FLAGS>|STATF_POISONED
ENDIF
ENDIF

[sphere_spells]
[Spell 20]
// NOTE: Does poison need a duration or are they stuck with it until cured ??
DEFNAME=s_poison
NAME=Poison
SOUND=snd_SPELL_POISON
RUNES=IN
CAST_TIME=1.9
RESOURCES=i_reag_nightshade
RUNE_ITEM=i_rune_POISON
SCROLL_ITEM=i_scroll_POISON
FLAGS=SPELLFLAG_DIR_ANIM|SPELLFLAG_TARG_CHAR|SPELLFLAG_FX_TARG|SPELLFLAG_HARM|sp​ellflag_curse|SPELLFLAG_TARG_NOSELF //|SPELLFLAG_DAMAGE|SPELLFLAG_RESIST
EFFECT_ID=i_fx_curse
//EFFECT=5,10         //Only used without Magicf_OsiFormulas
//EFFECT=100,750    //Only used without Magicf_OsiFormulas
EFFECT=1             //(Although it is 1, it is very damaging.)how? I less damage?
LAYER=layer_flag_poison
DURATION=1.0,15.0
MANAUSE=9
SKILLREQ=MAGERY 30.0
INTERRUPT=100.0,100.0

Poison spell for now. I was temporarily suspended.
How can the problem of wall be solved?

thanks for the help.
05-13-2017 07:51 PM
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: wall magic & poisoning magic
try using LOCAL.Duration=<R10,20> to check if the spell set the timer value randomly to each wall item, if you use an fixed value like LOCAL.Duration=10 it will set TIMER=10 on all items

are you using MAGICF_OSIFORMULAS on sphere.ini? As you described the poisoning problem, maybe the fault is not on the poisoning spell but on how you're healing the poisong (which is not removing the poison effect correctly). So after you cast poison and cure this poison for the 1st time, try type .xedit and click on the player to check if the poison memory got removed correctly
05-17-2017 12:44 PM
Find all posts by this user Like Post Quote this message in a reply
Satvet
Journeyman
*

Posts: 105
Likes Given: 32
Likes Received: 6 in 6 posts
Joined: Sep 2015
Reputation: 0



Post: #5
RE: wall magic & poisoning magic
I guess you do not understand me.

Build:
[Image: R0MVL1.png]

Quote:[Spell 24]
..
..
ON=@SUCCESS
LOCAL.DURATION=<R200,300> //{200 300} //{20.0 30.0} // not working
LOCAL.FieldWidth=7 // this works
LOCAL.EFFECTCOLOR=07a1 // this works

Quote:[sphere.ini]
// MAGICF_OSIFORMULAS 00200 // Calculate spell damage and duration based on OSI formulas
MagicFlags=0200


I and tried this topic before I opened the topic to the forum. But it did not work. I'm telling you every time.
https://forum.spherecommunity.net/Thread...5#pid19955



As I said the poison incident, I have done it with the player event for now.
I use xedit and I get this result on that.
Quote:[player event]
ON=@SPELLEFFECT
IF ((<ARGN> == 20) || (<ARGN> == 39))
IF !(<FLAGS>&(STATF_POISONED)) && !(<FINDID.I_RUNE_POISON>)
FLAGS <FLAGS>|STATF_POISONED
ELSE
FLAGS <FLAGS>|STATF_POISONED
ENDIF
ENDIF


Treatment with magic and bandage
Quote:[Spell 11]
DEFNAME=s_cure
NAME=Cure
SOUND=snd_SPELL_CURE
RUNES=AN
CAST_TIME=0.9
RESOURCES=i_reag_garlic,i_reag_ginseng
RUNE_ITEM=i_rune_CURE
SCROLL_ITEM=i_scroll_CURE
FLAGS=SPELLFLAG_TARG_CHAR|SPELLFLAG_FX_TARG|SPELLFLAG_GOOD|spellflag_playeronly
EFFECT_ID=i_fx_HEAL_EFFECT
EFFECT=0
DURATION=0.0
MANAUSE=6
SKILLREQ=MAGERY 20.0
INTERRUPT=100.0,100.0

[bandage]
if (<cont.findid.i_rune_poison>) // cure self
if !(rand(5) == 1)
cont.findid.i_rune_poison.remove
cont.effect 3,0376a,2,10,1
cont.sayua 048,6,6,0 * zehir etkisini iyileştirir * //Cleans the poison effect
else
cont.sayua 020,6,6,0 * zehiri iyileştiremez * //It does not cure the poison
endif
endif


and this problem continues.
Always gives the same value. (11)
[Image: gqvY12.png]
Code:
[Spell 17]
DEFNAME=s_bless
NAME=Bless
SOUND=snd_SPELL_BLESS
RUNES=RS
CAST_TIME=1.5
RESOURCES=i_reag_garlic,i_reag_mandrake_root
RUNE_ITEM=i_rune_BLESS
SCROLL_ITEM=i_scroll_BLESS
FLAGS=SPELLFLAG_TARG_CHAR|SPELLFLAG_FX_TARG|SPELLFLAG_GOOD|spellflag_playeronly|​spellflag_bless
EFFECT_ID=i_fx_BLESS_EFFECT
EFFECT=5,20
LAYER=layer_spell_stats
DURATION=2*60.0,4*60.0
MANAUSE=9
SKILLREQ=MAGERY 30.0
INTERRUPT=100.0,100.0
(This post was last modified: 05-18-2017 07:23 AM by Satvet.)
05-18-2017 03:05 AM
Find all posts by this user Like Post Quote this message in a reply
Leonidas
Master
**

Posts: 277
Likes Given: 3
Likes Received: 13 in 12 posts
Joined: May 2013
Reputation: 1



Post: #6
RE: wall magic & poisoning magic
LOCAL.Duration=<R10,20> isn't working for me either, its either setting the timer for all the walls to 0 or just not doing anything, all the walls remove almost immediately after casting.
05-18-2017 08:09 AM
Find all posts by this user Like Post Quote this message in a reply
Satvet
Journeyman
*

Posts: 105
Likes Given: 32
Likes Received: 6 in 6 posts
Joined: Sep 2015
Reputation: 0



Post: #7
RE: wall magic & poisoning magic
@Leonidas
this is an example. "LOCAL.Duration=<R10,20>"

this wish;
"LOCAL.Duration=<R100,200> or LOCAL.Duration={100 200}"
But this is not happening.

as you say in "LOCAL.Duration=<R10,20>", the same event i live problem.
it's setting the timer for all the walls to 0.

see here. explains it here.
https://forum.spherecommunity.net/Thread...7#pid19957
(This post was last modified: 05-19-2017 07:49 AM by Satvet.)
05-19-2017 06:25 AM
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: #8
RE: wall magic & poisoning magic
local.duration does nothing because stone wall spells doesn't trigger the @effect/@spelleffect trigger (therer is no @effect for the ground, it fires only for npcs and items affected by a spell) and local.duration doesn't exist in the @success trigger:

Code:
Changed: Some changes on spell triggers (@Effect [spells] / @SpellEffect [chars]) to allow more user customization
    -Added new LOCAL.Duration to change spell duration
So you have two options:
1)Change the duration property in the Stone wall spell, take note that this property is based on the caster's magery value, so more higher the magery skill more chance that it will get an higher timer.

2)Open sphere_item_building_walls.scp, search for ITEMDEF 080 and place a @create trigger on it with the timer value (with timerf on it otherwise will not work)
Example:
Code:
[ITEMDEF 080]
//This is the hardcoded ITEMDEF used by Wall of Stone spell
//It has been excluded from the i_wall_hugebrick DUPELIST on purpose
ON=@Create
attr |= attr_decay //We need to add the decay flag manually
timerf 1,<R10,20> // We need the timerf function otherwise the spell duration will override our duration.
(This post was last modified: 05-19-2017 07:12 AM by darksun84.)
05-19-2017 07:00 AM
Find all posts by this user Like Post Quote this message in a reply
[+] 1 user Likes darksun84's post
Satvet
Journeyman
*

Posts: 105
Likes Given: 32
Likes Received: 6 in 6 posts
Joined: Sep 2015
Reputation: 0



Post: #9
RE: wall magic & poisoning magic
thanks 2nd proposal worked.
1. I do not fully understand what the proposal is. Smile

it happened this way.
Quote:[ITEMDEF 080]
//This is the hardcoded ITEMDEF used by Wall of Stone spell
//It has been excluded from the i_wall_hugebrick DUPELIST on purpose

ON=@CREATE
ATTR |= ATTR_DECAY // We need to add the decay flag manually
TIMERF 0,TIMER=<R100,200> // We need the timerf function otherwise the spell duration will override our duration.

but I'm. I wanted it to work as it did in 56b.
When you wanted to trick the subject sphere, you could try every way as you said.
for help thanks darksun84.
(This post was last modified: 05-20-2017 07:07 AM by Satvet.)
05-19-2017 08:37 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: #10
RE: wall magic & poisoning magic
MAGICF_OSIFORMULAS replace all these generic EFFECT=min,max with proper OSI formulas that use skill values, distance, etc. All these damage/effect/duration formulas are hardcoded on source code, just search for MAGICF_OSIFORMULAS)

so if you want go back to generic 56b-like values, maybe the best option is disable MAGICF_OSIFORMULAS because 56b also don't have this setting
05-20-2017 07:33 AM
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)