404 lines
14 KiB
C#
404 lines
14 KiB
C#
|
using GCGame;
|
|||
|
using GCGame.Table;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
public class PropID
|
|||
|
{
|
|||
|
//以下为固定,战斗相关的放这里
|
|||
|
public enum PropertyID
|
|||
|
//enum FixPropId
|
|||
|
{
|
|||
|
PROPFIX_MIN = 0,
|
|||
|
MAXHP = PROPFIX_MIN, //血上限 0
|
|||
|
MAXMP = 1, //蓝上限
|
|||
|
MAXXP = 2, //战意上限
|
|||
|
PYSATTACK = 3, //物理攻击
|
|||
|
MAGATTACK = 4, //魔法攻击
|
|||
|
PYSDEF = 5, //物理防御
|
|||
|
MAGDEF = 6, //魔法防御
|
|||
|
HIT = 7, //命中
|
|||
|
DODGE = 8, //闪避
|
|||
|
CRITICAL = 9, //暴击
|
|||
|
DECRITICAL = 10, //爆抗
|
|||
|
STRIKE = 11, //穿透
|
|||
|
DUCTICAL = 12, //韧性
|
|||
|
CRITIADD = 13, //暴击伤害加成
|
|||
|
CRITIMIS = 14, //暴击伤害减免
|
|||
|
INGDEF = 15, //无视防御
|
|||
|
REDUCEDAM = 16, //伤害减免
|
|||
|
MOVESPEED = 17, //移动速度
|
|||
|
ATTACKSPEED = 18, //攻击速度
|
|||
|
CUREAMOUNT = 19, //治疗量
|
|||
|
|
|||
|
CONSTITU = 20, //体质
|
|||
|
MORFIB = 21, //精力
|
|||
|
STRENGTH = 22, //力量
|
|||
|
INTELLENG = 23, //智力
|
|||
|
AGILE = 24, //敏捷
|
|||
|
|
|||
|
DIZZYENHANCE = 25, //眩晕增强
|
|||
|
DIZZYEDEF = 26, //眩晕抗性
|
|||
|
SILENTENHANCE = 27, //沉默增强
|
|||
|
SILENTDEF = 28, //沉默抗性
|
|||
|
IMMOBENHANCE = 29, //定身
|
|||
|
IMMOBDEF = 30, //抗定身
|
|||
|
REPELENHANCE = 31, //击退增强
|
|||
|
REPELDEF = 32, //抗击退
|
|||
|
POLYMORPHENHANCE = 33, //变羊增强
|
|||
|
POLYMORPHDEF = 34, //抗变羊
|
|||
|
HMENHANCE = 35, //昏迷增强
|
|||
|
HMDEF = 36, //抗昏迷
|
|||
|
SMENHANCE = 37, //失明增强
|
|||
|
SMDEF = 38, //抗失明
|
|||
|
SHENHANCE = 39, //石化增强
|
|||
|
SHDEF = 40, //抗石化
|
|||
|
HPRECOV = 41, //回血
|
|||
|
MPRECOV = 42, //回蓝
|
|||
|
ATTACKRATEIGNORE = 43, //攻击时概率忽略防御,数值读其他表
|
|||
|
ATTACKRATEFIXDAM = 44, //攻击时概率造成固定伤害
|
|||
|
ATTACKRATERECOVHP = 45, //攻击时概率回复血量
|
|||
|
ATTACKRATERECOVMP = 46, //攻击时概率回蓝
|
|||
|
|
|||
|
DGDEF, //电抗
|
|||
|
DGIGNDEF, //忽视电抗
|
|||
|
HUOGDEF, //火抗
|
|||
|
HUOGIGNDEF, //忽视火炕
|
|||
|
DUGDEF, //毒抗
|
|||
|
DUGIGNDEF, //忽视毒抗
|
|||
|
BGDEF, //冰抗
|
|||
|
BGIGNDEF, //忽视冰抗
|
|||
|
FGDEF, //风抗
|
|||
|
FGIGNDEF, //忽视风抗
|
|||
|
GGDEF, //光抗
|
|||
|
GGIGNDEF, //忽视光抗
|
|||
|
HUANGDEF, // 抗幻弓
|
|||
|
HUANGIFNDEF, //忽视幻抗
|
|||
|
ALLGDEF, //所有抗属性加
|
|||
|
ALLGINGDEF, //所有抗属性忽视增加
|
|||
|
DAMGRATEADDMONSTER, //对普通怪物伤害加成比率
|
|||
|
DAMGRATEADDPET, //对宠物伤害加成比率
|
|||
|
DAMGRATEADDUSER, //对玩家伤害加成比率
|
|||
|
DAMGRATEADDBOSS = 67, //对boss伤害加成比率
|
|||
|
SKILLLVLADD, //技能等级加成 子id 0表示所有技能,非零表示对应技能
|
|||
|
|
|||
|
VOCDAMAGERATE, //职业伤害加成百分比,玩家对固定职业额外造成百分比伤害 子id表示职业
|
|||
|
VOCDAMAGEREDUECRATE, //职业伤害减免百分比,玩家受到固定职业伤害百分比减免 子id表示职业
|
|||
|
|
|||
|
ATTACKALL = 71, //增加所有攻击力
|
|||
|
DEFALL, //所有防御增加
|
|||
|
ATTACKALLRATE, //所有攻击增加百分比率
|
|||
|
DEFALLRATE, //所有防御增加
|
|||
|
MAXHPRATE, //增加最大血百分比
|
|||
|
MAXMPRATE, // 最大魔增加百分比
|
|||
|
MAXXPRATE, //战意百分比
|
|||
|
PYSATTACKRATE, //物理攻击增加百分比
|
|||
|
MAGATTACKRATE, //魔法攻击增加百分比
|
|||
|
PYSDEFRATE, //物理防御增加百分比
|
|||
|
MAGDEFRATE, //魔法防御增加百分比
|
|||
|
HITRATE, //命中率增加百分比
|
|||
|
DODGERATE, //闪避增加百分比
|
|||
|
CRITICALRATE, //暴击增加百分比
|
|||
|
DECRITICALRATE, //抗爆增加百分比
|
|||
|
STRIKERATE, //穿透百分比
|
|||
|
DUCTICALRATE, //韧性把粉笔
|
|||
|
CRITIADDRATE, //暴击伤害加成百分比
|
|||
|
CRITIMISRATE, //暴击伤害减免百分比
|
|||
|
INGDEFRATE, //无视防御百分比
|
|||
|
REDUCEDAMRATE, //减免伤害百分比
|
|||
|
MOVESPEEDRATE, // 移动速度百分比
|
|||
|
ATTACKSPEEDRATE, //攻击速度百分比
|
|||
|
|
|||
|
CUREAMOUNTRATE, //治疗量增加百分比率
|
|||
|
CONSTITURATE, //体质增加百分比率
|
|||
|
MORFIBRATE, //精力增加百分比率
|
|||
|
STRENGTHRATE, //力量增加百分比率
|
|||
|
INTELLENGRATE, //智力增加百分比率
|
|||
|
AGILERATE, //敏捷增加分比
|
|||
|
|
|||
|
//
|
|||
|
HLDEF, //混乱抗
|
|||
|
HLIGNDEF, //忽视混乱抗
|
|||
|
HLENHANCE, //混乱增强
|
|||
|
|
|||
|
DGATTACK, //点攻
|
|||
|
HUOATTACK, //火攻
|
|||
|
DUGATTACK, //毒攻
|
|||
|
BGATTACK, //冰攻
|
|||
|
FGATTACK, //风攻
|
|||
|
GGATTACK, //光攻
|
|||
|
HUANGATTACK, //幻攻
|
|||
|
|
|||
|
PROPFIX_MAX,
|
|||
|
//};
|
|||
|
|
|||
|
|
|||
|
////enum ObjPropId
|
|||
|
//{
|
|||
|
PROPOBJ_Min = 256,
|
|||
|
STEALTHLEV = PROPOBJ_Min, //隐身级别
|
|||
|
PROPOBJ_Max,
|
|||
|
//};
|
|||
|
|
|||
|
////enum CharactorPropId
|
|||
|
//{
|
|||
|
PROPCHAR_MIN = 288,
|
|||
|
CURHP = PROPCHAR_MIN, //HP
|
|||
|
CURMP, //MP
|
|||
|
CURXP, //XP
|
|||
|
LEVEL, //等级
|
|||
|
|
|||
|
STATE, //状态位 // 1-死亡,2-战斗
|
|||
|
PROP_COUNTTRY, //势力国家
|
|||
|
|
|||
|
FACEDIR, //朝向
|
|||
|
NAME, //名字
|
|||
|
|
|||
|
MAXHPADD, //当前最大血量加成
|
|||
|
MAXHPCAPADD, //最大血量加成
|
|||
|
MAXHPCAP, //最大血量
|
|||
|
CHARACTORPROP_MAX,
|
|||
|
//};
|
|||
|
|
|||
|
////enum UserPropId
|
|||
|
//{
|
|||
|
PROPUSER_MIN = 384,
|
|||
|
PROFESSION = PROPUSER_MIN, //职业
|
|||
|
PROPUSER_EXP, //经验
|
|||
|
MONEY = PROPUSER_EXP + 2, //金钱
|
|||
|
YUANBAO, //元宝
|
|||
|
BIND_YUANBAO, //绑定元宝
|
|||
|
YINLIANG, //银两
|
|||
|
BIND_YINLIANG, //绑银
|
|||
|
ZHENQI, //真气
|
|||
|
COMATSTATE, //战斗状态
|
|||
|
STAMINA, //体能
|
|||
|
CUROFFLINEEXP, //离线经验
|
|||
|
SWORDSMANSCORE, //积分
|
|||
|
REPUTATION, //声望
|
|||
|
MODELVISUALID, //身体模型
|
|||
|
VIPCOST, //玩家VIP等级
|
|||
|
COMBATVALUE, //战力
|
|||
|
BINDINFOFATHER, //绑定信息 父id
|
|||
|
BINDINFOSON, //绑定信息 儿子id,为一个数组
|
|||
|
WEAPONDATAID, //武器id
|
|||
|
WEAPONEFFECTGEM, //武器特效表现的宝石id
|
|||
|
ABILITYLEVEL, //修为等级
|
|||
|
HEADEXP, //迎头经验
|
|||
|
PRIVATEEXP = HEADEXP + 2, //专用经验
|
|||
|
PKVAL = PRIVATEEXP + 2, //PK值
|
|||
|
ACTVAL, //活力值
|
|||
|
LUCKYVAL, //幸运值
|
|||
|
|
|||
|
//新加积分属性
|
|||
|
CHAELLENGESCORE = 413, //门派积分
|
|||
|
GUANNING,
|
|||
|
FIGHTSCORE = 415, //比武积分
|
|||
|
QINGYIZHI = 417, //情义值积分
|
|||
|
SHOUZENG = 418, //受赠积分
|
|||
|
|
|||
|
SNATCHSCORE = 420, //夺宝积分
|
|||
|
PROPUSER_MAX,
|
|||
|
//};
|
|||
|
|
|||
|
//登录数据相关
|
|||
|
LOGINDAYS = 421, // 已登陆天数
|
|||
|
RECHECKNUM = 422, // 补签次数(签到)
|
|||
|
TIMEDOUBLE = 423, // 是否能再领一次[在线时长]0,1
|
|||
|
JADECOST = 424, // 已花费灵玉
|
|||
|
PAYCOUNT = 425, // 已充值数
|
|||
|
|
|||
|
//进阶幻化相关
|
|||
|
ADVANCEMOUNTID = 426, //坐骑幻化ID
|
|||
|
ADVANCEGODWEAPONID = 427, //神兵幻化ID
|
|||
|
ADVANCEWISHID = 428, //暗幻化ID
|
|||
|
ADVANCESEALID = 429, //玉玺幻化ID
|
|||
|
ADVANCEMASKID = 430, //面具幻化ID
|
|||
|
ADVANCECROWNID = 431, //皇冠幻化ID
|
|||
|
|
|||
|
CAPTAINLEVEL = 432, //队长福利等级
|
|||
|
CROSSSERVERSCORE = 434, //跨服声望
|
|||
|
EXPERIMENTSCORE = 435, //试炼副本积分
|
|||
|
BOSSCORE = 436, //boss积分
|
|||
|
|
|||
|
//// 混合属性
|
|||
|
////enum MIXTYPE
|
|||
|
//{
|
|||
|
MIXTYPE_BEGIN = 999, // 开始
|
|||
|
MIXTYPE_ALLATTACK = 1000, // 全攻击
|
|||
|
MIXTYPE_ALLDEF = 1001, // 全防御
|
|||
|
//};
|
|||
|
|
|||
|
|
|||
|
//装备
|
|||
|
EQUIP_XILIAN_NOGEM = 2001,
|
|||
|
EQUIP_XILIAN_GODGIVE = 2002,
|
|||
|
EQUIP_XILIAN_NOREFIT = 2003,
|
|||
|
EQUIP_XILIAN_EQUIPLEVEL = 2004,
|
|||
|
|
|||
|
SKILL_LVL_ADD_1 = 2101,
|
|||
|
SKILL_LVL_ADD_2 = 2102,
|
|||
|
SKILL_LVL_ADD_3 = 2103,
|
|||
|
SKILL_LVL_ADD_4 = 2104,
|
|||
|
SKILL_LVL_ADD_5 = 2105,
|
|||
|
|
|||
|
EQUIP_XILIAN_DURABLE = 2501,
|
|||
|
|
|||
|
|
|||
|
LEVEL_UP_EXP = 8000
|
|||
|
}
|
|||
|
|
|||
|
public static string GetAttrName(PropertyID _PropID)
|
|||
|
{
|
|||
|
var strID = (int) _PropID + 10000;
|
|||
|
var propName = StrDictionary.GetClientDictionaryString("#{" + strID + "}");
|
|||
|
return propName;
|
|||
|
}
|
|||
|
|
|||
|
public static string GetAttrName(PropertyID _PropID, int propSubID, int propValue)
|
|||
|
{
|
|||
|
var strID = (int) _PropID + 10000;
|
|||
|
var propName = StrDictionary.GetClientDictionaryString("#{" + strID + "}");
|
|||
|
if (_PropID == PropertyID.SKILLLVLADD)
|
|||
|
{
|
|||
|
if (propSubID < 0)
|
|||
|
{
|
|||
|
var profName = Utils.GetProfession(-2 - propSubID);
|
|||
|
propName = profName + propName;
|
|||
|
}
|
|||
|
else if (propSubID == 0)
|
|||
|
{
|
|||
|
propName = propName;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var skillbase = TableManager.GetSkillBaseByID(propSubID);
|
|||
|
if (skillbase == null)
|
|||
|
Debug.LogError("SkillBase null:" + propSubID);
|
|||
|
var skillbaseName = skillbase.Name;
|
|||
|
propName = skillbaseName + propName;
|
|||
|
}
|
|||
|
}
|
|||
|
//else if (_PropID == PropertyID.VOCDAMAGERATE
|
|||
|
// || _PropID == PropertyID.VOCDAMAGEREDUECRATE)
|
|||
|
//{
|
|||
|
// propName = StrDictionary.GetClientDictionaryString("#{4742}") + propName;
|
|||
|
//}
|
|||
|
else if (_PropID == PropertyID.ATTACKRATEIGNORE)
|
|||
|
{
|
|||
|
var idx = propSubID + 13000;
|
|||
|
propName = StrDictionary.GetClientDictionaryString("#{" + idx + "}");
|
|||
|
}
|
|||
|
else if (_PropID == PropertyID.ATTACKRATEFIXDAM)
|
|||
|
{
|
|||
|
var idx = propSubID + 13100;
|
|||
|
propName = StrDictionary.GetClientDictionaryString("#{" + idx + "}");
|
|||
|
}
|
|||
|
else if (_PropID == PropertyID.ATTACKRATERECOVHP)
|
|||
|
{
|
|||
|
var idx = propSubID + 13200;
|
|||
|
propName = StrDictionary.GetClientDictionaryString("#{" + idx + "}");
|
|||
|
}
|
|||
|
else if (_PropID == PropertyID.ATTACKRATERECOVMP)
|
|||
|
{
|
|||
|
var idx = propSubID + 13300;
|
|||
|
propName = StrDictionary.GetClientDictionaryString("#{" + idx + "}");
|
|||
|
}
|
|||
|
else if (_PropID == PropertyID.DAMGRATEADDMONSTER)
|
|||
|
{
|
|||
|
var idx = propSubID + 13500;
|
|||
|
propName = StrDictionary.GetClientDictionaryString("#{" + idx + "}");
|
|||
|
}
|
|||
|
else if (_PropID == PropertyID.VOCDAMAGERATE)
|
|||
|
{
|
|||
|
var idx = propSubID + 13600;
|
|||
|
propName = StrDictionary.GetClientDictionaryString("#{" + idx + "}");
|
|||
|
}
|
|||
|
else if (_PropID == PropertyID.VOCDAMAGEREDUECRATE)
|
|||
|
{
|
|||
|
var idx = propSubID + 13700;
|
|||
|
propName = StrDictionary.GetClientDictionaryString("#{" + idx + "}");
|
|||
|
}
|
|||
|
|
|||
|
return propName;
|
|||
|
}
|
|||
|
|
|||
|
public static string GetAttrValue(PropertyID _PropID, int propSubID, int value)
|
|||
|
{
|
|||
|
var propName = GetAttrName(_PropID, propSubID, value);
|
|||
|
if (_PropID == PropertyID.EQUIP_XILIAN_NOGEM
|
|||
|
|| _PropID == PropertyID.EQUIP_XILIAN_GODGIVE
|
|||
|
|| _PropID == PropertyID.EQUIP_XILIAN_NOREFIT
|
|||
|
|| _PropID == PropertyID.SKILL_LVL_ADD_1
|
|||
|
|| _PropID == PropertyID.SKILL_LVL_ADD_2
|
|||
|
|| _PropID == PropertyID.SKILL_LVL_ADD_3
|
|||
|
|| _PropID == PropertyID.SKILL_LVL_ADD_4
|
|||
|
|| _PropID == PropertyID.SKILL_LVL_ADD_5)
|
|||
|
return propName;
|
|||
|
if (_PropID == PropertyID.DAMGRATEADDMONSTER
|
|||
|
|| _PropID == PropertyID.DAMGRATEADDPET
|
|||
|
|| _PropID == PropertyID.DAMGRATEADDUSER
|
|||
|
|| _PropID == PropertyID.DAMGRATEADDBOSS
|
|||
|
|| _PropID == PropertyID.VOCDAMAGERATE
|
|||
|
|| _PropID == PropertyID.VOCDAMAGEREDUECRATE
|
|||
|
|| _PropID == PropertyID.ATTACKALLRATE
|
|||
|
|| _PropID == PropertyID.DEFALLRATE
|
|||
|
|| _PropID == PropertyID.MAXHPRATE
|
|||
|
|| _PropID == PropertyID.MAXMPRATE
|
|||
|
|| _PropID == PropertyID.MAXXPRATE
|
|||
|
|| _PropID == PropertyID.PYSATTACKRATE
|
|||
|
|| _PropID == PropertyID.MAGATTACKRATE
|
|||
|
|| _PropID == PropertyID.PYSDEFRATE
|
|||
|
|| _PropID == PropertyID.MAGDEFRATE
|
|||
|
|| _PropID == PropertyID.HITRATE
|
|||
|
|| _PropID == PropertyID.DODGERATE
|
|||
|
|| _PropID == PropertyID.CRITICALRATE
|
|||
|
|| _PropID == PropertyID.DECRITICALRATE
|
|||
|
|| _PropID == PropertyID.STRIKERATE
|
|||
|
|| _PropID == PropertyID.DUCTICALRATE
|
|||
|
|| _PropID == PropertyID.CRITIADDRATE
|
|||
|
|| _PropID == PropertyID.CRITIMISRATE
|
|||
|
|| _PropID == PropertyID.INGDEFRATE
|
|||
|
|| _PropID == PropertyID.REDUCEDAMRATE
|
|||
|
|| _PropID == PropertyID.MOVESPEEDRATE
|
|||
|
|| _PropID == PropertyID.ATTACKSPEEDRATE
|
|||
|
|| _PropID == PropertyID.CUREAMOUNTRATE
|
|||
|
|| _PropID == PropertyID.CONSTITURATE
|
|||
|
|| _PropID == PropertyID.MORFIBRATE
|
|||
|
|| _PropID == PropertyID.STRENGTHRATE
|
|||
|
|| _PropID == PropertyID.INTELLENGRATE
|
|||
|
|| _PropID == PropertyID.AGILERATE)
|
|||
|
return propName + " +" + value * 0.01 + "%";
|
|||
|
if (_PropID == PropertyID.EQUIP_XILIAN_DURABLE)
|
|||
|
return propName + " " + value + "%";
|
|||
|
if (_PropID == PropertyID.EQUIP_XILIAN_NOGEM
|
|||
|
|| _PropID == PropertyID.EQUIP_XILIAN_GODGIVE
|
|||
|
|| _PropID == PropertyID.EQUIP_XILIAN_NOREFIT
|
|||
|
|| _PropID == PropertyID.ATTACKRATEIGNORE
|
|||
|
|| _PropID == PropertyID.ATTACKRATEFIXDAM
|
|||
|
|| _PropID == PropertyID.ATTACKRATERECOVHP
|
|||
|
|| _PropID == PropertyID.ATTACKRATERECOVMP
|
|||
|
)
|
|||
|
return propName;
|
|||
|
if (_PropID == PropertyID.EQUIP_XILIAN_EQUIPLEVEL)
|
|||
|
////临时代码-------------------------------------------
|
|||
|
//if (propName == GCGame.Table.StrDictionary.GetClientDictionaryString("#{12004}"))
|
|||
|
//{
|
|||
|
// value = 108;
|
|||
|
// return propName + " " + value;
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// return propName + " -" + value;
|
|||
|
//}
|
|||
|
//value = 108;
|
|||
|
//return propName + " " + value;
|
|||
|
//------------------------------------------------------
|
|||
|
return propName + " -" + value;
|
|||
|
return propName + " +" + value;
|
|||
|
}
|
|||
|
|
|||
|
public static float GetAttrValue(int value)
|
|||
|
{
|
|||
|
return value;
|
|||
|
}
|
|||
|
}
|