示例#1
0
 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);
 }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
 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);
         }
     }
 }