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.
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 SteamClue.com for MORE!
- All Library Of Ruina Posts List
Leave a Reply