Ejemplo n.º 1
0
 // Update is called once per frame
 void Update()
 {
     if (associatedAdventurer != null && !associatedAdventurer.isPromoted)
     {
         if (cachedName != associatedAdventurer.fullName)
         {
             cachedName        = associatedAdventurer.fullName;
             inquiryLabel.text = strings[0] + cachedName + strings[1];
         }
         if (cachedClass != associatedAdventurer.baseClass)
         {
             cachedClass = associatedAdventurer.baseClass;
             AdventurerClass advC;
             if (cachedClass == AdventurerClass.Warrior)
             {
                 advC = AdventurerClass.Mystic;
             }
             else
             {
                 advC = AdventurerClass.Warrior;
             }
             reclassButtonLabel.text = strings[2] + Adventurer.GetClassName(advC);
         }
     }
 }
Ejemplo n.º 2
0
    public static AdventurerSpecial GetClassSpecial(AdventurerClass advClass)
    {
        AdventurerSpecial special = AdventurerSpecial.None;

        switch (advClass)
        {
        case AdventurerClass.Bowman:
            special = AdventurerSpecial.SilencingShot;
            break;

        case AdventurerClass.Footman:
            special = AdventurerSpecial.ShieldWall;
            break;

        case AdventurerClass.Sage:
            special = AdventurerSpecial.Barrier;
            break;

        case AdventurerClass.Wizard:
            special = AdventurerSpecial.Feedback;
            break;

        case AdventurerClass.Sovereign:
            special = GameDataManager.Instance.dataStore.sovereignSkill;
            break;

        case AdventurerClass.Avatar:
            special = AdventurerSpecial.LoseBattle;
            break;
        }
        return(special);
    }
Ejemplo n.º 3
0
 public void Reroll(AdventurerClass _advClass, AdventurerSpecies _species, bool _isElite, int[] individualStats)
 {
     for (int i = 0; i < warriorTypeClasses.Length; i++)
     {
         if (warriorTypeClasses[i] == _advClass)
         {
             baseClass = AdventurerClass.Warrior;
             break;
         }
         if (mysticTypeClasses[i] == _advClass)
         {
             baseClass = AdventurerClass.Mystic;
             break;
         }
     }
     advClass          = _advClass;
     species           = _species;
     isElite           = _isElite;
     individualHP      = individualStats[0];
     individualMartial = individualStats[1];
     individualMagic   = individualStats[2];
     individualSpeed   = individualStats[3];
     RerollName();
     RerollFullTitle();
     RecalcStatsAndReloadMoves();
     RerollMugshot();
     GenerateBioText();
     initialized = true;
     awakened    = false;
     isPromoted  = false;
 }
Ejemplo n.º 4
0
    private static void populateRandomAdventureStructs()
    {
        AdventurerClass[]   classArray_0   = new AdventurerClass[3];
        AdventurerSpecies[] speciesArray_0 = new AdventurerSpecies[3];
        for (int i = 0; i < 3; i++)
        {
            _generateRandomChump(i, ref classArray_0, ref speciesArray_0);
        }
        adventureR_0 = new AdventureSubstage(classArray_0, speciesArray_0, new bool[] { false, false, false }, true, BattleBGMType.GARBO_typing);
        AdventurerClass[]   classArray_1   = new AdventurerClass[3];
        AdventurerSpecies[] speciesArray_1 = new AdventurerSpecies[3];
        _generateRandomHighTierOffense(0, ref classArray_1, ref speciesArray_1);
        _generateRandomHighTierSupport(1, ref classArray_1, ref speciesArray_1);
        int r = Random.Range(0, 2);

        if (r == 0)
        {
            _generateRandomHighTierOffense(2, ref classArray_1, ref speciesArray_1);
        }
        else
        {
            _generateRandomHighTierSupport(2, ref classArray_1, ref speciesArray_1);
        }
        adventureR_1 = new AdventureSubstage(classArray_1, speciesArray_1, new bool[] { false, false, true }, true, BattleBGMType.GARBO_dreamchaser);
        AdventurerClass[]   classArray_2   = new AdventurerClass[3];
        AdventurerSpecies[] speciesArray_2 = new AdventurerSpecies[3];
        _generateRandomHighTierSupport(0, ref classArray_2, ref speciesArray_2);
        _generateRandomHighTierSupport(1, ref classArray_2, ref speciesArray_2);
        _generateRandomBoss(2, ref classArray_2, ref speciesArray_2);
        adventureR_2             = new AdventureSubstage(classArray_2, speciesArray_2, new bool[] { true, true, true }, true, BattleBGMType.GARBO_murder);
        randomAdventureSubstages = new AdventureSubstage[] { adventureR_0, adventureR_1, adventureR_2 };
    }
Ejemplo n.º 5
0
 void _processTranslatedBookPanel(LibraryPopup_BookPanel bp, AdventurerClass advClass)
 {
     bp.button.gameObject.SetActive(false);
     bp.nameLabel.text  = Adventurer.GetClassName(advClass) + strings[1];
     bp.classDesc.text  = _bookFlavorTextForClass(advClass);
     bp.icon.sprite     = translatedIcon;
     bp.gameObject.name = "translated panel - " + bp.nameLabel.text;
 }
Ejemplo n.º 6
0
 public void PromoteToTier2(AdventurerClass _advClass)
 {
     if (isPromoted)
     {
         throw new System.Exception("Can't promote a promoted adventurer");
     }
     Reclass(_advClass);
     isPromoted = true;
 }
Ejemplo n.º 7
0
    public static string GetClassName(AdventurerClass advClass)
    {
        string name = "Out of range class name";

        if (classNames == null)
        {
            TextAsset a = Resources.Load <TextAsset>("class_names");
            classNames = a.text.Split('\n');
        }
        if ((int)advClass < classNames.Length)
        {
            name = classNames[(int)advClass];
        }
        return(name);
    }
Ejemplo n.º 8
0
    void SetClassSelection(AdventurerClass _newClass)
    {
        setClass = _newClass;
        string className = Adventurer.GetClassName(setClass);
        string st2;

        if (Util.isVowel(className[0]))
        {
            st2 = strings[2];
        }
        else
        {
            st2 = strings[1];
        }
        promoteText.text = strings[0] + adv.fullName + st2 + className;
    }
Ejemplo n.º 9
0
    public static bool ClassIsFrontRowClass(AdventurerClass advClass)
    {
        bool r = false;

        if (advClass == AdventurerClass.Sovereign)
        {
            return(!GameDataManager.Instance.dataStore.sovereignOnBackRow);
        }
        for (int i = 0; i < frontRowClasses.Length; i++)
        {
            if (frontRowClasses[i] == advClass)
            {
                r = true;
                break;
            }
        }
        return(r);
    }
Ejemplo n.º 10
0
    string _bookFlavorTextForClass(AdventurerClass advClass)
    {
        switch (advClass)
        {
        case AdventurerClass.Footman:
            return(strings[4]);

        case AdventurerClass.Bowman:
            return(strings[5]);

        case AdventurerClass.Sage:
            return(strings[6]);

        case AdventurerClass.Wizard:
            return(strings[7]);

        default:
            return(strings[8]);
        }
    }
Ejemplo n.º 11
0
    public static int[] GetClassStats(AdventurerClass advClass)
    {
        int[] stats = { 10, 1, 1, 1 };
        switch (advClass)
        {
        case AdventurerClass.Warrior:
            stats = new int[] { 10, 2, 2, 2 };
            break;

        case AdventurerClass.Bowman:
            stats = new int[] { 6, 3, 3, 3 };
            break;

        case AdventurerClass.Footman:
            stats = new int[] { 20, 3, 1, 1 };
            break;

        case AdventurerClass.Mystic:
            stats = new int[] { 8, 1, 3, 2 };
            break;

        case AdventurerClass.Sage:
            stats = new int[] { 12, 2, 3, 1 };
            break;

        case AdventurerClass.Wizard:
            stats = new int[] { 4, 0, 4, 2 };
            break;

        case AdventurerClass.Sovereign:
            stats = new int[] { 40, 4, 4, 3 };
            break;

        case AdventurerClass.Avatar:
            stats = new int[] { 120, 7, 7, 7 };
            break;
        }
        return(stats);
    }
Ejemplo n.º 12
0
    public static BattlerAction[] GetClassAttacks(AdventurerClass advClass)
    {
        BattlerAction[] attacks = { };
        switch (advClass)
        {
        case AdventurerClass.Warrior:
            attacks = new BattlerAction[] { BattlerAction.MaceSwing, BattlerAction.None };
            break;

        case AdventurerClass.Bowman:
            attacks = new BattlerAction[] { BattlerAction.Bowshot, BattlerAction.RainOfArrows };
            break;

        case AdventurerClass.Footman:
            attacks = new BattlerAction[] { BattlerAction.ShieldBlock, BattlerAction.SpearThrust };
            break;

        case AdventurerClass.Mystic:
            attacks = new BattlerAction[] { BattlerAction.Siphon, BattlerAction.Haste };
            break;

        case AdventurerClass.Sage:
            attacks = new BattlerAction[] { BattlerAction.VampiricWinds, BattlerAction.BurstOfSpeed };
            break;

        case AdventurerClass.Wizard:
            attacks = new BattlerAction[] { BattlerAction.Inferno, BattlerAction.Lightning };
            break;

        case AdventurerClass.Sovereign:
            attacks = new BattlerAction[] { BattlerAction.HammerBlow, GameDataManager.Instance.dataStore.sovereignTactic };
            break;

        case AdventurerClass.Avatar:
            attacks = new BattlerAction[] { BattlerAction.Rend, BattlerAction.None };
            break;
        }
        return(attacks);
    }
Ejemplo n.º 13
0
 public void Reclass(AdventurerClass _advClass)
 {
     advClass  = _advClass;
     baseClass = AdventurerClass.None;
     for (int i = 0; i < warriorTypeClasses.Length; i++)
     {
         if (warriorTypeClasses[i] == _advClass)
         {
             baseClass = AdventurerClass.Warrior;
             break;
         }
         else if (mysticTypeClasses[i] == advClass)
         {
             baseClass = AdventurerClass.Mystic;
             break;
         }
     }
     if (baseClass == AdventurerClass.None)
     {
         baseClass = _advClass;
     }
     RerollFullTitle();
     RecalcStatsAndReloadMoves();
 }
Ejemplo n.º 14
0
 public static int GetPromoteCostForClass(AdventurerClass promotedClass)
 {
     return(10); // this system doesn't actually exist yet, lol
 }