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;
|
||
}
|
||
} |