226 lines
5.3 KiB
C#
226 lines
5.3 KiB
C#
|
using System.Collections;
|
||
|
using RoR2.ContentManagement;
|
||
|
|
||
|
namespace RoR2;
|
||
|
|
||
|
public class DLC2Content : IContentPackProvider
|
||
|
{
|
||
|
public static class Artifacts
|
||
|
{
|
||
|
public static ArtifactDef Rebirth;
|
||
|
}
|
||
|
|
||
|
public static class Items
|
||
|
{
|
||
|
public static ItemDef LowerHealthHigherDamage;
|
||
|
|
||
|
public static ItemDef NegateAttack;
|
||
|
|
||
|
public static ItemDef ExtraShrineItem;
|
||
|
|
||
|
public static ItemDef StunAndPierce;
|
||
|
|
||
|
public static ItemDef BoostAllStats;
|
||
|
|
||
|
public static ItemDef KnockBackHitEnemies;
|
||
|
|
||
|
public static ItemDef TriggerEnemyDebuffs;
|
||
|
|
||
|
public static ItemDef LowerPricedChests;
|
||
|
|
||
|
public static ItemDef LowerPricedChestsConsumed;
|
||
|
|
||
|
public static ItemDef ResetChests;
|
||
|
|
||
|
public static ItemDef IncreaseDamageOnMultiKill;
|
||
|
|
||
|
public static ItemDef GoldOnStageStart;
|
||
|
|
||
|
public static ItemDef IncreasePrimaryDamage;
|
||
|
|
||
|
public static ItemDef DelayedDamage;
|
||
|
|
||
|
public static ItemDef TeleportOnLowHealth;
|
||
|
|
||
|
public static ItemDef TeleportOnLowHealthConsumed;
|
||
|
|
||
|
public static ItemDef ExtraStatsOnLevelUp;
|
||
|
|
||
|
public static ItemDef MeteorAttackOnHighDamage;
|
||
|
|
||
|
public static ItemDef OnLevelUpFreeUnlock;
|
||
|
|
||
|
public static ItemDef LemurianHarness;
|
||
|
}
|
||
|
|
||
|
public static class ItemRelationshipTypes
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public static class Equipment
|
||
|
{
|
||
|
public static EquipmentDef HealAndRevive;
|
||
|
|
||
|
public static EquipmentDef HealAndReviveConsumed;
|
||
|
|
||
|
public static EquipmentDef EliteBeadEquipment;
|
||
|
|
||
|
public static EquipmentDef EliteAurelioniteEquipment;
|
||
|
}
|
||
|
|
||
|
public static class Buffs
|
||
|
{
|
||
|
public static BuffDef KnockUpHitEnemies;
|
||
|
|
||
|
public static BuffDef KnockDownHitEnemies;
|
||
|
|
||
|
public static BuffDef BoostAllStatsBuff;
|
||
|
|
||
|
public static BuffDef LowerHealthHigherDamageBuff;
|
||
|
|
||
|
public static BuffDef IncreaseDamageBuff;
|
||
|
|
||
|
public static BuffDef IncreasePrimaryDamageBuff;
|
||
|
|
||
|
public static BuffDef DelayedDamageBuff;
|
||
|
|
||
|
public static BuffDef DelayedDamageDebuff;
|
||
|
|
||
|
public static BuffDef ExtraStatsOnLevelUpBuff;
|
||
|
|
||
|
public static BuffDef lunarruin;
|
||
|
|
||
|
public static BuffDef TamperedHeart;
|
||
|
|
||
|
public static BuffDef CorruptionFesters;
|
||
|
|
||
|
public static BuffDef WeakenedBeating;
|
||
|
|
||
|
public static BuffDef StunAndPierceBuff;
|
||
|
|
||
|
public static BuffDef ChakraBuff;
|
||
|
|
||
|
public static BuffDef RevitalizeBuff;
|
||
|
|
||
|
public static BuffDef FreeChest;
|
||
|
|
||
|
public static BuffDef Boosted;
|
||
|
|
||
|
public static BuffDef boostedFireEffect;
|
||
|
|
||
|
public static BuffDef CookingChopped;
|
||
|
|
||
|
public static BuffDef CookingOiled;
|
||
|
|
||
|
public static BuffDef CookingRoasted;
|
||
|
|
||
|
public static BuffDef CookingRolled;
|
||
|
|
||
|
public static BuffDef CookingFlambe;
|
||
|
|
||
|
public static BuffDef CookingSearing;
|
||
|
|
||
|
public static BuffDef CookingRolling;
|
||
|
|
||
|
public static BuffDef FreeUnlocks;
|
||
|
|
||
|
public static BuffDef GeodeBuff;
|
||
|
|
||
|
public static BuffDef DisableAllSkills;
|
||
|
|
||
|
public static BuffDef SoulCost;
|
||
|
|
||
|
public static BuffDef ExtraLifeBuff;
|
||
|
|
||
|
public static BuffDef EliteBead;
|
||
|
|
||
|
public static BuffDef EliteBeadCorruption;
|
||
|
|
||
|
public static BuffDef EliteBeadThorns;
|
||
|
|
||
|
public static BuffDef EliteAurelionite;
|
||
|
|
||
|
public static BuffDef AurelioniteBlessing;
|
||
|
|
||
|
public static BuffDef HealAndReviveRegenBuff;
|
||
|
|
||
|
public static BuffDef ChildFrolicCooldown;
|
||
|
|
||
|
public static BuffDef TeleportOnLowHealth;
|
||
|
|
||
|
public static BuffDef TeleportOnLowHealthCooldown;
|
||
|
|
||
|
public static BuffDef SojournVehicle;
|
||
|
|
||
|
public static BuffDef SojournHealing;
|
||
|
|
||
|
public static BuffDef HiddenRejectAllDamage;
|
||
|
}
|
||
|
|
||
|
public static class Elites
|
||
|
{
|
||
|
public static EliteDef Aurelionite;
|
||
|
|
||
|
public static EliteDef Bead;
|
||
|
}
|
||
|
|
||
|
public static class GameEndings
|
||
|
{
|
||
|
public static GameEndingDef RebirthEndingDef;
|
||
|
}
|
||
|
|
||
|
public static class Survivors
|
||
|
{
|
||
|
public static SurvivorDef Seeker;
|
||
|
|
||
|
public static SurvivorDef FalseSon;
|
||
|
|
||
|
public static SurvivorDef Chef;
|
||
|
}
|
||
|
|
||
|
public static class MiscPickups
|
||
|
{
|
||
|
}
|
||
|
|
||
|
private ContentPack contentPack = new ContentPack();
|
||
|
|
||
|
private static readonly string addressablesLabel = "ContentPack:RoR2.DLC2";
|
||
|
|
||
|
public string identifier => "RoR2.DLC2";
|
||
|
|
||
|
public IEnumerator LoadStaticContentAsync(LoadStaticContentAsyncArgs args)
|
||
|
{
|
||
|
contentPack.identifier = identifier;
|
||
|
AddressablesLoadHelper loadHelper = AddressablesLoadHelper.CreateUsingDefaultResourceLocator(addressablesLabel);
|
||
|
yield return loadHelper.AddContentPackLoadOperationWithYields(contentPack);
|
||
|
loadHelper.AddGenericOperation(delegate
|
||
|
{
|
||
|
ContentLoadHelper.PopulateTypeFields(typeof(Artifacts), contentPack.artifactDefs);
|
||
|
ContentLoadHelper.PopulateTypeFields(typeof(Items), contentPack.itemDefs);
|
||
|
ContentLoadHelper.PopulateTypeFields(typeof(ItemRelationshipTypes), contentPack.itemRelationshipTypes);
|
||
|
ContentLoadHelper.PopulateTypeFields(typeof(Equipment), contentPack.equipmentDefs);
|
||
|
ContentLoadHelper.PopulateTypeFields(typeof(Buffs), contentPack.buffDefs, (string fieldName) => "bd" + fieldName);
|
||
|
ContentLoadHelper.PopulateTypeFields(typeof(Elites), contentPack.eliteDefs, (string fieldName) => "ed" + fieldName);
|
||
|
ContentLoadHelper.PopulateTypeFields(typeof(Survivors), contentPack.survivorDefs);
|
||
|
ContentLoadHelper.PopulateTypeFields(typeof(GameEndings), contentPack.gameEndingDefs);
|
||
|
ContentLoadHelper.PopulateTypeFields(typeof(MiscPickups), contentPack.miscPickupDefs);
|
||
|
}, 0.05f);
|
||
|
while (loadHelper.coroutine.MoveNext())
|
||
|
{
|
||
|
args.ReportProgress(loadHelper.progress.value);
|
||
|
yield return loadHelper.coroutine.Current;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public IEnumerator GenerateContentPackAsync(GetContentPackAsyncArgs args)
|
||
|
{
|
||
|
ContentPack.Copy(contentPack, args.output);
|
||
|
yield break;
|
||
|
}
|
||
|
|
||
|
public IEnumerator FinalizeAsync(FinalizeAsyncArgs args)
|
||
|
{
|
||
|
yield break;
|
||
|
}
|
||
|
}
|