[Perk Guide] Lucky

So there’s this ridiculously expensive perk called Lucky. Starting cost is 6 SP, and it has six levels.

But it’s used in a lot of stuff. If you don’t know where you should put points, chances are good that this has some use to you.

I’m going to list all instances as of 13 Nov 2018 where it appears in our code here, so other people can try to correct my interpretations by combing through its code in GitHub.

LuckMod.cs
You cannot have more than +5 Luck on an item

CraftCreateItem.cs
Chance of failure cannot exceed Luck

ForcePack.cs
Increases duration by Luck*2 seconds. Luck% chance to double healing.

HealingKit.cs
Increases duration by Luck*2 seconds. Luck% chance to double healing.

RecoveryBlast.cs
Luck% chance to double healing

MassTranquilizer.cs
Luck% to double duration

Tranquilizer.cs
Luck% to double duration

DarkHeal.cs
Luck% to double duration

ForceHeal.cs
Luck% to double duration

ForceLightning.cs
Luck% to double duration

ForceBreach.cs
Luck% to double duration

ForcePush.cs
Luck% to double duration

BlockingRecovery.cs
Adds Luck% to chance of Blocking Recovery

ExpulsionManeuver.cs
Adds Luck% to chance of Expulsion Maneuver

CompleteSmelt.cs
Rolls an additional Luck% chance to create an additional item, separate from Processing Efficiency

OnDisturbed.cs
Luck% to grant double XP when farming

OnOpened.cs
Luck% to lower the DC of a scavenge attempt.

March 12, 2019

Perks

MassTranquilizer.cs
Doubles duration with Luck% frequency

RecoveryBlast.cs
Doubles amount recovered with Luck% frequency

Tranquilizer.cs
Doubles duration with Luck% frequency

DrainLife.cs
Will recover the full amount with Luck-1% frequency

ForceBreach.cs
Doubles duration with Luck-1% frequency

ForceLightning.cs
Doubles duration with Luck-1% frequency

ForcePush.cs
Doubles duration with Luck-1% frequency

ForceHeal.cs
Increases damage healed by 50% with Luck-1% frequency

BlockingRecovery.cs
Either doubles damage healed with Luck-1% frequency, or does nothing due to bad code

            int luck = _perk.GetPCPerkLevel(player, PerkType.Lucky) + effectiveStats.Luck;
            chance += luck;
            if (_random.Random(100) + 1 <= chance)
            {
                Effect heal = _.EffectHeal(amount);
                _.ApplyEffectToObject(NWScript.DURATION_TYPE_INSTANT, heal, player.Object);
            }
        }

ExpulsionManeuver.cs
Either doubles AB bonus with Luck-1% frequency, or does nothing due to bad code.

            int luck = _perk.GetPCPerkLevel(player, PerkType.Lucky) + effectiveStats.Luck;
            chance += luck;

            if (_random.Random(100) + 1 <= chance)
            {
                _.ApplyEffectToObject(NWScript.DURATION_TYPE_TEMPORARY, _.EffectAttackIncrease(ab), player.Object, length);
                player.SendMessage(_color.Combat("You perform a defensive maneuver."));
            }
        }

Crafting

CraftCreateItem.cs
Increase chance of property transfer by Luck%

CompleteSmelt.cs
Luck-1% chance to smelt an extra ingot

ReassembleComplete.cs
Luck% chance to succeed a failed reassemble

Item Use
ForcePack.cs
Adds duration of Luck*2 (base duration is HealingKitExpert*6)

HealingKit.cs
Adds duration of Luck*2 (base duration is HealingKitExpert*6)

PlantSeed\OnDisturbed.cs
Luck-1% chance to receive double XP when planting a seed

ScavengePoint/OnOpened.cs
(Luck/2)-1% chance to lower the DC by 2.
Increases chance of quality by Luck% (Low Quality decreases to 50-Luck%, Normal Quality remains at 25%, High Quality remains at 20%, Very High Quality increases to 5+Luck%