Files
JJBB/Assets/Project/Script/Common/GameDefine/PropId.cs

404 lines
14 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
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;
}
}