-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPlugin.cs
95 lines (79 loc) · 3.22 KB
/
Plugin.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
using System;
using System.Collections.Generic;
using BepInEx;
using BepInEx.Logging;
using DiskCardGame;
using DiskCardGame.Zerg;
using HarmonyLib;
using InscryptionAPI.Card;
using ZergMod.Scripts;
using ZergMod.Scripts.Abilities;
using ZergMod.Scripts.Cards;
using ZergMod.Scripts.Encounters;
using ZergMod.Scripts.Items;
using ZergMod.Scripts.Masks;
using ZergMod.Scripts.SpecialAbilities;
using ZergMod.Scripts.Traits;
using ZergMod.Scripts.VariableStatBehaviours;
namespace ZergMod
{
[BepInPlugin(PluginGuid, PluginName, PluginVersion)]
[BepInDependency("jamesgames.inscryption.starcraftcore", BepInDependency.DependencyFlags.HardDependency)]
public class Plugin : BaseUnityPlugin
{
public const string PluginGuid = "jamesgames.inscryption.zergmod";
public const string PluginName = "Zerg Mod";
public const string PluginVersion = "3.0.0.0";
public const string DecalPath = "Artwork/watermark.png";
public static string Directory;
public static ManualLogSource Log;
private void Awake()
{
Log = Logger;
Logger.LogInfo($"Loading {PluginName}...");
Directory = this.Info.Location.Replace("ZergMod.dll", "");
new Harmony(PluginGuid).PatchAll();
ZergMod.Scripts.Bosses.BossUtils.Initialize();
// Traits
ZerglingTrait.Initialize();
// VariableStatBehaviours
ZerglingVariableStat.Initialize();
// Abilities
SpawnLarvaAbility.Initialize(typeof(SpawnLarvaAbility));
SpawnLocustAbility.Initialize(typeof(SpawnLocustAbility));
StrafeCreepTumorAbility.Initialize(typeof(StrafeCreepTumorAbility));
SummonZergAbility.Initialize(typeof(SummonZergAbility));
SwarmSeedsAbility.Initialize(typeof(SwarmSeedsAbility));
DevourAbility.Initialize(typeof(DevourAbility));
// Special Abilities
BrendaSpecialAbility.Initialize(typeof(BrendaSpecialAbility));
BroodLordSpecialAbility.Initialize(typeof(BroodLordSpecialAbility));
DehakaSpecialAbility.Initialize(typeof(DehakaSpecialAbility));
LarvaSpecialAbility.Initialize(typeof(LarvaSpecialAbility));
PrimalSpecialAbility.Initialize(typeof(PrimalSpecialAbility));
ZerglingSpecialAbility.Initialize(typeof(ZerglingSpecialAbility));
// Cards
XelNagaArtifact.Initialize();
// Masks
AbatharMask.Initialize();
Logger.LogInfo($"Loaded {PluginName}!");
}
private void Start()
{
// Wait for JSONLoader to load Zerg related cards
// Items
BiomassInABottle.Initialize();
BiomassAttackerInABottle.Initialize();
// Encounters
AirEncounter.Initialize();
DroneEncounter.Initialize();
SwarmHostEncounter.Initialize();
UltraliskEncounter.Initialize();
ZerglingEncounter.Initialize();
// Opponents
AbathurOpponent.Initialize();
// Sequences
EvolveSequencer.Initialize();
}
}
}