using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using Microsoft.CodeAnalysis;
using UnboundLib.Cards;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("0.0.0.0")]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace ArkRounds
{
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("com.gilupy.rounds.arkrounds", "ArkRounds", "1.3.0")]
[BepInProcess("Rounds.exe")]
public class ArkRoundsPlugin : BaseUnityPlugin
{
public const string ModId = "com.gilupy.rounds.arkrounds";
public const string ModName = "ArkRounds";
public const string Version = "1.3.0";
public const string ModInitials = "ARK";
private void Awake()
{
}
private void Start()
{
CustomCard.BuildCard<SilverAshTruesilverSlash>();
CustomCard.BuildCard<ExusiaiApplePie>();
CustomCard.BuildCard<SariaCalcification>();
CustomCard.BuildCard<SurtrTwilight>();
CustomCard.BuildCard<MyrtleGoldenApples>();
CustomCard.BuildCard<ChenChiXiao>();
CustomCard.BuildCard<EyjafjallaVolcanicSparks>();
CustomCard.BuildCard<HoshigumaOnisResolve>();
CustomCard.BuildCard<SkadiAbyssalHunt>();
CustomCard.BuildCard<TexasSicilianRush>();
CustomCard.BuildCard<WChaoticBounce>();
CustomCard.BuildCard<SpecterUnchainedReturn>();
CustomCard.BuildCard<NearlRadiantKnight>();
CustomCard.BuildCard<LapplandInsatiableWolf>();
CustomCard.BuildCard<MudrockRockbreaker>();
CustomCard.BuildCard<BlazeChainsawCharge>();
CustomCard.BuildCard<PtilopsisSerenity>();
CustomCard.BuildCard<AmiyaArcaneEcho>();
CustomCard.BuildCard<RosmontisMemoryStorm>();
CustomCard.BuildCard<MostimaTimeLock>();
CustomCard.BuildCard<KaltsitMedicalProtocol>();
CustomCard.BuildCard<HellagurDuelistsCrescendo>();
}
}
public abstract class ArknightsCard : CustomCard
{
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
}
public override void OnRemoveCard()
{
}
protected override GameObject GetCardArt()
{
return null;
}
public override string GetModName()
{
return "ARK";
}
}
public class SilverAshTruesilverSlash : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.damage = 2f;
gun.projectileSpeed = 2f;
block.cdMultiplier = 1.5f;
statModifiers.movementSpeed = 0.7f;
}
protected override string GetTitle()
{
return "SilverAsh - Truesilver Slash";
}
protected override string GetDescription()
{
return "The Lord of Karlan's blade reaches far and cuts deep, but demands your full commitment.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)3;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
//IL_008c: Unknown result type (might be due to invalid IL or missing references)
//IL_0091: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
//IL_00b6: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[4]
{
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "+100%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Bullet Speed",
amount = "+100%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Block Cooldown",
amount = "+50%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Movement Speed",
amount = "-30%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class ExusiaiApplePie : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.attackSpeed = 0.4f;
gun.ammo = 4;
gun.damage = 0.6f;
}
protected override string GetTitle()
{
return "Exusiai - Apple Pie!";
}
protected override string GetDescription()
{
return "Fire first, deliver later. A relentless stream of small-caliber rounds.";
}
protected override Rarity GetRarity()
{
return (Rarity)1;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)1;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Attack Speed",
amount = "+150%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Max Ammo",
amount = "+4",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Damage",
amount = "-40%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class SariaCalcification : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.health = 1.8f;
block.additionalBlocks = 1;
statModifiers.movementSpeed = 0.75f;
}
protected override string GetTitle()
{
return "Saria - Calcification";
}
protected override string GetDescription()
{
return "Stand like a wall. Nothing gets through, and nothing gets past quickly.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)2;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Health",
amount = "+80%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Block Charges",
amount = "+1",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Movement Speed",
amount = "-25%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class SurtrTwilight : ArknightsCard
{
private TwilightDrain drain;
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.damage = 3f;
gun.size = 0.3f;
cardInfo.allowMultiple = false;
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
drain = ((Component)player).gameObject.GetComponent<TwilightDrain>();
if ((Object)(object)drain == (Object)null)
{
drain = ((Component)player).gameObject.AddComponent<TwilightDrain>();
}
}
public override void OnRemoveCard()
{
if ((Object)(object)drain != (Object)null)
{
Object.Destroy((Object)(object)drain);
drain = null;
}
}
protected override string GetTitle()
{
return "Surtr - Twilight";
}
protected override string GetDescription()
{
return "Burn everything, including yourself. The flame consumes its wielder.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "+200%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Bullet Size",
amount = "+30%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Health Drain",
amount = "5%/s",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class TwilightDrain : MonoBehaviour
{
public const float DrainFraction = 0.05f;
public const float Interval = 1f;
public const bool CanKillOwner = false;
private CharacterData data;
private HealthHandler health;
private float timer;
private FieldInfo maxHealthField;
private PropertyInfo maxHealthProp;
private float peakHealth;
private void Start()
{
data = ((Component)this).GetComponent<CharacterData>();
health = ((Component)this).GetComponent<HealthHandler>();
FindMaxHealthMember();
}
private void FindMaxHealthMember()
{
string[] array = new string[2] { "maxHealth", "MaxHealth" };
foreach (string name in array)
{
maxHealthField = typeof(CharacterData).GetField(name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
if (maxHealthField != null)
{
return;
}
maxHealthProp = typeof(CharacterData).GetProperty(name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
if (maxHealthProp != null)
{
return;
}
}
Debug.LogWarning("[ArkRounds] Couldn't find CharacterData max health; Twilight will use peak health instead.");
}
private float GetMaxHealth()
{
try
{
if (maxHealthField != null)
{
return Convert.ToSingle(maxHealthField.GetValue(data));
}
if (maxHealthProp != null)
{
return Convert.ToSingle(maxHealthProp.GetValue(data, null));
}
}
catch
{
}
peakHealth = Mathf.Max(peakHealth, data.health);
return peakHealth;
}
private void Update()
{
//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
//IL_00af: Unknown result type (might be due to invalid IL or missing references)
//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)data == (Object)null || (Object)(object)health == (Object)null)
{
return;
}
if (data.dead || !data.isPlaying)
{
timer = 0f;
return;
}
timer += Time.deltaTime;
if (!(timer < 1f))
{
timer -= 1f;
float num = GetMaxHealth() * 0.05f;
num = Mathf.Min(num, data.health - 1f);
if (!(num <= 0f))
{
((Damagable)health).TakeDamage(Vector2.up * num, Vector2.op_Implicit(((Component)this).transform.position), Color.red, (GameObject)null, (Player)null, true, false);
}
}
}
}
public class MyrtleGoldenApples : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
block.cdMultiplier = 0.6f;
statModifiers.movementSpeed = 1.15f;
gun.damage = 0.8f;
}
protected override string GetTitle()
{
return "Myrtle - Golden Apples";
}
protected override string GetDescription()
{
return "Quick on your feet and quicker to recover. Not built for a straight fight.";
}
protected override Rarity GetRarity()
{
return (Rarity)0;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)6;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Block Cooldown",
amount = "-40%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Movement Speed",
amount = "+15%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Damage",
amount = "-20%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class ChenChiXiao : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.attackSpeed = 0.71428573f;
gun.damage = 1.25f;
gun.reloadTime = 1.25f;
}
protected override string GetTitle()
{
return "Ch'en - Chi Xiao";
}
protected override string GetDescription()
{
return "A flurry of precise cuts, then a moment to steady the blade.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)4;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Attack Speed",
amount = "+40%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "+25%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Reload Time",
amount = "+25%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class EyjafjallaVolcanicSparks : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.numberOfProjectiles = 1;
gun.spread = 0.1f;
gun.damage = 0.7f;
}
protected override string GetTitle()
{
return "Eyjafjalla - Volcanic Sparks";
}
protected override string GetDescription()
{
return "Sheep-shaped sparks scatter in every direction. Some of them will hit.";
}
protected override Rarity GetRarity()
{
return (Rarity)1;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)8;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Bullets",
amount = "+1",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Damage",
amount = "-30%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Spread",
amount = "Increased",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class HoshigumaOnisResolve : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.health = 1.5f;
gun.knockback = 1.5f;
statModifiers.movementSpeed = 0.85f;
}
protected override string GetTitle()
{
return "Hoshiguma - Oni's Resolve";
}
protected override string GetDescription()
{
return "An immovable shield and a heavy hand. Anything that touches you gets pushed back.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)2;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Health",
amount = "+50%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Knockback",
amount = "+50%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Movement Speed",
amount = "-15%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class SkadiAbyssalHunt : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.damage = 1.6f;
statModifiers.lifeSteal = 0.2f;
gun.reloadTime = 1.3f;
}
protected override string GetTitle()
{
return "Skadi - Abyssal Hunt";
}
protected override string GetDescription()
{
return "The sea takes, and the sea gives back. Every wound you deal feeds the hunt.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)7;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "+60%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Lifesteal",
amount = "+20%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Reload Time",
amount = "+30%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class TexasSicilianRush : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.movementSpeed = 1.25f;
statModifiers.numberOfJumps = 1;
statModifiers.health = 0.85f;
}
protected override string GetTitle()
{
return "Texas - Sicilian Rush";
}
protected override string GetDescription()
{
return "In and out before they can blink. Just don't get caught.";
}
protected override Rarity GetRarity()
{
return (Rarity)1;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)3;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Movement Speed",
amount = "+25%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Jumps",
amount = "+1",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Health",
amount = "-15%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class WChaoticBounce : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.reflects = 2;
gun.projectileSpeed = 1.2f;
gun.damage = 0.85f;
}
protected override string GetTitle()
{
return "W - Chaotic Bounce";
}
protected override string GetDescription()
{
return "Why aim when the walls will do it for you? Hope you like surprises.";
}
protected override Rarity GetRarity()
{
return (Rarity)1;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Bounces",
amount = "+2",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Bullet Speed",
amount = "+20%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Damage",
amount = "-15%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class SpecterUnchainedReturn : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.respawns = 1;
statModifiers.health = 0.75f;
gun.damage = 0.9f;
}
protected override string GetTitle()
{
return "Specter - Unchained Return";
}
protected override string GetDescription()
{
return "The Abyssal Hunter doesn't stay down. A frailer body, but a second chance.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)4;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Respawns",
amount = "+1",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Health",
amount = "-25%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Damage",
amount = "-10%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class NearlRadiantKnight : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.health = 1.15f;
statModifiers.regen = 2f;
gun.damage = 0.9f;
}
protected override string GetTitle()
{
return "Nearl - Radiant Knight";
}
protected override string GetDescription()
{
return "A knight's light mends wounds as fast as they come. Not much bite, though.";
}
protected override Rarity GetRarity()
{
return (Rarity)0;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)3;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Health",
amount = "+15%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Regeneration",
amount = "+2 HP/s",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Damage",
amount = "-10%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class LapplandInsatiableWolf : ArknightsCard
{
private HungryStreak streak;
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.allowMultiple = false;
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
streak = ((Component)player).gameObject.GetComponent<HungryStreak>();
if ((Object)(object)streak == (Object)null)
{
streak = ((Component)player).gameObject.AddComponent<HungryStreak>();
}
}
public override void OnRemoveCard()
{
if ((Object)(object)streak != (Object)null)
{
Object.Destroy((Object)(object)streak);
streak = null;
}
}
protected override string GetTitle()
{
return "Lappland - Insatiable Wolf";
}
protected override string GetDescription()
{
return "Every miss only sharpens the appetite. The longer the chase, the harder the bite.";
}
protected override Rarity GetRarity()
{
return (Rarity)1;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)0;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "Damage per Shot",
amount = "+8%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Damage Bonus",
amount = "Resets on hit",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class HungryStreak : MonoBehaviour
{
public const float GrowthPerShot = 0.08f;
public const float MaxMultiplier = 3f;
public const float MinShotGap = 0.05f;
private CharacterData data;
private Gun gun;
private float appliedMultiplier = 1f;
private float lastGrowTime = -1f;
private bool subscribed;
private void Start()
{
data = ((Component)this).GetComponent<CharacterData>();
if (!((Object)(object)data == (Object)null))
{
gun = (((Object)(object)data.weaponHandler != (Object)null) ? data.weaponHandler.gun : null);
if (!((Object)(object)gun == (Object)null))
{
Gun obj = gun;
obj.ShootPojectileAction = (Action<GameObject>)Delegate.Combine(obj.ShootPojectileAction, new Action<GameObject>(OnShoot));
CharacterStatModifiers stats = data.stats;
stats.DealtDamageAction = (Action<Vector2, bool>)Delegate.Combine(stats.DealtDamageAction, new Action<Vector2, bool>(OnDealtDamage));
subscribed = true;
}
}
}
private void OnShoot(GameObject projectile)
{
if (!((Object)(object)gun == (Object)null) && !(Time.time - lastGrowTime < 0.05f))
{
lastGrowTime = Time.time;
float num = Mathf.Min(appliedMultiplier * 1.08f, 3f);
float num2 = num / appliedMultiplier;
if (!(num2 <= 1f))
{
Gun obj = gun;
obj.damage *= num2;
appliedMultiplier = num;
}
}
}
private void OnDealtDamage(Vector2 damage, bool selfDamage)
{
if (!selfDamage)
{
ResetBonus();
}
}
private void ResetBonus()
{
if ((Object)(object)gun != (Object)null && appliedMultiplier > 0f && appliedMultiplier != 1f)
{
Gun obj = gun;
obj.damage /= appliedMultiplier;
}
appliedMultiplier = 1f;
}
private void Update()
{
if (!((Object)(object)data == (Object)null) && (data.dead || !data.isPlaying) && appliedMultiplier != 1f)
{
ResetBonus();
}
}
private void OnDestroy()
{
ResetBonus();
if (subscribed)
{
if ((Object)(object)gun != (Object)null)
{
Gun obj = gun;
obj.ShootPojectileAction = (Action<GameObject>)Delegate.Remove(obj.ShootPojectileAction, new Action<GameObject>(OnShoot));
}
if ((Object)(object)data != (Object)null && (Object)(object)data.stats != (Object)null)
{
CharacterStatModifiers stats = data.stats;
stats.DealtDamageAction = (Action<Vector2, bool>)Delegate.Remove(stats.DealtDamageAction, new Action<Vector2, bool>(OnDealtDamage));
}
subscribed = false;
}
}
}
public class MudrockRockbreaker : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.health = 1.7f;
gun.damage = 1.3f;
statModifiers.movementSpeed = 0.7f;
}
protected override string GetTitle()
{
return "Mudrock - Rockbreaker";
}
protected override string GetDescription()
{
return "Plant your feet and swing. The ground will move before you do.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)6;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Health",
amount = "+70%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "+30%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Movement Speed",
amount = "-30%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class BlazeChainsawCharge : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.damage = 1.5f;
statModifiers.health = 1.2f;
gun.attackSpeed = 1.25f;
}
protected override string GetTitle()
{
return "Blaze - Chainsaw Charge";
}
protected override string GetDescription()
{
return "Revs up slowly, then goes through everything in the way.";
}
protected override Rarity GetRarity()
{
return (Rarity)1;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)1;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Damage",
amount = "+50%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Health",
amount = "+20%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Attack Speed",
amount = "-20%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class PtilopsisSerenity : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.reloadTime = 0.8f;
block.cdMultiplier = 0.8f;
gun.damage = 0.85f;
}
protected override string GetTitle()
{
return "Ptilopsis - Serenity";
}
protected override string GetDescription()
{
return "Calm hands, steady rhythm. Always ready for the next moment.";
}
protected override Rarity GetRarity()
{
return (Rarity)0;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)3;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Reload Time",
amount = "-20%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Block Cooldown",
amount = "-20%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Damage",
amount = "-15%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class AmiyaArcaneEcho : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.projectileSpeed = 1.25f;
gun.attackSpeed = 0.9090909f;
statModifiers.health = 0.9f;
}
protected override string GetTitle()
{
return "Amiya - Arcane Echo";
}
protected override string GetDescription()
{
return "A young leader's arts, quick and bright. Still learning how much it costs.";
}
protected override Rarity GetRarity()
{
return (Rarity)0;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)8;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Bullet Speed",
amount = "+25%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Attack Speed",
amount = "+10%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Health",
amount = "-10%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class RosmontisMemoryStorm : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
gun.ammo = 3;
gun.size = 0.2f;
statModifiers.health = 0.85f;
}
protected override string GetTitle()
{
return "Rosmontis - Memory Storm";
}
protected override string GetDescription()
{
return "Too many memories to hold, so she lets them fly. Fragile, but never short on ammunition.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)5;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Max Ammo",
amount = "+3",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Bullet Size",
amount = "+20%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Health",
amount = "-15%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class MostimaTimeLock : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
block.cdMultiplier = 0.5f;
block.additionalBlocks = 1;
gun.damage = 0.75f;
}
protected override string GetTitle()
{
return "Mostima - Time Lock";
}
protected override string GetDescription()
{
return "She would rather stop the fight than win it. Always has another moment in reserve.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)4;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Block Cooldown",
amount = "-50%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Block Charges",
amount = "+1",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Damage",
amount = "-25%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class KaltsitMedicalProtocol : ArknightsCard
{
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
statModifiers.health = 1.25f;
statModifiers.regen = 3f;
gun.attackSpeed = 1.25f;
}
protected override string GetTitle()
{
return "Kal'tsit - Medical Protocol";
}
protected override string GetDescription()
{
return "Precise, unhurried, and always three steps ahead of the wound.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)2;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
//IL_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_0065: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[3]
{
new CardInfoStat
{
positive = true,
stat = "Health",
amount = "+25%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Regeneration",
amount = "+3 HP/s",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = false,
stat = "Attack Speed",
amount = "-20%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class HellagurDuelistsCrescendo : ArknightsCard
{
private CrescendoGrowth growth;
public override void SetupCard(CardInfo cardInfo, Gun gun, ApplyCardStats cardStats, CharacterStatModifiers statModifiers, Block block)
{
cardInfo.allowMultiple = false;
}
public override void OnAddCard(Player player, Gun gun, GunAmmo gunAmmo, CharacterData data, HealthHandler health, Gravity gravity, Block block, CharacterStatModifiers characterStats)
{
growth = ((Component)player).gameObject.GetComponent<CrescendoGrowth>();
if ((Object)(object)growth == (Object)null)
{
growth = ((Component)player).gameObject.AddComponent<CrescendoGrowth>();
}
}
public override void OnRemoveCard()
{
if ((Object)(object)growth != (Object)null)
{
Object.Destroy((Object)(object)growth);
growth = null;
}
}
protected override string GetTitle()
{
return "Hellagur - Duelist's Crescendo";
}
protected override string GetDescription()
{
return "Every swing builds on the last. The duel only ends when someone is left standing.";
}
protected override Rarity GetRarity()
{
return (Rarity)2;
}
protected override CardThemeColorType GetTheme()
{
return (CardThemeColorType)1;
}
protected override CardInfoStat[] GetStats()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Expected O, but got Unknown
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: Expected O, but got Unknown
return (CardInfoStat[])(object)new CardInfoStat[2]
{
new CardInfoStat
{
positive = true,
stat = "Damage per Shot",
amount = "+7%",
simepleAmount = (SimpleAmount)0
},
new CardInfoStat
{
positive = true,
stat = "Max Bonus",
amount = "+300%",
simepleAmount = (SimpleAmount)0
}
};
}
}
public class CrescendoGrowth : MonoBehaviour
{
public const float GrowthPerShot = 0.07f;
public const float MaxMultiplier = 4f;
public const float MinShotGap = 0.05f;
public const bool PersistAcrossPoints = false;
private CharacterData data;
private Gun gun;
private float appliedMultiplier = 1f;
private float lastGrowTime = -1f;
private bool subscribed;
private void Start()
{
data = ((Component)this).GetComponent<CharacterData>();
if (!((Object)(object)data == (Object)null))
{
gun = (((Object)(object)data.weaponHandler != (Object)null) ? data.weaponHandler.gun : null);
if (!((Object)(object)gun == (Object)null))
{
Gun obj = gun;
obj.ShootPojectileAction = (Action<GameObject>)Delegate.Combine(obj.ShootPojectileAction, new Action<GameObject>(OnShoot));
subscribed = true;
}
}
}
private void OnShoot(GameObject projectile)
{
if (!((Object)(object)gun == (Object)null) && !(Time.time - lastGrowTime < 0.05f))
{
lastGrowTime = Time.time;
float num = Mathf.Min(appliedMultiplier * 1.07f, 4f);
float num2 = num / appliedMultiplier;
if (!(num2 <= 1f))
{
Gun obj = gun;
obj.damage *= num2;
appliedMultiplier = num;
}
}
}
private void ResetBonus()
{
if ((Object)(object)gun != (Object)null && appliedMultiplier > 0f && appliedMultiplier != 1f)
{
Gun obj = gun;
obj.damage /= appliedMultiplier;
}
appliedMultiplier = 1f;
}
private void Update()
{
if (!((Object)(object)data == (Object)null) && (data.dead || !data.isPlaying) && appliedMultiplier != 1f)
{
ResetBonus();
}
}
private void OnDestroy()
{
ResetBonus();
if (subscribed)
{
if ((Object)(object)gun != (Object)null)
{
Gun obj = gun;
obj.ShootPojectileAction = (Action<GameObject>)Delegate.Remove(obj.ShootPojectileAction, new Action<GameObject>(OnShoot));
}
subscribed = false;
}
}
}
}