SphereCommunity
Parrying AR Increase - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere X (/Forum-Sphere-X)
+--- Forum: Script Requests (/Forum-Script-Requests--60)
+--- Thread: Parrying AR Increase (/Thread-Parrying-AR-Increase)



Parrying AR Increase - Loki - 11-04-2020 10:15 PM

I am trying to figure out how to get Armour value to increase on shields beyond the parrying skill of 100.00 as it seems to be the default that if its over 100.0 it will not increase further.

https://forum.spherecommunity.net/Thread-Shields-do-nothing?highlight=modar

I have used this as a reference but I think I am out of my knowledge base now.

Under SKILLCLASS 0 I have the following

PHP Code:
ON=@ItemEquip
 
if <act.type> == t_shield
   modar 
= <EVAL (<act.modar> + <parrying>)/100>

ON=@ItemUnequip
    
if <act.type> == t_shield
modar 
-= <EVAL (<parrying> - <act.modar>)/100

This works fine however if I increase the players parrying by 50 or 100 and they unequip the shield they will have less AR then they did before.

I started playing around with ON=@SkillChange and ON=@Gain but have come short.


RE: Parrying AR Increase - Loki - 11-05-2020 08:15 AM

the 1st if statement is where I am starting to get brain fog I been looking at this for a bit long will take a break. If anyone looks and can offer some advice that would be great.

[/spoiler]
PHP Code:
ON=@SkillChange
if (<Serv.skill.5>)
if <
findlayer.2.type> == t_shield
    modar 
+=  ( (<argn2> - <<argn1>> ) / 100)
    
say hello
    
endif
endif 



RE: Parrying AR Increase - Jhobean - 11-06-2020 05:39 AM

We do this with tag

Code:
if <act.type> == t_shield
    LOCAL.ModAR=((<parrying>)*(<hval <src.findlayer.2.armor>>))
    TAG.ModAR2=((<eval <LOCAL.ModAR>>/1000))
    modar += <TAG0.ModAR2>
endif

ON=@ItemUnequip
if <act.type> == t_shield
    modar -= <TAG0.ModAR2>
    TAG.ModAR2=
endif