Exemplo n.º 1
0
 void C2S_WORLD_PRE_LOGIN_ACK(NetworkPacket packet)
 {
     /*var status = */
     packet.ReadInt32();
     if (ActiveClientMap == MapIDs.CHARACTER_SELECTION)
     {
         var charDB = ServiceContainer.GetService <IDatabase>().Characters;
         var chars  = charDB.GetCharacters(Account.UID);
         var outMsg = GameHeader.S2C_CS_LOGIN.CreatePacket();
         outMsg.WriteInt32(chars.Count);
         for (var i = 0; i < chars.Count; i++)
         {
             outMsg.Write(chars[i].Character);
             outMsg.Write(chars[i].Sheet);
             var items = charDB.GetItems(chars[i].Character.Id);
             outMsg.Write(items);
         }
         outMsg.WriteInt32(chars.Count);
         for (int i = 0; i < chars.Count; i++)
         {
             outMsg.WriteInt32(chars[i].Character.Id);
             outMsg.WriteInt32(SBDBSync.GetFameLevelByPoints((int)chars[i].Sheet.FamePoints));
         }
         Connection.SendMessage(outMsg);
     }
     else
     {
         if (ActiveController == null)
         {
             Connection.Disconnect();//character must exist
             return;
         }
         S2C_WORLD_LOGIN();
     }
 }
Exemplo n.º 2
0
        public override void Initialize(Actor outer)
        {
            base.Initialize(outer);
            var fameLevel = (outer as Game_PlayerPawn).CharacterStats.GetFameLevel();

            mTiers     = SBDBSync.GetCombatBarRows(fameLevel);
            mTierSlots = /*SBDBSync.GetCombatBarColumns(fameLevel)*/ 5;
            Debug.Log("Tiers: " + mTiers + ", slots: " + mTierSlots + " TODO find out how those are calculated");
            //if islocalplayer ignored
            LoadTokens();
            var controller = ((Outer as Game_Pawn).Controller as Game_PlayerController);
            var index      = GetSkilldeckIndex(controller.DBCharacterSheet.SelectedSkilldeckID);

            cl_SetSkills(controller.DBCharacterSkills, controller.DBSkilldecks[index].mSkills);
        }
Exemplo n.º 3
0
        void ShiftToNPCTypeID(int aNPCTypeID)
        {
            NPC_Type NPCType;

            TestInvariant();
            if (aNPCTypeID != 0)
            {
                NPCType = SBDBSync.GetResourceObject <NPC_Type>(aNPCTypeID);
                ShiftAppearance(NPCType);
            }
            else
            {
                UnshiftAppearance();
            }
            TestInvariant();
        }
Exemplo n.º 4
0
 void cl_UpdateSkilldeckSkills(List <int> aSkilldeckSkills)
 {
     SkilldeckSkills = new FSkill_Type[mTiers * mTierSlots];
     for (var i = 0; i < aSkilldeckSkills.Count; i++)
     {
         if (aSkilldeckSkills[i] != 0)
         {
             SkilldeckSkills[i] = SBDBSync.GetResourceObject <FSkill_Type>(aSkilldeckSkills[i]);
         }
         else
         {
             SkilldeckSkills[i] = null;
         }
     }
     //OnSkilldeckChanged();
 }
Exemplo n.º 5
0
        void cl_SetSkills(List <int> aCharacterSkills, List <int> aSkilldeckSkills)
        {
            var i = 0;

            while (i < aCharacterSkills.Count)
            {
                var skillResource = SBDBSync.GetResourceObject <FSkill_Type>(aCharacterSkills[i]);
                if (skillResource == null)
                {
                    throw new Exception("Skill not found: " + aCharacterSkills[i]);
                }
                CharacterSkills.Add(skillResource);
                ++i;
            }
            cl_UpdateSkilldeckSkills(aSkilldeckSkills);
            //OnCharacterSkillsChanged();
        }
Exemplo n.º 6
0
        public override void Initialize(Actor outer)
        {
            base.Initialize(outer);
            var pawn       = outer as Game_Pawn;
            var controller = pawn.Controller as Game_Controller;

            SetCharacterClass((Content_API.EContentClass)(controller.DBCharacterSheet.ClassId + 1));
            mFamePoints        = (int)controller.DBCharacterSheet.FamePoints;
            mPePPoints         = (int)controller.DBCharacterSheet.PepPoints;
            mHealth            = controller.DBCharacterSheet.Health;
            mRecord.CopyHealth = mHealth;
            mRecord.FameLevel  = SBDBSync.GetFameLevelByPoints(mFamePoints);
            mRecord.PePRank    = SBDBSync.GetPepRankByPoints(mPePPoints);
            mExtraBodyPoints   = controller.DBCharacterSheet.ExtraBodyPoints;
            mExtraMindPoints   = controller.DBCharacterSheet.ExtraMindPoints;
            mExtraFocusPoints  = controller.DBCharacterSheet.ExtraFocusPoints;
        }