FSoD Paladin Seal fix

Posts 115 of 16 · Page 1 of 2
FSoD Paladin Seal fix
This is a very simple change in Player.UseItem.cs, search for StatBoostAura, and replace the whole block with this;
Code:
  case ActivateEffects.StatBoostAura:
                        {
                            var amountSBA = eff.Amount;
                            var durationSBA = eff.DurationMS;
                            var rangeSBA = eff.Range;
                            int idx = -1;

                            if (eff.Stats == StatsType.MaximumHP) idx = 0;
                            if (eff.Stats == StatsType.MaximumMP) idx = 1;
                            if (eff.Stats == StatsType.Attack) idx = 2;
                            if (eff.Stats == StatsType.Defense) idx = 3;
                            if (eff.Stats == StatsType.Speed) idx = 4;
                            if (eff.Stats == StatsType.Vitality) idx = 5;
                            if (eff.Stats == StatsType.Wisdom) idx = 6;
                            if (eff.Stats == StatsType.Dexterity) idx = 7;

                            int bit = idx + 39;


                            if (eff.UseWisMod)
                            {
                                amountSBA = (int)UseWisMod(eff.Amount, 0);
                                durationSBA = (int)(UseWisMod(eff.DurationSec) * 1000);
                                rangeSBA = UseWisMod(eff.Range);
                            }
                            if (HasConditionEffect(ConditionEffectIndex.HPBoost))
                            {
                                

                                if (amountSBA == 0) ;
                                
                            else if (amountSBA >= 1) ;
                                amountSBA = 0;
                                durationSBA = 0;
                                return false;

                            } 
                
                            this.Aoe(rangeSBA, true, player =>
                            {
                                ApplyConditionEffect(new ConditionEffect
                                {
                                    DurationMS = durationSBA,
                                    Effect = (ConditionEffectIndex)bit
                                });
                                (player as Player).Boost[idx] += amountSBA;
                                player.UpdateCount++;
                                Owner.Timers.Add(new WorldTimer(durationSBA, (world, t) =>
                                {
                                    (player as Player).Boost[idx] -= amountSBA;
                                    player.UpdateCount++;
                               
                                }));
                            });
                            BroadcastSync(new ShowEffectPacket()
                            {
                                EffectType = EffectType.AreaBlast,
                                TargetId = Id,
                                Color = new ARGB(0xffffffff),
                                PosA = new Position() { X = rangeSBA }
                            }, p => this.Dist(p) < 25);
                        } break;
This should technically work, I only tested it once or twice, if it doesn't please let me know! This should fix both negative health glitch as well as the good old stacking!
If this is suppose to fix the HP stacking from seals, it did not work for me.
Quote Originally Posted by Invader_Zim View Post
If this is suppose to fix the HP stacking from seals, it did not work for me.
there can be only 1 real slender here :P
Quote Originally Posted by Invader_Zim View Post
If this is suppose to fix the HP stacking from seals, it did not work for me.
Please expand? Tell me how to do it and I will try to fix that as well, this fixes the negative HP bug. (To replicate this bug, you simply use a seal that gives you a HP bonus, and switch your weapon, or anything you would like in your equips, and then when the HP buff runs out, it will give you negative HP)
Quote Originally Posted by Masternx View Post
Please expand? Tell me how to do it and I will try to fix that as well, this fixes the negative HP bug. (To replicate this bug, you simply use a seal that gives you a HP bonus, and switch your weapon, or anything you would like in your equips, and then when the HP buff runs out, it will give you negative HP)
When u spam "Space button" with the t6 seal, ur health and other players health stacks and u can die.
Quote Originally Posted by Razor Sharp v2 View Post
When u spam "Space button" with the t6 seal, ur health and other players health stacks and u can die.
That should be a very simple XML ability cool down fix, never the less, I will look into it shortly!
Quote Originally Posted by Masternx View Post
That should be a very simple XML ability cool down fix, never the less, I will look into it shortly!
Adding a cooldown will just remove the true Prod feel to It I recommend this to many server owners but this won't fix AuraStatBoosts that are in Items like...if Effusions didn't stack a cooldown won't work on items
Quote Originally Posted by Masternx View Post
That should be a very simple XML ability cool down fix, never the less, I will look into it shortly!
My dev has fixed the death glitch although hp stack exists
Quote Originally Posted by Desire View Post
My dev has fixed the death glitch although hp stack exists
Death glitch? Explain please. :P
Quote Originally Posted by Masternx View Post
Death glitch? Explain please. :P
Idk, if the health stacks u can die, i dont know when.
Thread updated, stacking fixed.
Quote Originally Posted by Masternx View Post
Thread updated, stacking fixed.
Havent tried to test it although I'll notify my dev about this and ask what he thinks about it
Bear, I actually fully fixed the Pally Glitch sorry I can't be online alot I am extremely busy making my game :3


@Masternx you forgot something very valuable :/ eff.NoStack you need to add that in descriptors or this will effect all StatBoostAura like Effusions of Dexterity :/ and Effusions Stack so your patch is not a full patch for it I will send you my patch as soon as I have free time

return false; <--- unnecessary since its not a bool, its a case and switch

You were close to getting it I give you props for trying but your were lacking some important information as if you didn't read the whole source, In Descriptors you need to add NoStack and if you check dat1.xml and view the Pally Seal you will see NoStack=true but this is not in descriptors you will need to add that and then if(eff.NoStack) which is checking if the items has NoStack=true then it will continue or not accordingly, as for the duration your setting the duration to 0 which will cancel out the time boost gained from using the seal again...which is not ideal...

Owner.Timers.Add(new WorldTimer(durationSBA, (world, t) => // <----this is the line that removes the effect after the amount of time if the duration is set to 0 it will not extend the time boosted.

if (amountSBA == 0) ;

else if (amountSBA >= 1) ;<-----remove the if(amountSBA >= 1); and just leave it as a else {}
Posts 115 of 16 · Page 1 of 2

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?