LOR Passives DLL help – Library Of Ruina

LOR Passives DLL help – Library Of Ruina 1 - steamclue.com
LOR Passives DLL help – Library Of Ruina 1 - steamclue.com

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

Introduction

All of these Codes are from a decompiler so some passives 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 passives 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 Passives

200004 Half Baked Courage
 
 
public override void OnDieOtherUnit(BattleUnitModel unit)
 
{
 
if (unit.faction != this.owner.faction)
 
return;
 
this.owner.ShowPassiveTypo((PassiveAbilityBase) this);
 
this.owner.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Strength, 1, this.owner);
 
}
 
 
Finn’s passive
 
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 passive 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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
dmg = 1
 
});
 
}
 
Yun Office Fixer Passive
 
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 pass needs to be lower than the 0.5 so increasing the 0.5 makes the probability to pass 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 passing 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 passive 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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
face = 1
 
});
 
}
 
}
 
Eri’s Passive
 
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 Passive 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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
face = 1
 
});
 
}
 
Yun’s Passive
 
behavior.Detail != BehaviourDetail.Evasion makes the passive 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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.card?.target?.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Paralysis – [behavior.card] , 1, this.owner);
 
this._alreadyTargets.Add(behavior.card.target);
 
}
 
Brother Hoods Passive
 
 
200010 Hook
 
 
public override void OnKill(BattleUnitModel target)
 
{
 
if (target.faction == this.owner.faction)
 
return;
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
this.owner.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Strength, 1, this.owner);
 
}
 
Hook Office Passive
 
 
 

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.ShowPassiveTypo((PassiveAbilityBase) this);
 
this.owner.RecoverHP(v);
 
}
 
 
Pierre’s Passive
 
 
210001 Emergency Rations
 
 
public override void OnRoundStart()
 
{
 
this.owner.ShowPassiveTypo((PassiveAbilityBase) this);
 
this.owner.RecoverHP(2);
 
}
 
 
Jack’s Passive
 
 
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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
dmg = 1
 
});
 
}
 
 
Butcher Passive
 
 
 

Streetlight and Lulu

220001 Calmness
 
 
public override void OnWinParrying(BattleDiceBehavior behavior)
 
{
 
if ((double) RandomUtil.valueForProb >= 0.25)
 
return;
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.card.AddDiceFace(DiceMatch.NextDice, 1);
 
}
 
 
San’s Passive
 
 
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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
breakDmg = 1
 
});
 
}
 
 
Mar’s Passive
 
 
210006 Flaming Bat
 
 
public override void OnSucceedAttack(BattleDiceBehavior behavior)
 
{
 
if ((double) RandomUtil.valueForProb >= 0.5)
 
return;
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.card.target?.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Burn, 1, this.owner);
 
}
 
 
Lulu’s Passive
 
 
211005 Penetration
 
 
public override void BeforeGiveDamage(BattleDiceBehavior behavior)
 
{
 
if (behavior.Detail != BehaviourDetail.Penetrate || (double) RandomUtil.valueForProb >= 0.5)
 
return;
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
dmg = 1
 
});
 
}
 
Lulu’s Friend Passive
 
 
 

Zwei

221001 Keeping in Stride
 
 
public override void OnWinParrying(BattleDiceBehavior behavior)
 
{
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
this.owner.RecoverHP(1);
 
}
 
Zwei Passive
 
 
220002 Zwei Swordsmanship 1
 
 
using LOR_DiceSystem;
 
 
public override void BeforeGiveDamage(BattleDiceBehavior behavior)
 
{
 
if (behavior.Detail != BehaviourDetail.Slash)
 
return;
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
dmg = 1
 
});
 
}
 
Julia’s Passive
 
 
220004 Your Shield
 
 
public override void BeforeRollDice(BattleDiceBehavior behavior)
 
{
 
if (!this.IsDefenseDice(behavior.Detail))
 
return;
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) 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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
breakDmg = 1
 
});
 
}
 
Isadora’s Passive
 
 
 

Molar and Stray Dogs

220006 Margin
 
 
public override void OnRoundEnd()
 
{
 
if (this.owner.allyCardDetail.GetHand().Count != 0)
 
return;
 
this.owner.ShowPassiveTypo((PassiveAbilityBase) this);
 
this.owner.cardSlotDetail.RecoverPlayPoint(1);
 
this.owner.allyCardDetail.DrawCards(1);
 
}
 
Olga’s Passive
 
 
220005 Best Choice
 
 
using System.Collections.Generic;
 
 
public override void OnDiscardByAbility(List<BattleDiceCardModel> cards)
 
{
 
this.owner.ShowPassiveTypo((PassiveAbilityBase) this);
 
this.owner.RecoverHP(cards.Count * 3);
 
}
 
Mika’s Passive
 
 
220007 In Times Like These!
 
 
public override void OnRoundEnd()
 
{
 
if (this.owner.allyCardDetail.GetHand().Count > 3)
 
return;
 
this.owner.ShowPassiveTypo((PassiveAbilityBase) this);
 
this.owner.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Strength, 1, this.owner);
 
}
 
Rain’s Passive
 
 
221005 Punch to the Solar Plexus
 
 
using LOR_DiceSystem;
 
 
public override void BeforeGiveDamage(BattleDiceBehavior behavior)
 
{
 
if (behavior.Detail != BehaviourDetail.Hit)
 
return;
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
dmg = 2
 
});
 
}
 
Stray Dog Passive
 
 
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 Passive
 
 
220009 Double Kick
 
 
public override void OnWinParrying(BattleDiceBehavior behavior)
 
{
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.card.target?.TakeDamage(1, DamageType.Passive, this.owner);
 
}
 
Dino’s Passive
 
 
220010 Deep Breaths
 
 
public override void OnRoundStart()
 
{
 
if ((double) RandomUtil.valueForProb >= 0.25)
 
return;
 
this.owner.ShowPassiveTypo((PassiveAbilityBase) this);
 
this.owner.cardSlotDetail.RecoverPlayPoint(1);
 
}
 
Zulu’s Passive
 
 
 

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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
breakDmg = 1
 
});
 
}
 
Grade 8 Fixer’s Passive
 
 
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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
breakDmg = 1
 
});
 
}
 
Grade 8 Fixer 2 Passive
 
 
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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
breakDmg = 2
 
});
 
}
 
Grade 7 Fixer’s Passive
 
 
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?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
breakDmg = 2
 
});
 
}
 
Grade 7 Fixer 2 Passive
 
 
221013 Axe Gang Spirit
 
 
using LOR_DiceSystem;
 
 
public override void BeforeGiveDamage(BattleDiceBehavior behavior)
 
{
 
if (behavior.Detail != BehaviourDetail.Hit)
 
return;
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
breakDmg = 1
 
});
 
}
 
Axe Gang Fixer’s Passive
 
 
221014 Double Axe
 
 
using LOR_DiceSystem;
 
 
public override void BeforeGiveDamage(BattleDiceBehavior behavior)
 
{
 
if (behavior.Detail == BehaviourDetail.Slash)
 
{
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
dmg = 2
 
});
 
}
 
else
 
{
 
if (behavior.Detail != BehaviourDetail.Penetrate)
 
return;
 
this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase) this);
 
behavior.ApplyDiceStatBonus(new DiceStatBonus()
 
{
 
dmg = -1
 
});
 
}
 
}
 
Axe Gang Fixer 2 Passive
 
 
 

More Passives to come.

LOR has a lot of Passives 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 Passives in the comments.
 
 

Written by noahbarker

 
 
This is all we can share for LOR Passives 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 SteamClue.com for MORE!
 


Be the first to comment

Leave a Reply

Your email address will not be published.


*