LOR Passives DLL help – Library Of Ruina

admin

A list of pa*sives code. This guide will have the code for in game pa*sives so you can hopefully figure out how to make new pa*sives. (I don’t know what image to put so have some judging spiders).

Introduction

All of these Codes are from a decompiler so some pa*sives may not work. I would be happy to try and help in the comments if a specific code doesn’t work. Also you can comment if you want any specific pa*sives put in this. I hope this collection can be helpful.

Steam and its auto links are at it again. I don’t think the links work but please don’t click on them.

Status Ailments

Here are some Status ailment names that the code makes you use. (the name in () is the in game name.)

An Example of how to write a status script

this.owner.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Strength, 1, this.owner);

buf self

this.owner.bufListDetail.AddKeywordBufThisRoundByEtc(KeywordBuf.Strength, 1, this.owner);

buf self this turn

behavior.card.target?.bufListDetail?.AddKeywordBufByEtc(KeywordBuf.Bleeding, 1, this.owner);

buf a card target

behavior.card.target?.bufListDetail?.AddKeywordBufThisRoundByEtc(KeywordBuf.Bleeding, 1, this.owner);

buf a card target this turn

alive.bufListDetail.AddKeywordBufThisRoundByEtc(KeywordBuf.Strength, 1, this.owner);

buf your team this turn

alive.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Strength, 1, this.owner);

buf your team

Paralysis

Burn

Bleeding (Bleed)

Vulnerable (Fragile)

Vulnerable_break (Stagger Fragile)

Fairy

Decay (Erosion)

Weak (Feeble)

Disarm

Binding (Bind)

Protection

BreakProtection (Stagger Protection)

Strength

Endurance

Quickness (Haste)

SlashPowerUp (Index, slash Power = to amount)

PenetratePowerUp (Index, Pierce Power = to amount)

HitPowerUp (Index, Blunt Power = to amount)

DefensePowerUp (Block and Evade power = to amount)

WarpCharge (Charge)

Smoke

NullifyPower (The amount doesn’t matter always removed at the end of the turn it activated. Note to make it nullify next turn use normal. To make it nullify immediately use the buf this round script)

SweeperRevival (Persistence)

SweeperDup (The chance of Persistence working is halved by this stack example 2 halves the 0.8 twice to 0.2. This is gained on Persistence working.)

Yun Office Pa*sives

200004 Half Baked Courage

public override void OnDieOtherUnit(BattleUnitModel unit)

{

if (unit.faction != this.owner.faction)

return;

this.owner.ShowPa*siveTypo((Pa*siveAbilityBase) this);

this.owner.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Strength, 1, this.owner);

}

Finn’s pa*sive

if you want to make it give a status on any death remove the if (unit.faction != this.owner.faction)

return;

You can change parts of the (KeywordBuf.Strength, 1, this.owner) to change what the pa*sive gives you. Change Strength for another status ailment. Change the 1 for the amount of status ailment.

20100 Slash of a Grade 9 Fixer

using LOR_DiceSystem;

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Slash || (double) RandomUtil.valueForProb >= 0.5)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

dmg = 1

});

}

Yun Office Fixer Pa*sive

Change dmg = 1 to increase damage done. Change dmg = 1 to breakDmg = 1 for stagger damage.

(double) RandomUtil.valueForProb >= 0.5 is the probability effect this is 50%. The number to pa*s needs to be lower than the 0.5 so increasing the 0.5 makes the probability to pa*s higher

(Example 0.6 is more likely to have the effect trigger than 0.5. Remember because of the return you want to fail the >= for the effect to happen pa*sing ends it at the return).

(behavior.Detail != BehaviourDetail.Slash makes it so non slash dice don’t use the effect. (Change Slash to Penetrate, Hit, Guard, or Evade to change the dice type).

Because the pa*sive uses a Dice type you need to add using “LOR_DiceSystem;” to your using list at the top.

200005 The Art of Defense

public override void BeforeRollDice(BattleDiceBehavior behavior)

{

if (!this.IsDefenseDice(behavior.Detail) || (double) RandomUtil.valueForProb >= 0.25)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

face = 1

});

}

}

Eri’s Pa*sive

face = 1 makes the dice have max roll in groups of 3 so 2 face is +6 max roll. (!this.IsDefenseDice(behavior.Detail) Causes the Pa*sive to only work for Block and Evade dice.

200006 Yun’s Hunch

using LOR_DiceSystem;

public override void BeforeRollDice(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Evasion || (double) RandomUtil.valueForProb >= 0.5)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

face = 1

});

}

Yun’s Pa*sive

behavior.Detail != BehaviourDetail.Evasion makes the pa*sive only work with Evade Dice.

BrotherHood and Hook

200007 Electric Shock

using System.Collections.Generic;

private List<BattleUnitModel> _alreadyTargets = new List<BattleUnitModel>();

public override void OnRoundStart() => this._alreadyTargets.Clear();

public override void OnSucceedAttack(BattleDiceBehavior behavior)

{

if (behavior.card == null || behavior.card.target == null || this._alreadyTargets.Contains(behavior.card.target) || (double) RandomUtil.valueForProb >= 0.25)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.card?.target?.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Paralysis – [behavior.card] , 1, this.owner);

this._alreadyTargets.Add(behavior.card.target);

}

Brother Hoods Pa*sive

200010 Hook

public override void OnKill(BattleUnitModel target)

{

if (target.faction == this.owner.faction)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

this.owner.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Strength, 1, this.owner);

}

Hook Office Pa*sive

Pierre and Butchers

210002 Instant Cooking

public override void OnKill(BattleUnitModel target)

{

int v = this.owner.MaxHp / 10;

if (v > 12)

v = 12;

this.owner.ShowPa*siveTypo((Pa*siveAbilityBase) this);

this.owner.RecoverHP(v);

}

Pierre’s Pa*sive

210001 Emergency Rations

public override void OnRoundStart()

{

this.owner.ShowPa*siveTypo((Pa*siveAbilityBase) this);

this.owner.RecoverHP(2);

}

Jack’s Pa*sive

211003 Open Wound

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

BattleUnitModel target = behavior.card.target;

if ((target != null ? (target.bufListDetail.GetKewordBufStack(KeywordBuf.Bleeding) > 0 ? 1 : 0) : 0) == 0)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

dmg = 1

});

}

Butcher Pa*sive

Streetlight and Lulu

220001 Calmness

public override void OnWinParrying(BattleDiceBehavior behavior)

{

if ((double) RandomUtil.valueForProb >= 0.25)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.card.AddDiceFace(DiceMatch.NextDice, 1);

}

San’s Pa*sive

210003 Talent

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

int? nullable = behavior.card?.target?.speedDiceResult – [behavior.card] [behavior.card.targetSlotOrder].value;

int? speedDiceResultValue = behavior.card?.speedDiceResultValue; – [behavior.card]

if (!(nullable.GetValueOrDefault() < speedDiceResultValue.GetValueOrDefault() & nullable.HasValue & speedDiceResultValue.HasValue))

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

breakDmg = 1

});

}

Mar’s Pa*sive

210006 Flaming Bat

public override void OnSucceedAttack(BattleDiceBehavior behavior)

{

if ((double) RandomUtil.valueForProb >= 0.5)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.card.target?.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Burn, 1, this.owner);

}

Lulu’s Pa*sive

211005 Penetration

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Penetrate || (double) RandomUtil.valueForProb >= 0.5)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

dmg = 1

});

}

Lulu’s Friend Pa*sive

Zwei

221001 Keeping in Stride

public override void OnWinParrying(BattleDiceBehavior behavior)

{

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

this.owner.RecoverHP(1);

}

Zwei Pa*sive

220002 Zwei Swordsmanship 1

using LOR_DiceSystem;

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Slash)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

dmg = 1

});

}

Julia’s Pa*sive

220004 Your Shield

public override void BeforeRollDice(BattleDiceBehavior behavior)

{

if (!this.IsDefenseDice(behavior.Detail))

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

power = 1

});

}

Walter’s Page

220003 Minimum Offense

using LOR_DiceSystem;

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Slash)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

breakDmg = 1

});

}

Isadora’s Pa*sive

Molar and Stray Dogs

220006 Margin

public override void OnRoundEnd()

{

if (this.owner.allyCardDetail.GetHand().Count != 0)

return;

this.owner.ShowPa*siveTypo((Pa*siveAbilityBase) this);

this.owner.cardSlotDetail.RecoverPlayPoint(1);

this.owner.allyCardDetail.DrawCards(1);

}

Olga’s Pa*sive

220005 Best Choice

using System.Collections.Generic;

public override void OnDiscardByAbility(List<BattleDiceCardModel> cards)

{

this.owner.ShowPa*siveTypo((Pa*siveAbilityBase) this);

this.owner.RecoverHP(cards.Count * 3);

}

Mika’s Pa*sive

220007 In Times Like These!

public override void OnRoundEnd()

{

if (this.owner.allyCardDetail.GetHand().Count > 3)

return;

this.owner.ShowPa*siveTypo((Pa*siveAbilityBase) this);

this.owner.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Strength, 1, this.owner);

}

Rain’s Pa*sive

221005 Punch to the Solar Plexus

using LOR_DiceSystem;

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Hit)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

dmg = 2

});

}

Stray Dog Pa*sive

220008 Restfulness

public override void OnRoundEnd()

{

if (this.owner.cardHistory.GetCurrentRoundCardList(Singleton<StageController>.Instance.RoundTurn).Count > 0)

return;

this.owner.cardSlotDetail.RecoverPlayPoint(1);

}

Gyeong-mi’s Pa*sive

220009 Double Kick

public override void OnWinParrying(BattleDiceBehavior behavior)

{

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.card.target?.TakeDamage(1, DamageType.Pa*sive, this.owner);

}

Dino’s Pa*sive

220010 Deep Breaths

public override void OnRoundStart()

{

if ((double) RandomUtil.valueForProb >= 0.25)

return;

this.owner.ShowPa*siveTypo((Pa*siveAbilityBase) this);

this.owner.cardSlotDetail.RecoverPlayPoint(1);

}

Zulu’s Pa*sive

Grade 8, Grade 7 Fixer, and Axe Gang

221007 Slashing Prowess of a Grade 8 Fixer

using LOR_DiceSystem;

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Slash)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

breakDmg = 1

});

}

Grade 8 Fixer’s Pa*sive

221009 Piercing Prowess of a Grade 7 Fixer

using LOR_DiceSystem;

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Penetrate)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

breakDmg = 1

});

}

Grade 8 Fixer 2 Pa*sive

221010 Slashing Prowess of a Grade 7 Fixer

using LOR_DiceSystem;

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Slash)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

breakDmg = 2

});

}

Grade 7 Fixer’s Pa*sive

221012 Piercing Prowess of a Grade 7 Fixer

using LOR_DiceSystem;

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Penetrate)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

breakDmg = 2

});

}

Grade 7 Fixer 2 Pa*sive

221013 Axe Gang Spirit

using LOR_DiceSystem;

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail != BehaviourDetail.Hit)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

breakDmg = 1

});

}

Axe Gang Fixer’s Pa*sive

221014 Double Axe

using LOR_DiceSystem;

public override void BeforeGiveDamage(BattleDiceBehavior behavior)

{

if (behavior.Detail == BehaviourDetail.Slash)

{

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

dmg = 2

});

}

else

{

if (behavior.Detail != BehaviourDetail.Penetrate)

return;

this.owner.battleCardResultLog?.SetPa*siveAbility((Pa*siveAbilityBase) this);

behavior.ApplyDiceStatBonus(new DiceStatBonus()

{

dmg = -1

});

}

}

Axe Gang Fixer 2 Pa*sive

More Pa*sives to come.

LOR has a lot of Pa*sives so this guide will take some times. I will go in order from Yun Office to End Game, but don’t be afraid to ask for any specific Pa*sives in the comments.

Written by noahbarker

This is all we can share for LOR Pa*sives DLL help – Library Of Ruina for today. I hope you enjoy the guide! If you have anything to add to this guide or we forget something please let us know via comment! We check each comment! Don’t forget to check XIXGO.COM for MORE!

Share This Article