public ArtifactDataSO GetRandomViableArtifact()
    {
        List <ArtifactDataSO> viableArtifacts  = new List <ArtifactDataSO>();
        ArtifactDataSO        artifactReturned = null;
        int randomIndex;

        foreach (ArtifactDataSO artifact in allArtifacts)
        {
            if (ArtifactManager.Instance.artifactsObtained.Contains(artifact) == false)
            {
                viableArtifacts.Add(artifact);
            }
        }

        Debug.Log("GetRandomViableArtifact() found " + viableArtifacts.Count.ToString() + " viable artifacts...");

        randomIndex = Random.Range(0, viableArtifacts.Count);

        if (viableArtifacts.Count == 0)
        {
            artifactReturned = stinkyPooArtifact;
        }
        else
        {
            artifactReturned = viableArtifacts[randomIndex];
        }

        return(artifactReturned);
    }
    public void InitializeSetup()
    {
        myArtifactData        = ArtifactLibrary.Instance.GetRandomViableArtifact();
        artifactImage.sprite  = myArtifactData.artifactSprite;
        artifactNameText.text = myArtifactData.artifactName;

        // info panel
        artifactDescriptionPanelText.text = myArtifactData.artifactDescription;
    }
Exemplo n.º 3
0
    public void PopulateArtifactSlots()
    {
        Debug.Log("PopulateArtifactSlots() called...");

        ArtifactDataSO adOne   = ArtifactLibrary.Instance.GetRandomViableArtifact();
        ArtifactDataSO adTwo   = ArtifactLibrary.Instance.GetRandomViableArtifact();
        ArtifactDataSO adThree = ArtifactLibrary.Instance.GetRandomViableArtifact();

        if (adTwo.artifactName == adOne.artifactName)
        {
            if (adTwo.artifactName == "Stinky Poo")
            {
                // do nothing
            }
            else
            {
                while (adTwo.artifactName == adOne.artifactName)
                {
                    adTwo = ArtifactLibrary.Instance.GetRandomViableArtifact();
                }
            }
        }

        if (adThree.artifactName == adOne.artifactName || adThree.artifactName == adTwo.artifactName)
        {
            if (adThree.artifactName == "Stinky Poo")
            {
                // do nothing
            }
            else
            {
                while (adThree.artifactName == adOne.artifactName || adThree.artifactName == adTwo.artifactName)
                {
                    adThree = ArtifactLibrary.Instance.GetRandomViableArtifact();
                }
            }
        }

        artifactSlotOne.InitializeSetup(adOne);
        artifactSlotTwo.InitializeSetup(adTwo);
        artifactSlotThree.InitializeSetup(adThree);
    }
    public void InitializeSetup(ArtifactDataSO artifactData)
    {
        myArtifactData               = artifactData;
        myArtifactImage.sprite       = artifactData.artifactSprite;
        artifactDescriptionText.text = myArtifactData.artifactDescription;
        artifactNameText.text        = myArtifactData.artifactName;

        if (myArtifactData.artifactRarity == ArtifactDataSO.Rarity.Common)
        {
            SetGoldCost(Random.Range(100, 150));
        }
        else if (myArtifactData.artifactRarity == ArtifactDataSO.Rarity.Rare)
        {
            SetGoldCost(Random.Range(150, 200));
        }
        else if (myArtifactData.artifactRarity == ArtifactDataSO.Rarity.Epic)
        {
            SetGoldCost(Random.Range(200, 250));
        }

        EnableArtifactSlotView();
    }
    public void ObtainArtifact(ArtifactDataSO artifactObtained)
    {
        artifactsObtained.Add(artifactObtained);
        GameObject artifactGO = Instantiate(PrefabHolder.Instance.ArtifactGO, artifactPanelView.transform);

        artifactGO.GetComponent <ArtifactGO>().InitializeSetup(artifactObtained);

        // individual artifact 'On pickup' logic
        if (artifactObtained.artifactName == "Comfy Pillow")
        {
            CampSiteManager.Instance.restButtonDescriptionText.text = "All characters heal 50% HP";
        }
        else if (artifactObtained.artifactName == "Kettle Bell")
        {
            CampSiteManager.Instance.trainButtonDescriptionText.text = "Choose a character to gain 2 levels";
        }
        else if (artifactObtained.artifactName == "Ferryman Token")
        {
            PlayerDataManager.Instance.ModifyGold(300);
        }
        else if (artifactObtained.artifactName == "Ice Cream")
        {
            foreach (CharacterData character in CharacterRoster.Instance.allCharacterDataObjects)
            {
                character.ModifyCurrentLevel(1);
                character.ModifyTalentPoints(1);
            }
        }
        else if (artifactObtained.artifactName == "Yummy Mushroom")
        {
            foreach (CharacterData character in CharacterRoster.Instance.allCharacterDataObjects)
            {
                character.ModifyMaxHealth(15);
            }
        }
    }
 public void InitializeSetup(ArtifactDataSO artifactData)
 {
     artifactImage.sprite         = artifactData.artifactSprite;
     artifactDescriptionText.text = artifactData.artifactDescription;
     artifactNameText.text        = artifactData.artifactName;
 }