Files
2024-08-23 15:49:34 +08:00

811 lines
19 KiB
C#

/********************************************************************************
* 文件名: OtherPlayerData.cs
* 全路径: \Script\Player\UserData\OtherPlayerData.cs
* 创建人: grx
* 创建时间: 2013-06-05
*
* 功能说明: 其他玩家的数据
* 修改记录:
*********************************************************************************/
using System;
using System.Collections.Generic;
using Games.GlobeDefine;
using Games.ImpactModle;
using Games.SkillModle;
using UnityEngine;
using System.Collections;
using Games.Item;
using Games.MountModule;
using Games.TitleInvestitive;
using Games.ChatHistory;
using Games.Fellow;
using Games.MoneyTree;
using Games.UserCommonData;
using Games.DailyMissionData;
using Games.DailyLuckyDraw;
using GCGame.Table;
public class OtherPlayerData
{
public OtherPlayerData()
{
m_AdvanceData = new AdvanceData();
}
public void CleanUpContainers()
{
GameItemContainer.InitStaticParams();
m_oEquipPack = new GameItemContainer(GameItemContainer.SIZE_EQUIPPACK, GameItemContainer.Type.TYPE_EQUIPPACK);
m_AdvancePack = new GameItemContainer(GameItemContainer.SIZE_ADVANCPACK, GameItemContainer.Type.TYPE_ADVANCEPACK);
}
public void CleanUpData()
{
CleanUpContainers();
for (int i = 0; i < GameItemContainer.SIZE_EQUIPPACK; i++)
{
GameItem item = m_oEquipPack.GetItem(i);
if (item != null )
{
item.CleanUp();
}
}
}
private string m_strName = "";
public string Name
{
get { return m_strName; }
set { m_strName = value; }
}
// 战力值
private int m_nCombatValue = 0;
public int CombatValue
{
get { return m_nCombatValue; }
set { m_nCombatValue = value; }
}
// 修为
private int m_AbilityLevel = 0;
public int AbilityLevel
{
get { return m_AbilityLevel; }
set { m_AbilityLevel = value; }
}
// 等级
private int m_nLevel = 0;
public int Level
{
get { return m_nLevel; }
set { m_nLevel = value; }
}
// 职业
private int m_Profession = -1;
public int Profession
{
get { return m_Profession; }
set { m_Profession = value; }
}
// 技能信息
private OwnSkillData[] m_OwnSkillInfo;
public OwnSkillData[] OwnSkillInfo
{
get { return m_OwnSkillInfo; }
set { m_OwnSkillInfo = value; }
}
//伙伴数据
private FellowContainer m_FellowContainer;
public FellowContainer FellowContainer
{
get { return m_FellowContainer; }
set { m_FellowContainer = value; }
}
//法宝
private GameItemContainer m_oMagicPack;
public GameItemContainer MagicPack
{
get { return m_oMagicPack; }
set { m_oMagicPack = value; }
}
//当前装备的法宝
private int m_CurDressedMagicWeaponIndex;
public int CurDressedMagicWeaponIndex
{
set { m_CurDressedMagicWeaponIndex = value; }
get { return m_CurDressedMagicWeaponIndex; }
}
//当前激活的法宝
private int[] m_CurActivedMagicWeaponIndex;
public int[] CurActivedMagicWeaponIndex
{
set { m_CurActivedMagicWeaponIndex = value; }
get { return m_CurActivedMagicWeaponIndex; }
}
private UInt64 m_RoleGUID = 0;
public System.UInt64 RoleGUID
{
get { return m_RoleGUID; }
set { m_RoleGUID = value; }
}
#region
// 不完全整理基本属性和详细属性
// 基础属性
private int m_nCurHp = 0;
public int CurHp
{
get { return m_nCurHp; }
set { m_nCurHp = value; }
}
private int m_nMaxHP = 0;
public int MaxHP
{
get { return m_nMaxHP; }
set { m_nMaxHP = value; }
}
private int m_nCurMp = 0;
public int CurMp
{
get { return m_nCurMp; }
set { m_nCurMp = value; }
}
private int m_nMaxMp = 0;
public int MaxMp
{
get { return m_nMaxMp; }
set { m_nMaxMp = value; }
}
private long m_nCurExp = 0;
public long CurExp
{
get { return m_nCurExp; }
set { m_nCurExp = value; }
}
private long m_nMaxExp = 0;
public long MaxExp
{
get { return m_nMaxExp; }
set { m_nMaxExp = value; }
}
private int m_nPAttck = 0;//物攻
public int PAttck
{
get { return m_nPAttck; }
set { m_nPAttck = value; }
}
private int m_nMAttack = 0;//法功
public int MAttack
{
get { return m_nMAttack; }
set { m_nMAttack = value; }
}
// 命中率
private int m_nHit = 0;
public int Hit
{
get { return m_nHit; }
set { m_nHit = value; }
}
private int m_nCritical = 0;//暴击
public int Critical
{
get { return m_nCritical; }
set { m_nCritical = value; }
}
private int m_nPDefense = 0;//物防
public int PDefense
{
get { return m_nPDefense; }
set { m_nPDefense = value; }
}
private int m_MDefense = 0;//法防
public int MDefense
{
get { return m_MDefense; }
set { m_MDefense = value; }
}
private int m_DeCritical = 0;//暴击抗性
public int DeCritical
{
get { return m_DeCritical; }
set { m_DeCritical = value; }
}
private int m_nDoge = 0;//闪避
public int Doge
{
get { return m_nDoge; }
set { m_nDoge = value; }
}
private int m_nStrike = 0;//穿透
public int Strike
{
get { return m_nStrike; }
set { m_nStrike = value; }
}
private int m_nCriticalAdd = 0;//暴击加成
public int CriticalAdd
{
get { return m_nCriticalAdd; }
set { m_nCriticalAdd = value; }
}
private int m_nDuctical = 0;//韧性
public int Ductical
{
get { return m_nDuctical; }
set { m_nDuctical = value; }
}
private int m_nCriticalMis = 0;//暴击减免
public int CriticalMis
{
get { return m_nCriticalMis; }
set { m_nCriticalMis = value; }
}
private int m_CureMount; //治疗量
public int CureMount
{
get { return m_CureMount; }
set { m_CureMount = value; }
}
private int m_Constitu; //体质
public int Constitu
{
get { return m_Constitu; }
set { m_Constitu = value; }
}
private int m_Morfib; //精力
public int Morfib
{
get { return m_Morfib; }
set { m_Morfib = value; }
}
private int m_Strength; //力量
public int Strength
{
get { return m_Strength; }
set { m_Strength = value; }
}
private int m_Intellenge; //智力
public int Intellenge
{
get { return m_Intellenge; }
set { m_Intellenge = value; }
}
private int m_Agile; //敏捷
public int Agile
{
get { return m_Agile; }
set { m_Agile = value; }
}
// 详细属性
//////////////////////////////////
// 重要属性
//////////////////////////////////
private int m_ActVal; // 活力值
public int ActVal
{
get { return m_ActVal; }
set { m_ActVal = value; }
}
private int m_pkVal; // PK值
public int PkVal
{
get { return m_pkVal; }
set { m_pkVal = value; }
}
private int m_LuckyVal; // 幸运值
public int LuckVal
{
get { return m_LuckyVal; }
set { m_LuckyVal = value; }
}
// 特殊属性
private int m_IngDef; // 无视防御
public int IngDef
{
get { return m_IngDef; }
set { m_IngDef = value; }
}
private int m_ReduceDam; // 伤害减免
public int ReduceDam
{
get { return m_ReduceDam; }
set { m_ReduceDam = value; }
}
//////////////////////////////////
// 效果属性
//////////////////////////////////
private int m_DizzyEnhance; // 眩晕增强
public int DizzyEnhance
{
get { return m_DizzyEnhance; }
set { m_DizzyEnhance = value; }
}
private int m_DizzyeDef; // 眩晕抗性
public int DizzyeDef
{
get { return m_DizzyeDef; }
set { m_DizzyeDef = value; }
}
private int m_SilentEnhance; // 沉默增强
public int SilentEnhance
{
get { return m_SilentEnhance; }
set { m_SilentEnhance = value; }
}
private int m_SilentDef; // 沉默抗性
public int SilentDef
{
get { return m_SilentDef; }
set { m_SilentDef = value; }
}
private int m_ImmobEnhance; // 定身
public int ImmobEnhance
{
get { return m_ImmobEnhance; }
set { m_ImmobEnhance = value; }
}
private int m_ImmobDef; // 定身抗性
public int ImmobDef
{
get { return m_ImmobDef; }
set { m_ImmobDef = value; }
}
private int m_RepelEnhance; // 击退增强
public int RepelEnhance
{
get { return m_RepelEnhance; }
set { m_RepelEnhance = value; }
}
private int m_RepelDef; // 击退抗性
public int RepelDef
{
get { return m_RepelDef; }
set { m_RepelDef = value; }
}
private int m_PolymorphEnhance; // 变羊增强
public int PolymorphEnhance
{
get { return m_PolymorphEnhance; }
set { m_PolymorphEnhance = value; }
}
private int m_PolymorphDef; // 变羊抗性
public int PolymorphDef
{
get { return m_PolymorphDef; }
set { m_PolymorphDef = value; }
}
private int m_HmEnhance; // 昏迷增强
public int HmEnhance
{
get { return m_HmEnhance; }
set { m_HmEnhance = value; }
}
private int m_HmDef; // 昏迷抗性
public int HmDef
{
get { return m_HmDef; }
set { m_HmDef = value; }
}
private int m_SmEnhance; // 失明增强
public int SmEnhance
{
get { return m_SmEnhance; }
set { m_SmEnhance = value; }
}
private int m_SmDef; // 失明抗性
public int SmDef
{
get { return m_SmDef; }
set { m_SmDef = value; }
}
private int m_ShEnhance; // 石化增强
public int ShEnhance
{
get { return m_ShEnhance; }
set { m_ShEnhance = value; }
}
private int m_ShDef; // 石化抗性
public int ShDef
{
get { return m_ShDef; }
set { m_ShDef = value; }
}
//////////////////////////////////
// 元素属性
//////////////////////////////////
private int m_DgDef; // 电抗
public int DgDef
{
get { return m_DgDef; }
set { m_DgDef = value; }
}
private int m_DgIgnDef; // 忽视电抗
public int DgIgnDef
{
get { return m_DgIgnDef; }
set { m_DgIgnDef = value; }
}
private int m_HuogDef; // 火抗
public int HuogDef
{
get { return m_HuogDef; }
set { m_HuogDef = value; }
}
private int m_HuogIgnDef; // 忽视火抗
public int HuogIgnDef
{
get { return m_HuogIgnDef; }
set { m_HuogIgnDef = value; }
}
private int m_DugDef; // 毒抗
public int DugDef
{
get { return m_DugDef; }
set { m_DugDef = value; }
}
private int m_DugIgnDef; // 忽视毒抗
public int DugIgnDef
{
get { return m_DugIgnDef; }
set { m_DugIgnDef = value; }
}
private int m_BgDef; // 冰抗
public int BgDef
{
get { return m_BgDef; }
set { m_BgDef = value; }
}
private int m_BgIgnDef; // 忽视冰抗
public int BgIgnDef
{
get { return m_BgIgnDef; }
set { m_BgIgnDef = value; }
}
private int m_FgDef; // 风抗
public int FgDef
{
get { return m_FgDef; }
set { m_FgDef = value; }
}
private int m_FgIgnDef; // 忽视风抗
public int FgIgnDef
{
get { return m_FgIgnDef; }
set { m_FgIgnDef = value; }
}
private int m_GgDef; // 光抗
public int GgDef
{
get { return m_GgDef; }
set { m_GgDef = value; }
}
private int m_GgIgnDef; // 忽视光抗
public int GgIgnDef
{
get { return m_GgIgnDef; }
set { m_GgIgnDef = value; }
}
private int m_HuangDef; // 幻抗
public int HuangDef
{
get { return m_HuangDef; }
set { m_HuangDef = value; }
}
private int m_HuangIgnDef; // 忽视幻抗
public int HuangIgnDef
{
get { return m_HuangIgnDef; }
set { m_HuangIgnDef = value; }
}
private int m_HlDef; // 混乱抗
public int HlDef
{
get { return m_HlDef; }
set { m_HlDef = value; }
}
private int m_HlIgnDef; // 忽视混乱抗
public int HlIgnDef
{
get { return m_HlIgnDef; }
set { m_HlIgnDef = value; }
}
private int m_HLENCHANCE; // 混乱增加
public int HLENCHANCE
{
get { return m_HLENCHANCE; }
set { m_HLENCHANCE = value; }
}
// new
private int m_DuGAttack; // 毒攻
public int DuGAttack
{
get { return m_DuGAttack; }
set { m_DuGAttack = value; }
}
private int m_HuoAttack; // 火攻
public int HuoAttack
{
get { return m_HuoAttack; }
set { m_HuoAttack = value; }
}
private int m_BGAttack; // 冰攻
public int BGAttack
{
get { return m_BGAttack; }
set { m_BGAttack = value; }
}
private int m_DGAttack; // 点攻
public int DGAttack
{
get { return m_DGAttack; }
set { m_DGAttack = value; }
}
private int m_FGAttack; // 风攻
public int FGAttack
{
get { return m_FGAttack; }
set { m_FGAttack = value; }
}
private int m_GGAttack; // 光攻
public int GGAttack
{
get { return m_GGAttack; }
set { m_GGAttack = value; }
}
private int m_HuanGAttack; // 幻攻
public int HuanGAttack
{
get { return m_HuanGAttack; }
set { m_HuanGAttack = value; }
}
private int m_VOCDAMAGERATE_TianJi; // 对天机伤害提升比
public int VOCDAMAGERATE_TianJi
{
get { return m_VOCDAMAGERATE_TianJi; }
set { m_VOCDAMAGERATE_TianJi = value; }
}
private int m_VOCDAMAGERATE_LiuShan; // 对六扇伤害提升比
public int VOCDAMAGERATE_LiuShan
{
get { return m_VOCDAMAGERATE_LiuShan; }
set { m_VOCDAMAGERATE_LiuShan = value; }
}
private int m_VOCDAMAGERATE_ShuShan; // 对蜀山伤害提升比
public int VOCDAMAGERATE_ShuShan
{
get { return m_VOCDAMAGERATE_ShuShan; }
set { m_VOCDAMAGERATE_ShuShan = value; }
}
private int m_VOCDAMAGERATE_XuanNv; // 对玄女伤害提升比
public int VOCDAMAGERATE_XuanNv
{
get { return m_VOCDAMAGERATE_XuanNv; }
set { m_VOCDAMAGERATE_XuanNv = value; }
}
#endregion
private int m_nModuleVisualID = 0;//模型ID
public int ModuleVisualID
{
get { return m_nModuleVisualID; }
set { m_nModuleVisualID = value; }
}
private int m_CurWeaponDataID = 0;
public int CurWeaponDataID
{
get { return m_CurWeaponDataID; }
set { m_CurWeaponDataID = value; }
}
private int m_WeaponEffectId = 0;
public int WeaponEffectId
{
get { return m_WeaponEffectId; }
set { m_WeaponEffectId = value; }
}
private int m_WingAuraId = -1;
public int WingAuraId
{
set { m_WingAuraId = value; }
get { return m_WingAuraId; }
}
private int m_EffectAuraId = -1;
public int EffectAuraId
{
set { m_EffectAuraId = value; }
get { return m_EffectAuraId; }
}
//////////////////////////////////////////////////////////////////////////
//装备槽位
//////////////////////////////////////////////////////////////////////////
private GameItemContainer m_oEquipPack;
public GameItemContainer EquipPack
{
get
{
if (m_oEquipPack == null)
{
CleanUpContainers();
}
return m_oEquipPack;
}
set { m_oEquipPack = value; }
}
// 装备槽位的强化等级和完美度
private StrengthData[] m_oEquipSlotStrength;
public StrengthData[] EquipSlotStrength
{
get { return m_oEquipSlotStrength; }
set { m_oEquipSlotStrength = value; }
}
private GameItemContainer m_AdvancePack;
public GameItemContainer AdvancePack
{
get
{
if (m_AdvancePack == null)
{
CleanUpContainers();
}
return m_AdvancePack;
}
set { m_AdvancePack = value; }
}
//宝石信息
private GemData m_GemData;
public GemData GemData
{
get { return m_GemData; }
set { m_GemData = value; }
}
// 帮会名称
private string m_strGuildName = "";
public string GuildName
{
get { return m_strGuildName; }
set { m_strGuildName = value; }
}
// Vip等级
private int m_nVipLvl = 0;
public int VipLvl
{
get { return m_nVipLvl; }
set { m_nVipLvl = value; }
}
private int m_privilegeviplvl = 0;
public int Privilegeviplvl
{
get { return m_privilegeviplvl; }
set { m_privilegeviplvl = value; }
}
// 检测该法宝是否已经被激活
public bool IsMagicModelActive(int modelId)
{
if(m_CurActivedMagicWeaponIndex == null)
{
return false;
}
for(int index = 0; index < m_CurActivedMagicWeaponIndex.Length; index++)
{
Tab_MagicWeaponActiveModel magicModel = TableManager.GetMagicWeaponActiveModelByID(GameManager.gameManager.OtherPlayerData.m_CurActivedMagicWeaponIndex[index], 0);
if(magicModel.Model == modelId)
{
return true;
}
}
return false;
}
// 进阶数据
private AdvanceData m_AdvanceData;
public AdvanceData AdvData
{
get{ return m_AdvanceData; }
}
}