コード例 #1
0
ファイル: NPCTyping.cs プロジェクト: CrimsonTek/TerraTyping
        NPCTypeInfo GetTypeInfo()
        {
            NPCTypeInfo typeInfo = new NPCTypeInfo(Element.none, Element.none, Element.none);

            if (DictionaryHelper.NPC(NPC).ContainsKey(NPC.type))
            {
                typeInfo = DictionaryHelper.NPC(NPC)[NPC.type];
            }
            return(typeInfo);
        }
コード例 #2
0
ファイル: NPCTyping.cs プロジェクト: CrimsonTek/TerraTyping
        public override void SetDefaults(NPC npc)
        {
            base.SetDefaults(npc);
            this.NPC = npc;

            if (DictionaryHelper.NPC(npc).ContainsKey(npc.type))
            {
                NPCTypeInfo      typeInfo         = DictionaryHelper.NPC(npc)[npc.type];
                AbilityContainer abilityContainer = typeInfo.Container;
                float            chance           = ModContent.GetInstance <Config>().HiddenAbilityChancePercent;

                AbilityID ability = abilityContainer.PrimaryAbility;
                if (abilityContainer.SecondaryAbility != AbilityID.None)
                {
                    if (Main.rand.NextDouble() <= 0.5)
                    {
                        ability = abilityContainer.SecondaryAbility;
                    }
                }

                if (abilityContainer.HiddenAbility != AbilityID.None)
                {
                    if (Main.rand.NextDouble() <= (chance * 0.01))
                    {
                        ability = abilityContainer.HiddenAbility;
                    }
                }

                CurrentAbilityID = ability;

                //Main.NewText(
                //    $"NPC: {NPCID.GetUniqueKey(npc.type)}. " +
                //    $"Possible Abilities: {abilityContainer.PrimaryAbility}, {abilityContainer.SecondaryAbility}, ({abilityContainer.HiddenAbility}). " +
                //    $"Selected Ability: {AbilityID}. ");
            }
        }
コード例 #3
0
ファイル: NPCTyping.cs プロジェクト: CrimsonTek/TerraTyping
        DataTypes.ModifyTypeParameters GetTypeParameters()
        {
            NPCTypeInfo info = GetTypeInfo();

            return(new DataTypes.ModifyTypeParameters(info, NPC));
        }