|
||
|
|||||||
| Server Support on Windows Get (and give) support on general questions related to the RunUO server itself. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
Forum Expert
Join Date: Oct 2003
Posts: 344
|
Today I discovered that Parry skill does not increase, no matter what I try. And even worse, it seems to have been going on for a long time, as it happens with all the versions of RunUO I still have on my harddisk. I'm not using it for other people yet, so that why I never noticed. I do have a lot of modified scripts, but even after reverting my own changes to basearmor and baseweapon and aos, parrying will not raise. What's left is custom resources (one version of RunUO I have uses a modified version of GoldDraco's custom crafting system, the other one uses a modified version of an old Daat OWL version, both have the problem), the Diablo2 socket system, and that script where you can specify all skillgains. But even when I set parry to 100% chance to increase, it won't raise. All other skills are raising fine.
Where is the check that increases parry? Where else can I look? |
|
|
|
|
|
#2 (permalink) | |
|
Account Terminated
|
Quote:
|
|
|
|
|
|
|
#3 (permalink) |
|
Forum Expert
Join Date: Oct 2003
Posts: 344
|
Yes of course. And Parrying is set to raise. And I'm not at the skillcap. And I'm fighting with monsters with similar weaponskill (but also tried everything else). It's not even going from 0.0 to 0.1, and I've set it to 80 for my paladin and it hasn't changed in two days of playtesting either.
I haven't made changes to baseshield.cs |
|
|
|
|
|
#4 (permalink) | |
|
Account Terminated
|
Quote:
|
|
|
|
|
|
|
#5 (permalink) |
|
Forum Expert
Join Date: Oct 2003
Posts: 344
|
No effect at 15.0, 30.0 and 50.0. Even after using a new character and bashing solen workers till my swordmanship ends up at 55.0 from 49.0, I haven't gained a single 0.1 in parry. My char is on foot and taking damage as it should.
EDIT: I just set parry to 200, and it doesn't seem to block anything. Going to see if I can find the reason for that... |
|
|
|
|
|
#6 (permalink) | |
|
Account Terminated
|
Quote:
Its not possible for one skill not to gain, if its not gaining your doing something wrong. |
|
|
|
|
|
|
#7 (permalink) |
|
Forum Expert
Join Date: Oct 2003
Posts: 344
|
I've got my skill menu open and looking in there. It definately isn't gaining, and I can't find the cause. The parry section of baseweapon.cs is identical to the default baseweapon.cs that comes with the fresh RunUO 1.0 (which IS working)
It's just not parrying (thus no gain?). If I set my weapon skill to 0, and parry to 99 or even well above 100, I still get hit EVERY time in close combat (sword and shield equipped). Even with dex above 80. |
|
|
|
|
|
#11 (permalink) | |
|
Account Terminated
|
Quote:
|
|
|
|
|
|
|
#13 (permalink) | |
|
Account Terminated
|
Quote:
Do this, take out each system one by one, if you do this you will find the cause of the problem. |
|
|
|
|
|
|
#14 (permalink) |
|
Master of the Internet
Join Date: Aug 2003
Posts: 5,688
|
well, this is the code block in baseweapon.cs the AbsorbDamageAOS call that handles parrying and parry skill gain around line 900
Code:
if ( defender.Player || defender.Body.IsHuman )
{
BaseShield shield = defender.FindItemOnLayer( Layer.TwoHanded ) as BaseShield;
bool blocked = false;
// Dexterity below 80 reduces the chance to parry
double chance = ( defender.Skills[SkillName.Parry].Value * 0.0030 );
if ( defender.Dex < 80 )
chance = chance * (20 + defender.Dex) / 100;
if ( shield != null )
{
blocked = defender.CheckSkill( SkillName.Parry, chance );
}
Make sure that AbsorbDamageAOS is being called, and that the code block above is being executed. Check the AbsorbDamage method in baseweapon.cs as well since that is what calls AbsorbDamageAOS.
__________________
The first line of the first rule in the forum rules and guidelines "Be respectful of others. " For questions, information, and support for XmlSpawner and its addons, visit the XmlSpawner Support Forum |
|
|
|
|
|
#15 (permalink) |
|
Forum Expert
Join Date: Oct 2003
Posts: 344
|
Ok, I think I got it now, had some lines messed up in AbsorbDamage. Apparantly this was done a long time ago, when I was messing around to get an armorsystem that absorbs flat amounts of damage... I managed to get that working with another system, but apparantly there were still some changes left over from the old attempts.
Code:
public virtual int AbsorbDamage( Mobile attacker, Mobile defender, int damage )
{
if ( Core.AOS )
return AbsorbDamageAOS( attacker, defender, damage );
Thanks for all the help Phantom and ArteGordon, wouldn't have found it so quickly on my own! |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|