Ejemplo n.º 1
0
 /// <summary>
 /// NOTE: For Sammys we will not be using this funciton.
 /// </summary>
 /// <param name="evnt"></param>
 // Player recieves this event from the network, the event contains
 // the spellcasterID  of the spellcaster that can counter the event
 // if this client's spellcasterId matches that ID then check if they
 // can counter it.
 public override void OnEvent(CheckIfCanCounterEvent evnt)
 {
     BoltConsole.Write("Check Counter Event");
     playerSpellcaster = playerEntity.GetComponent <Player>().spellcaster;
     if (playerSpellcaster.spellcasterID == evnt.requiredSpellcaster)
     {
         var counterEvent = CounterGlobalEvent.Create(GlobalTargets.OnlyServer);
         counterEvent.EventID = evnt.eventID;
         foreach (Spell spell in playerSpellcaster.chapter.spellsCollected)
         {
             if (spell.iTier >= evnt.requiredSpellTier)
             {
                 counterEvent.IsCountered = true;
                 counterEvent.Send();
                 return;
             }
         }
         counterEvent.IsCountered = false;
         counterEvent.Send();
     }
 }
Ejemplo n.º 2
0
        //OLD CODE
        /*Only the server recieves this event.*/

        /*
         * int SolveCount = 0;
         * public override void OnEvent(SolveCrisisEvent evnt)
         * {
         *  bool isFromScan = evnt.isFromScan;
         *  if (!isFromScan)
         *  {
         *      SolveCount++;
         *  }
         *  BoltConsole.Write("Spellcaster solve crisis attempt : " + SolveCount);
         *  int numSpellcasters = gameStateEntity.GetComponent<NetworkGameState>().numOfSpellcastersInGame();
         *  if (!CrisisSolvedAlready)
         *  {
         *      bool isSolved = evnt.IsSolved;
         *      if (isSolved)
         *      {
         *          //Make sure this if statement is only called once per crisis.
         *          CrisisSolvedAlready = true;
         *          //Let everyone know that a spellcaster saved everyone
         *          ResolveCrisis(evnt.CrisisName, true, evnt.SpellcasterClass);
         *      }
         *      else
         *      {
         *          numOfSpellcastersFailed++;
         *          BoltConsole.Write("Num of spellcasters failed : " + numOfSpellcastersFailed);
         *          if(numOfSpellcastersFailed >= numSpellcasters)
         *          {
         *              //Everyone failed as a team.
         *              ResolveCrisis(evnt.CrisisName, false, "");
         *          }
         *      }
         *  }
         *
         *  //Reset
         *  if(SolveCount >= numSpellcasters)
         *  {
         *      BoltConsole.Write("Reset Crisis");
         *      CrisisSolvedAlready = false;
         *      SolveCount = 0;
         *      numOfSpellcastersFailed = 0;
         *  }
         *
         * }*/

        /*Only the server recieves this event.*/
        public override void OnEvent(CounterGlobalEvent evnt)
        {
            gameStateEntity.GetComponent <GlobalEvents>()
            .GlobalEventCounter(evnt.EventID, evnt.IsCountered);
        }