Author Topic: Circle Visual Effects  (Read 456 times)

Legacy_WoC_Builder

  • Sr. Member
  • ****
  • Posts: 425
  • Karma: +0/-0
Circle Visual Effects
« on: June 06, 2012, 03:30:16 am »


               Does anyone know how these are controlled?  I am trying to make sure that the circles do not disappear when transitioning areas, but see nothing in the spells.2da that stands out as a setting that affects circles, like Silence, magic circle against Alignment, Battletide, etc.
               
               

               
            

Legacy_Lightfoot8

  • Hero Member
  • *****
  • Posts: 4797
  • Karma: +0/-0
Circle Visual Effects
« Reply #1 on: June 06, 2012, 07:20:14 am »


               AoE use the settings from vfx_persistent.2da
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Circle Visual Effects
« Reply #2 on: June 06, 2012, 10:28:53 am »


               

WoC_Builder wrote...

Does anyone know how these are controlled?  I am trying to make sure that the circles do not disappear when transitioning areas, but see nothing in the spells.2da that stands out as a setting that affects circles, like Silence, magic circle against Alignment, Battletide, etc.

another thing fixed in community patch already...
               
               

               
            

Legacy_Alex Warren

  • Sr. Member
  • ****
  • Posts: 326
  • Karma: +0/-0
Circle Visual Effects
« Reply #3 on: June 06, 2012, 07:52:48 pm »


               

ShaDoOoW wrote...
another thing fixed in community patch already...

I thought this was a game engine bug. If you managed to find a fix would you mind sharing?
               
               

               
            

Legacy_WoC_Builder

  • Sr. Member
  • ****
  • Posts: 425
  • Karma: +0/-0
Circle Visual Effects
« Reply #4 on: June 06, 2012, 08:44:22 pm »


               

Alex Warren wrote...

ShaDoOoW wrote...
another thing fixed in community patch already...

I thought this was a game engine bug. If you managed to find a fix would you mind sharing?


Indeed.  '<img'>  I looked to your vfx_persistent.2da for an example, and saw that the "DurationVFX" entries were all blank (****).  Changing that however did not seem to repair the issue in my testing, as when I crossed an area transition, the Battletide circle still seemed to disappear.  This told me that there is another setting that I am missing.

Can you give a nod to the right direction I should look?  ':whistle:'   Please? ':blush:'
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Circle Visual Effects
« Reply #5 on: June 06, 2012, 08:57:08 pm »


               By default, circle VFX is driven by DurationVFX which applies the invisible vfx effect on aura object itself.

Due to the bug in engine, this effect is lost when changing area.

What I did is that I disabled this VFX and applied the circle VFX on character from spellscript.

It however works a bit differently after then. The circle will be invisible for anyone who cannot see the caster (which might not be desired behavior) although the default circle is. Also DurationVFX collumn is client-side so if player install community patch on server without vfx_persistent.2da in their haks and without community patch instaled, such player will not see the circle even after cast.

If you do what I did and you keep also vfx_persistent befault you will see two circles (as the default will be a bit slower or might even stuck).

The scripting of this is my work and its unique, nowhere at vault you will find 100% working and reliable solution. Rabidness has issue when two auras met each other, mine does not.

Alex Warren wrote...

I thought this was a game engine bug. If you managed to find a fix would you mind sharing?

But I did - Its inside community patch that is free to download. With every release there are scripts and includes included so you don't have to install it just to take single fix.
               
               

               


                     Modifié par ShaDoOoW, 06 juin 2012 - 07:58 .
                     
                  


            

Legacy_Alex Warren

  • Sr. Member
  • ****
  • Posts: 326
  • Karma: +0/-0
Circle Visual Effects
« Reply #6 on: June 06, 2012, 09:38:59 pm »


               

ShaDoOoW wrote...
But I did - Its inside community patch that is free to download. With every release there are scripts and includes included so you don't have to install it just to take single fix.

Aye, of course. I have your latest patch, and I did checked scripts for magic circle spells, but I haven't noticed anything unusual. Probably becasue most spell scripts apply visual effect this way '<img'>
Thank you!
               
               

               
            

Legacy_WoC_Builder

  • Sr. Member
  • ****
  • Posts: 425
  • Karma: +0/-0
Circle Visual Effects
« Reply #7 on: June 06, 2012, 10:49:03 pm »


               

ShaDoOoW wrote...


But I did - Its inside community patch that is free to download. With every release there are scripts and includes included so you don't have to install it just to take single fix.


And thank you.  '<img'>
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Circle Visual Effects
« Reply #8 on: June 06, 2012, 11:09:17 pm »


               TIP: if you want to retain default behavior of the vfx i would try to re-apply the circle vfx on AOE object in every area using OnEnter
               
               

               
            

Legacy_ShadowM

  • Hero Member
  • *****
  • Posts: 1373
  • Karma: +0/-0
Circle Visual Effects
« Reply #9 on: June 09, 2012, 09:06:18 pm »


               Thanks for the information Shadooow, I put the fixes into the next HR base '<img'> I thought it was engine glitch too.
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Circle Visual Effects
« Reply #10 on: July 09, 2012, 12:42:17 pm »


               

ShadowM wrote...

Thanks for the information Shadooow, I put the fixes into the next HR base '<img'> I thought it was engine glitch too.

Im wondering how did you fixed it in your HR. Same way as I did?

Because now Im starting to think that its not the best way to do that. At least not for my project. Found out that on servers without Patch, Player with won't be able to see the circles at all. Now - its true that thats rather issue of the given PW yet still. Im talking about Bastions of War. They dont allow to cast silence in base for the reason that the aura wouldnt be visible then. Problem is that if they were used my solution, the aura couldnt be seen unless you see also aura owner. I guess that correct behavior, the aura itself is only imaginary, it does not have any color and the circle around player is only for player (not character) info. Yet in pvp-based  modules the old behavior might be desired - seeing the aura of the invisible player coming in might give advantage.

So to fix it, I was thinking, maybe I could reuse different AOE from vfx_persistent that has not any VFX applied by default, but since various auras have various size, that would require to reuse some unused lines like VFX_MOB_CIRCLAW, VFX_MOB_CIRCCHAOS etc. which would created compatibility issue with CC like PRC that uses these lines. Adding new lines isnt possible as CEP and PRC already used everything upwards. Another idea is to store the area of the first time of AOE appearance and try to apply circle VFX everytime in AOE OnEnter when area stored doenst match area current. That would be probably 100% reliable solution without issues as: it would be 100% backwards compatible. Client with patch would see the circles in module without normally (only in area of creation). The AOE circle VFX behavior would match the default behavior - always visible even when owner isn't.

EDIT: seems that applying vfxs on AOE object doesnt work
EDIT2: I guess ill simply keep the default VFXs on AOEs in order to maintain backwards compatibility with new script that applies the circle from spellscript so in first area, there will be two of these circles - might be issue for some servers with AOEs slowed down, but better for players
               
               

               


                     Modifié par ShaDoOoW, 09 juillet 2012 - 07:27 .
                     
                  


            

Legacy_ShadowM

  • Hero Member
  • *****
  • Posts: 1373
  • Karma: +0/-0
Circle Visual Effects
« Reply #11 on: July 09, 2012, 10:42:25 pm »


               Well did you apply the visuals and AOE with EffectLinkEffects?
Sample:
   effect eAOE = EffectAreaOfEffect(AOE_MOB_SILENCE);
   effect eVisuals =EffectVisualEffect(272,FALSE);
   effect eLinked =EffectLinkEffects(eAOE,eVisuals);
   int nDuration = GetCasterLevel(OBJECT_SELF);
   object oTarget = GetSpellTargetObject();
   int nMetaMagic = GetMetaMagicFeat();

With your being a patch system, similar to when bioware patches I would think that it the responsibility of PW administrators to  tell  their player-base that they require your patch since your project is so big. You have to think your changes are the base, modules/pw builders would need to adjust there custom haks around it just like we did with biowares patches. Just like modified vfx_persistent.2da that overwrites yours. Just like other people projects if they do not like how you did they could put in a hak to overite it with standard 1.69 patch 2das. My project requires the haks that do this and mainly for modules and small pw so not much of an issue. You could double the vfx_persistent.2da with standard and then modified and have a simple check in the spell script if patch applied then apply the modified vfx and if not then apply the standard, just brain storming I sure their some issue with checking the aoe. Would have to do the same for checking the aoe. The other option seem a lot of work for not a big reward. Just some thoughts good luck with what ever you decide.
               
               

               


                     Modifié par ShadowM, 09 juillet 2012 - 09:45 .
                     
                  


            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Circle Visual Effects
« Reply #12 on: July 09, 2012, 11:01:26 pm »


               

ShadowM wrote...

Well did you apply the visuals and AOE with EffectLinkEffects?
Sample:
   effect eAOE = EffectAreaOfEffect(AOE_MOB_SILENCE);
   effect eVisuals =EffectVisualEffect(272,FALSE);
   effect eLinked =EffectLinkEffects(eAOE,eVisuals);
   int nDuration = GetCasterLevel(OBJECT_SELF);
   object oTarget = GetSpellTargetObject();
   int nMetaMagic = GetMetaMagicFeat();

thats the way I fixed it for the first time - as I said the problem there is that circle is not visible if neither PC is, applying circle vfx on OBJECT_SELF in AOE OnEnter script has no effect unfortunately. So there isn't solution for this issue and thus those who want to preserve the default circle behavior must find another way. As I said, I think the current behavior is ok speaking of general.

With your being a patch system, similar to when bioware patches I would think that it the responsibility of PW administrators to  tell  their player-base that they require your patch since your project is so big. You have to think your changes are the base, modules/pw builders would need to adjust there custom haks around it just like we did with biowares patches. Just like modified vfx_persistent.2da that overwrites yours. Just like other people projects if they do not like how you did they could put in a hak to overite it with standard 1.69 patch 2das. My project requires the haks that do this and mainly for modules and small pw so not much of an issue. You could double the vfx_persistent.2da with standard and then modified and have a simple check in the spell script if patch applied then apply the modified vfx and if not then apply the standard, just brain storming I sure their some issue with checking the aoe. Would have to do the same for checking the aoe. The other option seem a lot of work for not a big reward. Just some thoughts good luck with what ever you decide.

yea, but this issue is clientside. Whatever you set in your module if player gives there his own value he will see that instead. This isnt issue in PWs using haks, but on hakless PWs it makes the circle not visiable at all which is wrong even that admins should consider to implement the fix from my patch.

Therefore I will set the VFX in vfx_persistent to default numbers. Some players might notice that the circle is there twice (specially in some PWs the circles might not always match their positions) but its gonna be fixe automatically once player changes area anyway. And its only client-side glitch that PWs with haks can solve with removing the numbers in vfx_persistent
               
               

               


                     Modifié par ShaDoOoW, 09 juillet 2012 - 10:03 .
                     
                  


            

Legacy_ShadowM

  • Hero Member
  • *****
  • Posts: 1373
  • Karma: +0/-0
Circle Visual Effects
« Reply #13 on: July 10, 2012, 02:01:42 am »


               Have you tried saving the caster on the AOE as a local object when casted? and call to that onenter? I funneled all the AOE enter, exit, and HB into one script for each. I have also funneled on-hit cast spell that scales and transfers power level to the AOE object to be called in enter, exit, and HB
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Circle Visual Effects
« Reply #14 on: July 10, 2012, 02:44:40 am »


               of course, thats how my mobile circle aoes fix works, though its not caster who i am saving its owner - which might be different person and which is reason why my solution is 100% reliable and others arent.

Anyway that doesnt solves anything. You can only apply the VFXs on creature/placeable, applying on AOE object doesn't work so there is no difference between applying the vfx on owner from spelscript directly or in AOE OnEnter.