Files
JJBB/Assets/Project/Script/Common/GameDefine/PropId.cs
2024-08-23 15:49:34 +08:00

404 lines
14 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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