955 lines
66 KiB
C#
955 lines
66 KiB
C#
using BrewMonster.Assets.PerfectWorld.Scripts.Skills;
|
||
using System.Collections.Generic;
|
||
using System.Text;
|
||
|
||
namespace BrewMonster.Scripts.Skills
|
||
{
|
||
|
||
public static class GNET
|
||
{
|
||
public static readonly Dictionary<int, TeamStateImp> TeamState;
|
||
public static readonly Dictionary<int, VisibleStateImp> VisibleState;
|
||
// [中文] 首次访问 GNET 时由 CLR 调用,无需手动 Init
|
||
// [English] Populated on first access to GNET; no manual Init() required.
|
||
|
||
public static TeamStateImp QueryTeamState(int id) { return TeamState[id]; }
|
||
public static VisibleStateImp QueryVisibleState(int id) { return VisibleState[id]; }
|
||
static GNET()
|
||
{
|
||
var team = new Dictionary<int, TeamStateImp>();
|
||
var visible = new Dictionary<int, VisibleStateImp>();
|
||
visible.Add(1, new VisibleStateImp(1, "强化","属性增强.gfx",""));
|
||
visible.Add(2, new VisibleStateImp(2, "弱化","属性下降.gfx",""));
|
||
visible.Add(3, new VisibleStateImp(3, "反震","物理反震.gfx","HH_Spine"));
|
||
visible.Add(4, new VisibleStateImp(4, "迟滞","迟滞.gfx",""));
|
||
visible.Add(5, new VisibleStateImp(5, "昏迷","震晕.gfx","HH_Head"));
|
||
visible.Add(6, new VisibleStateImp(6, "睡眠","睡眠.gfx",""));
|
||
visible.Add(7, new VisibleStateImp(7, "定身","定身.gfx",""));
|
||
visible.Add(8, new VisibleStateImp(8, "麻痹","封印.gfx",""));
|
||
visible.Add(9, new VisibleStateImp(9, "受诅","特殊不利状态.gfx","HH_Head"));
|
||
visible.Add(10, new VisibleStateImp(10, "雷击","持续金系攻击.gfx","HH_Head"));
|
||
visible.Add(11, new VisibleStateImp(11, "中毒","中毒.gfx","HH_Head"));
|
||
visible.Add(12, new VisibleStateImp(12, "燃烧","持续火攻击.gfx","HH_Head"));
|
||
visible.Add(13, new VisibleStateImp(13, "落石","持续土系伤害.gfx",""));
|
||
visible.Add(14, new VisibleStateImp(14, "放血","放血.gfx","HH_Head"));
|
||
visible.Add(15, new VisibleStateImp(15, "魔力燃烧","魔力燃烧.gfx","HH_Head"));
|
||
visible.Add(16, new VisibleStateImp(16, "霜刃","霜刃状态.gfx","HH_RighthandWeapon"));
|
||
visible.Add(17, new VisibleStateImp(17, "爆气","爆气效果状态.gfx","HH_RighthandWeapon"));
|
||
visible.Add(18, new VisibleStateImp(18, "附火伤","烈焰之矢.gfx","HH_RighthandWeapon"));
|
||
visible.Add(19, new VisibleStateImp(19, "鲜花1","康乃馨环绕.gfx",""));
|
||
visible.Add(20, new VisibleStateImp(20, "鲜花2","百合环绕.gfx",""));
|
||
visible.Add(21, new VisibleStateImp(21, "鲜花3","菊花环绕.gfx",""));
|
||
visible.Add(22, new VisibleStateImp(22, "鲜花4","玫瑰环绕.gfx",""));
|
||
visible.Add(23, new VisibleStateImp(23, "弱魂","弱魂咒状态.gfx","HH_Head"));
|
||
|
||
// 法师特有
|
||
visible.Add(24, new VisibleStateImp(24, "烈焰护甲","烈焰护甲.gfx","HH_Spine"));
|
||
visible.Add(25, new VisibleStateImp(25, "寒冰护甲","寒冰护甲.gfx","HH_Spine"));
|
||
visible.Add(26, new VisibleStateImp(26, "磐石护甲","磐石护甲.gfx","HH_Spine"));
|
||
visible.Add(27, new VisibleStateImp(27, "避水诀","避水诀.gfx","HH_Spine"));
|
||
// 羽灵特有
|
||
visible.Add(28, new VisibleStateImp(28, "羽盾","羽盾.gfx","HH_Spine"));
|
||
// 羽芒特有
|
||
visible.Add(29, new VisibleStateImp(29, "翼盾","翼盾.gfx","HH_Spine"));
|
||
visible.Add(30, new VisibleStateImp(30, "烈焰之矢","烈焰之矢.gfx","HH_LefthandWeapon"));
|
||
// 妖精特有
|
||
visible.Add(31, new VisibleStateImp(31, "荆棘阵","魔法反震.gfx","HH_Spine"));
|
||
visible.Add(32, new VisibleStateImp(32, "妖狐变","妖狐附体状态.gfx","HH_Spine"));
|
||
// 怪物特有
|
||
visible.Add(33, new VisibleStateImp(33, "目盲","主动变被动.gfx",""));
|
||
|
||
visible.Add(34, new VisibleStateImp(34, "封印免疫","封印免疫.gfx",""));
|
||
visible.Add(35, new VisibleStateImp(35, "睡眠免疫","睡眠免疫.gfx",""));
|
||
visible.Add(36, new VisibleStateImp(36, "火系免疫","火系免疫.gfx","HH_Spine"));
|
||
visible.Add(37, new VisibleStateImp(37, "水系免疫","水系免疫.gfx","HH_Spine"));
|
||
visible.Add(38, new VisibleStateImp(38, "金系免疫","金系免疫.gfx","HH_Spine"));
|
||
visible.Add(39, new VisibleStateImp(39, "木系免疫","木系免疫.gfx","HH_Spine"));
|
||
visible.Add(40, new VisibleStateImp(40, "土系免疫","土系免疫.gfx","HH_Spine"));
|
||
|
||
visible.Add(41, new VisibleStateImp(41, "风盾术","风盾术.gfx","HH_Spine"));
|
||
visible.Add(42, new VisibleStateImp(42, "气流锁","气流锁.gfx","HH_Spine"));
|
||
visible.Add(43, new VisibleStateImp(43, "元素虚弱","元素虚弱状态.gfx",""));
|
||
visible.Add(44, new VisibleStateImp(44, "伤害加深免疫","伤害加深免疫.gfx",""));
|
||
visible.Add(45, new VisibleStateImp(45, "冻结 ","冻结.gfx","HH_Spine"));
|
||
visible.Add(46, new VisibleStateImp(46, "真空","真空.gfx","HH_Spine"));
|
||
visible.Add(47, new VisibleStateImp(47, "水火护甲","水火护甲.gfx","HH_Spine"));
|
||
visible.Add(48, new VisibleStateImp(48, "法师之星","法师之星.gfx","HH_Spine"));
|
||
visible.Add(49, new VisibleStateImp(49, "无敌","无敌.gfx","HH_Spine"));
|
||
visible.Add(50, new VisibleStateImp(50, "持续增加元气","持续增加元气.gfx",""));
|
||
|
||
visible.Add(51, new VisibleStateImp(51, "持续降低元气","持续降低元气.gfx",""));
|
||
visible.Add(52, new VisibleStateImp(52, "攻击等级增加","攻击等级增加.gfx",""));
|
||
// visible.Add(53, new VisibleStateImp(53, "防御等级增加", "防御等级增加.gfx", ""));
|
||
visible.Add(54, new VisibleStateImp(54, "吸收物理伤害","吸收物理伤害.gfx","HH_Spine"));
|
||
visible.Add(55, new VisibleStateImp(55, "吸收法术伤害","吸收法术伤害.gfx","HH_Spine"));
|
||
visible.Add(56, new VisibleStateImp(56, "免疫流血","流血免疫.gfx",""));
|
||
visible.Add(57, new VisibleStateImp(57, "坚壁","坚壁.gfx","HH_Spine"));
|
||
visible.Add(58, new VisibleStateImp(58, "遁隐","遁隐.gfx","HH_Spine"));
|
||
visible.Add(59, new VisibleStateImp(59, "反弹","复仇惩戒.gfx","HH_Spine"));
|
||
visible.Add(60, new VisibleStateImp(60, "封印","复仇封印.gfx","HH_Spine"));
|
||
visible.Add(61, new VisibleStateImp(61, "反击","复仇镜像.gfx","HH_Spine"));
|
||
visible.Add(62, new VisibleStateImp(62, "击晕","复仇雷霆.gfx","HH_Spine"));
|
||
visible.Add(63, new VisibleStateImp(63, "反噬","复仇反噬.gfx","HH_Spine"));
|
||
visible.Add(64, new VisibleStateImp(64, "三世明王咒","三世明王咒.gfx","HH_Spine"));
|
||
visible.Add(65, new VisibleStateImp(65, "金刚轮印咒","金刚轮印咒.gfx","HH_Spine"));
|
||
visible.Add(66, new VisibleStateImp(66, "黑巫咒","黑巫咒.gfx","HH_Spine"));
|
||
visible.Add(67, new VisibleStateImp(67, "白巫咒","白巫咒.gfx","HH_Spine"));
|
||
visible.Add(68, new VisibleStateImp(68, "深度冰刺","深度冰刺.gfx","HH_右大臂"));
|
||
visible.Add(69, new VisibleStateImp(69, "玄武剑诀","玄武剑诀.gfx","HH_righthandweapon"));
|
||
visible.Add(70, new VisibleStateImp(70, "饮血剑诀","饮血剑诀.gfx","HH_righthandweapon"));
|
||
visible.Add(71, new VisibleStateImp(71, "磐龙剑诀","磐龙剑诀.gfx","HH_righthandweapon"));
|
||
visible.Add(72, new VisibleStateImp(72, "八方剑影","八方剑影.gfx","HH_Spine"));
|
||
visible.Add(73, new VisibleStateImp(73, "火神","火神.gfx","HH_righthandweapon"));
|
||
visible.Add(74, new VisibleStateImp(74, "毒种","碧云术.gfx","HH_spine"));
|
||
visible.Add(75, new VisibleStateImp(75, "回血种","回风拂柳.gfx","HH_spine"));
|
||
visible.Add(76, new VisibleStateImp(76, "增加木水物防","铁木衫.gfx","HH_spine"));
|
||
visible.Add(77, new VisibleStateImp(77, "特殊的减速","腐蔓咒.gfx","HH_spine"));
|
||
visible.Add(78, new VisibleStateImp(78, "向自己的宠物传输mp","电弧同气连枝.gfx",""));
|
||
visible.Add(79, new VisibleStateImp(79, "加快吟唱增加法攻","风竹秋韵.gfx","HH_spine"));
|
||
visible.Add(80, new VisibleStateImp(80, "增加物防暴击","魔神蚩尤牺牲.gfx","HH_spine"));
|
||
visible.Add(81, new VisibleStateImp(81, "增加法防法攻","金光电母牺牲.gfx","HH_spine"));
|
||
visible.Add(82, new VisibleStateImp(82, "向施放者(宠物)传输伤害","分担伤害.gfx","HH_spine"));
|
||
visible.Add(83, new VisibleStateImp(83, "吸伤害加物法防","护盾.gfx","HH_spine"));
|
||
visible.Add(84, new VisibleStateImp(84, "枯木逢春","枯木逢春.gfx","HH_spine"));
|
||
visible.Add(85, new VisibleStateImp(85, "提升暴击(限制生效次数)","魅灵_灵机.gfx","HH_Spine"));
|
||
visible.Add(86, new VisibleStateImp(86, "九尊剑诀","九尊剑诀.gfx","HH_righthandweapon"));
|
||
visible.Add(87, new VisibleStateImp(87, "修罗道用光效","修罗道_10.gfx","HH_head"));
|
||
visible.Add(88, new VisibleStateImp(88, "修罗道用光效","修罗道_50.gfx","HH_head"));
|
||
visible.Add(89, new VisibleStateImp(89, "修罗道用光效","修罗道_100.gfx","HH_head"));
|
||
visible.Add(90, new VisibleStateImp(90, "修罗道用光效","修罗道_300.gfx","HH_head"));
|
||
visible.Add(91, new VisibleStateImp(91, "位置回溯","法师_静谧之术_状态效果.gfx","HH_Spine"));
|
||
visible.Add(92, new VisibleStateImp(92, "生命回溯","法师_静谧之术2_状态效果.gfx","HH_Spine"));
|
||
visible.Add(93, new VisibleStateImp(93, "强制选择目标","白虎_奋战扫击_持续效果.gfx","HH_Spine"));
|
||
visible.Add(94, new VisibleStateImp(94, "吸收治疗","羽灵_天瀑符持续效果.gfx","HH_Spine"));
|
||
visible.Add(95, new VisibleStateImp(95, "受到普攻后退并清debuff","法师_法之奥义_持续效果.gfx","HH_Spine"));
|
||
visible.Add(96, new VisibleStateImp(96, "降低暴击抗性","羽灵_五感符持续效果.gfx","HH_Spine"));
|
||
visible.Add(97, new VisibleStateImp(97, "转移技能攻击诅咒","巫师_复仇之魂——涅槃_状态效果.gfx","HH_Spine"));
|
||
visible.Add(98, new VisibleStateImp(98, "受到攻击时额外对选定玩家发起攻击","刺客_魂葬印记状态效果.gfx","HH_Spine"));
|
||
visible.Add(99, new VisibleStateImp(99, "禁止被选中","巫师_冥王乐土持续效果.gfx","HH_Spine"));
|
||
visible.Add(100, new VisibleStateImp(100, "延迟土系伤害","持续土系伤害.gfx","HH_Spine"));
|
||
visible.Add(101, new VisibleStateImp(101, "昏迷,自身受到伤害加深","法师_冰晶世界持续效果.gfx","HH_Spine"));
|
||
visible.Add(102, new VisibleStateImp(102, "反弹之魂2(比例)","妖精_灵火持续.gfx",""));
|
||
visible.Add(103, new VisibleStateImp(103, "受伤害时定身","法师_灸焰_状态效果.gfx","HH_Spine"));
|
||
visible.Add(104, new VisibleStateImp(104, "受伤害时提升攻击力","妖兽_无畏_状态效果.gfx","HH_Spine"));
|
||
visible.Add(105, new VisibleStateImp(105, "死战到底","白虎_无冕之王持续效果.gfx","HH_Spine"));
|
||
visible.Add(106, new VisibleStateImp(106, "治疗偷取","魅灵_繁星_持续效果.gfx","HH_Spine"));
|
||
visible.Add(107, new VisibleStateImp(107, "死亡掉落金币","刺客_飘零持续效果.gfx","HH_Spine"));
|
||
visible.Add(108, new VisibleStateImp(108, "增加攻击距离","羽芒_回旋之翼_效果状态.gfx","HH_Spine"));
|
||
visible.Add(109, new VisibleStateImp(109, "无敌5(驱除debuf持续回血昏迷)","巫师_流殇_持续冰块.gfx",""));
|
||
visible.Add(110, new VisibleStateImp(110, "雷神变","羽灵_雷火堕_持续.gfx",""));
|
||
visible.Add(111, new VisibleStateImp(111, "武侠剑刃光环光效","武侠_霸气持续.gfx",""));
|
||
visible.Add(112, new VisibleStateImp(112, "妖精共舞调用","妖精_火狐之术持续.gfx","HH_Spine"));
|
||
visible.Add(113, new VisibleStateImp(113, "法师冰晶世界调用","法师_冰晶世界_冰雾持续.gfx",""));
|
||
visible.Add(114, new VisibleStateImp(114, "战场旗帜光效","旗子.gfx","HH_Head"));
|
||
visible.Add(115, new VisibleStateImp(115, "任务用光效","小狗状态.gfx","HH_feijian"));
|
||
visible.Add(116, new VisibleStateImp(116, "任务用光效","小白蛇状态.gfx","HH_feijian"));
|
||
visible.Add(117, new VisibleStateImp(117, "瘫痪光效","瘫痪.gfx","HH_Head"));
|
||
visible.Add(118, new VisibleStateImp(118, "特定技能吟唱时间降低光效","特定技能吟唱时间降低.gfx","HH_feijian"));
|
||
visible.Add(119, new VisibleStateImp(119, "特定技能伤害增加光效","特定技能伤害增加.gfx","HH_feijian"));
|
||
visible.Add(120, new VisibleStateImp(120, "回血护盾光效","回血护盾.gfx","HH_bind"));
|
||
visible.Add(121, new VisibleStateImp(121, "飞行速度提高(可叠加刷新持续时间)","疾云步击中.gfx","HH_Spine"));
|
||
visible.Add(122, new VisibleStateImp(122, "移动掉血","移动掉血_光效01.gfx","HH_feijian"));
|
||
visible.Add(123, new VisibleStateImp(123, "不移动就掉血","不移动就掉血01.gfx","HH_bind"));
|
||
visible.Add(125, new VisibleStateImp(125, "免疫打断护盾","魔法盾.gfx","HH_Spine"));
|
||
visible.Add(127, new VisibleStateImp(127, "猎命状态","猎命状态效果01.gfx","HH_feijian"));
|
||
visible.Add(128, new VisibleStateImp(128, "1白","月仙_冰球1个.gfx","HH_Spine"));
|
||
visible.Add(129, new VisibleStateImp(129, "2白","月仙_冰球2个.gfx","HH_Spine"));
|
||
visible.Add(130, new VisibleStateImp(130, "3白","月仙_冰球3个.gfx","HH_Spine"));
|
||
visible.Add(131, new VisibleStateImp(131, "1黑","月仙_雷球1个.gfx","HH_Spine"));
|
||
visible.Add(132, new VisibleStateImp(132, "2黑","月仙_雷球2个.gfx","HH_Spine"));
|
||
visible.Add(133, new VisibleStateImp(133, "3黑","月仙_雷球3个.gfx","HH_Spine"));
|
||
visible.Add(134, new VisibleStateImp(134, "1黑1白","月仙_1冰1雷球.gfx","HH_Spine"));
|
||
visible.Add(135, new VisibleStateImp(135, "2黑1白","月仙_1冰2雷.gfx","HH_Spine"));
|
||
visible.Add(136, new VisibleStateImp(136, "2白1黑","月仙_2冰1雷.gfx","HH_Spine"));
|
||
visible.Add(137, new VisibleStateImp(137, "内伤状态","内伤01.gfx","HH_bind"));
|
||
visible.Add(138, new VisibleStateImp(138, "死亡重置施法者冷却","死亡重置施法者冷却时间01.gfx","HH_Spine"));
|
||
visible.Add(139, new VisibleStateImp(139, "普攻附加伤害","普攻附加额外伤害01.gfx","HH_shou03"));
|
||
visible.Add(140, new VisibleStateImp(140, "技能CD改变","夜影_影噬_状态效果01.gfx","HH_feijian"));
|
||
visible.Add(141, new VisibleStateImp(141, "啸月","啸月_施放起01.gfx","HH_feijian"));
|
||
|
||
|
||
team.Add(1, new TeamStateImp(1, "昏迷\r无法进行任何移动和操作", "致晕"));
|
||
team.Add(2, new TeamStateImp(2, "睡眠\r沉睡状态,受攻击会恢复", "睡眠"));
|
||
team.Add(3, new TeamStateImp(3, "迟滞\r降低移动速度", "迟滞"));
|
||
team.Add(4, new TeamStateImp(4, "物理反震\r反弹所有近身物理伤害", "对物理攻击产生反震"));
|
||
team.Add(5, new TeamStateImp(5, "羽盾\r用真气值吸收一部伤害", "羽盾"));
|
||
|
||
team.Add(6, new TeamStateImp(6, "烈焰护甲\r增加火防并提高生命恢复速度", "烈焰护甲"));
|
||
team.Add(7, new TeamStateImp(7, "寒冰护甲\r增加水防并增加法力恢复速度", "寒冰护甲"));
|
||
team.Add(8, new TeamStateImp(8, "定身\r无法移动", "定身"));
|
||
team.Add(9, new TeamStateImp(9, "封印\r无法使用任何普攻和技能", "不能攻击"));
|
||
team.Add(10, new TeamStateImp(10, "魅惑\r目标怪物变成被动攻击", "主动变被动"));
|
||
|
||
team.Add(11, new TeamStateImp(11, "磐石护甲\r增加土防和物防", "磐石护甲"));
|
||
team.Add(12, new TeamStateImp(12, "雷击\r持续受到金系伤害", "持续金系攻击"));
|
||
team.Add(13, new TeamStateImp(13, "中毒\r持续受到木系伤害", "中毒"));
|
||
team.Add(14, new TeamStateImp(14, "燃烧\r持续受到火系伤害", "持续火攻击"));
|
||
team.Add(15, new TeamStateImp(15, "沙漩\r持续受到土系伤害", "持续土系伤害"));
|
||
|
||
team.Add(16, new TeamStateImp(16, "法力燃烧\r真气持续减少", "持续mp减少状态"));
|
||
team.Add(17, new TeamStateImp(17, "流血\r持续受到物理伤害", "放血"));
|
||
team.Add(18, new TeamStateImp(18, "破甲\r物理防御力下降", "物理防御力下降"));
|
||
team.Add(19, new TeamStateImp(19, "虚弱\r法术防御力下降", "五行防御力下降"));
|
||
team.Add(20, new TeamStateImp(20, "蚀刃\r物理攻击力下降", "物理攻击力下降"));
|
||
|
||
team.Add(21, new TeamStateImp(21, "诅咒\r受到伤害提升", "自身受到的物理伤害加倍"));
|
||
team.Add(22, new TeamStateImp(22, "迟缓\r攻击速度减慢", "普通攻击间隔加长"));
|
||
team.Add(23, new TeamStateImp(23, "迟钝\r减慢吟唱", "技能吟唱时间加长"));
|
||
team.Add(24, new TeamStateImp(24, "目盲\r降低准确度", "准确度下降"));
|
||
team.Add(25, new TeamStateImp(25, "笨拙\r躲闪度下降", "躲闪度下降"));
|
||
|
||
team.Add(26, new TeamStateImp(26, "生命恢复加快", "hp恢复加快"));
|
||
team.Add(27, new TeamStateImp(27, "真气恢复加快", "mp恢复加快"));
|
||
team.Add(28, new TeamStateImp(28, "提升生命上限", "提升hp上限"));
|
||
team.Add(29, new TeamStateImp(29, "提升真气上限", "提高mp上限"));
|
||
team.Add(30, new TeamStateImp(30, "坚甲\r物理防御力提高", "物理防御力提高"));
|
||
|
||
team.Add(31, new TeamStateImp(31, "聚神\r法术防御力提高", "法术防御力提高"));
|
||
team.Add(32, new TeamStateImp(32, "利刃\r物理攻击力提高", "物理攻击力提高"));
|
||
team.Add(33, new TeamStateImp(33, "迅捷\r攻击速度加快", "攻击速度加快"));
|
||
team.Add(34, new TeamStateImp(34, "灵敏\r提高躲闪率", "提高躲闪度"));
|
||
team.Add(35, new TeamStateImp(35, "祝福\r受到伤害减少", "自身伤害减半"));
|
||
|
||
team.Add(36, new TeamStateImp(36, "灵巧\r提高准确度", "穿透"));
|
||
team.Add(37, new TeamStateImp(37, "专注\r加快吟唱速度", "加快吟唱"));
|
||
team.Add(38, new TeamStateImp(38, "攻击附加水伤害", "使普通攻击附加水系伤害"));
|
||
team.Add(39, new TeamStateImp(39, "攻击附加火伤害", "使普通攻击附加火系伤害"));
|
||
team.Add(40, new TeamStateImp(40, "攻击附加木伤害", "使普通攻击附近木系伤害"));
|
||
|
||
team.Add(41, new TeamStateImp(41, "持续恢复生命", "持续恢复hp"));
|
||
team.Add(42, new TeamStateImp(42, "持续恢复真气", "持续恢复mp"));
|
||
team.Add(43, new TeamStateImp(43, "散神\r法术攻击力降低", "定身且不能攻击"));
|
||
team.Add(44, new TeamStateImp(44, "移动加速", "加速"));
|
||
team.Add(45, new TeamStateImp(45, "生命上限降低", "hp上限下降"));
|
||
|
||
team.Add(46, new TeamStateImp(46, "灵助\r法术攻击力提高", "法术攻击力提高"));
|
||
team.Add(47, new TeamStateImp(47, "白虎变", "白虎变"));
|
||
team.Add(48, new TeamStateImp(48, "金系防御上升", "金系防御上升"));
|
||
team.Add(49, new TeamStateImp(49, "木系防御上升", "木系防御上升"));
|
||
team.Add(50, new TeamStateImp(50, "水系防御上升", "水系防御上升"));
|
||
|
||
team.Add(51, new TeamStateImp(51, "火系防御上升", "火系防御上升"));
|
||
team.Add(52, new TeamStateImp(52, "土系防御上升", "土系防御上升"));
|
||
team.Add(53, new TeamStateImp(53, "金系防御下降", "金系防御下降"));
|
||
team.Add(54, new TeamStateImp(54, "木系防御下降", "木系防御下降"));
|
||
team.Add(55, new TeamStateImp(55, "水系防御下降", "水系防御下降"));
|
||
|
||
team.Add(56, new TeamStateImp(56, "火系防御下降", "火系防御下降"));
|
||
team.Add(57, new TeamStateImp(57, "土系防御下降", "土系防御下降"));
|
||
team.Add(58, new TeamStateImp(58, "避水诀\r水中不用呼吸,无法使用技能", "避水诀"));
|
||
team.Add(59, new TeamStateImp(59, "般若心经\r所有法术忽略吟唱", "般若心经"));
|
||
team.Add(60, new TeamStateImp(60, "真元爆发\r将全身元气爆发提升自身能力", "真元爆发"));
|
||
team.Add(61, new TeamStateImp(61, "易髓经\r降低自身法防提升物防", "易髓经"));
|
||
team.Add(62, new TeamStateImp(62, "易筋经\r降低自身物防提升法防", "易筋经"));
|
||
team.Add(63, new TeamStateImp(63, "兽王之怒\r受到攻击时增加元气", "兽王之怒"));
|
||
team.Add(64, new TeamStateImp(64, "坚甲\r物理防御力提高", "坚甲符"));
|
||
team.Add(65, new TeamStateImp(65, "金钟罩\r提升物防", "金钟罩"));
|
||
team.Add(66, new TeamStateImp(66, "巨灵神力\r提高物理攻击", "巨灵神力"));
|
||
team.Add(67, new TeamStateImp(67, "化血成魔\r降低生命上限提升命中率", "化血成魔"));
|
||
team.Add(68, new TeamStateImp(68, "灵助\r法术攻击力提高", "灵助符"));
|
||
team.Add(69, new TeamStateImp(69, "翼盾\r吸收一定伤害并回复真气", "翼盾"));
|
||
team.Add(70, new TeamStateImp(70, "烈焰之矢\r攻击附加一定火伤害", "烈焰之矢"));
|
||
team.Add(71, new TeamStateImp(71, "狂雷天鹰\r持续受到金系伤害并减速", "狂雷天鹰"));
|
||
team.Add(72, new TeamStateImp(72, "无视所有行动阻碍状态", "准无敌"));
|
||
team.Add(73, new TeamStateImp(73, "持续冰伤害", "持续冰伤害"));
|
||
team.Add(74, new TeamStateImp(74, "暴击率提升", "爆击率提升"));
|
||
|
||
team.Add(75, new TeamStateImp(75, "妖狐变\r物防、命中提升,真气值下降", "灵狐变"));
|
||
team.Add(76, new TeamStateImp(76, "无敌", "无敌"));
|
||
team.Add(77, new TeamStateImp(77, "荆棘阵\r大量降低伤害,并且反弹物理伤害", "荆棘阵"));
|
||
team.Add(78, new TeamStateImp(78, "弱魂咒\r生命和真气值停止回复", "弱魂咒"));
|
||
team.Add(79, new TeamStateImp(79, "残体咒\r受到加深伤害", "残体咒"));
|
||
team.Add(80, new TeamStateImp(80, "碎灵咒\r受到攻击失去元气", "碎灵咒"));
|
||
team.Add(81, new TeamStateImp(81, "飞花遁影\r移动加速", "妖狐附体"));
|
||
team.Add(82, new TeamStateImp(82, "骑乘加速", "骑乘加速"));
|
||
team.Add(83, new TeamStateImp(83, "物理攻击提高", "物理攻击力提高"));
|
||
|
||
team.Add(91, new TeamStateImp(91, "水免\r免役水系伤害", "水免"));
|
||
team.Add(92, new TeamStateImp(92, "金免\r免疫金系伤害", "金免"));
|
||
team.Add(93, new TeamStateImp(93, "木免\r免疫木系伤害", "木免"));
|
||
team.Add(94, new TeamStateImp(94, "土免\r免疫土系伤害", "土免"));
|
||
team.Add(95, new TeamStateImp(95, "虚无\r免疫五行伤害", "虚无"));
|
||
team.Add(96, new TeamStateImp(96, "狂妄\r免疫所有状态", "狂妄"));
|
||
team.Add(97, new TeamStateImp(97, "水中减速\r游泳减速", "水中减速"));
|
||
team.Add(98, new TeamStateImp(98, "水中加速\r游泳加速", "水中加速"));
|
||
team.Add(99, new TeamStateImp(99, "空中减速\r飞行减速", "空中减速"));
|
||
team.Add(100, new TeamStateImp(100, "空中加速\r飞行加速", "空中加速"));
|
||
|
||
team.Add(101, new TeamStateImp(101, "骑乘减速\r骑乘减速", "骑乘减速"));
|
||
team.Add(102, new TeamStateImp(102, "爆发\r持续增加元气", "爆发"));
|
||
team.Add(103, new TeamStateImp(103, "疲乏\r持续减少元气", "疲乏"));
|
||
team.Add(104, new TeamStateImp(104, "精灵之力\r持续时间内增加小精灵力量", "精灵之力"));
|
||
team.Add(105, new TeamStateImp(105, "精灵之敏\r持续时间内增加小精灵的敏捷", "精灵之敏"));
|
||
|
||
team.Add(106, new TeamStateImp(106, "空刃\r你向敌人释放了空刃,\r自己也同时受到了风的保护。\r增加自身物理防御", "空刃"));
|
||
team.Add(107, new TeamStateImp(107, "元素虚弱\r目标物理防御增加,法术防御降低.", "元素虚弱"));
|
||
team.Add(108, new TeamStateImp(108, "深毒\r目标受伤害增加20%,\r这个效果可以和天火狂龙等技能叠加", "深毒"));
|
||
team.Add(109, new TeamStateImp(109, "扎根\r自身定身同时伤害减少同时反弹伤害", "扎根"));
|
||
team.Add(110, new TeamStateImp(110, "大地守护\r每3秒恢复hp,伤害减少.物理和法术攻击降低", "大地守护"));
|
||
|
||
team.Add(111, new TeamStateImp(111, "狂暴\r目标防御和法术防御降低,同时攻击等级增加", "狂暴"));
|
||
team.Add(112, new TeamStateImp(112, "沙暴\r命中降低,施法速度变慢", "沙暴"));
|
||
team.Add(113, new TeamStateImp(113, "乡情\r生命和真气回复速度增加,移动速度增加", "乡情"));
|
||
team.Add(114, new TeamStateImp(114, "湮灭\r水系防御降低", "湮灭"));
|
||
team.Add(115, new TeamStateImp(115, "幸运\r暴击增加", "幸运"));
|
||
team.Add(116, new TeamStateImp(116, "冲击\r物理防御降低", "冲击"));
|
||
team.Add(117, new TeamStateImp(117, "火花\r火系防御降低", "火花"));
|
||
team.Add(118, new TeamStateImp(118, "心火\r物理和法速攻击速度降低", "心火"));
|
||
team.Add(119, new TeamStateImp(119, "火种\r持续火伤害", "火种"));
|
||
team.Add(120, new TeamStateImp(120, "燃足\r火系防御降低,移动速度降低", "燃足"));
|
||
|
||
team.Add(121, new TeamStateImp(121, "坚壁\r吸收物理和法术伤害,并且降低自身移动速度", "坚壁"));
|
||
team.Add(122, new TeamStateImp(122, "刃切\r金系防御降低", "刃切"));
|
||
team.Add(123, new TeamStateImp(123, "叶舞\r移动速度降低并且流血", "叶舞"));
|
||
team.Add(124, new TeamStateImp(124, "烧焦\r防御等级下降.攻击等级下降,\r移动速度少量增加", "烧焦"));
|
||
team.Add(125, new TeamStateImp(125, "真空\r释放速度变慢,移动速度变慢.受到伤害减少", "真空"));
|
||
|
||
team.Add(126, new TeamStateImp(126, "止血\r免疫流血状态。", "止血"));
|
||
team.Add(127, new TeamStateImp(127, "金刚不坏\r吸收受到的物理伤害", "金刚不坏"));
|
||
team.Add(128, new TeamStateImp(128, "法力无边\r吸收受到法术伤害", "法力无边"));
|
||
team.Add(129, new TeamStateImp(129, "以牙还牙\r反弹受到的法术伤害", "以牙还牙"));
|
||
team.Add(130, new TeamStateImp(130, "风盾术\r受到伤害减少,物理攻击速度和闪避提升", "风盾术"));
|
||
|
||
team.Add(131, new TeamStateImp(131, "气流锁\r目标定身且有几率被封印", "气流锁"));
|
||
team.Add(132, new TeamStateImp(132, "封闭\r封印且物理伤害免疫", "封闭"));
|
||
team.Add(133, new TeamStateImp(133, "无心\r免疫伤害加深状态。", "无心"));
|
||
team.Add(134, new TeamStateImp(134, "冻结\r无法行动", "冻结"));
|
||
team.Add(135, new TeamStateImp(135, "攻击等级增加", "攻击等级增加"));
|
||
|
||
team.Add(136, new TeamStateImp(136, "攻击等级降低", "攻击等级降低"));
|
||
team.Add(137, new TeamStateImp(137, "防御等级增加", "防御等级增加"));
|
||
team.Add(138, new TeamStateImp(138, "防御等级降低", "防御等级降低"));
|
||
|
||
team.Add(139, new TeamStateImp(139, "持续受到土系伤害", "持续土伤害2"));
|
||
team.Add(140, new TeamStateImp(140, "封印\r无法使用任何普攻和技能", "不能攻击2"));
|
||
|
||
team.Add(141, new TeamStateImp(141, "定身\r无法移动", "定身2"));
|
||
team.Add(142, new TeamStateImp(142, "祝福\r受到伤害减少", "物理伤害减少2"));
|
||
team.Add(143, new TeamStateImp(143, "诅咒\r受到伤害提升", "伤害加深2"));
|
||
team.Add(144, new TeamStateImp(144, "提升生命上限", "生命上限增加2"));
|
||
team.Add(145, new TeamStateImp(145, "利刃\r物理攻击力提高", "攻击力增加2"));
|
||
team.Add(146, new TeamStateImp(146, "灵助\r法术攻击力提高", "法术攻击增加2"));
|
||
team.Add(147, new TeamStateImp(147, "专注\r加快吟唱", "吟唱加速2"));
|
||
team.Add(148, new TeamStateImp(148, "移动加速", "移动加速2"));
|
||
team.Add(149, new TeamStateImp(149, "遁隐\r进入遁隐状态", "隐身"));
|
||
team.Add(150, new TeamStateImp(150, "提升反隐等级\r提高反隐等级", "集中精神"));
|
||
team.Add(151, new TeamStateImp(151, "嗜血咒\r每次攻击时,从自身造成的伤害中恢复一定生命。", "吸血光环"));
|
||
team.Add(152, new TeamStateImp(152, "狂狼印\r提高暴击伤害值","暴击伤害"));
|
||
team.Add(153, new TeamStateImp(153, "金刚轮印咒\r被攻击时,有几率闪避攻击技能的伤害。", "伤害闪避"));
|
||
team.Add(154, new TeamStateImp(154, "三世明王咒\r被攻击时,有几率闪避攻击技能的效果。", "状态闪避"));
|
||
team.Add(155, new TeamStateImp(155, "如来天心咒\r免除一次致死打击,并恢复生命", "回光返照"));
|
||
team.Add(156, new TeamStateImp(156, "惩戒\r向攻击者反弹伤害", "反弹之魂"));
|
||
team.Add(157, new TeamStateImp(157, "封印\r使攻击者陷入封印状态", "封印之魂"));
|
||
team.Add(158, new TeamStateImp(158, "镜像\r攻击者同时承受其技能造成的伤害和状态", "反击之魂"));
|
||
team.Add(159, new TeamStateImp(159, "震慑\r将攻击者击晕", "击晕之魂"));
|
||
team.Add(160, new TeamStateImp(160, "生命绽放\r增加由技能和药品获得的生命恢复效果,并减少红符冷却时间", "祝福加深"));
|
||
team.Add(161, new TeamStateImp(161, "生命禁锢\r降低由技能和药品获得的生命恢复效果,并延长红符冷却时间", "祝福削弱"));
|
||
team.Add(162, new TeamStateImp(162, "反噬\r每次普通攻击或施放技能时,都会受到伤害", "使用技能时受伤害"));
|
||
team.Add(163, new TeamStateImp(163, "使用技能时被中断\r使目标每次施放技能时,都会被打断", "爆发"));
|
||
team.Add(164, new TeamStateImp(164, "人鱼变\r变身成人鱼", "魔法盾"));
|
||
team.Add(165, new TeamStateImp(165, "深度冰刺\r降低攻速,提高攻击等级", "冰冻"));
|
||
team.Add(166, new TeamStateImp(166, "巫师咒\r调整攻防等级", "热血"));
|
||
team.Add(167, new TeamStateImp(167, "金刚剑印\r金系及物理系技能伤害产生加成效果", "金刚剑印"));
|
||
team.Add(168, new TeamStateImp(168, "寒潮剑印\r木系及水系技能伤害产生加成效果", "寒潮剑印"));
|
||
team.Add(169, new TeamStateImp(169, "焚心剑印\r土系及火系技能伤害产生加成效果", "焚心剑印"));
|
||
team.Add(170, new TeamStateImp(170, "玄武剑诀\r有效伤害有几率触发“玄武剑眼”", "玄武剑诀"));
|
||
team.Add(171, new TeamStateImp(171, "饮血剑诀\r有效伤害有几率触发“饮血剑眼”", "饮血剑诀"));
|
||
team.Add(172, new TeamStateImp(172, "磐龙剑诀\r有效伤害有几率触发“磐龙剑眼”", "磐龙剑诀"));
|
||
team.Add(173, new TeamStateImp(173, "玄武剑眼\r特定技能激活该剑眼", "玄武剑眼"));
|
||
team.Add(174, new TeamStateImp(174, "饮血剑眼\r特定技能激活该剑眼", "饮血剑眼"));
|
||
team.Add(175, new TeamStateImp(175, "磐龙剑眼\r特定技能激活该剑眼", "磐龙剑眼"));
|
||
team.Add(176, new TeamStateImp(176, "八方剑影\r对周围目标造成伤害", "八方剑影"));
|
||
team.Add(177, new TeamStateImp(177, "毒种\r血量低于50%时触发持续伤害", "碧云咒"));
|
||
team.Add(178, new TeamStateImp(178, "回血种\r受到伤害触发持续回血效果", "回风拂柳"));
|
||
team.Add(179, new TeamStateImp(179, "增加木水物防\r提高木防水防物防”", "铁木衫"));
|
||
team.Add(180, new TeamStateImp(180, "特殊的减速\r减速且受到勾魂摄魄攻击时伤害加深", "腐蔓咒"));
|
||
team.Add(181, new TeamStateImp(181, "增加物防暴击\r提高物理防御,暴击率", "魔神蚩尤牺牲"));
|
||
team.Add(182, new TeamStateImp(182, "增加法防法攻\r提高五行防御,法术攻击力", "金光电母牺牲"));
|
||
team.Add(183, new TeamStateImp(183, "向自己的宠物传输mp\r将本体真气传输给召唤物", "同气连枝"));
|
||
team.Add(184, new TeamStateImp(184, "向施放者(宠物)传输伤害\r施法者将为状态所有者分担伤害", "分担伤害"));
|
||
team.Add(185, new TeamStateImp(185, "吸伤害加物法防\r可吸收一定的伤害且护盾存在时提高防御抗", "护盾"));
|
||
team.Add(186, new TeamStateImp(186, "加快吟唱增加法攻\r提高吟唱速度提高法攻", "风竹秋韵"));
|
||
team.Add(187, new TeamStateImp(187, "渐增的回血\r数值渐增的持续回血", "生命之树"));
|
||
team.Add(188, new TeamStateImp(188, "献祭\r献祭光环", "火神"));
|
||
team.Add(189, new TeamStateImp(189, "枯木逢春\r死亡后立即复活", "枯木逢春"));
|
||
team.Add(190, new TeamStateImp(190, "特殊物品伤害触发器\r受到摄魂咒攻击伤害加强", "勾魂摄魄"));
|
||
team.Add(191, new TeamStateImp(191, "提升暴击(限制生效次数)", "暴击提升"));
|
||
team.Add(192, new TeamStateImp(192, "九尊剑诀\r有几率触发九尊剑眼", "九尊剑诀"));
|
||
team.Add(193, new TeamStateImp(193, "九尊剑眼\r被特殊攻击击中触发效果", "九尊剑眼"));
|
||
team.Add(194, new TeamStateImp(194, "武器失效", "武器失效"));
|
||
team.Add(195, new TeamStateImp(195, "增强技能对npc的伤害\r增加技能对NPC的伤害", "增强点技能对NPC的伤害"));
|
||
team.Add(196, new TeamStateImp(196, "侦测周围隐身玩家\r将周围的隐身单位添加到界面上", "侦查周围隐身的玩家"));
|
||
team.Add(197, new TeamStateImp(197, "侦测周围隐身玩家\r将周围的隐身单位添加到界面上", "侦查周围隐身的玩家"));
|
||
team.Add(198, new TeamStateImp(198, "mp恢复加快2\r场景内mp恢复加快", "场景回蓝"));
|
||
team.Add(199, new TeamStateImp(199, "位置回溯\r若干秒后被传回标记位置", "静谧之术"));
|
||
team.Add(200, new TeamStateImp(200, "生命回溯\r若干秒后血量变回标记血量", "静谧之术2buff"));
|
||
team.Add(201, new TeamStateImp(201, "禁止飞行\r使玩家在一段时间内无法飞行", "兽灵之力buff"));
|
||
team.Add(202, new TeamStateImp(202, "强制选择目标\r使玩家在一段时间内只能选择施法者", "奋战扫击buff"));
|
||
team.Add(203, new TeamStateImp(203, "吸收治疗\r吸收一定量的治疗", "吸收治疗buff"));
|
||
team.Add(204, new TeamStateImp(204, "受到普攻后退并清debuff\r受攻击被弹开", "法之奥义"));
|
||
team.Add(205, new TeamStateImp(205, "增加爆击抗性\r受到致命一击的几率降低", "沙暴buff"));
|
||
team.Add(206, new TeamStateImp(206, "降低爆击抗性\r受到致命一击的几率提高", "羽斩buff"));
|
||
team.Add(207, new TeamStateImp(207, "转移技能攻击诅咒\r将攻击转移给施法者", "复仇之魂buff"));
|
||
team.Add(208, new TeamStateImp(208, "被治疗时额外给选定玩家治疗\r额外治疗", "额外治疗buff"));
|
||
team.Add(209, new TeamStateImp(209, "受到攻击时额外对选定玩家发起攻击\r伤害链接", "葬魂印记buff"));
|
||
team.Add(211, new TeamStateImp(211, "禁止被选中\r使敌人无法直视", "冥王乐土buff"));
|
||
team.Add(212, new TeamStateImp(212, "增强技能对npc的伤害2\r可以和1叠加", "迷色万花buff"));
|
||
team.Add(213, new TeamStateImp(213, "延迟土系伤害\r若干秒后造成土系伤害", "风岩葬buff"));
|
||
team.Add(214, new TeamStateImp(214, "昏迷,自身受到伤害加深\r冰冻光环效果", "冰晶世界"));
|
||
team.Add(215, new TeamStateImp(215, "反弹之魂2(比例)\r荆棘术", "灵火buff"));
|
||
team.Add(216, new TeamStateImp(216, "受伤害时定身\r受到伤害时有一定几率定身", "炙焰"));
|
||
team.Add(217, new TeamStateImp(217, "受伤害时获得元气\r获得元气", "获得元气buff"));
|
||
team.Add(218, new TeamStateImp(218, "受伤害时提升攻击力\r触发实际效果图标", "无畏buff"));
|
||
team.Add(219, new TeamStateImp(219, "受伤害时提升攻击力\r愈战愈勇", "无畏buff"));
|
||
team.Add(220, new TeamStateImp(220, "死战到底\r濒死后无敌且血量上限减少99%", "虎啸buff"));
|
||
team.Add(221, new TeamStateImp(221, "治疗偷取\r治疗被转移到施法者", "流星buff"));
|
||
team.Add(222, new TeamStateImp(222, "死亡掉落金币\r在此状态下被杀死会掉落金币", "飘零buff"));
|
||
team.Add(223, new TeamStateImp(223, "增加攻击距离\r攻击距离提高", "擎天雷鸣buff"));
|
||
team.Add(224, new TeamStateImp(224, "无敌5(驱除debuf持续回血昏迷)\r放逐", "流殇buff"));
|
||
team.Add(225, new TeamStateImp(225, "雷神变\r羽灵变身", "雷火坠buff"));
|
||
team.Add(226, new TeamStateImp(226, "武侠剑刃光环\r剑刃光环图标", "霸气"));
|
||
team.Add(227, new TeamStateImp(227, "妖精共舞\r妖精共舞光效图标", "火狐之术buff"));
|
||
team.Add(229, new TeamStateImp(229, "减少近战普攻伤害\r防御优化 ", "桎梏诀"));
|
||
team.Add(230, new TeamStateImp(230, "全属性提升\r等级奖励 ", "回旋之翼"));
|
||
team.Add(231, new TeamStateImp(231, "非战斗恢复\r非战斗状态恢复hpmp", "玄武刻印buff"));
|
||
team.Add(232, new TeamStateImp(232, "定值提升\r固定值加hpmp上限", "五感符"));
|
||
team.Add(233, new TeamStateImp(233, "自身受到伤害加深(可叠加可刷新)", "旋风斩"));
|
||
team.Add(234, new TeamStateImp(234, "PK无惩罚状态", "战场状态"));
|
||
team.Add(235, new TeamStateImp(235, "法术防御力提高2", "法术防御力提高"));
|
||
team.Add(236, new TeamStateImp(236, "战场旗帜BUFF", "旗帜BUFF"));
|
||
team.Add(237, new TeamStateImp(237, "防御等级降低", "防御等级降低"));
|
||
team.Add(238, new TeamStateImp(238, "增加物法攻防hp", "回旋之翼"));
|
||
team.Add(239, new TeamStateImp(239, "暴击增加", "暴击提升"));
|
||
team.Add(240, new TeamStateImp(240, "提升御魔猎魔等级\r百分比提高对怪物攻防", "暴击提升"));
|
||
team.Add(241, new TeamStateImp(241, "生命值、攻击等级、防御等级提高", "北美国战"));
|
||
team.Add(242, new TeamStateImp(242, "增加攻击等级、防御等级各3点", "GT高级"));
|
||
team.Add(243, new TeamStateImp(243, "增加攻击等级、防御等级各1点", "GT低级"));
|
||
team.Add(244, new TeamStateImp(244, "伤害减免3\r受到来自于玩家的伤害减少", "固若金汤"));
|
||
team.Add(245, new TeamStateImp(245, "攻击时给自己添加状态包", "攻守兼备"));
|
||
team.Add(246, new TeamStateImp(246, "攻击时给目标添加状态包", "乘胜追击"));
|
||
team.Add(247, new TeamStateImp(247, "免疫物理伤害", "物免2"));
|
||
team.Add(248, new TeamStateImp(248, "免疫金系伤害", "金免2"));
|
||
team.Add(249, new TeamStateImp(249, "免疫木系伤害", "木免2"));
|
||
team.Add(250, new TeamStateImp(250, "免疫水系伤害", "水免2"));
|
||
team.Add(251, new TeamStateImp(251, "免疫火系伤害", "火免2"));
|
||
team.Add(252, new TeamStateImp(252, "免疫土系伤害", "土免2"));
|
||
team.Add(253, new TeamStateImp(253, "物理反震\r反弹所有近身物理伤害", "对物理攻击产生反震"));
|
||
team.Add(254, new TeamStateImp(254, "增加攻击等级、防御等级", "热血"));
|
||
team.Add(255, new TeamStateImp(255, "瘫痪", "瘫痪buff"));
|
||
team.Add(256, new TeamStateImp(256, "受到的技能伤害提高", "受到的技能伤害提高buff"));
|
||
team.Add(257, new TeamStateImp(257, "受到的技能暴击率提高", "受到的技能暴击率提高buff"));
|
||
team.Add(258, new TeamStateImp(258, "特定技能吟唱时间降低", "特定技能吟唱时间降低buff"));
|
||
team.Add(259, new TeamStateImp(259, "特定技能伤害增加", "特定技能伤害增加buff"));
|
||
team.Add(260, new TeamStateImp(260, "寒冰护甲2", "寒冰护甲"));
|
||
team.Add(261, new TeamStateImp(261, "烈焰护甲2", "烈焰护甲"));
|
||
team.Add(262, new TeamStateImp(262, "回血护盾", "回血护盾buff"));
|
||
team.Add(263, new TeamStateImp(263, "飞行速度提高(可叠加刷新持续时间)", "准无敌"));
|
||
team.Add(264, new TeamStateImp(264, "气魄值提高", "气魄值提高"));
|
||
team.Add(265, new TeamStateImp(265, "加气魄减暴伤", "暗炎"));
|
||
team.Add(266, new TeamStateImp(266, "移动扣血", "寒宫蟾步"));
|
||
team.Add(267, new TeamStateImp(267, "不移动就掉血", "移动扣血"));
|
||
team.Add(268, new TeamStateImp(268, "不移动就获得技能", "不移动就掉"));
|
||
team.Add(269, new TeamStateImp(269, "免疫打断护盾", "免疫打断护盾"));
|
||
team.Add(270, new TeamStateImp(270, "持续瘫痪", "蚀骨月毒"));
|
||
team.Add(271, new TeamStateImp(271, "内伤", "雷霆万钧"));
|
||
team.Add(272, new TeamStateImp(272, "普攻减伤", "广寒之护"));
|
||
team.Add(273, new TeamStateImp(273, "死亡后重置施法者技能冷却时间", "无情游"));
|
||
team.Add(274, new TeamStateImp(274, "指定技能造成额外技能效果", "月食"));
|
||
team.Add(275, new TeamStateImp(275, "普通攻击附加额外伤害", "狱龙牙"));
|
||
team.Add(276, new TeamStateImp(276, "指定技能使用后不进入冷却", "邈云汉"));
|
||
team.Add(277, new TeamStateImp(277, "猎命", "猎命"));
|
||
team.Add(278, new TeamStateImp(278, "夜影变身", "胧夜影"));
|
||
team.Add(279, new TeamStateImp(279, "月仙变身", "胧月仙"));
|
||
team.Add(280, new TeamStateImp(280, "附加霜雷状态", "霜雷术"));
|
||
team.Add(281, new TeamStateImp(281, "月神之体", "月神之体"));
|
||
team.Add(282, new TeamStateImp(282, "增强技能对npc的伤害3", "月咏"));
|
||
team.Add(283, new TeamStateImp(283, "减少受到的暴击伤害","减少受到的暴击伤害"));
|
||
team.Add(284, new TeamStateImp(284, "物理伤害提高","造成物理伤害提高2"));
|
||
team.Add(285, new TeamStateImp(285, "五行伤害提高","造成法术伤害提高2"));
|
||
team.Add(286, new TeamStateImp(286, "受到的技能伤害提高2", "晓月银光"));
|
||
team.Add(287, new TeamStateImp(287, "冰雷球占位状态包", ""));
|
||
team.Add(288, new TeamStateImp(288, "技能CD改变","影噬"));
|
||
team.Add(289, new TeamStateImp(289, "免疫驱逐","彩云障月"));
|
||
team.Add(290, new TeamStateImp(290, "吟唱附加距离改变","神镰伐桂"));
|
||
team.Add(291, new TeamStateImp(291, "双防提高","祭月礼"));
|
||
team.Add(292, new TeamStateImp(292, "金防降低3","落月击金"));
|
||
team.Add(293, new TeamStateImp(293, "水防降低3","落月击水"));
|
||
team.Add(294, new TeamStateImp(294, "暴击回血回元","贪狼刃"));
|
||
TeamState = team;
|
||
VisibleState = visible;
|
||
}
|
||
}
|
||
public class Range
|
||
{
|
||
/// <summary>0=point 1=line 2=self sphere 3=target sphere 4=cone 5=self</summary>
|
||
public byte type; // 0�� 1�� 2������ 3Ŀ���� 4Բ�� 5����
|
||
|
||
public bool IsPoint() { return type == 0; }
|
||
public bool IsLine() { return type == 1; }
|
||
public bool IsSelfBall() { return type == 2; }
|
||
public bool IsTargetBall() { return type == 3; }
|
||
public bool IsSector() { return type == 4; }
|
||
public bool IsSelf() { return type == 5; }
|
||
public bool NoTarget() { return type == 2 || type == 5; }
|
||
|
||
}
|
||
// ռλ������ // Placeholder Skill class
|
||
public class Skill : ElementSkill
|
||
{
|
||
protected SkillStub stub;
|
||
protected PlayerWrapper player;
|
||
protected uint id;
|
||
protected uint level;
|
||
|
||
Skill(uint i, SkillStub s)
|
||
{
|
||
id = i;
|
||
stub = s;
|
||
player = new PlayerWrapper();
|
||
}
|
||
public static Skill Create(uint id, int n)
|
||
{
|
||
SkillStub stub = SkillStub.GetStub(id);
|
||
if (stub == null)
|
||
return null;
|
||
Skill skill = new Skill(id, stub);
|
||
int max = skill.GetMaxLevel();
|
||
if (n > max)
|
||
skill.SetLevel(max);
|
||
else
|
||
skill.SetLevel(n);
|
||
return skill;
|
||
}
|
||
public override int GetMaxLevel() { return stub.GetMaxLevel(); }
|
||
public override int SetLevel(int l)
|
||
{
|
||
uint tmp = level;
|
||
level = (uint)l;
|
||
return (int)tmp;
|
||
}
|
||
public override int GetItemCost() { return stub.itemcost; }
|
||
public override bool ValidWeapon(int idWeapon) { return stub.ValidWeapon(idWeapon); }
|
||
public override int GetMpCost() { return (int)stub.GetMpcost(this); }
|
||
public override bool IsAllowLand() { return stub.allow_land; }
|
||
public override bool IsAllowWater() { return stub.allow_water; }
|
||
public override bool IsAllowAir() { return stub.allow_air; }
|
||
public override int GetArrowCost() { return stub.arrowcost; }
|
||
public override bool GetNotuseInCombat() { return stub.notuse_in_combat; }
|
||
public override bool IsAutoAttack() { return stub.auto_attack; }
|
||
|
||
public int GetLevel() { return (int)level; }
|
||
public PlayerWrapper GetPlayer()
|
||
{
|
||
return player;
|
||
}
|
||
public override int GetRank() { return stub.rank; }
|
||
public override bool IsInstant() { return stub.time_type == 1; }
|
||
|
||
public override int GetCls()
|
||
{
|
||
return stub.GetCls();
|
||
}
|
||
public override Dictionary<uint, int> GetJunior()
|
||
{
|
||
return stub.is_senior != 0 ? stub.pre_skills : new Dictionary<uint, int>();
|
||
}
|
||
public override int GetRangeType() { return stub.GetRange().type; }
|
||
public override int GetRequiredLevel() { return stub.GetRequiredLevel(this); }
|
||
public override void GetIntroduction(StringBuilder buf, SkillStr table)
|
||
{
|
||
int n = stub.GetIntroduction(this, buf, table.Find((int)stub.id * 10 + 1));
|
||
}
|
||
public override int GetTargetType()
|
||
{
|
||
if (stub.restrict_corpse == 1)
|
||
return 2;
|
||
if (stub.restrict_corpse == 2)
|
||
return 3;
|
||
if (stub.type == (int)skill_type.TYPE_ATTACK || stub.type == (int)skill_type.TYPE_CURSE)
|
||
return 1;
|
||
if (stub.type == (int)skill_type.TYPE_BLESSPET)
|
||
return 4;
|
||
if (stub.GetRange().NoTarget())
|
||
return 0;
|
||
return 1;
|
||
}
|
||
public override int GetComboSkPreSkill() { return stub.combosk_preskill; }
|
||
public override byte GetType() { return stub.type; }
|
||
public override int GetCommonCoolDown() { return stub.commoncooldown; }
|
||
|
||
public override string GetIcon()
|
||
{
|
||
return stub.GetIcon();
|
||
}
|
||
public int GetAbility() { return SkillWrapper.Instance.GetAbility(id); }
|
||
// 检查施放时hp条件 // Check hp condition when casting
|
||
public override bool CheckHpCondition(int hp, int max_hp) { return stub.CheckHpCondition(hp, max_hp); } // TODO: CheckHpCondition is not a member of SkillStub
|
||
public override bool CheckComboSkExtraCondition() { return stub.CheckComboSkExtraCondition(this); }
|
||
public override byte GetAllowForms() { return stub.allow_forms; }
|
||
public override int GetApCost() { return stub.apcost; }
|
||
|
||
public override string GetName() { return stub.GetName(); }
|
||
public override float GetPrayRange(float range, float prayplus)
|
||
{
|
||
player.SetRange(range);
|
||
player.SetPrayrangeplus(prayplus);
|
||
if (stub.type == (int)skill_type.TYPE_ATTACK || stub.type == (int)skill_type.TYPE_CURSE)
|
||
{
|
||
if (stub.auto_attack)
|
||
{
|
||
float r = 0.3f * stub.GetPraydistance(this);
|
||
|
||
if (r >= 1.0)
|
||
return stub.GetPraydistance(this) - 1.0f;
|
||
else
|
||
return (float)0.7 * stub.GetPraydistance(this);
|
||
}
|
||
else
|
||
return stub.GetPraydistance(this);
|
||
}
|
||
if (stub.type == (int)skill_type.TYPE_JUMP)
|
||
return stub.GetPraydistance(this);
|
||
if (stub.GetRange().NoTarget())
|
||
return -1;
|
||
else
|
||
return stub.GetPraydistance(this);
|
||
}
|
||
public override int GetCoolingTime() { return stub.GetCoolingtime(this); }
|
||
public int GetRequiredSp() { return stub.GetRequiredSp(this); }
|
||
public int GetRequiredMoney() { return stub.GetRequiredMoney(this); }
|
||
public override Dictionary<uint, int> GetRequiredSkill() { return stub.pre_skills; }
|
||
public int GetRequiredRealmLevel() { return stub.GetRequiredRealmLevel(this); }
|
||
public int GetMaxability() { return stub.GetMaxAbility(this); }
|
||
public uint GetId() { return id; }
|
||
public int GetComboSkInterval() { return stub.combosk_interval; }
|
||
|
||
// ---- Converted from C++ Skill (missing in original C#) ----
|
||
|
||
/// <summary>Resets stub from registry by id. Returns true if stub is non-null.</summary>
|
||
public bool ReSetStub()
|
||
{
|
||
stub = SkillStub.GetStub(id);
|
||
return stub != null;
|
||
}
|
||
|
||
/// <summary>Gets the skill stub (static data).</summary>
|
||
public SkillStub GetStub() => stub;
|
||
|
||
/// <summary>Perform slot (C++: no-op setter).</summary>
|
||
public void SetPerform(int p) { }
|
||
|
||
/// <summary>Perform slot (C++: always 0).</summary>
|
||
public int GetPerform() => 0;
|
||
|
||
public override int GetShowOrder() => stub.showorder;
|
||
|
||
/// <summary>Random/roll value (C++: always 100).</summary>
|
||
public int GetRand() => 100;
|
||
|
||
public override int GetRequiredBook() => stub.GetRequiredItem(this);
|
||
|
||
/// <summary>Class restriction mask (C++ clslimit).</summary>
|
||
public int GetClsLimit() => stub.clslimit;
|
||
|
||
public override int GetCommonCoolDownTime() => stub.commoncooldowntime;
|
||
|
||
public override bool IsWarmup() => stub.time_type == 3;
|
||
public override bool IsDurative() => stub.time_type == 2;
|
||
public override bool IsMovingSkill() => stub.IsMovingSkill();
|
||
|
||
/// <summary>Cast environment bitmask: 1=land, 2=air, 4=water.</summary>
|
||
public override int GetCastEnv()
|
||
{
|
||
int iRet = 0;
|
||
if (stub.allow_land) iRet += 1;
|
||
if (stub.allow_air) iRet += 2;
|
||
if (stub.allow_water) iRet += 4;
|
||
return iRet;
|
||
}
|
||
|
||
/// <summary>Goblin (cls 258) genius requirements; returns 5-element array or null. Caller must not modify array.</summary>
|
||
public int[] GetRequiredGeniusArray(int idSkill)
|
||
{
|
||
if (stub.cls != 258)
|
||
return null;
|
||
int[] iGenius = new int[5];
|
||
int iLevelReq = GetRequiredLevel() / 100;
|
||
for (int i = 0; i < 5; i++)
|
||
{
|
||
iGenius[4 - i] = iLevelReq % 10;
|
||
iLevelReq /= 10;
|
||
}
|
||
return iGenius;
|
||
}
|
||
|
||
public override int GetExecuteTime() => stub.GetExecutetime(this);
|
||
|
||
/// <summary>Ability fill percent 0..100 for current level (C++ GetAbilityPercent).</summary>
|
||
public int GetAbilityPercent()
|
||
{
|
||
int now = SkillWrapper.Instance.GetAbility(id);
|
||
int max = 0;
|
||
if (level > 0)
|
||
max = GetMaxability();
|
||
int min = 0;
|
||
if (level > 1)
|
||
{
|
||
SetLevel((int)level - 1);
|
||
min = GetMaxability();
|
||
SetLevel((int)level);
|
||
}
|
||
if (max == min)
|
||
return 100;
|
||
return 100 * (now - min) / (max - min);
|
||
}
|
||
|
||
public override string GetEffect() => stub.effect;
|
||
public override byte[] GetElseEffect() => stub.aerial_effect != null ? Encoding.UTF8.GetBytes(stub.aerial_effect) : null;
|
||
public override byte[] GetNativeName() => stub.nativename != null ? Encoding.UTF8.GetBytes(stub.nativename) : null;
|
||
|
||
/// <summary>Native name as string (C++ GetNativeName).</summary>
|
||
public string GetNativeNameString() => stub.nativename;
|
||
}
|
||
public abstract class SkillStub
|
||
{
|
||
public const int MIN_LEVEL = 1;
|
||
public const int MAX_LEVEL = 10;
|
||
|
||
public uint id; // Ψһ���ֱ�ʶ // Unique identifier
|
||
public int cls; // ְҵ // Class/Profession
|
||
public string name; // �������� // Skill name
|
||
public string nativename; // ������ // Native name
|
||
public string icon; // ����ͼ�� // Skill icon
|
||
public int max_level; // �������? // Maximum level
|
||
public byte type; // �������? 1�������� 2�������� 3�����ٻ� 4���� 5���� // Skill type: 1-Normal 2-Special 3-Partner 4-Mount 5-Other
|
||
|
||
// Execute condition
|
||
public bool allow_ride; // ������? // Allow while riding
|
||
public short attr; // ����������, 1������2��3ľ��4ˮ��5��6�� ��ѡһ Ĭ�ϣ������� // Attribute: 1-Metal 2-Earth 3-Wood 4-Water 5-Fire 6-Special (Choose one, default none)
|
||
public int rank; // ���漶�� // Rank
|
||
public int eventflag; // Event flag
|
||
public byte is_senior; // Senior flag
|
||
public bool is_inherent; // �������ܣ�����ѧ������ // Inherent skill, cannot be learned
|
||
public bool is_movingcast; // �ƶ�ʩ�� // Can cast while moving
|
||
public int npcdelay; // NPC delay
|
||
public int showorder; // Display order
|
||
public byte allow_forms; // Allowed forms
|
||
public int apcost; // AP cost
|
||
public int apgain; // AP gain
|
||
public byte doenchant; // Do enchant
|
||
public byte dobless; // Do bless
|
||
public int arrowcost; // Arrow cost
|
||
public Dictionary<uint, int> pre_skills;
|
||
|
||
// Execute condition
|
||
public bool allow_land; // ½����Ч // Effective on land
|
||
public bool allow_air; // ������Ч // Effective in air
|
||
public bool allow_water; // ˮ����Ч // Effective in water
|
||
public bool notuse_in_combat; // ս��״̬������ // Cannot use in combat state
|
||
public int restrict_corpse; // ֻ��ʬ����Ч // Only effective on corpses
|
||
public bool restrict_change; // �Ƿ���Ա��� // Whether can transform
|
||
public bool restrict_attach; // �Ƿ���Ը��� // Whether can possess
|
||
public bool auto_attack; // ʹ�ú��Ƿ��Զ����� // Whether to auto attack after use
|
||
public byte time_type; // ˲������ // Instant cast type
|
||
public byte long_range;
|
||
public byte posdouble; // λ��ѡ�� // Position selection
|
||
public int clslimit; // ְҵ���� // Class restriction
|
||
|
||
public int commoncooldown; // ������ȴmask bit0-4 ������ȴ0-4 bit5-9 ��Ʒ��ȴ0-4
|
||
// Common cooldown mask bit0-4 skill cooldown 0-4 bit5-9 item cooldown 0-4
|
||
public int commoncooldowntime; // ��ȴʱ�䣬��λ���� // Cooldown time in milliseconds
|
||
|
||
public int itemcost; // �ͷ�ʱ������Ʒ >0��Ч // Item cost when casting, effective if >0
|
||
|
||
public GfxMoveMode m_MoveMode = GfxMoveMode.enumLinearMove;
|
||
public GfxTargetMode m_TargetMode = GfxTargetMode.enumHostToTarget;
|
||
public GfxAttackMode m_AttFlyMode = GfxAttackMode.enumAttPoint;
|
||
public GfxAttackMode m_AttHitMode = GfxAttackMode.enumAttPoint;
|
||
public uint m_dwFlyTime = 0;
|
||
public bool m_bTraceTarget = false;
|
||
public uint m_FlyClusterCount = 1;
|
||
public uint m_FlyClusterInterval = 0;
|
||
public uint m_HitClusterCount = 1;
|
||
public uint m_HitClusterInterval = 0;
|
||
public bool m_bOneHit = true;
|
||
public bool m_bFadeOut = false;
|
||
public bool m_bRelScl = true;
|
||
public float m_fDefTarScl = 1.8f;
|
||
|
||
// ������� // Combo related
|
||
public int combosk_preskill;
|
||
public int combosk_interval;
|
||
public int combosk_nobreak;
|
||
|
||
public string effect;
|
||
public string m_szFlyGfxPath = string.Empty;
|
||
public string m_szHitGrndGfxPath = string.Empty;
|
||
public string m_szHitGfxPath = string.Empty;
|
||
public string aerial_effect;
|
||
|
||
public Range range;
|
||
public bool has_stateattack;
|
||
|
||
public List<int> restrict_weapons = new List<int>();
|
||
public static Dictionary<uint, SkillStub> map = new Dictionary<uint, SkillStub>();
|
||
public static Dictionary<uint, SkillStub> GetMap() => map;
|
||
public static Dictionary<uint, List<uint>> comboSkillMap = new Dictionary<uint, List<uint>>();
|
||
public static Dictionary<uint, List<uint>> GetComboSkMap() => comboSkillMap;
|
||
|
||
public static Dictionary<uint, List<uint>> inheritSkillMap = new Dictionary<uint, List<uint>>();
|
||
|
||
/*#if UNITY_EDITOR
|
||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||
private static void OnPlay()
|
||
{
|
||
BMLogger.LogError("SkillStub OnPlay Reset");
|
||
map = new Dictionary<uint, SkillStub>();
|
||
comboSkillMap = new Dictionary<uint, List<uint>>();
|
||
inheritSkillMap = new Dictionary<uint, List<uint>>();
|
||
}
|
||
#endif*/
|
||
public SkillStub(uint i)
|
||
{
|
||
id = i;
|
||
is_inherent = (false);
|
||
is_movingcast = (false);
|
||
itemcost = (0);
|
||
combosk_preskill = (0);
|
||
combosk_interval = (0);
|
||
combosk_nobreak = (0);
|
||
if (GetStub(id) == null)
|
||
{
|
||
GetMap().Add(id, this);
|
||
}
|
||
}
|
||
public static List<uint> GetInherentSkillList(uint cls)
|
||
{
|
||
if (!inheritSkillMap.TryGetValue(cls, out List<uint> list))
|
||
{
|
||
list = new List<uint>();
|
||
inheritSkillMap[cls] = list;
|
||
}
|
||
return list;
|
||
}
|
||
|
||
public static SkillStub GetStub(uint i)
|
||
{
|
||
return GetMap().TryGetValue(i, out var stub) ? stub : null;
|
||
}
|
||
public int GetItemCost() { return itemcost; }
|
||
public static void InitStaticData()
|
||
{
|
||
var map = GetMap();
|
||
var comboMap = GetComboSkMap();
|
||
foreach (var skill in map)
|
||
{
|
||
SkillStub sk = skill.Value;
|
||
if (sk.is_inherent) GetInherentSkillList((uint)sk.cls).Add(sk.id);
|
||
if (sk.combosk_preskill > 0)
|
||
{
|
||
if (!comboMap.TryGetValue((uint)sk.combosk_preskill, out List<uint> comboList))
|
||
{
|
||
comboList = new List<uint>();
|
||
comboMap[(uint)sk.combosk_preskill] = comboList;
|
||
}
|
||
comboList.Add(sk.id);
|
||
}
|
||
}
|
||
}
|
||
|
||
public List<uint> GetPostComboSkill(uint id)
|
||
{
|
||
var m = GetComboSkMap();
|
||
if (m.TryGetValue(id, out var list)) return list;
|
||
return null;
|
||
}
|
||
|
||
// ����Ϊ��C++ת���Ľӿ� // The following methods are converted from C++
|
||
public uint GetId() { return id; }
|
||
public int GetCls() { return cls; }
|
||
public string GetName() { return name; }
|
||
public string GetIcon() { return icon; }
|
||
public int GetMaxLevel() { return max_level; }
|
||
public Range GetRange() { return range; }
|
||
public bool IsMovingSkill() { return is_movingcast; }
|
||
public byte GetType() { return type; } // ����System.Object.GetType // Hide System.Object.GetType
|
||
|
||
// ����ʱ����麯�� // Runtime-related virtual functions
|
||
public virtual int GetCoolingtime(Skill skill) { return 5000; }
|
||
public virtual int GetRequiredSp(Skill skill) { return 0; }
|
||
public virtual int GetRequiredLevel(Skill skill) { return 0; }
|
||
public virtual int GetMaxAbility(Skill skill) { return 0; }
|
||
public virtual int GetRequiredItem(Skill skill) { return 0; }
|
||
public virtual int GetRequiredMoney(Skill skill) { return 0; }
|
||
public virtual int GetRequiredRealmLevel(Skill skill) { return 0; }
|
||
public virtual float GetPraydistance(Skill skill) { return 0f; }
|
||
public virtual float GetMpcost(Skill skill) { return 0f; }
|
||
public virtual int GetExecutetime(Skill skill) { return 1000; }
|
||
public virtual string Getm_szFlyGfxPath() { return m_szFlyGfxPath; }
|
||
public virtual string Getm_szHitGrndGfxPath() { return m_szHitGrndGfxPath; }
|
||
public virtual string Getm_szHitGfxPath() { return m_szHitGfxPath; }
|
||
// 检查hp条件 // Check hp condition
|
||
// 默认返回true,子类可以重写以检查hp百分比范围 // Default returns true, subclasses can override to check hp percentage range
|
||
// 例如:return hp >= max_hp / 100.0f * minPercent && hp <= max_hp / 100.0f * maxPercent;
|
||
public virtual bool CheckHpCondition(int hp, int max_hp) { return true; }
|
||
// 检查连击技能额外条件 // Check combo skill extra condition
|
||
// 默认返回true,子类可以重写以检查连击参数等条件 // Default returns true, subclasses can override to check combo arguments etc.
|
||
// 例如:return skill.GetPlayer().GetComboarg().GetValue(0) == 5;
|
||
public virtual bool CheckComboSkExtraCondition(Skill skill) { return true; }
|
||
public virtual int GetIntroduction(Skill skill, StringBuilder descBuffer, string titleBuffer) { return 0; }
|
||
|
||
// ������Ч�Լ�� // Validate weapon restriction
|
||
public bool ValidWeapon(int weapon)
|
||
{
|
||
if (restrict_weapons != null)
|
||
{
|
||
int i;
|
||
for (i = 0; i < restrict_weapons.Count; i++)
|
||
{
|
||
if (weapon == restrict_weapons[i])
|
||
return true;
|
||
}
|
||
if (i > 0 && i >= restrict_weapons.Count)
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
}
|
||
public class VisibleStateImp : VisibleState
|
||
{
|
||
public int id;
|
||
public string name;
|
||
public string effect;
|
||
public string hh;
|
||
|
||
public VisibleStateImp(int i, string n, string e, string h)
|
||
{
|
||
id = i;
|
||
name = n;
|
||
effect = e;
|
||
hh = h;
|
||
}
|
||
public override int GetID() { return id; }
|
||
public override string GetName() { return name; }
|
||
public override string GetHH() { return hh; }
|
||
public override string GetEffect() { return effect; }
|
||
}
|
||
|
||
public class TeamStateImp : TeamState
|
||
{
|
||
public int id;
|
||
public string name;
|
||
public string icon;
|
||
public TeamStateImp(int i, string n, string c)
|
||
{
|
||
id = i;
|
||
name = n;
|
||
icon = c;
|
||
}
|
||
public override int GetID() { return id; }
|
||
public override string GetName() { return name; }
|
||
public override string GetIcon() { return icon; }
|
||
}
|
||
|
||
}
|