private void MakeBeginningCondition() { makeRole = RuntimeData.Instance.Team[0].Clone(); makeRole.HeadPicPath = selectHeadKey; makeMoney = 100; makeItems = new List <Item>(); //makeItems.Add(ItemManager.GetItem("松果")); makeItems.Add(ItemManager.GetItem("小还丹")); makeItems.Add(ItemManager.GetItem("小还丹")); makeItems.Add(ItemManager.GetItem("小还丹")); /* * opts.Add("商人的儿子"); * opts.Add("大草原上长大的孩子"); * opts.Add("名门世家"); * opts.Add("市井流浪的汉子"); * opts.Add("疯子"); */ switch (results[0]) { case 0: //商人的儿子 makeMoney += 5000; makeRole.Attributes["bili"] -= 1; makeItems.Add(ItemManager.GetItem("黑玉断续膏")); makeItems.Add(ItemManager.GetItem("九转熊蛇丸")); makeItems.Add(ItemManager.GetItem("金丝道袍")); makeItems.Add(ItemManager.GetItem("金头箍")); makeRole.Animation = "gongzi_jian"; break; case 1: //大草原上长大的孩子 makeRole.Attributes["shenfa"] += 15; makeRole.Attributes["dingli"] -= 2; makeRole.Attributes["quanzhang"] += 15; makeRole.Talent += "#猎人"; makeRole.Animation = "shaonian_quan"; break; case 2: //名门世家 makeRole.Attributes["fuyuan"] += 3; makeRole.Attributes["bili"] -= 3; makeRole.Attributes["dingli"] += 2; makeRole.Attributes["wuxing"] += 20; makeRole.Attributes["jianfa"] += 2; makeRole.Attributes["gengu"] += 2; makeItems.Add(ItemManager.GetItem("银手镯")); makeMoney += 100; makeRole.Animation = "jianke_cool2"; break; case 3: //市井流浪的汉子 makeRole.Attributes["fuyuan"] -= 5; makeRole.Attributes["bili"] += 12; makeRole.Attributes["daofa"] += 15; makeRole.Attributes["qimen"] += 12; makeItems.Add(ItemManager.GetItem("草帽")); makeRole.Animation = "daoke_shaonian"; makeMoney = 0; break; case 4: //疯子 makeRole.Attributes["wuxing"] += 35; makeRole.Attributes["dingli"] -= 10; makeRole.Attributes["gengu"] -= 10; makeRole.Animation = "fengzi"; makeRole.Talent += "#神经病"; break; case 5: //书香门第 makeRole.Attributes["wuxing"] += 20; makeRole.Attributes["bili"] += 1; makeRole.Attributes["shenfa"] -= 10; makeRole.Attributes["gengu"] -= 5; makeRole.Animation = "duanyu"; break; default: break; } /* * opts.Add("无尽的财宝"); * opts.Add("永恒的爱情"); * opts.Add("坚强的意志"); * opts.Add("自由"); * opts.Add("至高无上的权力"); */ switch (results[1]) { case 0: //无尽的财宝 makeMoney += 1000; break; case 1: //永恒的爱情 makeRole.Attributes["fuyuan"] += 15; break; case 2: //坚强的意志 makeRole.Attributes["dingli"] += 15; break; case 3: //自由 makeRole.Attributes["shenfa"] += 15; break; case 4: //至高无上的权力 makeRole.Talent += "#自我主义"; break; default: break; } /* * opts.Add("调戏妇女"); * opts.Add("欺软怕硬"); * opts.Add("偷奸耍滑"); * opts.Add("切JJ练神功"); * opts.Add("有美女不泡"); */ switch (results[2]) { case 0: //调戏妇女 makeRole.Attributes["dingli"] += 9; break; case 1: //欺软怕硬 makeRole.Attributes["gengu"] += 6; makeRole.Attributes["bili"] += 6; break; case 2: //偷奸耍滑 makeRole.Attributes["wuxing"] += 10; break; case 3: //切JJ练神功 makeRole.Attributes["gengu"] += 10; break; case 4: //有美女不泡 makeRole.Talent += "#好色"; break; default: break; } //opts.Add("拳"); //opts.Add("剑"); //opts.Add("刀"); //opts.Add("暗器"); switch (results[3]) { case 0: //拳 makeRole.Attributes["quanzhang"] += 10; break; case 1: //剑 makeRole.Attributes["jianfa"] += 10; break; case 2: //刀 makeRole.Attributes["daofa"] += 10; break; case 3: //暗器 makeRole.Attributes["qimen"] += 10; break; default: break; } //opts.Add("黄蓉"); //opts.Add("小龙女"); //opts.Add("郭襄"); //opts.Add("梅超风"); //opts.Add("周芷若"); switch (results[4]) { case 0: //黄蓉 makeRole.Attributes["wuxing"] += 5; break; case 1: //小龙女 makeRole.Attributes["dingli"] += 5; break; case 2: //郭襄 makeRole.Attributes["fuyuan"] += 5; makeRole.Attributes["gengu"] += 5; break; case 3: //梅超风 makeRole.Attributes["quanzhang"] += 6; makeRole.Attributes["bili"] += 6; break; case 4: //周芷若 makeRole.Attributes["dingli"] += 10; break; default: break; } //opts.Add("张无忌"); //opts.Add("郭靖"); //opts.Add("杨过"); //opts.Add("令狐冲"); //opts.Add("林平之"); switch (results[5]) { case 0: //张无忌 makeRole.Attributes["wuxing"] += 5; makeRole.Attributes["gengu"] += 10; break; case 1: //郭靖 makeRole.Attributes["wuxing"] -= 10; makeRole.Attributes["fuyuan"] += 15; makeRole.Attributes["bili"] += 5; break; case 2: //杨过 makeRole.Attributes["wuxing"] += 5; makeRole.Attributes["dingli"] += 5; break; case 3: //令狐冲 makeRole.Attributes["wuxing"] += 10; break; case 4: //林平之 makeRole.Attributes["jianfa"] += 10; makeRole.Attributes["dingli"] += 10; break; default: break; } /* * opts.Add("乔峰"); * opts.Add("韦小宝"); * opts.Add("金庸先生"); * opts.Add("东方不败"); * opts.Add("本游戏的作者"); * opts.Add("半瓶神仙醋"); */ switch (results[6]) { case 0: //乔峰 makeRole.Attributes["bili"] += 10; makeRole.Attributes["quanzhang"] += 9; break; case 1: //韦小宝 makeRole.Attributes["fuyuan"] += 30; break; case 2: //金庸先生 makeRole.Attributes["wuxing"] += 13; makeRole.Attributes["jianfa"] += 5; makeRole.Attributes["daofa"] += 5; makeRole.Attributes["quanzhang"] += 5; makeRole.Attributes["qimen"] += 5; break; case 3: //东方不败 InternalSkillInstance sintance = new InternalSkillInstance() { Skill = SkillManager.GetInternalSkill("葵花宝典"), Level = 1, Equipped = false, MaxLevel = 4, Owner = makeRole, Exp = 0, }; makeRole.InternalSkills.Add(sintance); makeItems.Add(ItemManager.GetItem("葵花宝典残章")); makeItems.Add(ItemManager.GetItem("葵花宝典残章")); break; case 4: //本游戏的作者 makeRole.Skills[0].MaxLevel = 10; //解锁野球拳10级 makeRole.InternalSkills[0].Level = 10; //初始10级基本内功 makeRole.InternalSkills[0].MaxLevel = 20; //20级上限 makeRole.Attributes["gengu"] += 10; break; case 5: //半瓶神仙醋 makeItems.Add(ItemManager.GetItem("天王保命丹")); makeItems.Add(ItemManager.GetItem("天王保命丹")); makeItems.Add(ItemManager.GetItem("天王保命丹")); makeItems.Add(ItemManager.GetItem("天王保命丹")); makeItems.Add(ItemManager.GetItem("天王保命丹")); makeItems.Add(ItemManager.GetItem("天王保命丹")); break; default: break; } if (RuntimeData.Instance.Round == 1) { switch (results[7]) { case 0: RuntimeData.Instance.GameMode = "normal"; RuntimeData.Instance.FriendlyFire = false; break; case 1: RuntimeData.Instance.GameMode = "hard"; RuntimeData.Instance.FriendlyFire = true; break; case 2: RuntimeData.Instance.GameMode = "crazy"; RuntimeData.Instance.FriendlyFire = true; break; default: break; } } else { switch (results[7]) { case 0: RuntimeData.Instance.GameMode = "hard"; RuntimeData.Instance.FriendlyFire = true; break; case 1: RuntimeData.Instance.GameMode = "crazy"; RuntimeData.Instance.FriendlyFire = true; break; default: break; } } //根据周目获得一些初始奖励 //MessageBox.Show(RuntimeData.Instance.Round.ToString()); List <string> bonusItems = new List <string>(); List <string> bonusWeapon = new List <string>(); bonusItems.Clear(); bonusWeapon.Clear(); switch (RuntimeData.Instance.Round) { case 1: if (RuntimeData.Instance.GameMode == "normal") { makeItems.Add(ItemManager.GetItem("新手礼包-大蟠桃")); makeItems.Add(ItemManager.GetItem("新手礼包-大蟠桃")); makeItems.Add(ItemManager.GetItem("新手礼包-大蟠桃")); makeItems.Add(ItemManager.GetItem("新手礼包-大蟠桃")); makeItems.Add(ItemManager.GetItem("新手礼包-大蟠桃")); } break; case 2: bonusItems.Add("佛光普照"); bonusItems.Add("百变千幻云雾十三式秘籍"); bonusItems.Add("反两仪刀法"); bonusItems.Add("伏魔杖法"); bonusWeapon.Add("灭仙爪"); bonusWeapon.Add("倚天剑"); bonusWeapon.Add("屠龙刀"); bonusWeapon.Add("打狗棒"); makeItems.Add(ItemManager.GetItem(bonusItems[Tools.GetRandomInt(0, bonusItems.Count) % bonusItems.Count])); makeItems.Add(ItemManager.GetItem(bonusWeapon[Tools.GetRandomInt(0, bonusWeapon.Count) % bonusWeapon.Count])); break; case 3: bonusItems.Add("隔空取物"); bonusItems.Add("妙手仁心"); bonusItems.Add("飞向天际"); bonusItems.Add("血刀"); bonusWeapon.Add("仙丽雅的项链"); bonusWeapon.Add("李延宗的项链"); bonusWeapon.Add("王语嫣的武学概要"); bonusWeapon.Add("神木王鼎"); makeItems.Add(ItemManager.GetItem(bonusItems[Tools.GetRandomInt(0, bonusItems.Count) % bonusItems.Count])); makeItems.Add(ItemManager.GetItem(bonusWeapon[Tools.GetRandomInt(0, bonusWeapon.Count) % bonusWeapon.Count])); break; default: bonusItems.Add("碎裂的怒吼"); bonusItems.Add("沾衣十八跌"); bonusItems.Add("灵心慧质"); bonusItems.Add("不老长春功法"); bonusWeapon.Add("仙丽雅的项链"); bonusWeapon.Add("李延宗的项链"); bonusWeapon.Add("王语嫣的武学概要"); bonusWeapon.Add("神木王鼎"); makeItems.Add(ItemManager.GetItem(bonusItems[Tools.GetRandomInt(0, bonusItems.Count) % bonusItems.Count])); makeItems.Add(ItemManager.GetItem(bonusWeapon[Tools.GetRandomInt(0, bonusWeapon.Count) % bonusWeapon.Count])); break; } //根据通过试炼角色数量调整奖励 string[] roles = RuntimeData.Instance.TrialRoles.Split(new char[] { '#' }); int trailNumber = roles.Length; List <string> makeTrailBonusItem = new List <string>(); if (trailNumber < 3) { } else if (trailNumber >= 3 && trailNumber < 6) { makeItems.Add(ItemManager.GetItem("王母蟠桃").Clone()); makeItems.Add(ItemManager.GetItem("道家仙丹").Clone()); } else if (trailNumber >= 6 && trailNumber < 9) { makeItems.Add(ItemManager.GetItem("灵心慧质").Clone()); makeItems.Add(ItemManager.GetItem("妙手仁心").Clone()); } else if (trailNumber >= 9 && trailNumber < 12) { makeItems.Add(ItemManager.GetItem("素心神剑心得").Clone()); makeItems.Add(ItemManager.GetItem("太极心得手抄本").Clone()); makeItems.Add(ItemManager.GetItem("乾坤大挪移心法").Clone()); } else if (trailNumber >= 12 && trailNumber < 15) { makeItems.Add(ItemManager.GetItem("沾衣十八跌").Clone()); makeItems.Add(ItemManager.GetItem("易筋经").Clone()); makeItems.Add(ItemManager.GetItem("厚黑学").Clone()); } else if (trailNumber >= 15 && trailNumber < 20) { makeItems.Add(ItemManager.GetItem("武穆遗书").Clone()); makeItems.Add(ItemManager.GetItem("笑傲江湖曲").Clone()); } else if (trailNumber >= 20) { makeItems.Add(ItemManager.GetItem("真葵花宝典").Clone()); } }
public void Show(Role role, bool isList = false) { lock (this) { _isList = isList; if (isList == false) //只显示一个,战斗中 { this.EquipChangable = false; SetAddPointButtonVisiable(false); } else { this.EquipChangable = true; SetAddPointButtonVisiable(role.LeftPoint > 0); } this.currentRole = role; this.bili.Text = role.GetAttributeString("bili"); this.wuxing.Text = role.GetAttributeString("wuxing"); this.fuyuan.Text = role.GetAttributeString("fuyuan"); this.gengu.Text = role.GetAttributeString("gengu"); this.dingli.Text = role.GetAttributeString("dingli"); this.shenfa.Text = role.GetAttributeString("shenfa"); this.detailPanel.Show(role); this.leftpoint.Text = role.LeftPoint.ToString(); this.quanzhang.Width = 143 * (role.AttributesFinal["quanzhang"] / (float)CommonSettings.MAX_ATTRIBUTE); this.jian.Width = 143 * (role.AttributesFinal["jianfa"] / (float)CommonSettings.MAX_ATTRIBUTE); this.dao.Width = 143 * (role.AttributesFinal["daofa"] / (float)CommonSettings.MAX_ATTRIBUTE); this.qimen.Width = 143 * (role.AttributesFinal["qimen"] / (float)CommonSettings.MAX_ATTRIBUTE); this.quanzhangText.Text = role.GetAttributeString("quanzhang"); this.jianfaText.Text = role.GetAttributeString("jianfa"); this.daofaText.Text = role.GetAttributeString("daofa"); this.qimenText.Text = role.GetAttributeString("qimen"); this.attackText.Text = string.Format("{0}", (int)(role.Attack * 10)); this.defenceText.Text = string.Format("{0}", (int)(role.Defence * 10)); this.criticalText.Text = string.Format("{0}%", (int)(role.Critical * 100)); this.skills.Children.Clear(); foreach (var s in role.SpecialSkills) { TextBlock textBlock = new TextBlock() { Text = string.Format("{0}", s.Skill.Name), Foreground = new SolidColorBrush() { Color = Colors.Cyan }, Tag = s.DetailInfo, FontFamily = new FontFamily("SimHei") }; ToolTipService.SetToolTip(textBlock, s.GenerateToolTip()); this.skills.Children.Add(textBlock); } foreach (var s in role.Skills) { TextBlock textBlock = new TextBlock() { Text = string.Format("{0} {1} {2}", s.Skill.Name, s.Level, s.IsUsed ? "√" : ""), Foreground = new SolidColorBrush() { Color = Colors.White }, Tag = s.DetailInfo, FontFamily = new FontFamily("SimHei") }; RichTextBox rt = s.GenerateToolTip(); ToolTipService.SetToolTip(textBlock, rt); if (isList) { (rt.Blocks[0] as Paragraph).Inlines.Add(new LineBreak()); (rt.Blocks[0] as Paragraph).Inlines.Add(new LineBreak()); (rt.Blocks[0] as Paragraph).Inlines.Add(new Run() { Text = "(鼠标左键点击启用/禁用该武功)", FontFamily = new FontFamily("SimHei") }); SkillInstance skillInstance = s; textBlock.MouseLeftButtonUp += (ss, e) => { skillInstance.IsUsed = !skillInstance.IsUsed; AudioManager.PlayEffect(ResourceManager.Get("音效.装备")); this.Dispatcher.BeginInvoke(() => this.Refresh()); }; } //textBlock.MouseEnter += showSkillInfo; //textBlock.MouseLeave += hideSkillInfo; this.skills.Children.Add(textBlock); foreach (var us in s.UniqueSkillInstances) { if (s.Level < us.Skill.RequireLevel) { continue; } TextBlock textBlockTmp = new TextBlock() { Text = string.Format("绝招 {0}", us.Skill.Name), Foreground = new SolidColorBrush() { Color = Colors.Red }, Tag = us.DetailInfo, FontFamily = new FontFamily("SimHei") }; ToolTipService.SetToolTip(textBlockTmp, us.GenerateToolTip()); //textBlockTmp.MouseEnter += showSkillInfo; //textBlockTmp.MouseLeave += hideSkillInfo; this.skills.Children.Add(textBlockTmp); } } foreach (var s in role.InternalSkills) { TextBlock textBlock = new TextBlock() { Text = string.Format("{0} {1} {2}", s.Skill.Name, s.Level, s.Equipped ? "√" : ""), Foreground = new SolidColorBrush() { Color = Colors.Yellow }, Tag = s.GenerateToolTip(), FontFamily = new FontFamily("SimHei") }; if (isList) { if (s != role.GetEquippedInternalSkill()) { RichTextBox rt = textBlock.Tag as RichTextBox; (rt.Blocks[0] as Paragraph).Inlines.Add(new LineBreak()); (rt.Blocks[0] as Paragraph).Inlines.Add(new LineBreak()); (rt.Blocks[0] as Paragraph).Inlines.Add(new Run() { Text = "(鼠标左键点击切换到该内功)", FontFamily = new FontFamily("SimHei") }); } InternalSkillInstance instance = s; textBlock.MouseLeftButtonUp += (ss, e) => { role.EquipInternalSkill(instance); AudioManager.PlayEffect(ResourceManager.Get("音效.装备")); this.Dispatcher.BeginInvoke(() => this.Refresh()); }; } else { //if (s != role.GetEquippedInternalSkill()) // textBlock.Tag += "\n\n战斗时不允许切换内功"; } ToolTipService.SetToolTip(textBlock, textBlock.Tag); //textBlock.MouseEnter += showSkillInfo; //textBlock.MouseLeave += hideSkillInfo; this.skills.Children.Add(textBlock); foreach (var us in s.UniqueSkillInstances) { if (s.Level < us.Skill.RequireLevel) { continue; } TextBlock textBlockTmp = new TextBlock() { Text = string.Format("绝招 {0}", us.Skill.Name), Foreground = new SolidColorBrush() { Color = Colors.Red }, Tag = us.GenerateToolTip(), FontFamily = new FontFamily("SimHei") }; //textBlockTmp.MouseEnter += showSkillInfo; //textBlockTmp.MouseLeave += hideSkillInfo; this.skills.Children.Add(textBlockTmp); ToolTipService.SetToolTip(textBlockTmp, textBlockTmp.Tag); } } this.wuqi.Reset(); this.fangju.Reset(); this.teshu.Reset(); this.jingshu.Reset(); if (role.Equipment[(int)ItemType.Weapon] != null) { this.wuqi.BindItem(role.Equipment[(int)ItemType.Weapon]); } if (role.Equipment[(int)ItemType.Armor] != null) { this.fangju.BindItem(role.Equipment[(int)ItemType.Armor]); } if (role.Equipment[(int)ItemType.Accessories] != null) { this.teshu.BindItem(role.Equipment[(int)ItemType.Accessories]); } if (role.Equipment[(int)ItemType.Book] != null) { this.jingshu.BindItem(role.Equipment[(int)ItemType.Book]); } this.exp.Text = string.Format("{0}/{1}", role.Exp, role.LevelupExp); if (role.Level >= CommonSettings.MAX_LEVEL) { this.exp.Text = "-/-"; } this.level.Text = role.Level.ToString(); //天赋栏 talentPanel.Children.Clear(); //天赋 foreach (var t in role.Talents) { TextBlock tb = new TextBlock() { Text = t, Foreground = new SolidColorBrush(Colors.Yellow), FontFamily = new FontFamily("SimHei") }; string tmp = Talent.GetTalentInfo(t); ToolTipService.SetToolTip(tb, tmp); talentPanel.Children.Add(tb); } //装备天赋 foreach (var t in role.EquipmentTalents) { TextBlock tb = new TextBlock() { Text = t, Foreground = new SolidColorBrush(Colors.Red), FontFamily = new FontFamily("SimHei") }; string tmp = Talent.GetTalentInfo(t, false); ToolTipService.SetToolTip(tb, tmp); talentPanel.Children.Add(tb); } //内功天赋 foreach (var t in role.InternalTalents) { TextBlock tb = new TextBlock() { Text = t, Foreground = new SolidColorBrush(Colors.Purple), FontFamily = new FontFamily("SimHei") }; string tmp = Talent.GetTalentInfo(t, false); ToolTipService.SetToolTip(tb, tmp); talentPanel.Children.Add(tb); } //人物介绍 if (ResourceManager.ResourceMap.ContainsKey("人物." + role.Name)) { string roleInfoText = ResourceManager.Get("人物." + role.Name); roleInfoTextBox.Text = roleInfoText; roleInfo.Visibility = System.Windows.Visibility.Visible; roleInfo.Text = "人物百科:" + role.Name; } else { roleInfo.Visibility = System.Windows.Visibility.Collapsed; } roleInfoCanvas.Visibility = System.Windows.Visibility.Collapsed; //this.spiritImage.Source = RoleManager.GetAnimationTempalte(role.Animation).Images[Spirit.SpiritStatus.Standing][0]; this.spiritImage.Source = role.GetAnimation("stand")[0].Image; //武学常识 int totalWuxueCost = role.GetTotalWuxueCost(); string wuxueInfo = string.Format("{0}/{1}", totalWuxueCost, role.Attributes["wuxue"]); this.WuxueTextBlock.Text = wuxueInfo; this.Visibility = System.Windows.Visibility.Visible; } }