Beispiel #1
0
        // Bound uniques.  These uniques are generated at the same time as their map.
        public void init_Prisoner(Actor newCivilian)
        {
#if DEBUG
            if (null != PoliceStationPrisoner)
            {
                throw new InvalidOperationException("only call UniqueActors::init_Prisoner once");
            }
#endif
            newCivilian.Name = "The Prisoner Who Should Not Be";
            for (int index = 0; index < newCivilian.Inventory.MaxCapacity; ++index)
            {
                newCivilian.Inventory.AddAll(GameItems.ARMY_RATION.instantiate());
            }
            PoliceStationPrisoner = new UniqueActor(newCivilian, true);
        }
Beispiel #2
0
        public void init_JasonMyers()
        {
#if DEBUG
            if (null != JasonMyers)
            {
                throw new InvalidOperationException("only call UniqueActors::init_JasonMyers once");
            }
#endif
            Actor named = GameActors.JasonMyers.CreateNamed(GameFactions.ThePsychopaths, "Jason Myers", 0);
            named.IsUnique = true;
            named.Doll.AddDecoration(DollPart.SKIN, GameImages.ACTOR_JASON_MYERS);
            named.StartingSkill(Skills.IDs.TOUGH, 3);
            named.StartingSkill(Skills.IDs.STRONG, 3);
            named.StartingSkill(Skills.IDs.AGILE, 3);
            named.StartingSkill(Skills.IDs.HIGH_STAMINA, 3);
            named.Inventory.AddAll(new ItemMeleeWeapon(GameItems.UNIQUE_JASON_MYERS_AXE));
            JasonMyers = new UniqueActor(named, true, false, GameMusics.INSANE);
        }
Beispiel #3
0
        // Free/unbound uniques.  These are not assigned to a specific map at the time the map is generated.

        // VAPORWARE: Father Time's day job was running a martial arts dojo.  Make him a shop owner for one; would change his status to a bound unique.
        // VAPORWARE: Father Time is elderly.  However, he's not deconditioned so shouldn't be using a standard elderly civilian model
        private void init_FatherTime(BaseTownGenerator tgen) // unused parameter...haven't decided on full item complement yet.
        {
#if DEBUG
            if (null != FatherTime)
            {
                throw new InvalidOperationException("only call UniqueActors::init_FatherTime once");
            }
#endif
            Actor named = GameActors.MaleCivilian.CreateNamed(GameFactions.TheCivilians, "Father Time", 0);
            named.IsUnique = true;
            named.Doll.AddDecoration(DollPart.SKIN, GameImages.ACTOR_FATHER_TIME);
            named.StartingSkill(Skills.IDs.HAULER, 3);
            named.StartingSkill(Skills.IDs.MARTIAL_ARTS, 5); // to get the most out of his scythe
            named.StartingSkill(Skills.IDs.AGILE, 5);
            named.StartingSkill(Skills.IDs.HIGH_STAMINA, 5);
            named.Inventory.AddAll(new ItemMeleeWeapon(GameItems.UNIQUE_FATHER_TIME_SCYTHE));
            named.Inventory.AddAll(GameItems.ARMY_RATION.instantiate());                          // Doesn't want to be a target, so only one ration
            FatherTime = new UniqueActor(named, false, true, null, "You hear new year's music."); // XXX \todo GameMusics.FATHER_TIME_THEME_SONG (Auld Lang Syne?)
        }