예제 #1
0
        private void _createEnemyPartyMember(object[] args)
        { // createEnemyPartyMember(string actorPartyMemberSelector, string partyMemberName, int relativeLayoutIndex, bool addParticleEffect)
            string actorPartyMemberSelector = (string)args[0];
            string partyMemberName          = (string)args[1];
            int    relativeLayoutIndex      = (int)args[2];
            bool   addParticleEffect        = (bool)args[3];

            PartyMember actor = getPartyMemberFromSelector(actorPartyMemberSelector);

            PartyMember partyMember = ResourceManager.GetNewPartyMember(partyMemberName);

            battle.EnemyParty.AddPartyMember(partyMember);
            partyMember.StartBattle();
            partyMember.EquipDefaultWeapon(battle.EnemyParty);
            battle.AddBattleEntity(partyMember.BattleEntity);

            List <PartyMember> actorList = battle.EnemyPartyLayout.GetListWithPartyMember(actor);
            List <PartyMember> newList   = battle.EnemyPartyLayout.RelativeList(actorList, relativeLayoutIndex);

            newList.Add(partyMember);

            battle.RepositionPartyMembers();

            if (addParticleEffect)
            {
                ParticleEffect particleEffect = ParticleEffect.AddSmokePuff(partyMember.BattleEntity.GetCenter(), battle);
                particleEffect.DepthOverride = partyMember.BattleEntity.Position.Y + 5.0f;
            }
        }
예제 #2
0
        public Party GenerateBossParty()
        {
            Party bossParty = new Party(true);

            bossParty.AddPartyMember(ResourceManager.GetNewPartyMember(Area.BossNames.Sample()));
            bossParty.InitPartyBattleLayout(arrangement: "\n\n0", minSize: 5);
            return(bossParty);
        }
예제 #3
0
        public Party GenerateEnemyParty()
        {
            Party enemyParty = new Party(true);
            int   count      = Game1.Random.Next(7) + 1;

            for (int i = 0; i < count; ++i)
            {
                enemyParty.AddPartyMember(ResourceManager.GetNewPartyMember(Area.EnemyNames.Sample()));
            }
            enemyParty.InitPartyBattleLayout(random: true);
            return(enemyParty);
        }