Beispiel #1
0
        public static void AddRelics()
        {
            addedRelics = new List <string>();
            Assembly ass = SGAmod.Instance.Code;

            foreach (Type typeoff in ass.GetTypes())
            {
                //SGAmod.Instance.Logger.Debug("Checking assembly: "+ typeoff.Name);
                if (typeoff.GetInterfaces().Contains(typeof(ISGABoss)))
                {
                    //ISGABoss iboss = (ISGABoss)typeoff.GetInterface("ISGABoss");
                    ISGABoss iboss = (ass.CreateInstance(typeoff.FullName) as ISGABoss);

                    //SGAmod.Instance.Logger.Debug("--Found--");
                    string relicstr = iboss.RelicName();

                    if (relicstr == "NOU")
                    {
                        continue;
                    }

                    if (relicstr == "Caliburn")
                    {
                        AttemptAddRelic("Caliburn_A");
                        AttemptAddRelic("Caliburn_B");
                        AttemptAddRelic("Caliburn_C");
                        continue;
                    }

                    AttemptAddRelic(relicstr);
                }
            }
        }
Beispiel #2
0
        public static void AttemptDropRelic(ModNPC modnpc)
        {
            ISGABoss iboss    = modnpc as ISGABoss;
            string   itemtype = "Relic_Item_" + iboss.RelicName();

            if (itemtype == "Relic_Item_SpaceBoss")
            {
                itemtype = "Relic_Item_Phaethon";
            }

            if (itemtype == "Relic_Item_Caliburn")
            {
                itemtype = "Relic_Item_Caliburn_A";
                if (modnpc.npc.ai[2] == 1)
                {
                    itemtype = "Relic_Item_Caliburn_B";
                }
                if (modnpc.npc.ai[2] == 2)
                {
                    itemtype = "Relic_Item_Caliburn_C";
                }
            }

            Item.NewItem(modnpc.npc.position, modnpc.npc.Hitbox.Size(), SGAmod.Instance.ItemType(itemtype));
        }