private void Process() { this._data.Target.Proxy.HandleCharDeath(); this._data.Target.Tile.SetCurrent(null); this._data.Target.Tile.AddNonCurrent(this._data.Target); FCharacterStatus.SetDeadTrue(this._data.Target.Proxy.GetStatusFlags()); CombatManager.Instance.ProcessCharDeath(this._data.Target); }
private void UndoStun() { FCharacterStatus.SetStunnedFalse(this._data.Target.Proxy.GetStatusFlags()); var view = this._data.Target.View; if (view.EffectParticlesDict.ContainsKey(EEffect.Stun)) { GameObject.Destroy(view.EffectParticlesDict[EEffect.Stun]); view.EffectParticlesDict.Remove(EEffect.Stun); } VCombatController.Instance.DisplayText("Stun", this._data.Target, CombatGUIParams.GREEN); }
private bool ProcessTakingAction() { if (CombatManager.Instance.GetCurrentlyActing() != null) { VCharUtil.Instance.UnassignPlusLayer(CombatManager.Instance.GetCurrentlyActing()); } CombatManager.Instance.SetCurrentlyActing(this._data.Target); VCharUtil.Instance.AssignPlusLayer(this._data.Target); GUIManager.Instance.SetActingBoxToController(this._data.Target); if (FCharacterStatus.HasFlag(this._data.Target.Proxy.GetStatusFlags().CurFlags, FCharacterStatus.Flags.Stunned)) { this.HandleStunned(); } else { this.DoTurn(); } return(true); }
public override void TryProcessHit(MHit hit, bool prediction) { base.TryProcessHit(hit, prediction); if (base.CheckConditions(hit)) { var calc = new ResistCalculator(); var tgt = hit.Data.Target.Current as CChar; var offense = hit.Data.Source.Proxy.GetStat(this.Data.OffensiveResist); if (!prediction && !calc.DidResist(tgt, this.Data.Resist, offense)) { FCharacterStatus.SetStunnedTrue(tgt.Proxy.GetStatusFlags()); FHit.SetStunTrue(hit.Data.Flags); hit.AddEffect(this); tgt.Proxy.AddEffect(this); } else if (!prediction) { VCombatController.Instance.DisplayText("Resist", tgt, CombatGUIParams.WHITE); } } }