Beispiel #1
0
        public void DealPercentDamage(int spellcasterID, float percentDamage, string evntName)
        {
            var evnt = DealPercentDmgEvent.Create(Bolt.GlobalTargets.Everyone);

            evnt.SpellcasterID     = spellcasterID;
            evnt.PercentDmgDecimal = percentDamage;
            evnt.EventName         = evntName;
            evnt.Send();
        }
Beispiel #2
0
 // Deals a percent amount of damage to a target spellcaster, and display a pop-up message.
 // Also tries to update the healthvalue UI-component in the mainplayerscene.
 public override void OnEvent(DealPercentDmgEvent evnt)
 {
     playerSpellcaster = playerEntity.GetComponent <Player>().spellcaster;
     if (playerSpellcaster.spellcasterID == evnt.SpellcasterID)
     {
         PanelHolder.instance.displayNotify(evnt.EventName, "Lose " + ((int)(evnt.PercentDmgDecimal * 100)) + "% health", "OK");
         playerSpellcaster.TakeDamage((int)(playerSpellcaster.fCurrentHealth * evnt.PercentDmgDecimal));
         SpellCaster.savePlayerData(playerSpellcaster);
         try
         {
             GameObject health = GameObject.Find("text_healthvalue");
             if (health != null)
             {
                 health.GetComponent <Text>().text = playerSpellcaster.fCurrentHealth + " / 20";
             }
         }
         catch
         {
             // Not in home page
         }
     }
 }