public override void PostUpdate() { if (TBAR.TimeStopManager.IsTimeStopped && !TBAR.TimeStopManager.HaveITimeStopped(player) && !TBAR.TimeStopManager.IsMyTeamImmune(player)) { player.velocity *= 0; player.position = player.oldPosition; } if (IsStandUser) { if (ComboTimeExpired) { PlayerStand.HandleInputs(player, CurrentComboInputs); CurrentComboInputs.Clear(); } } foreach (InputBlocker blocker in InputBlockers) { blocker.Duration--; } InputBlockers.RemoveAll(x => x.Duration == 0); }
public override void UpdateDead() { if (IsStandUser) { PlayerStand.KillStand(); } }
private void OnInput(ComboInput input) { ComboTime = TBARConfig.inputDelay; CurrentComboInputs.Add(input); PlayerStand.HandleImmediateInputs(player, (ImmediateInput)input); }
public override void SyncPlayer(int toWho, int fromWho, bool newPlayer) { ModPacket packet = mod.GetPacket(); packet.Write((byte)PacketType.SyncStand); packet.Write((byte)player.whoAmI); packet.Write(PlayerStand == null ? "None" : PlayerStand.GetType().Name); packet.Send(toWho, fromWho); }
public void SendStandChangedPacket(int fromWho = -1) { Main.NewText("Packet sent"); ModPacket packet = mod.GetPacket(); packet.Write((byte)PacketType.StandChanged); packet.Write((byte)player.whoAmI); packet.Write(PlayerStand == null ? "None" : PlayerStand.GetType().Name); packet.Send(-1, fromWho); }
public override void ResetEffects() { ResetRepeatCount(); UpdateArrowUseProgress(); ShatteredTime = false; if (StyleHitCounterResetTimer > 0) { StyleHitCounterResetTimer--; } else { StyleHitCounter = 0; } if (StyleDecayTimer > 0) { StyleDecayTimer--; } else { RepeatCount = 0; StylePoints = 0; } if (IsStandUser) { if (ComboTime > 0) { ComboTime--; } PlayerStand.Update(); } }
public override void ProcessTriggers(TriggersSet triggersSet) { if (TBARInputs.UIAdjustmentMode.JustPressed) { TBAR.IsAdjustingUI = !TBAR.IsAdjustingUI; } if (TBARInputs.SummonStand.JustPressed && IsStandUser) { if (!PlayerStand.IsActive) { PlayerStand.TryActivate(player); } if (player.HeldItem.GetDamageData(player).DPS > damageCaps[(int)PlayerStand.StandDamageType]) { damageCaps[(int)PlayerStand.StandDamageType] = player.HeldItem.GetDamageData(player).DPS; } } if (TBARInputs.OpenStandAlbum.JustPressed) { if (IsStandUser) { UIManager.Instance.StandAlbumLayer.ToggleVisibility(); } } if (IsStandUser) { if (TBARInputs.ComboButton1.JustPressed) { OnInput(ComboInput.Action1); } if (TBARInputs.ComboButton2.JustPressed) { OnInput(ComboInput.Action2); } if (TBARInputs.ComboButton3.JustPressed) { OnInput(ComboInput.Action3); } if (HasPressedUp) { OnInput(ComboInput.Up); } if (HasPressedDown) { OnInput(ComboInput.Down); } if (HasPressedLeftClick) { OnLeftClick?.Invoke(player); PlayerStand.HandleImmediateInputs(player, ImmediateInput.LeftClick); } if (HasPressedRightClick) { OnRightClick?.Invoke(player); PlayerStand.HandleImmediateInputs(player, ImmediateInput.RightClick); } OldUpButtonState = player.controlUp; OldDownButtonState = player.controlDown; OldLeftClickState = player.controlUseItem; OldRightClickState = player.controlUseTile; } }
private IEnumerator StandingUp() { yield return(new WaitForSeconds(downTime)); PlayerStand?.Invoke(); }