public void ParseEntry(String[] raw) { Comment = CsvParser.String(raw[0]); Id = CsvParser.Int32(raw[1]); BattleStatus result = 0; for (Int32 index = 2; index < raw.Length; index++) { String value = raw[index]; if (String.IsNullOrEmpty(value)) { continue; } Int32 number = (Int32)CsvParser.EnumValue <BattleStatusNumber>(value); if (number == 0) { continue; } result |= (BattleStatus)(1 << checked (number - 1)); } Value = result; }
/// <summary> /// Used interally to see if the HP/SP doesn't overlap their max boundaries. /// </summary> /// <param name="character"></param> public static void CharacterCheckCapacities(Character character) { BattleStatus status = character._status; status.CurrentSp = (status.CurrentSp > (int)status.MaxSP) ? (ushort)status.MaxSP : status.CurrentSp; status.CurrentHp = (status.CurrentHp > (int)status.MaxHP) ? (ushort)status.MaxHP : status.CurrentHp; }
public Single RateTarget() { if (!_v.Target.CanBeRevived()) { return(0); } if (_v.Target.IsZombie) { _v.MagicAccuracy(); Single hitRate = BattleScriptAccuracyEstimate.RatePlayerAttackHit(_v.Context.HitRate); Single evaRate = BattleScriptAccuracyEstimate.RatePlayerAttackEvade(_v.Context.Evade); Single result = BattleScriptStatusEstimate.RateStatus(BattleStatus.Death) * hitRate * evaRate; if (!_v.Target.IsPlayer) { result *= -1; } return(result); } if (!_v.Target.IsPlayer) { return(0); } BattleStatus playerStatus = _v.Target.CurrentStatus; BattleStatus removeStatus = _v.Command.AbilityStatus; BattleStatus removedStatus = playerStatus & removeStatus; Int32 rating = BattleScriptStatusEstimate.RateStatuses(removedStatus); return(-1 * rating); }
public void BeginBattle(List <BattlePlayerInfo> players) { _players = players; _increaseID = 0; _continueKill = 0; _isContinueKill = false; _allUnits = new List <UnitInfo>(); MainUI.Instance.ShowPanel <BattlePanel>(); _battleProgress = new List <BattleProgressData>(); GeneratePlayer(); _battleProgress.Add(new BattleProgressData() { Uid = _player.UnitInfo.Uid }); for (int i = 0; i < players.Count; i++) { var player = players[i]; Debug.Log("AI:" + player.Uid); GenerateAI(_aiPlayers[i], player.NickName, player.Uid, player.Level, 0); _battleProgress.Add(new BattleProgressData() { Uid = player.Uid, Index = (10 - i) }); } _foodMgr = GetComponent <GenerateFood>(); FoodMgr.GenerateFoods(); _status = BattleStatus.Game; _elapsedTime = 0; }
void Awake () { GameManager.getGameManager().addResetter(this); r_HP = HP; r_FireRate = FireRate; r_Damage = Damage; r_Ammo = Ammo; r_Speed = Speed; r_Attdist = Attdist; // Angriffsdistanz r_Sightdist = Sightdist; // Sichtweite r_Target = Target; r_steeringtype = steeringtype; r_BulletPrefab = BulletPrefab; r_lastFireTime = lastFireTime; r_myBattleStatus = myBattleStatus; r_pastBattleStatus = pastBattleStatus; r_position = this.rigidbody2D.position; r_dreh = this.rigidbody2D.rotation; }
void FixedUpdate() { if (battleStatus == BattleStatus.NO_BATTLE && mainRpgcontroller.mainRpgStatus == MainRpgStatus.BATTLE) { battleStatus = BattleStatus.START; } }
public TransmissionReceivedArgs(Point target, int shotId, BattleStatus shotResultStatus, Color team) { Target = target; ShotId = shotId; ShotResultStatus = shotResultStatus; Team = team; }
private void onUseCoinsToContinue(int coinsToContinue) { PlayerInfo.Coins -= coinsToContinue; Player.Health.SetAmount(Player.Health.MaxAmount); Timer.Initialize(BattleInfo.BattleTime); _battleStatus = BattleStatus.Running; }
public Battle() { if (story == null) { this.story = App.Story; this.hero = story.Hero; currentStatus = null; } InitializeComponent(); buttons = new Dictionary<Type, Button>() { {typeof (Rock), RockButton}, {typeof (Paper), PaperButton}, {typeof (Scissors), ScissorsButton}, }; foreach (var button in buttons.Values) { button.Visibility = Visibility.Collapsed; } returnToNavi.Visibility = Visibility.Collapsed; RunBattle(); }
public void PrintBattleStatus(BattleStatus status, BattleTypers typers) { _output.WriteLine(new string('-', Width)); _output.WriteLine(); if (typers.SelectedPlayerId == status.Player.PlayerId) { Console.ForegroundColor = ConsoleColor.Green; } _output.Write($"{(status.Player.IsVotedToStop ? "(stop) " : string.Empty)}{status.Player.Name} [ {status.Player.Hp} / {status.Player.MaxHp} ] "); Console.ForegroundColor = ConsoleColor.Gray; _output.WriteLine(typers.GetPlayerTyper(status.Player.PlayerId)); _output.WriteLine(); foreach (var player in status.BattleNeighbors) { if (typers.SelectedPlayerId == player.PlayerId) { Console.ForegroundColor = ConsoleColor.Green; } _output.Write($"{(player.IsVotedToStop ? "(stop) " : string.Empty)}{player.Name} [ {player.Hp} / {player.MaxHp} ] "); Console.ForegroundColor = ConsoleColor.Gray; _output.WriteLine(typers.GetPlayerTyper(player.PlayerId)); _output.WriteLine(); } _output.WriteLine(new string('-', Width)); _output.WriteLine(); foreach (var skillId in status.SkillIds) { var skill = Data.Data.GetSkill(skillId); if (typers.SelectedSkillId == skillId) { Console.ForegroundColor = ConsoleColor.Green; } _output.Write($"{skill.Name} "); if (typers.SelectedSkillId == skillId) { Console.ForegroundColor = ConsoleColor.Gray; } _output.Write(typers.GetSkillTyper(skill.SkillId)); _output.WriteLine(); _output.WriteLine(); } _output.WriteLine(new string('-', Width)); _output.WriteLine(); _output.Write("Stop - "); _output.WriteLine(typers.StopTyper); }
/// <summary> /// 设置状态状态。 /// </summary> /// <param name="Status"></param> public static void SetBattleStatus(BattleStatus Status, object Param = null) { if (g_BattleStatus != Status) { g_BattleStatus = Status; if (Status == BattleStatus.Init) { Init(); } else if (Status == BattleStatus.Ready) { Ready(); } else if (Status == BattleStatus.RoundStart) { Node.StartCoroutine(RoundStart(1.0f)); } else if (Status == BattleStatus.Round_FireBall) { RoundFireBall(Param); } else if (Status == BattleStatus.RoundFinish) { RoundFinish(); } else if (Status == BattleStatus.RoundInterval) { Node.StartCoroutine(RoundInterval(3.0f)); } } }
public void OnGet() { BattleStatus.PrepareBattle(_ctx); Hero = BattleStatus.Hero; Enemies = BattleStatus.Enemies; BattleLog = BattleStatus.BattleLog; }
private void TurnEnded() { if (WinCheck()) { return; } // Verified: Effects before Reflect/LightScreen/LuckyChant DoTurnEndedEffects(); if (WinCheck()) { return; } // Reflect/Light Screen/Lucky Chant/Trick Room are removed in the order they were added, but who cares foreach (PBETeam team in Teams) { if (team.TeamStatus.HasFlag(PBETeamStatus.Reflect)) { team.ReflectCount--; if (team.ReflectCount == 0) { team.TeamStatus &= ~PBETeamStatus.Reflect; BroadcastTeamStatus(team, PBETeamStatus.Reflect, PBETeamStatusAction.Ended); } } if (team.TeamStatus.HasFlag(PBETeamStatus.LightScreen)) { team.LightScreenCount--; if (team.LightScreenCount == 0) { team.TeamStatus &= ~PBETeamStatus.LightScreen; BroadcastTeamStatus(team, PBETeamStatus.LightScreen, PBETeamStatusAction.Ended); } } if (team.TeamStatus.HasFlag(PBETeamStatus.LuckyChant)) { team.LuckyChantCount--; if (team.LuckyChantCount == 0) { team.TeamStatus &= ~PBETeamStatus.LuckyChant; BroadcastTeamStatus(team, PBETeamStatus.LuckyChant, PBETeamStatusAction.Ended); } } } // Trick Room if (BattleStatus.HasFlag(PBEBattleStatus.TrickRoom)) { TrickRoomCount--; if (TrickRoomCount == 0) { BattleStatus &= ~PBEBattleStatus.TrickRoom; BroadcastBattleStatus(PBEBattleStatus.TrickRoom, PBEBattleStatusAction.Ended); } } SwitchesOrActions(); }
//BattleStatusの更新 void OnChangedStatus(BattleStatus newStatus) { switch (newStatus) { case BattleStatus.WAIT: ScoreManager.Instance.Init(); BattleUI.Instance.SpawnAll(); timeManager.InitTimer(); StartCoroutine(wait()); break; case BattleStatus.START: timeManager.StartTimer(); PlayerInput.Instance.canInput = true; break; case BattleStatus.END: timeManager.EndCount(); BattleUI.Instance.Finish(); PlayerInput.Instance.canInput = false; ScoreManager.Instance.DecidedScore(); Debug.Log("end"); StartCoroutine(goResult()); break; } }
public void EndBattle(BattleResult result) { battleStatus = BattleStatus.Finish; if (battleTask != null) { battleTask.Stop(); battleTask = null; } if (result == BattleResult.Win) { while (monsters.Count > 0) { monsters[0].Dispose(); } monsters.Clear(); while (missiles.Count > 0) { missiles[0].Dispose(); } missiles.Clear(); EventBox.Send(CustomEvent.TROPHY_UPDATE, new KeyValuePair <TrophyType, float>(TrophyType.DungeonClear, dungeon.id)); dungeon = null; } LayerManager.GetInstance().AddPopUpView <DungeonResultWindow>(result); }
public bool CanAct(out BattleStatus battleStatus) { foreach (KeyValuePair <int, BattleStatus> item in StatusDic) { if (item.Value is Sleeping) { battleStatus = item.Value; return(false); } else if (item.Value is Paralysis) { int random = Random.Range(0, 100); if (random < ((Paralysis)item.Value).Probability) { battleStatus = item.Value; return(false); } else { battleStatus = null; return(true); } } } battleStatus = null; return(true); }
public void BackTurn() { gridGenerator.DestroyTiles(DestroyOption.all, true, true); if (index > 0) { index--; } else { index = battleStatusLastIndex; } if (currentTurnIndex == 1 && (status == BattleStatus.Combat)) { currentTurnIndex--; if (turnOrder[currentTurnIndex].character.relation != turnOrder[currentTurnIndex + 1].character.relation) { SwitchRelation(); } } else if (status == BattleStatus.Combat) { SetOrder(); currentTurnIndex = turnOrder.Count - 1; if (turnOrder[currentTurnIndex].character.relation != lastTurn.character.relation) { SwitchRelation(); } } status = (BattleStatus)index; }
public static UInt16 GetStatusBtlID(UInt32 list_no, BattleStatus status) { UInt16 num = 0; for (BTL_DATA next = FF9StateSystem.Battle.FF9Battle.btl_list.next; next != null; next = next.next) { if ((status == 0u || btl_stat.CheckStatus(next, status)) && next.bi.target != 0) { switch (list_no) { case 0u: if (next.bi.player != 0) { num = (UInt16)(num | next.btl_id); } break; case 1u: if (next.bi.player == 0) { num = (UInt16)(num | next.btl_id); } break; case 2u: num = (UInt16)(num | next.btl_id); break; } } } return(num); }
private static void ActiveTimeStatus(BTL_DATA btl) { for (Int32 index = 0; index < 16; ++index) { BattleStatus status = (BattleStatus)(65536 << index); if ((btl.stat.cur & Status.STATUS_MASK & status) != 0 && (btl.stat.cnt.conti[index] -= btl.cur.at_coef) < 0) { if (((Int32)status & Int32.MinValue) != 0) { if (!btl_cmd.CheckUsingCommand(btl.cmd[2]) && (Int32)AlterStatus(btl, BattleStatus.Petrify) != 2) { RemoveStatus(btl, BattleStatus.GradualPetrify); btl.fig_info |= 32; btl2d.Btl2dReq(btl); } } else if ((status & BattleStatus.Doom) != 0) { AlterStatus(btl, BattleStatus.Death); btl2d.Btl2dReq(btl); } else { RemoveStatus(btl, status); } } } }
public void InitializaBattle() { CanvasFade.StartFadeOut(null); BattleInfo = BattleInfoFactory.CreateBattleInfo(GameData.BattleToLoad); if (BattleInfo.BattleMusic != null) { SoundManager.instance.PlayMusic(BattleInfo.BattleMusic); } InitializeComboStone(); InitializePlayer(); InitializeBoss(); InitializeTimer(); initializeKeyboard(); initializePowerUps(); InitializePopUps(); _battleStatus = BattleStatus.Running; }
public void Perform() { WeaponItem weaponNumber = _v.Caster.Weapon; switch (weaponNumber) { case WeaponItem.ButterflySword: case WeaponItem.TheOgre: case WeaponItem.Exploda: case WeaponItem.RuneTooth: case WeaponItem.AngelBless: case WeaponItem.Sargatanas: case WeaponItem.Masamune: case WeaponItem.TheTower: case WeaponItem.UltimaWeapon: break; default: _v.Context.Flags |= BattleCalcFlags.Miss; return; } BattleStatus status = _v.Caster.WeaponStatus; if ((status & BattleStatus.Death) == 0 || _v.Target.CheckUnsafetyOrGuard()) { _v.Target.TryAlterStatuses(status, true); } }
public Single RateTarget() { if (!_v.Target.CanBeRevived()) { return(0); } if (_v.Target.IsZombie) { Single result = BattleScriptStatusEstimate.RateStatus(BattleStatus.Death) * 0.1f; if (!_v.Target.IsPlayer) { result *= -1; } return(result); } if (!_v.Target.IsPlayer) { return(0); } BattleStatus playerStatus = _v.Target.CurrentStatus; BattleStatus removeStatus = _v.Command.ItemStatus; BattleStatus removedStatus = playerStatus & removeStatus; Int32 rating = BattleScriptStatusEstimate.RateStatuses(removedStatus); return(-1 * rating); }
public void RemoveBtlSPSObj(BTL_DATA btl, BattleStatus status) { Int32 statusSPSIndex = this.GetStatusSPSIndex(status); Int32 objSpsIndex = this.GetObjSpsIndex(btl, status); btl2d.STAT_ICON_TBL stat_ICON_TBL = btl2d.wStatIconTbl[statusSPSIndex]; this.SetBtlStatus(objSpsIndex, -1, stat_ICON_TBL.Abr, (Int32)stat_ICON_TBL.Type); }
IEnumerator EnemyTurn() { Debug.Log("Enemy is taking turn"); yield return(new WaitForSeconds(5f)); currentStatus = BattleStatus.PlayerTurn; PlayerTurn(); }
public static void UpdateAbnormalStatus(BattleStatus status) { BattleAchievement.achievement.abnormal_status |= status; if ((BattleAchievement.achievement.abnormal_status & BattleStatus.Achievement) == BattleStatus.Achievement) { AchievementManager.ReportAchievement(AcheivementKey.AbnormalStatus, 1); } }
public void EndTurn() { if (currentStatus == BattleStatus.PlayerTurn) { currentStatus = BattleStatus.EnemyTurn; StartCoroutine(EnemyTurn()); } }
// get from stream static public UInt32 get(mln.EndianStream rEs, out BattleStatus rOut) { UInt32 ret = 0; rEs.get(out ret); rOut = (BattleStatus)ret; return(4); }
public void AddBtlSPSObj(BattleUnit btl, BattleStatus status) { Int32 statusSPSIndex = this.GetStatusSPSIndex(status); Int32 objSpsIndex = this.GetObjSpsIndex(btl.Data, status); btl2d.STAT_ICON_TBL stat_ICON_TBL = btl2d.wStatIconTbl[statusSPSIndex]; this.SetBtlStatus(objSpsIndex, statusSPSIndex, stat_ICON_TBL.Abr, (Int32)stat_ICON_TBL.Type); }
// 初始化战斗数据库 private void initializeBattleObjects() { BattleSkill.InitializeBattleSkills(); BattleStatus.InitializeBattleStatusList(); BattleJob.InitializeBattleJobList(); BattleActor.InitializeBattleActorList(); }
public STAT_DATA(Byte priority, Byte opr_cnt, UInt16 conti_cnt, BattleStatus clear, BattleStatus invalid) { this.priority = priority; this.opr_cnt = opr_cnt; this.conti_cnt = conti_cnt; this.clear = clear; this.invalid = invalid; }
public void Awake() { roundNum = 1; battleStatus = BattleStatus.BattleBegin; enemyName = Data.Instance().EnemyName; BattleInit(); //GameObject.Find("View").SetActive(true); }
public bool cast(Card card, EditedGridGenerator _gridGenerator, GameObject user, BattleStatus battleStatus, GetStats turn) { targets = 0; gridGenerator = _gridGenerator; if (turnSystem.GetBattleStatus() != battleStatus && turnSystem.currentTurn != turn && turnSystem.currentTurn == cardSystem.Player.GetComponent <GetStats>()) { if (turnSystem.currentTurn == player.GetComponent <GetStats>()) { gridGenerator.DestroyTiles(DestroyOption.selectedTiles, true, true); Debug.Log("Its not the right stage to play a card"); } return(false); } if (user.GetComponent <GetStats>().character.currentMana >= card.manaCost) { foreach (GameObject tile in gridGenerator.selectedTiles) { foreach (GameObject tile1 in gridGenerator.rangeTiles) { //Debug.Log($"{tile.transform.position.x} == {tile1.transform.position.x} && {tile.transform.position.z} == {tile1.transform.position.z} "); if (tile.transform.position.x == tile1.transform.position.x && tile.transform.position.z == tile1.transform.position.z) { parametersObjects.Add(user); parametersObjects.Add(tile); skillInfo.SetCardID(card); user.GetComponent <GetStats>().lastcastedSkill = card; this.SendMessage(card.skill.ToString(), parametersObjects); targets++; if (targets >= card.maxAmountOfTargets) { return(true); } } } } if (targets == 0) { if (turnSystem.GetBattleStatus() != BattleStatus.Move && turnSystem.currentTurn == cardSystem.Player.GetComponent <GetStats>()) { Debug.Log("Select valid targets"); gridGenerator.DestroyTiles(DestroyOption.all, true, true); } return(false); } } else { if (turnSystem.currentTurn == cardSystem.Player.GetComponent <GetStats>()) { Debug.Log("You dont have enough mana for this ability"); } return(false); } return(false); }
public Battle(BattleInfo info, SpriteFont font) { _BattleInfo = info; _BattleState = BattleStatus.Intro; _BattleHUD = new BattleHUD(this, font); //Initialize the Events. BattleStateChange += new BattleEventHandler(OnBattleStateChange); BattleStateChange(this); }
/// <summary> /// Lets the game respond to player input. Unlike the Update method, /// this will only be called when the gameplay screen is active. /// </summary> public override void HandleInput(InputState input) { //we will need a loop to handle input for each player PlayerIndex pi = new PlayerIndex(); switch (CurrentStatus) { case BattleStatus.BattleOver: { if (input.IsMenuCancel(null, out pi)) { //Greg if (Players[0].mCurrentState == Player.PlayerState.Playing) Players[0].mCurrentState = Player.PlayerState.Paused; ScreenManager.AddScreen(new PauseMenuScreen(ScreenManager), pi); } if (input.CurrentGamePadStates[(int)player1_index].IsButtonDown(Buttons.Start) && !input.LastGamePadStates[(int)player1_index].IsButtonDown(Buttons.Start)) { ScreenManager.AddScreen(new PauseMenuScreen(ScreenManager), PlayerIndex.One); } if (input.CurrentGamePadStates[(int)player2_index].IsButtonDown(Buttons.Start) && !input.LastGamePadStates[(int)player2_index].IsButtonDown(Buttons.Start)) { ScreenManager.AddScreen(new PauseMenuScreen(ScreenManager), PlayerIndex.Two); } } break; case BattleStatus.Playing: //if (input.IsMenuCancel(null, out pi)) //{ // //Greg // if (Players[0].mCurrentState == Player.PlayerState.Playing) Players[0].mCurrentState = Player.PlayerState.Paused; // ScreenManager.AddScreen(new PauseMenuScreen(ScreenManager), pi); //} if (!input.CurrentGamePadStates[(int)player1_index].IsConnected || !input.CurrentGamePadStates[(int)player2_index].IsConnected) { Players[0].mCurrentState = Player.PlayerState.Paused; Players[1].mCurrentState = Player.PlayerState.Paused; ScreenManager.AddScreen(new PauseMenuScreen(ScreenManager), PlayerIndex.One); CurrentStatus = BattleStatus.Paused; } if (input.CurrentGamePadStates[(int)player1_index].IsButtonDown(Buttons.Start) && !input.LastGamePadStates[(int)player1_index].IsButtonDown(Buttons.Start) || input.CurrentGamePadStates[(int)player1_index].IsButtonDown(Buttons.Back)) { Players[0].mCurrentState = Player.PlayerState.Paused; Players[1].mCurrentState = Player.PlayerState.Paused; ScreenManager.AddScreen(new PauseMenuScreen(ScreenManager), PlayerIndex.One); CurrentStatus = BattleStatus.Paused; } if (input.CurrentGamePadStates[(int)player2_index].IsButtonDown(Buttons.Start) && !input.LastGamePadStates[(int)player2_index].IsButtonDown(Buttons.Start) || input.CurrentGamePadStates[(int)player2_index].IsButtonDown(Buttons.Back)) { // CurrentStatus = BattleStatus.Paused; Players[0].mCurrentState = Player.PlayerState.Paused; Players[1].mCurrentState = Player.PlayerState.Paused; ScreenManager.AddScreen(new PauseMenuScreen(ScreenManager), PlayerIndex.Two); CurrentStatus = BattleStatus.Paused; } //for (int i = 0; i < 2; i++) switch (Players[0].CurrentWeapon) { case Player.WeaponType.Snipe: if (input.CurrentGamePadStates[(int)player1_index].IsButtonDown(Buttons.LeftTrigger))// && reticule.showing!=1 )// && mPlayfield.RedBlocks >= quota) { reticules[0].visible = true; } else { reticules[0].visible = false; reticules[0].bullets = 1; } if (reticules[0].visible) { reticules[0].GamepadListener(input.CurrentGamePadStates[(int)player1_index], input.LastGamePadStates[(int)player1_index], Players[1]); } break; } switch (Players[1].CurrentWeapon) { case Player.WeaponType.Snipe: if (input.CurrentGamePadStates[(int)player2_index].IsButtonDown(Buttons.LeftTrigger))// && reticule.showing!=1 )// && mPlayfield.RedBlocks >= quota) { reticules[1].visible = true; } else { reticules[1].visible = false; reticules[1].bullets = 1; } if (reticules[1].visible) { reticules[1].GamepadListener(input.CurrentGamePadStates[(int)player2_index], input.LastGamePadStates[(int)player2_index], Players[0]); } break; } Players[0].HandleInput(input.CurrentGamePadStates[(int)player1_index], input.LastGamePadStates[(int)player1_index]); Players[1].HandleInput(input.CurrentGamePadStates[(int)player2_index], input.LastGamePadStates[(int)player2_index]); break; case BattleStatus.RoundOver: if (input.CurrentGamePadStates[(int)player2_index].IsButtonDown(Buttons.Start)) { Players[1].mCurrentState = Player.PlayerState.Waiting; } if (input.CurrentGamePadStates[(int)player1_index].IsButtonDown(Buttons.Start)) { Players[0].mCurrentState = Player.PlayerState.Waiting; } break; } // if (input == null) // throw new ArgumentNullException("input"); // // Look up inputs for the active player profile. int playerIndex = (int)ControllingPlayer.Value; KeyboardState keyboardState = input.CurrentKeyboardStates[playerIndex]; GamePadState gamePadState = input.CurrentGamePadStates[playerIndex]; // The game pauses either if the user presses the pause button, or if // they unplug the active gamepad. This requires us to keep track of // whether a gamepad was ever plugged in, because we don't want to pause // on PC if they are playing with a keyboard and have no gamepad at all! bool gamePadDisconnected = !gamePadState.IsConnected && input.GamePadWasConnected[playerIndex]; }
/// <summary> /// Updates the state of the game. This method checks the GameScreen.IsActive /// property, so the game will stop updating when the pause menu is active, /// or if you tab away to a different application. /// </summary> public override void Update(GameTime gameTime, bool otherScreenHasFocus, bool coveredByOtherScreen) { switch(CurrentStatus) { case BattleStatus.CountDown: if (timer == 2) countdownmessage = "Ready"; else if (timer <= 1 && Players[0].mCurrentState==Player.PlayerState.Waiting) { countdownmessage = "Fight"; Players[0].startnewgame(); Players[1].startnewgame(); Players[1].mCurrentState = Player.PlayerState.Playing; Players[0].mCurrentState = Player.PlayerState.Playing; CurrentStatus = BattleStatus.Playing; } else if (timer < 0) { CurrentStatus = BattleStatus.Playing; } timer = timer - (float)gameTime.ElapsedGameTime.TotalSeconds; break; case BattleStatus.Playing: if (reticules[0].visible) reticules[0].Update(gameTime); if (reticules[1].visible) reticules[1].Update(gameTime); //if (reticule.finished) //{ // Vector2 coords; // coords = reticule.GetCoords(); // coords.X = (coords.X - Opponent.mPlayfield.Xpos) / Opponent.mPlayfield.mBlockSize; // coords.Y = (coords.Y - Opponent.mPlayfield.Ypos) / Opponent.mPlayfield.mBlockSize; // Opponent.mPlayfield.ClearBlock((int)coords.X, (int)coords.Y); // // mCurrentState = PlayerState.Playing; //} //if (reticule2.finished) //{ // Vector2 coords; // coords = reticule.GetCoords(); // coords.X = (coords.X - Opponent.mPlayfield.Xpos) / Opponent.mPlayfield.mBlockSize; // coords.Y = (coords.Y - Opponent.mPlayfield.Ypos) / Opponent.mPlayfield.mBlockSize; // Opponent.mPlayfield.ClearBlock((int)coords.X, (int)coords.Y); // // mCurrentState = PlayerState.Playing; //} foreach (Player p in Players) { p.Update(gameTime); if (p.mCurrentState ==Player.PlayerState.GameOver) { CurrentStatus = BattleStatus.RoundOver; if (Players[0].mCurrentState == Player.PlayerState.GameOver) Players[0].roundswon++; else Players[1].roundswon++; roundnumber++; if (Players[0].roundswon > 2 || Players[1].roundswon > 2) { CurrentStatus = BattleStatus.BattleOver; } } } elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds; break; case BattleStatus.RoundOver: if (Players[1].mCurrentState == Player.PlayerState.Waiting && Players[0].mCurrentState == Player.PlayerState.Waiting) {//ready to start next round Players[1].startnewgame(); Players[0].startnewgame(); timer = 2; CurrentStatus = BattleStatus.CountDown; } break; case BattleStatus.Paused: if(ScreenManager.screens[ ScreenManager.screens.Count-1]==this) { CurrentStatus = BattleStatus.Playing; Players[0].mCurrentState = Player.PlayerState.Playing; Players[1].mCurrentState = Player.PlayerState.Playing; } break; } base.Update(gameTime, otherScreenHasFocus, coveredByOtherScreen); }
// set in stream public static UInt32 set( mln.EndianStream rEs, BattleStatus rIn ) { rEs.put((UInt32)rIn); return 4; }
// get from stream public static UInt32 get( mln.EndianStream rEs, out BattleStatus rOut ) { UInt32 ret=0; rEs.get( out ret ); rOut = (BattleStatus)ret; return 4; }
// Update is called once per frame void Update () { switch (myBattleStatus) { case BattleStatus.AttackingFar: if (Time.time - lastFireTime >= FireRate && Target.GetComponent<Robot>().myBattleStatus != BattleStatus.Defeated) { if (Ammo > 0) { fireBullet (); lastFireTime = Time.time; Ammo--; } } else if(Target.GetComponent<Robot>().myBattleStatus == BattleStatus.Defeated) { myBattleStatus = BattleStatus.EnemyDefeated; } break; case BattleStatus.Defeated: Speed = 0; break; } switch (steeringtype) { case SteeringType.Wander: wanderSteering (); break; case SteeringType.Flee: fleeSteering (); break; case SteeringType.Seek: seekSteering (); break; case SteeringType.None: rigidbody2D.velocity = Vector2.zero; rigidbody2D.angularVelocity = 0f; break; case SteeringType.FaceOnly: //velocity unwichtig faceOnlySteering (); break; } }
// Use this for initialization void Start() { level = 10; fillLevelArray(playerLevelArray, playerLevels); gunAbilityChosen = -1; swordAbilityChosen = -1; stanceChosen = -1; stanceChanged = false; lastAbilityChosen = -1; lastEnemyBuffDebuffClicked = -1; lastBuffDebuffClicked = -1; turnDamage = 0; battleTurn = 0; TurnPhases = 0; lastTurn = 1; gameTimer = 0; playerBattleStatus = BattleStatus.NotFighting; //Initial Stats hP = playerLevelArray[level].playerLevelArray.hP; hPMax = playerLevelArray[level].playerLevelArray.hP; aP = 0; xP = 0; xPNextLevel = playerLevelArray[level+1].playerLevelArray.xPNeeded; str = playerLevelArray[level].playerLevelArray.str; def = playerLevelArray[level].playerLevelArray.def; populateAbilities(playerAbilities); populatePlayerStatus(playerStatus); }
protected void OnReady() { timelinePosition = GlobalDataStructure.BATTLE_TIMELINE_READY; isBlocking = false; isEvading = false; battleStatus = BattleStatus.Ready; if(guardedTarget != null) { guardedTarget.guardTarget = null; guardedTarget = null; } if(data.battleType == BattleType.Physical) {//自愈机制 if(currentHP >= maxHP * GlobalDataStructure.HP_RECOVER_THRESHOLD && currentHP < maxHP) { int recoverAmount = currentHP; currentHP += (int) (maxHP * GlobalDataStructure.HP_RECOVER_AMOUNT); recoverAmount = currentHP - recoverAmount; MessageEventArgs args = new MessageEventArgs(); args.AddMessage("Name", GetName()); args.AddMessage("Amount", recoverAmount); EventManager.Instance.PostEvent (BattleEvent.OnHPAutoRecover, args); } } else if(data.battleType == BattleType.Magical) {//回复机制 if( currentHP < maxHP) { int recoverAmount = currentHP; currentHP += (int) (maxHP * GlobalDataStructure.MP_RECOVER_AMOUNT); recoverAmount = currentHP - recoverAmount; MessageEventArgs args = new MessageEventArgs(); args.AddMessage("Name", GetName()); args.AddMessage("Amount", recoverAmount); EventManager.Instance.PostEvent (BattleEvent.OnMPAutoRecover, args); } } List<Buff> toRemoveList = new List<Buff>(); foreach(Buff buff in buffList) { buff.Tick(); if(buff.effectTurns == 0) { toRemoveList.Add(buff); } } foreach(Buff buff in toRemoveList) { buffList.Remove(buff); } availableCommands = Command.GetAvailableCommands(this); }
public void PostExecute() { timelinePosition = -commandToExecute.postExecutionRecover * BattleAttribute.Speed(this);//后退距离 = 帧 * 步进 battleStatus = BattleStatus.Prepare; commandToExecute = new CommandNone(); }
public static void Initialize() { State.screenState = State.ScreenState.WORLD_MAP; State.selectionState = State.SelectionState.NoSelection; State.battleState = State.BattleState.Attack; State.screenWidth = 0; State.screenHeight = 0; State.dialoguePosition = 0;//Which textbox you're in State.dialogueChoicePosition = 0; State.displayedDialogueMessage = ""; State.dialogueLinePosition = 0; State.dialogueWordPosition = 0; State.dialogueCharacterPosition = 0; State.firstDialogueWord = ""; State.lastTimeDialogueChecked = 0; State.messageBegin = false; State.currentDialogueMessage = new List<string>(); State.originalHexClicked = null; State.currentAttacker = null; State.currentDefender = null; State.battleMessage = ""; State.attackerBattleStatus = BattleStatus.NoStatus; State.defenderBattleStatus = BattleStatus.NoStatus; State.enemyMoveIndex = 0; State.firstTimeEnemyTurn = true; State.elapsedTimeForMove = 0; State.font = null; }
public void Update(BattleStatus battleState) { //Check what Battle State the Battle is in. switch (battleState) { case (BattleStatus.Intro): { //Update the TextManager. _TextBox.Update(); //Update the Healthbars. _HealthBarOpponent.Update(); _HealthBarPlayer.Update(); //Update the Experience Bar. _ExperienceBarPlayer.Update(); break; } case (BattleStatus.BattleMenu): { //Update the TextManager. _TextBox.Update(); //Update the Healthbars. _HealthBarOpponent.Update(); _HealthBarPlayer.Update(); //Update the Experience Bar. _ExperienceBarPlayer.Update(); //Update the BattleMenu. _BattleMenu.Update(); break; } } }
public void Reset () { HP = r_HP; FireRate = r_FireRate; Damage = r_Damage; Ammo = r_Ammo; Speed = r_Speed; Attdist = r_Attdist; // Angriffsdistanz Sightdist = r_Sightdist; // Sichtweite Target = r_Target; steeringtype = r_steeringtype; BulletPrefab = r_BulletPrefab; lastFireTime = r_lastFireTime; myBattleStatus = r_myBattleStatus; pastBattleStatus = r_pastBattleStatus; this.rigidbody2D.MovePosition(r_position); this.rigidbody2D.MoveRotation(r_dreh); Velocity = Vector2.zero; angularVelocity = 0; }
// convert id to string public static string BattleStatusToString( BattleStatus v ) { switch(v){ case BattleStatus.BATTLESTATUS_ENTERABLE : return "BATTLESTATUS_ENTERABLE"; case BattleStatus.BATTLESTATUS_BATTLING : return "BATTLESTATUS_BATTLING"; case BattleStatus.BATTLESTATUS_WAITING : return "BATTLESTATUS_WAITING"; case BattleStatus.BATTLESTATUS_RESERVED : return "BATTLESTATUS_RESERVED"; } return "unknown"; }
private void PaperButton_Click(object sender, RoutedEventArgs e) { currentStatus = handler.Round(new Paper()); narrator.Text = currentStatus.Log; if (currentStatus.BattleOver) endOfEventLog(); else updateButtons(); }