Beispiel #1
0
        // private static async Task ActionLookForQuest(Entity e) {
        //     // TODO:[TALENT]
        //     float x = (float) Global.rng.NextDouble();
        //     Quest quest;
        //     if (x < 0.1f) {
        //         quest = null;
        //         P.ui.SetTitle("No quest found...");
        //         P.ui.NoHead();
        //         P.ui.SetDescription(string.Format(
        //             "{0} didn't find any quest...", e.MetaName()
        //         ));
        //         P.ui.SetButtons("Continue");
        //     } else if (x < 0.2f) {
        //         quest = QuestGeneration.GenerateRandomDungeon(noRare: true);
        //         P.ui.SetTitle("Dungeon found!");
        //         P.ui.SetQuest(quest);
        //         P.ui.SetDescription(string.Format(
        //             "{0} found a dungeon while looking for a quest!", e.MetaName()
        //         ));
        //         P.ui.SetButtons("Accept", "Decline");
        //     } else {
        //         quest = QuestGeneration.GenerateRandomQuest();
        //         P.ui.SetTitle("Quest found!");
        //         P.ui.SetQuest(quest);
        //         P.ui.SetDescription(string.Format(
        //             "{0} found a quest!", e.MetaName()
        //         ));
        //         P.ui.SetButtons("Accept", "Decline");
        //     }
        //     var pressed = await P.ui.ButtonPressed();
        //     if (quest != null && pressed.Yes()) {
        //         AddLover(e, quest);
        //     }
        // }

        private static async Task ActionLookForDungeon(CharacterEntity e)
        {
            // TODO:[TALENT]
            float x = (float)Global.rng.NextDouble();
            Quest quest;

            if (x < 0.1f)   // ERROR OTHERWISE
            {
                quest = null;
                P.ui.SetTitle("No dungeon found...");
                P.ui.NoHead();
                P.ui.SetDescription(string.Format(
                                        "{0} didn't find any dungeon...", e.MetaName()
                                        ));
                P.ui.SetButtons("Continue");
            }
            else if (x < 0.2f)
            {
                quest = QuestGeneration.GenerateRandomQuest();
                P.ui.SetTitle("Quest found!");
                P.ui.SetQuest(quest);
                P.ui.SetDescription(string.Format(
                                        "{0} found a quest!", e.MetaName()
                                        ));
                P.ui.SetButtons("Accept", "Decline");
            }
            else
            {
                quest = QuestGeneration.GenerateRandomDungeon();
                if (quest.reward.Special())
                {
                    P.ui.SetTitle("Legendary dungeon found!");
                    P.ui.SetQuest(quest);
                    P.ui.SetDescription(string.Format(
                                            "{0} found a legendary dungeon! Who knows what's in there?", e.MetaName()
                                            ));
                    P.ui.SetButtons("Accept");
                }
                else
                {
                    P.ui.SetTitle("Dungeon found!");
                    P.ui.SetQuest(quest);
                    P.ui.SetDescription(string.Format(
                                            "{0} found a dungeon!", e.MetaName()
                                            ));
                    P.ui.SetButtons("Accept", "Decline");
                }
            }
            var pressed = await P.ui.ButtonPressed();

            if (quest != null && pressed.Yes())
            {
                AddQuest(e, quest);
            }
        }
Beispiel #2
0
    public static GameData New()
    {
        GameData data = new GameData();

        Game.data   = data; // HACK
        data.date   = Date.START;
        data.name   = "NAME";
        data.family = Family.StartingFamily();
        data.family.ResourceLocalToScene = true;
        data.quests = new List <Quest> {
            QuestGeneration.GenerateRandomQuest(maximumIntensity: 5)
        };
        data.inventory = new Riches(5, 20, new List <Item> {
            Item.ARTEFACT_SWORD
        });
        History.Clear();
        History.Append(string.Format("{0} have been passed the {1}.", CharacterEntity.MetaNames(data.family.alive), Item.ARTEFACT_SWORD.MetaName()));
        return(data);
    }