/// <summary>进入战斗</summary> private FightVo NpcChallenge(Int64 userid, Int64 npcid, FightType type) { var fight = new Share.Fight.Fight().GeFight(userid, npcid, type, 0, true); new Share.Fight.Fight().Dispose(); return(fight.Result != ResultType.SUCCESS ? null : fight.Ofight); }
/// <summary>开始战斗 </summary> public int FightStart(Int64 userid, int baseid, FightType fighttype) { var fight = new Share.Fight.Fight().GeFight(userid, baseid, fighttype, 0, false, true); new Share.Fight.Fight().Dispose(); return(fight.Result != ResultType.SUCCESS ? (int)fight.Result : fight.Iswin ? (int)FightResultType.WIN : (int)FightResultType.LOSE); }
/// <summary>得到战斗vo</summary> private FightVo UserChallenge(Int64 userid, Int64 rivalid, FightType type) { var fight = new Share.Fight.Fight().GeFight(userid, rivalid, type, 0, false, true, true); new Share.Fight.Fight().Dispose(); return(fight.Result != ResultType.SUCCESS ? null : fight.Rfight); }
/// <summary> 获取战斗结果 </summary> private Fight GetFightResult(Int64 userid, Int64 rivalid) { var fight = new Share.Fight.Fight().GeFight(userid, rivalid, FightType.BOTH_SIDES, 0, true, false, true); new Share.Fight.Fight().Dispose(); return(fight); }
/// <summary>得到战斗结果</summary> private int NpcChallenge(Int64 userid, Int64 rivalid, FightType type) { var fight = new Share.Fight.Fight().GeFight(userid, rivalid, type, 0, false, true); new Share.Fight.Fight().Dispose(); if (fight.Result != ResultType.SUCCESS) { return(Convert.ToInt32(fight.Result)); } return(fight.Iswin ? (int)FightResultType.WIN : (int)FightResultType.LOSE); }
/// <summary> 获取战斗结果 </summary> private FightVo GetFightResult(Int64 userid, Int64 rivalid, Int64 life, ref Int64 hrut) { var fight = new Share.Fight.Fight().GeFight(userid, rivalid, FightType.SIEGE, life, true, true); new Share.Fight.Fight().Dispose(); if (fight.Result != ResultType.SUCCESS) { return(null); } hrut = fight.Hurt; return(fight.Ofight); }
/// <summary> 进入战斗 </summary> /// <param name="userid"></param> /// <param name="npcid">rivalid 包括npc</param> /// <param name="rolelife"></param> private int NpcChallenge(Int64 userid, int npcid, ref Int64 rolelife) { var fight = new Share.Fight.Fight().GeFight(userid, npcid, FightType.CONTINUOUS, rolelife, false, true); // new Share.Fight.Fight().Dispose(); if (fight.Result != ResultType.SUCCESS) { return(Convert.ToInt32(fight.Result)); } rolelife = fight.PlayHp; return(fight.Iswin ? (int)FightResultType.WIN : (int)FightResultType.LOSE); }
/// <summary> 一夜墨俣--击杀boss</summary> public ASObject CommandStart(TGGSession session, ASObject data) { #if DEBUG XTrace.WriteLine("一夜墨俣:击杀BOSS -{0}——{1}", session.Player.User.player_name, "KILL_BOSS"); #endif var userid = session.Player.User.id; var shotcount = 0; bool iswin; var camp = session.Player.User.player_camp; if (!CheckPoint(camp, userid)) { return(BuildData((int)ResultType.BUILDING_POINT_OUT, null)); //验证坐标 } if (!Variable.Activity.BuildActivity.userGoods.ContainsKey(userid)) { return(BuildData((int)ResultType.BUILDING_NOT_IN, null)); } var ac = Variable.Activity.BuildActivity.userGoods[userid]; var fighttime = ac.FightTime; if (DateTime.Now < fighttime) { return(BuildData((int)ResultType.BUILDING_TIME_OUT, null)); } var bossid = GetBoosId(camp); var bossblood = camp == (int)CampType.East ? Variable.Activity.BuildActivity.WestBoosBlood : Variable.Activity.BuildActivity.EastBoosBlood; if (bossblood <= 0) { return(BuildData((int)ResultType.SUCCESS, null)); } if (!CheckQueue(userid)) { return(BuildData((int)ResultType.BUILDING_TIME_OUT, null)); } var fightvo = new FightVo(); lock (obj) { // Thread.Sleep(5000); //测试数据 var fight = new Share.Fight.Fight().GeFight(userid, bossid, FightType.BUILDING, bossblood, false, true); new Share.Fight.Fight().Dispose(); if (fight.Result != ResultType.SUCCESS) { return(BuildData((int)ResultType.FIGHT_ERROR, null)); } var blood = fight.BoosHp; bossblood = blood; shotcount = fight.ShotCount; iswin = fight.Iswin; fightvo = fight.Ofight; GetBossBlood(camp, bossblood); var fightcost = shotcount * 0.5; ac.FightTime = DateTime.Now.AddSeconds(fightcost); //下一次挑战时间 if (iswin) { new Common().AddFame(Variable.Activity.BuildActivity.KillAddFame, ac); //打赢boss } PushBossBlood(userid, camp == (int)CampType.East ? 2 : 1); //1.东军返回西军Boss血量 2.西军返回东军boss血量 } RemoveQueue(userid); return(BuildData((int)ResultType.SUCCESS, fightvo)); }