示例#1
0
文件: 苦行.cs 项目: helldog7/Rance
        public override void Excute(技能环境 环境)
        {
            var 赋予 = new 赋予()
            {
                Level = Level,
                是否单回合 = false
            };
            环境.施放者.攻击赋予 = 赋予;
            环境.施放者.防御赋予 = 赋予;
            环境.施放者.速度赋予 = 赋予;
            环境.施放者.智力赋予 = 赋予;

            环境.ResultList.Add(new 赋予结果()
            {
                赋予 = 赋予,
                技能 = this,
                Type = "攻击",
                角色1 = 环境.施放者,
                角色2 = 环境.施放者,
            });

            环境.ResultList.Add(new 赋予结果()
            {
                赋予 = 赋予,
                技能 = this,
                Type = "防御",
                角色1 = 环境.施放者,
                角色2 = 环境.施放者,
            });

            环境.ResultList.Add(new 赋予结果()
            {
                赋予 = 赋予,
                技能 = this,
                Type = "速度",
                角色1 = 环境.施放者,
                角色2 = 环境.施放者,
            });

            环境.ResultList.Add(new 赋予结果()
            {
                赋予 = 赋予,
                技能 = this,
                Type = "智力",
                角色1 = 环境.施放者,
                角色2 = 环境.施放者,
            });
        }
示例#2
0
文件: 怒.cs 项目: helldog7/Rance
        public override void Excute(技能环境 环境)
        {
            base.Excute(环境);

            var 赋予 = new 赋予()
            {
                Level = Level,
                是否单回合 = true
            };
            环境.施放者.攻击赋予 = 赋予;

            环境.ResultList.Add(new 赋予结果()
            {
                赋予 = 赋予,
                技能 = this,
                Type = "攻击",
                角色1 = 环境.施放者,
                角色2 = 环境.施放者,
            });
        }
示例#3
0
        public override void Excute(技能环境 环境)
        {
            if (Roll.Hit(50))
            {
                var 赋予 = new 赋予()
                {
                    Level = 2,
                    是否单回合 = false
                };
                环境.施放者.速度赋予 = 赋予;

                环境.ResultList.Add(new 赋予结果()
                {
                    赋予 = 赋予,
                    技能 = this,
                    Type = "速度",
                    角色1 = 环境.施放者,
                    角色2 = 环境.施放者,
                });
            }
        }
示例#4
0
        public override void Excute(角色 角色 ,技能环境 环境)
        {
            if (角色.兵力 * 100 / 角色.最大兵力 < 50)
            {
                var 赋予 = new 赋予()
                {
                    Level = 3,
                    是否单回合 = false
                };
                角色.防御赋予 = 赋予;

                环境.ResultList.Add(new 赋予结果()
                {
                    赋予 = 赋予,
                    技能 = new 团结力(),
                    Type = "防御",
                    角色1 = 角色,
                    角色2 = 角色,
                });
            }
        }
示例#5
0
文件: 阵法.cs 项目: helldog7/Rance
        public override void Excute(技能环境 环境)
        {
            foreach (var 角色 in 环境.战场.己方角色List)
            {
                var 赋予 = new 赋予()
                {
                    Level = 1,
                    是否单回合 = false
                };
                角色.智力赋予 = 赋予;

                环境.ResultList.Add(new 赋予结果()
                {
                    赋予 = 赋予,
                    技能 = this,
                    Type = "智力",
                    角色1 = 环境.施放者,
                    角色2 = 角色,
                });
            }
        }
示例#6
0
        public override void Excute(技能环境 环境)
        {
            List<随机赋予Item> list = new List<随机赋予Item>();
            int maxItem = 环境.战场.己方角色List.Count * 4;
            maxItem = maxItem > 环境.施放者.智 + 2 ?  环境.施放者.智 + 2 : maxItem;
            for (int i = 0; i < maxItem; i++)
            {
                随机赋予Item item = newItem(环境.战场.己方角色List.Count,list);
                list.Add(item);
            }

            foreach (var item in list)
            {
                角色 角色 = 环境.战场.己方角色List[item.角色Index];
                赋予 赋予 = null;
                switch (item.赋予Index)
                {
                    case 0:
                        赋予 = new 赋予()
                        {
                            Level = 1,
                            是否单回合 = false
                        };
                        角色.攻击赋予 = 赋予;

                        环境.ResultList.Add(new 赋予结果()
                        {
                            赋予 = 赋予,
                            技能 = this,
                            Type = "攻击",
                            角色1 = 环境.施放者,
                            角色2 = 角色,
                        });
                        break;
                    case 1:
                        赋予 = new 赋予()
                        {
                            Level = 1,
                            是否单回合 = false
                        };
                        角色.防御赋予 = 赋予;

                        环境.ResultList.Add(new 赋予结果()
                        {
                            赋予 = 赋予,
                            技能 = this,
                            Type = "防御",
                            角色1 = 环境.施放者,
                            角色2 = 角色,
                        });
                        break;
                    case 2:
                        赋予 = new 赋予()
                        {
                            Level = 1,
                            是否单回合 = false
                        };
                        角色.速度赋予 = 赋予;

                        环境.ResultList.Add(new 赋予结果()
                        {
                            赋予 = 赋予,
                            技能 = this,
                            Type = "速度",
                            角色1 = 环境.施放者,
                            角色2 = 角色,
                        });
                        break;
                    case 3:
                        赋予 = new 赋予()
                        {
                            Level = 1,
                            是否单回合 = false
                        };
                        角色.智力赋予 = 赋予;

                        环境.ResultList.Add(new 赋予结果()
                        {
                            赋予 = 赋予,
                            技能 = this,
                            Type = "智力",
                            角色1 = 环境.施放者,
                            角色2 = 角色,
                        });
                        break;
                }
            }
        }
示例#7
0
        public override void Excute(技能环境 环境)
        {
            base.Excute(环境);

            List<int> list = new List<int>();
            int maxItem = 4;
            int value = 环境.施放者.智 / 2;
            maxItem = maxItem > value ? value : maxItem;
            Random r = new Random(DateTime.Now.Millisecond);
            for (int i = 0; i < maxItem; i++)
            {
                int index = r.Next(4);
                while (list.Contains(index))
                    index = r.Next(4);

                list.Add(index);
            }

            foreach (var item in list)
            {
                赋予 赋予 = null;
                switch (item)
                {
                    case 0:
                        赋予 = new 赋予()
                        {
                            Level = Level,
                            是否单回合 = false
                        };
                        环境.目标List[0].攻击赋予 = 赋予;

                        环境.ResultList.Add(new 赋予结果()
                        {
                            赋予 = 赋予,
                            技能 = this,
                            Type = "攻击",
                            角色1 = 环境.施放者,
                            角色2 = 环境.目标List[0],
                        });
                        break;
                    case 1:
                        赋予 = new 赋予()
                        {
                            Level = Level,
                            是否单回合 = false
                        };
                        环境.目标List[0].防御赋予 = 赋予;

                        环境.ResultList.Add(new 赋予结果()
                        {
                            赋予 = 赋予,
                            技能 = this,
                            Type = "防御",
                            角色1 = 环境.施放者,
                            角色2 = 环境.目标List[0],
                        });
                        break;
                    case 2:
                        赋予 = new 赋予()
                        {
                            Level = Level,
                            是否单回合 = false
                        };
                        环境.目标List[0].速度赋予 = 赋予;

                        环境.ResultList.Add(new 赋予结果()
                        {
                            赋予 = 赋予,
                            技能 = this,
                            Type = "速度",
                            角色1 = 环境.施放者,
                            角色2 = 环境.目标List[0],
                        });
                        break;
                    case 3:
                        赋予 = new 赋予()
                        {
                            Level = Level,
                            是否单回合 = false
                        };
                        环境.目标List[0].智力赋予 = 赋予;

                        环境.ResultList.Add(new 赋予结果()
                        {
                            赋予 = 赋予,
                            技能 = this,
                            Type = "智力",
                            角色1 = 环境.施放者,
                            角色2 = 环境.目标List[0],
                        });
                        break;
                }
            }
        }