コード例 #1
0
ファイル: Quirk.cs プロジェクト: ahenrique23/GameEstudo
    public string ToolTip()
    {
        StringBuilder sb = ToolTipManager.TipBody;

        if (ShowExplicitDescription)
        {
            sb.AppendFormat("<color={0}>", DarkestDungeonManager.Data.HexColors["equipment_tooltip_body"]);
            string buffTooltip = "";
            for (int i = 0; i < Buffs.Count; i++)
            {
                string newBuffTip = Buffs[i].ToolTip;

                if (newBuffTip.Length > 0)
                {
                    if (buffTooltip.Length > 0)
                    {
                        buffTooltip += ToolTipManager.GetConcat("\n", newBuffTip);
                    }
                    else
                    {
                        buffTooltip += newBuffTip;
                    }
                }
            }
            sb.Append(buffTooltip);
            sb.Append("</color>");
        }
        else
        {
            sb.AppendFormat("<color={0}>", DarkestDungeonManager.Data.HexColors["equipment_tooltip_body"]);
            sb.Append(LocalizationManager.GetString(ToolTipManager.GetConcat("str_quirk_description_", Id)));
            sb.Append("</color>");
        }
        return(sb.ToString());
    }
コード例 #2
0
    public void SortByName()
    {
        DarkestSoundManager.PlayOneShot("event:/ui/town/sort_by");

        RealmInventory.Trinkets.Sort((x, y) =>
                                     LocalizationManager.GetString(ToolTipManager.GetConcat("str_inventory_title_trinket", x.Id)).
                                     CompareTo(LocalizationManager.GetString(ToolTipManager.GetConcat("str_inventory_title_trinket", y.Id))));

        int trinketCount   = RealmInventory.Trinkets.Count;
        int trinketsLoaded = Mathf.Min(trinketCount, InventorySlots.Count);

        for (int i = 0; i < trinketsLoaded; i++)
        {
            InventorySlots[i].CreateItem(RealmInventory.Trinkets[i]);
        }

        for (int i = trinketsLoaded; i < InventorySlots.Count; i++)
        {
            InventorySlots[i].DeleteItem();
        }
    }
コード例 #3
0
    public string Tooltip()
    {
        StringBuilder sb = ToolTipManager.TipBody;

        sb.AppendFormat("<color={0}>", DarkestDungeonManager.Data.HexColors["notable"]);
        sb.Append(LocalizationManager.GetString(ToolTipManager.GetConcat("camping_skill_name_", Id)));
        sb.AppendFormat("\n" + LocalizationManager.GetString("camping_skill_cost"), TimeCost);
        sb.AppendFormat("</color><color={0}>", DarkestDungeonManager.Data.HexColors["neutral"]);


        for (int i = 0; i < Effects.Count; i++)
        {
            if (i > 0)
            {
                if (Effects[i - 1].Selection != Effects[i].Selection)
                {
                    sb.Append("\n" + LocalizationManager.GetString(
                                  CampingSkillHelper.CampTargetTypeToStringId(Effects[i].Selection)));
                }
            }
            else
            {
                sb.Append("\n" + LocalizationManager.GetString(
                              CampingSkillHelper.CampTargetTypeToStringId(Effects[i].Selection)));
            }

            string effectString = "";

            switch (Effects[i].Type)
            {
            case CampEffectType.Buff:
                effectString = DarkestDungeonManager.Data.Buffs[Effects[i].Subtype].TooltipOverrided(Effects[i].Amount);
                break;

            case CampEffectType.HealthDamageMaxHealthPercent:
                effectString = string.Format(LocalizationManager.GetString(
                                                 "camping_skill_effect_health_damage_max_health_percent"), Effects[i].Amount);
                break;

            case CampEffectType.HealthHealMaxHealthPercent:
                effectString = string.Format(LocalizationManager.GetString(
                                                 "camping_skill_effect_health_heal_max_health_percent"), Effects[i].Amount);
                break;

            case CampEffectType.Loot:
                effectString = LocalizationManager.GetString("camping_skill_effect_loot_" + Effects[i].Subtype);
                break;

            case CampEffectType.ReduceAmbushChance:
                effectString = LocalizationManager.GetString("camping_skill_effect_reduce_ambush_chance");
                break;

            case CampEffectType.ReduceTorch:
                effectString = string.Format(LocalizationManager.GetString(
                                                 "camping_skill_effect_reduce_torch"), Effects[i].Amount);
                break;

            case CampEffectType.RemoveBleed:
                effectString = LocalizationManager.GetString("camping_skill_effect_remove_bleeding");
                break;

            case CampEffectType.RemoveDeathRecovery:
                effectString = LocalizationManager.GetString("camping_skill_effect_remove_deaths_door_recovery_buffs");
                break;

            case CampEffectType.RemoveDisease:
                effectString = LocalizationManager.GetString("camping_skill_effect_remove_disease");
                break;

            case CampEffectType.RemovePoison:
                effectString = LocalizationManager.GetString("camping_skill_effect_remove_poison");
                break;

            case CampEffectType.StressDamageAmount:
                effectString = string.Format(LocalizationManager.GetString(
                                                 "camping_skill_effect_stress_damage_amount"), Effects[i].Amount);
                break;

            case CampEffectType.StressHealAmount:
                effectString = string.Format(LocalizationManager.GetString(
                                                 "camping_skill_effect_stress_heal_amount"), Effects[i].Amount);
                break;
            }

            if (Effects[i].Chance != 1)
            {
                string formatChance = LocalizationManager.GetString("camping_skill_chance_effect_format");
                effectString = string.Format(formatChance, Effects[i].Chance * 100, effectString);
            }

            switch (Effects[i].Requirement)
            {
            case CampEffectRequirement.Afflicted:
            case CampEffectRequirement.DeathRecovery:
            case CampEffectRequirement.Nonreligious:
            case CampEffectRequirement.Religious:
                if (effectString.Length > 0)
                {
                    string reqFormat = LocalizationManager.GetString("camping_skill_requirement_effect_format");
                    sb.AppendFormat("\n" + reqFormat, LocalizationManager.GetString(
                                        CampingSkillHelper.CampRequirementToStringId(Effects[i].Requirement)), effectString);
                }
                break;

            case CampEffectRequirement.None:
                if (effectString.Length > 0)
                {
                    sb.Append("\n" + effectString);
                }
                break;
            }
        }

        sb.AppendFormat("</color>");
        return(sb.ToString());
    }
コード例 #4
0
    private string GenerateDescription()
    {
        StringBuilder sb = ToolTipManager.TipBody;

        switch (ActivityType)
        {
        case ActivityType.LevelUp:
            #region Lvl up
            if (Variables.Count < 1)
            {
                return("Not enough record variables.");
            }

            sb.AppendFormat(LocalizationManager.GetString("str_is_now_a"),
                            DarkestDungeonManager.Data.HexColors["notable"], Actor,
                            LocalizationManager.GetString("hero_class_name_" + HeroClass),
                            LocalizationManager.GetString("str_resolve_" + Variables[0]), Variables[0]);
            #endregion
            break;

        case ActivityType.StillMissing:
            #region Still missing
            if (Variables.Count < 1)
            {
                return("Not enough record variables.");
            }

            sb.AppendFormat(LocalizationManager.GetString("str_is_now_a"),
                            DarkestDungeonManager.Data.HexColors["notable"], Actor,
                            LocalizationManager.GetString("town_name_" + Variables[0]));
            #endregion
            break;

        case ActivityType.RemoveQuirk:
            #region Remove quirk
            if (Variables.Count < 1)
            {
                return("Not enough record variables.");
            }

            sb.AppendFormat(LocalizationManager.GetString("str_treatment_remove_negative_quirk"),
                            DarkestDungeonManager.Data.HexColors["notable"], Actor,
                            LocalizationManager.GetString("town_name_sanitarium"),
                            LocalizationManager.GetString("str_quirk_name_" + Variables[0]));
            #endregion
            break;

        case ActivityType.RemoveDisease:
            #region Remove disease
            if (Variables.Count < 1)
            {
                return("Not enough record variables.");
            }

            sb.AppendFormat(LocalizationManager.GetString("str_disease_treatment_remove_negative_quirk"),
                            DarkestDungeonManager.Data.HexColors["notable"], Actor,
                            LocalizationManager.GetString("town_name_sanitarium"),
                            LocalizationManager.GetString("str_quirk_name_" + Variables[0]));
            #endregion
            break;

        case ActivityType.RemoveAllDiseases:
            #region Remove all diseases
            if (Variables.Count < 1)
            {
                return("Not enough record variables.");
            }

            string diseasesString = "";
            for (int i = 0; i < Variables.Count; i++)
            {
                if (i == 0)
                {
                    diseasesString += LocalizationManager.GetString("str_quirk_name_" + Variables[i]);
                }
                else
                {
                    diseasesString += ", " + LocalizationManager.GetString("str_quirk_name_" + Variables[i]);
                }
            }

            sb.AppendFormat(LocalizationManager.GetString("str_disease_treatment_removed_diseases_crit_story"),
                            DarkestDungeonManager.Data.HexColors["notable"], Actor,
                            LocalizationManager.GetString("town_name_sanitarium"),
                            diseasesString);
            #endregion
            break;

        case ActivityType.LockQuirk:
            #region Lock quirk
            if (Variables.Count < 1)
            {
                return("Not enough record variables.");
            }

            sb.AppendFormat(LocalizationManager.GetString("str_lock_quirk_story"),
                            DarkestDungeonManager.Data.HexColors["notable"], Actor,
                            LocalizationManager.GetString("town_name_sanitarium"),
                            LocalizationManager.GetString("str_quirk_name_" + Variables[0]));
            #endregion
            break;

        case ActivityType.LockRemoveQuirk:
            #region Lock and remove quirk
            if (Variables.Count < 2)
            {
                return("Not enough record variables.");
            }

            sb.AppendFormat(LocalizationManager.GetString("str_treatment_remove_negative_quirk"),
                            DarkestDungeonManager.Data.HexColors["notable"], Actor,
                            LocalizationManager.GetString("town_name_sanitarium"),
                            LocalizationManager.GetString("str_quirk_name_" + Variables[0]));

            sb.AppendFormat("\n" + LocalizationManager.GetString("str_lock_quirk_story"),
                            DarkestDungeonManager.Data.HexColors["notable"], Actor,
                            LocalizationManager.GetString("town_name_sanitarium"),
                            LocalizationManager.GetString("str_quirk_name_" + Variables[1]));
            #endregion
            break;

        case ActivityType.BarStressHeal:
            if (ActivityEffectType != ActivityEffectType.Found)
            {
                #region Bar stress heal
                if (Variables.Count < 1)
                {
                    return("Not enough record variables.");
                }

                sb.AppendFormat(LocalizationManager.GetString("str_bar_stress_relief_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"), Variables[0]);
                #endregion
            }
            #region Bar side effect
            switch (ActivityEffectType)
            {
            case ActivityEffectType.Missing:
                #region Missing
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_bar_go_missing_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"));
                break;

                #endregion
            case ActivityEffectType.Found:
                #region Found
                sb.AppendFormat(LocalizationManager.GetString("str_bar_go_missing_found_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"));
                break;

                #endregion
            case ActivityEffectType.Lock:
                #region Lock
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_bar_activity_lock_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"));
                break;

                #endregion
            case ActivityEffectType.AddQuirk:
                #region Add Quirk
                switch (EffectInfo)
                {
                case "alcoholism":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_bar_add_quirk_alcoholism_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "resolution":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_bar_add_quirk_resolution_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                default:
                    sb.Append("Surprising quirk: " + EffectInfo);
                    break;
                }
                break;

                #endregion
            case ActivityEffectType.AddBuff:
                #region Add Buff
                switch (EffectInfo)
                {
                case "townHungoverAccDebuff":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_bar_add_buff_townHungoverAccDebuff_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString("str_bar_add_buff_townHungoverAccDebuff_story_desc"));
                    break;

                case "townHungoverDEFDebuff":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_bar_add_buff_townHungoverDEFDebuff_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString("str_bar_add_buff_townHungoverDEFDebuff_story_desc"));
                    break;

                default:
                    sb.Append("Surprising quirk: " + EffectInfo);
                    break;
                }
                break;

                #endregion
            case ActivityEffectType.RemoveTrinket:
                #region Remove Trinket
                Trinket trinket = (Trinket)DarkestDungeonManager.Data.Items["trinket"][EffectInfo];

                sb.AppendFormat("\n" + LocalizationManager.GetString("str_bar_remove_trinket_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"),
                                DarkestDungeonManager.Data.HexColors[trinket.RarityId],
                                LocalizationManager.GetString(ToolTipManager.GetConcat("str_inventory_title_trinket", EffectInfo)));
                break;

                #endregion
            case ActivityEffectType.AddTrinket:
                #region Add Trinket
                sb.Append("\n Not expected to get trinket here.");
                break;

                #endregion
            case ActivityEffectType.CurrencyLost:
                #region Currency Lost
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_bar_currency_lost_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"),
                                DarkestDungeonManager.Data.HexColors["harmful"],
                                EffectInfo);
                break;

                #endregion
            case ActivityEffectType.CurrencyGained:
                #region Currency Gained
                sb.Append("\n Not expected to gain gold here.");
                break;

                #endregion
            case ActivityEffectType.Nothing:
                break;
            }
            #endregion
            break;

        case ActivityType.GambleStressHeal:
            if (ActivityEffectType != ActivityEffectType.Found)
            {
                #region Gamble stress heal
                if (Variables.Count < 1)
                {
                    return("Not enough record variables.");
                }

                sb.AppendFormat(LocalizationManager.GetString("str_gambling_stress_relief_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"), Variables[0]);
                #endregion
            }
            #region Gamble side effect
            switch (ActivityEffectType)
            {
            case ActivityEffectType.Missing:
                #region Missing
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_gambling_go_missing_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"));
                break;

                #endregion
            case ActivityEffectType.Found:
                #region Found
                sb.AppendFormat(LocalizationManager.GetString("str_gambling_go_missing_found_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"));
                break;

                #endregion
            case ActivityEffectType.Lock:
                #region Lock
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_gambling_activity_lock_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"));
                break;

                #endregion
            case ActivityEffectType.AddQuirk:
                #region Add Quirk
                switch (EffectInfo)
                {
                case "gambler":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_gambling_add_quirk_gambler_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "bad_gambler":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_gambling_add_quirk_bad_gambler_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "known_cheat":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_gambling_add_quirk_known_cheat_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                default:
                    sb.Append("Surprising quirk: " + EffectInfo);
                    break;
                }
                break;

                #endregion
            case ActivityEffectType.AddBuff:
                #region Add Buff
                sb.Append("\n Not expected to get buffed here.");
                break;

                #endregion
            case ActivityEffectType.RemoveTrinket:
                #region Remove Trinket
                Trinket trinket = (Trinket)DarkestDungeonManager.Data.Items["trinket"][EffectInfo];

                sb.AppendFormat("\n" + LocalizationManager.GetString("str_gambling_remove_trinket_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"),
                                DarkestDungeonManager.Data.HexColors[trinket.RarityId],
                                LocalizationManager.GetString(ToolTipManager.GetConcat("str_inventory_title_trinket", EffectInfo)));
                break;

                #endregion
            case ActivityEffectType.AddTrinket:
                #region Add Trinket
                Trinket addTrinket = (Trinket)DarkestDungeonManager.Data.Items["trinket"][EffectInfo];

                sb.AppendFormat("\n" + LocalizationManager.GetString("str_gambling_add_trinket_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"),
                                DarkestDungeonManager.Data.HexColors[addTrinket.RarityId],
                                LocalizationManager.GetString(ToolTipManager.GetConcat("str_inventory_title_trinket", EffectInfo)));
                break;

                #endregion
            case ActivityEffectType.CurrencyLost:
                #region Currency Lost
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_gambling_currency_lost_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"),
                                DarkestDungeonManager.Data.HexColors["harmful"],
                                EffectInfo);
                break;

                #endregion
            case ActivityEffectType.CurrencyGained:
                #region Currency Gained
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_gambling_currency_gained_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"),
                                DarkestDungeonManager.Data.HexColors["notable"],
                                EffectInfo);
                break;

                #endregion
            case ActivityEffectType.Nothing:
                break;
            }
            #endregion
            break;

        case ActivityType.BrothelStressHeal:
            if (ActivityEffectType != ActivityEffectType.Found)
            {
                #region Brothel stress heal
                if (Variables.Count < 1)
                {
                    return("Not enough record variables.");
                }

                sb.AppendFormat(LocalizationManager.GetString("str_brothel_stress_relief_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"), Variables[0]);
                #endregion
            }
            #region Brothel side effect
            switch (ActivityEffectType)
            {
            case ActivityEffectType.Missing:
                #region Missing
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_brothel_go_missing_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"));
                break;

                #endregion
            case ActivityEffectType.Found:
                #region Found
                sb.AppendFormat(LocalizationManager.GetString("str_brothel_go_missing_found_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"));
                break;

                #endregion
            case ActivityEffectType.Lock:
                #region Lock
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_brothel_activity_lock_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_tavern"));
                break;

                #endregion
            case ActivityEffectType.AddQuirk:
                #region Add Quirk
                switch (EffectInfo)
                {
                case "love_interest":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_brothel_add_quirk_love_interest_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "syphilis":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_brothel_add_quirk_syphilis_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "deviant_tastes":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_brothel_add_quirk_deviant_tastes_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                default:
                    sb.Append("Surprising quirk: " + EffectInfo);
                    break;
                }
                break;

                #endregion
            case ActivityEffectType.AddBuff:
                #region Add Buff
                switch (EffectInfo)
                {
                case "townBrothelSPDBuff":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_brothel_add_buff_townBrothelSPDBuff_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString("str_brothel_add_buff_townBrothelSPDBuff_story_desc"));
                    break;

                case "townBrothelSPDDebuff":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_brothel_add_buff_townBrothelSPDDebuff_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_tavern"),
                                    LocalizationManager.GetString("str_brothel_add_buff_townBrothelSPDDebuff_story_desc"));
                    break;

                default:
                    sb.Append("Surprising buff: " + EffectInfo);
                    break;
                }
                break;

                #endregion
            case ActivityEffectType.RemoveTrinket:
                #region Remove Trinket
                sb.Append("\n Not expected to lose trinket here.");
                break;

                #endregion
            case ActivityEffectType.AddTrinket:
                #region Add Trinket
                sb.Append("\n Not expected to get trinket here.");
                break;

                #endregion
            case ActivityEffectType.CurrencyLost:
                #region Currency Lost
                sb.Append("\n Not expected to lose gold here.");
                break;

                #endregion
            case ActivityEffectType.CurrencyGained:
                #region Currency Gained
                sb.Append("\n Not expected to gain gold here.");
                break;

                #endregion
            case ActivityEffectType.Nothing:
                break;
            }
            #endregion
            break;

        case ActivityType.MeditationStressHeal:
            if (ActivityEffectType != ActivityEffectType.Found)
            {
                #region Meditation stress heal
                if (Variables.Count < 1)
                {
                    return("Not enough record variables.");
                }

                sb.AppendFormat(LocalizationManager.GetString("str_meditation_stress_relief_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"), Variables[0]);
                #endregion
            }
            #region Meditation side effect
            switch (ActivityEffectType)
            {
            case ActivityEffectType.Missing:
                #region Missing
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_meditation_go_missing_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"));
                break;

                #endregion
            case ActivityEffectType.Found:
                #region Found
                sb.AppendFormat(LocalizationManager.GetString("str_meditation_go_missing_found_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"));
                break;

                #endregion
            case ActivityEffectType.Lock:
                #region Lock
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_meditation_activity_lock_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"));
                break;

                #endregion
            case ActivityEffectType.AddQuirk:
                #region Add Quirk
                switch (EffectInfo)
                {
                case "enlightened":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_meditation_add_quirk_enlightened_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "improved_balance":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_meditation_add_quirk_improved_balance_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "meditator":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_meditation_add_quirk_meditator_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "calm":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_meditation_add_quirk_calm_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "unquiet_mind":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_meditation_add_quirk_unquiet_mind_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                default:
                    sb.Append("Surprising quirk: " + EffectInfo);
                    break;
                }
                break;

                #endregion
            case ActivityEffectType.AddBuff:
                #region Add Buff
                sb.Append("\n Not expected to get buffed here.");
                break;

                #endregion
            case ActivityEffectType.RemoveTrinket:
                #region Remove Trinket
                sb.Append("\n Not expected to lose trinket here.");
                break;

                #endregion
            case ActivityEffectType.AddTrinket:
                #region Add Trinket
                sb.Append("\n Not expected to get trinket here.");
                break;

                #endregion
            case ActivityEffectType.CurrencyLost:
                #region Currency Lost
                sb.Append("\n Not expected to lose gold here.");
                break;

                #endregion
            case ActivityEffectType.CurrencyGained:
                #region Currency Gained
                sb.Append("\n Not expected to gain gold here.");
                break;

                #endregion
            case ActivityEffectType.Nothing:
                break;
            }
            #endregion
            break;

        case ActivityType.PrayerStressHeal:
            if (ActivityEffectType != ActivityEffectType.Found)
            {
                #region Prayer stress heal
                if (Variables.Count < 1)
                {
                    return("Not enough record variables.");
                }

                sb.AppendFormat(LocalizationManager.GetString("str_prayer_stress_relief_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"), Variables[0]);
                #endregion
            }
            #region Prayer side effect
            switch (ActivityEffectType)
            {
            case ActivityEffectType.Missing:
                #region Missing
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_prayer_go_missing_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"));
                break;

                #endregion
            case ActivityEffectType.Found:
                #region Found
                sb.AppendFormat(LocalizationManager.GetString("str_prayer_go_missing_found_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"));
                break;

                #endregion
            case ActivityEffectType.Lock:
                #region Lock
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_prayer_activity_lock_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"));
                break;

                #endregion
            case ActivityEffectType.AddQuirk:
                #region Add Quirk
                switch (EffectInfo)
                {
                case "god_fearing":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_prayer_add_quirk_god_fearing_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "witness":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_prayer_add_quirk_witness_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                default:
                    sb.Append("Surprising quirk: " + EffectInfo);
                    break;
                }
                break;

                #endregion
            case ActivityEffectType.AddBuff:
                #region Add Buff
                sb.Append("\n Not expected to get buffed here.");
                break;

                #endregion
            case ActivityEffectType.RemoveTrinket:
                #region Remove Trinket
                sb.Append("\n Not expected to lose trinket here.");
                break;

                #endregion
            case ActivityEffectType.AddTrinket:
                #region Add Trinket
                sb.Append("\n Not expected to get trinket here.");
                break;

                #endregion
            case ActivityEffectType.CurrencyLost:
                #region Currency Lost
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_prayer_currency_lost_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"),
                                DarkestDungeonManager.Data.HexColors["harmful"],
                                EffectInfo);
                break;

                #endregion
            case ActivityEffectType.CurrencyGained:
                #region Currency Gained
                sb.Append("\n Not expected to gain gold here.");
                break;

                #endregion
            case ActivityEffectType.Nothing:
                break;
            }
            #endregion
            break;

        case ActivityType.FlagellationStressHeal:
            if (ActivityEffectType != ActivityEffectType.Found)
            {
                #region Flagellation stress heal
                if (Variables.Count < 1)
                {
                    return("Not enough record variables.");
                }

                sb.AppendFormat(LocalizationManager.GetString("str_flagellation_stress_relief_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"), Variables[0]);
                #endregion
            }
            #region Flagellation side effect
            switch (ActivityEffectType)
            {
            case ActivityEffectType.Missing:
                #region Missing
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_flagellation_go_missing_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"));
                break;

                #endregion
            case ActivityEffectType.Found:
                #region Found
                sb.AppendFormat(LocalizationManager.GetString("str_flagellation_go_missing_found_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"));
                break;

                #endregion
            case ActivityEffectType.Lock:
                #region Lock
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_flagellation_activity_lock_story"),
                                DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                LocalizationManager.GetString("town_name_abbey"));
                break;

                #endregion
            case ActivityEffectType.AddQuirk:
                #region Add Quirk
                switch (EffectInfo)
                {
                case "flagellant":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_flagellation_add_quirk_flagellant_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                case "faithless":
                    sb.AppendFormat("\n" + LocalizationManager.GetString("str_flagellation_add_quirk_faithless_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString(EffectInfo));
                    break;

                default:
                    sb.Append("Surprising quirk: " + EffectInfo);
                    break;
                }
                break;

                #endregion
            case ActivityEffectType.AddBuff:
                #region Add Buff
                switch (EffectInfo)
                {
                case "townFlagellationDMGLowBuff":
                    sb.AppendFormat("\n" +
                                    LocalizationManager.GetString("str_flagellation_add_buff_townFlagellationDMGLowBuff_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString("str_flagellation_add_buff_townFlagellationDMGLowBuff_story_desc"));
                    break;

                case "townFlagellationDMGLowDebuff":
                    sb.AppendFormat("\n" +
                                    LocalizationManager.GetString("str_flagellation_add_buff_townFlagellationDMGLowDebuff_story"),
                                    DarkestDungeonManager.Data.HexColors["notable"], Actor,
                                    LocalizationManager.GetString("town_name_abbey"),
                                    LocalizationManager.GetString("str_flagellation_add_buff_townFlagellationDMGLowDebuff_story_desc"));
                    break;

                default:
                    sb.Append("Surprising buff: " + EffectInfo);
                    break;
                }
                break;

                #endregion
            case ActivityEffectType.RemoveTrinket:
                #region Remove Trinket
                sb.Append("\n Not expected to lose trinket here.");
                break;

                #endregion
            case ActivityEffectType.AddTrinket:
                #region Add Trinket
                sb.Append("\n Not expected to get trinket here.");
                break;

                #endregion
            case ActivityEffectType.CurrencyLost:
                #region Currency Lost
                sb.Append("\n Not expected to lose gold here.");
                break;

                #endregion
            case ActivityEffectType.CurrencyGained:
                #region Currency Gained
                sb.Append("\n Not expected to gain gold here.");
                break;

                #endregion
            case ActivityEffectType.Nothing:
                break;
            }
            #endregion
            break;
        }
        cachedDescription = sb.ToString();
        return(cachedDescription);
    }
コード例 #5
0
    public string HeroSkillTooltip(Hero hero)
    {
        StringBuilder sb = ToolTipManager.TipBody;
        sb.AppendFormat("<color={0}>", DarkestDungeonManager.Data.HexColors["notable"]);
        sb.Append(LocalizationManager.GetString(ToolTipManager.GetConcat("combat_skill_name_", hero.HeroClass.StringId, "_", Id)));
        sb.AppendFormat("</color><color={0}>", DarkestDungeonManager.Data.HexColors["neutral"]);
        
        
        if(TargetRanks.IsRandomTarget)
        {
            sb.Append("\n" + LocalizationManager.GetString("skill_random_target"));
        }

        if(Type != null)
        {
            sb.Append("\n" + LocalizationManager.GetString("str_" + Type));
        }




        if (Heal != null)
        {
            if(TargetRanks.IsSelfFormation && TargetRanks.IsMultitarget)
                sb.AppendFormat("\n" + LocalizationManager.GetString("skill_party_heal_format"), Heal.MinAmount, Heal.MaxAmount);
            else
                sb.AppendFormat("\n" + LocalizationManager.GetString("skill_heal_format"), Heal.MinAmount, Heal.MaxAmount);
        }

        if (Move != null)
        {
            if(Move.Pullforward != 0)
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_skill_tooltip_forward"), Move.Pullforward);
            else if (Move.Pushback != 0)
                sb.AppendFormat("\n" + LocalizationManager.GetString("str_skill_tooltip_back"), Move.Pushback);
        }

        if (Accuracy != 0)
        {
            sb.AppendFormat("\n" + LocalizationManager.GetString("str_skill_tooltip_acc_base"), Accuracy * 100);
        }

        if (DamageMod != 0)
        {
            sb.AppendFormat("\n" + LocalizationManager.GetString("str_skill_tooltip_dmg_mod"), DamageMod * 100);
        }

        if (CritMod != 0)
        {
            sb.AppendFormat("\n" + LocalizationManager.GetString("str_skill_tooltip_crit_mod"), CritMod * 100);
        }

        bool hasTargetLabel = false;
        bool hasSelfLabel = false;
        bool hasPartyLabel = false;
        bool hasPartyOtherLabel = false;

        if(ValidModes.Count > 1)
        {
            foreach (var modeName in ValidModes)
            {
                hasTargetLabel = false;
                hasSelfLabel = false;
                hasPartyLabel = false;
                hasPartyOtherLabel = false;

                if (!ModeEffects.ContainsKey(modeName))
                    continue;

                sb.Append("\n" + LocalizationManager.GetString("str_skill_mode_info_" + modeName));

                #region Effects
                foreach (var effect in ModeEffects[modeName])
                {
                    switch (effect.TargetType)
                    {
                        case EffectTargetType.Target:
                            if (TargetRanks.IsSelfFormation && TargetRanks.IsMultitarget && TargetRanks.Ranks.Count == 4)
                            {
                                if (hasPartyLabel)
                                    break;
                                sb.Append("\n" + LocalizationManager.GetString("effect_tooltip_party"));
                                hasPartyLabel = true;
                            }
                            else if (TargetRanks.IsSelfTarget)
                            {
                                if (hasSelfLabel)
                                    break;
                                sb.Append("\n" + LocalizationManager.GetString("effect_tooltip_self"));
                                hasSelfLabel = true;
                            }
                            else
                            {
                                if (hasTargetLabel)
                                    break;
                                sb.Append("\n" + LocalizationManager.GetString("effect_tooltip_target"));
                                hasTargetLabel = true;
                            }
                            break;
                        case EffectTargetType.Performer:
                            if (hasSelfLabel)
                                break;
                            sb.Append("\n" + LocalizationManager.GetString("effect_tooltip_self"));
                            hasSelfLabel = true;
                            break;
                        case EffectTargetType.PerformersOther:
                            if (hasPartyOtherLabel)
                                break;
                            sb.Append("\n" + LocalizationManager.GetString("effect_tooltip_party_other"));
                            hasPartyOtherLabel = true;
                            break;
                        default:
                            break;
                    }
                    string effectTooltip = effect.Tooltip();
                    if (effectTooltip.Length > 0)
                        sb.Append("\n" + effectTooltip);
                }
                #endregion
            }
        }

        #region Effects
        foreach (var effect in Effects)
        {
            switch(effect.TargetType)
            {
                case EffectTargetType.Target:
                    if (TargetRanks.IsSelfFormation && TargetRanks.IsMultitarget && TargetRanks.Ranks.Count == 4)
                    {
                        if (hasPartyLabel)
                            break;
                        sb.Append("\n" + LocalizationManager.GetString("effect_tooltip_party"));
                        hasPartyLabel = true;
                    }
                    else if (TargetRanks.IsSelfTarget)
                    {
                        if (hasSelfLabel)
                            break;
                        sb.Append("\n" + LocalizationManager.GetString("effect_tooltip_self"));
                        hasSelfLabel = true;
                    }
                    else
                    {
                        if (hasTargetLabel)
                            break;
                        sb.Append("\n" + LocalizationManager.GetString("effect_tooltip_target"));
                        hasTargetLabel = true;
                    }
                    break;
                case EffectTargetType.Performer:
                    if (hasSelfLabel)
                        break;
                    sb.Append("\n" + LocalizationManager.GetString("effect_tooltip_self"));
                    hasSelfLabel = true;
                    break;
                case EffectTargetType.PerformersOther:
                    if (hasPartyOtherLabel)
                        break;
                    sb.Append("\n" + LocalizationManager.GetString("effect_tooltip_party_other"));
                    hasPartyOtherLabel = true;
                    break;
                default:
                    break;
            }
            string effectTooltip = effect.Tooltip();
            if(effectTooltip.Length > 0)
                sb.Append("\n" + effectTooltip);
        }
        #endregion

        sb.Append("</color>");
        return sb.ToString();
    }
コード例 #6
0
ファイル: Buff.cs プロジェクト: ahenrique23/GameEstudo
    public string TooltipOverrided(float amount)
    {
        if (AttributeType == AttributeType.DamageLow || amount == 0)
        {
            return("");
        }

        var sb = ToolTipManager.SubTipBody;
        var attributeCategory = CharacterHelper.GetAttributeCategory(AttributeType);

        switch (attributeCategory)
        {
        case AttributeCategory.Modifier:
            sb.AppendFormat(LocalizationManager.GetString(
                                ToolTipManager.GetConcat("buff_stat_tooltip_" +
                                                         CharacterHelper.AttributeTypeToString(AttributeType))), amount);
            break;

        case AttributeCategory.CombatStat:
            sb.AppendFormat(LocalizationManager.GetString(
                                ToolTipManager.GetConcat("buff_stat_tooltip_",
                                                         CharacterHelper.BuffTypeToString(Type), "_",
                                                         CharacterHelper.AttributeTypeToString(AttributeType))), amount);
            break;

        default:
            sb.AppendFormat(LocalizationManager.GetString(
                                ToolTipManager.GetConcat("buff_stat_tooltip_",
                                                         CharacterHelper.AttributeCategoryToString(attributeCategory), "_",
                                                         CharacterHelper.AttributeTypeToString(AttributeType))), amount);
            break;
        }

        string body = sb.ToString();

        sb = ToolTipManager.SubTipBody;

        switch (RuleType)
        {
        case BuffRule.EnemyType:
            sb.AppendFormat(LocalizationManager.GetString(
                                CharacterLocalizationHelper.BuffRuleTooltipString(RuleType, IsFalseRule)),
                            LocalizationManager.GetString("buff_rule_data_tooltip_" + StringParam), body);
            break;

        case BuffRule.InRank:
            sb.AppendFormat(LocalizationManager.GetString(
                                CharacterLocalizationHelper.BuffRuleTooltipString(RuleType, IsFalseRule)), SingleParam + 1, body);
            break;

        case BuffRule.Size:
            sb.AppendFormat(LocalizationManager.GetString(
                                CharacterLocalizationHelper.BuffRuleTooltipString(RuleType, IsFalseRule)), SingleParam + 1, body);
            break;

        case BuffRule.Skill:
            sb.AppendFormat(LocalizationManager.GetString(
                                CharacterLocalizationHelper.BuffRuleTooltipString(RuleType, IsFalseRule)),
                            LocalizationManager.GetString("buff_rule_data_tooltip_" + StringParam), body);
            break;

        case BuffRule.Status:
            sb.AppendFormat(LocalizationManager.GetString(
                                CharacterLocalizationHelper.BuffRuleTooltipString(RuleType, IsFalseRule)),
                            LocalizationManager.GetString("buff_rule_data_tooltip_" + StringParam), body);
            break;

        case BuffRule.LightBelow:
        case BuffRule.LightAbove:
        case BuffRule.HpBelow:
        case BuffRule.HpAbove:
        case BuffRule.StressAbove:
        case BuffRule.StressBelow:
            sb.AppendFormat(LocalizationManager.GetString(
                                CharacterLocalizationHelper.BuffRuleTooltipString(RuleType, IsFalseRule)), SingleParam, body);
            break;

        default:
            sb.AppendFormat(LocalizationManager.GetString(
                                CharacterLocalizationHelper.BuffRuleTooltipString(RuleType, IsFalseRule)), StringParam, body);
            break;
        }

        return(sb.ToString());
    }
コード例 #7
0
ファイル: Trinket.cs プロジェクト: ahenrique23/GameEstudo
    public override string ToolTip(bool discard = false)
    {
        StringBuilder sb = ToolTipManager.TipBody;

        sb.AppendFormat("<color={0}>", DarkestDungeonManager.Data.HexColors["equipment_tooltip_title"]);
        if (RarityId == "kickstarter")
        {
            sb.Append(LocalizationManager.GetString(ToolTipManager.GetConcat("str_inventory_title_trinket", Id)));
        }
        else
        {
            sb.Append(LocalizationManager.GetString(ToolTipManager.GetConcat("str_inventory_title_trinket", Id)));
        }
        sb.AppendFormat("</color>\n<color={0}>", DarkestDungeonManager.Data.HexColors[RarityId]);
        sb.Append(LocalizationManager.GetString(ToolTipManager.GetConcat("trinket_rarity_", RarityId)));
        sb.Append("</color>");
        #region Requirements
        if (ClassRequirements.Count > 0)
        {
            sb.AppendLine();
            string trinketRequirementFormat = LocalizationManager.GetString("trinket_hero_class_requirement_format");
            string requiredHeroes           = "";

            for (int i = 0; i < ClassRequirements.Count; i++)
            {
                if (i == 0)
                {
                    requiredHeroes += LocalizationManager.GetString("hero_class_name_" + ClassRequirements[i]);
                }
                else
                {
                    requiredHeroes += " " + LocalizationManager.GetString("trinket_hero_class_requirement_seperator")
                                      + " " + LocalizationManager.GetString("hero_class_name_" + ClassRequirements[i]);
                }
            }
            sb.AppendFormat(trinketRequirementFormat, requiredHeroes);
        }
        #endregion
        sb.AppendFormat("<color={0}>", DarkestDungeonManager.Data.HexColors["equipment_tooltip_body"]);
        for (int i = 0; i < Buffs.Count; i++)
        {
            if (Buffs[i].AttributeType == AttributeType.DamageLow)
            {
                continue;
            }
            sb.Append(ToolTipManager.GetConcat("\n", Buffs[i].ToolTip));
        }
        sb.Append("</color>");
        if (PurchasePrice != 0)
        {
            sb.AppendFormat("\n<color={0}>", DarkestDungeonManager.Data.HexColors["inventory_tooltip_gold_value"]);
            sb.AppendFormat(LocalizationManager.GetString("str_inventory_gold_value_format"), PurchasePrice);
            sb.Append("</color>");
        }
        if (discard)
        {
            sb.AppendFormat("\n<color={0}>", DarkestDungeonManager.Data.HexColors["harmful"]);
            sb.Append(LocalizationManager.GetString("str_discard_item_instructions"));
            sb.Append("</color>");
        }
        return(sb.ToString());
    }