Exemplo n.º 1
0
    private void UpdateSpell(SpellCode spell)
    {
        switch (spell)
        {
        case SpellCode.EarthShatter:
            m_spellSlot.AddSpell(m_earthShatterDetails);
            break;

        case SpellCode.SteamBlast:
            m_spellSlot.AddSpell(m_steamBlastDetails);
            break;

        case SpellCode.Geyser:
            m_spellSlot.AddSpell(m_geyserDetails);
            break;

        case SpellCode.InnerFire:
            m_spellSlot.AddSpell(m_innerFireDetails);
            break;

        case SpellCode.NaturesRejuvenation:
            m_spellSlot.AddSpell(m_naturesRejuvenationDetails);
            break;

        case SpellCode.LivingArmor:
            m_spellSlot.AddSpell(m_livingArmorDetails);
            break;

        case SpellCode.MeteorStrike:
            m_spellSlot.AddSpell(m_meteorStrikeDetails);
            break;

        case SpellCode.Tornado:
            m_spellSlot.AddSpell(m_tornadoDetails);
            break;

        case SpellCode.SandStorm:
            m_spellSlot.AddSpell(m_sandStormDetails);
            break;

        case SpellCode.Overcharge:
            m_spellSlot.AddSpell(m_overchargeDetails);
            break;

        default:
            m_spellSlot.ClearSpell();
            break;
        }
    }
Exemplo n.º 2
0
        public void AddNumber(SpellCode s)
        {
            var str = s == SpellCode.Space ? "0" : "1";

            ns += str;
        }
Exemplo n.º 3
0
 public void AddCommand(SpellCode code)
 {
     AddIMP(code);
 }
Exemplo n.º 4
0
 public void AddIMP(SpellCode code)
 {
     IMP.Add(code);
 }
Exemplo n.º 5
0
        public void Add(SpellCode s)
        {
            string str = s == SpellCode.Space ? "0" : "1";

            Name += s;
        }
Exemplo n.º 6
0
 private void UpdateSpellHUD(SpellCode spell)
 {
     HUD_updateSpell?.Invoke(spell);
 }
Exemplo n.º 7
0
    private void UpdateElementSpell()
    {
        if (m_playerStats.m_activeElementQueue.Count == 0)
        {
            return;
        }

        var elementQueue = m_playerStats.m_activeElementQueue;

        if (elementQueue.Contains(m_playerStats.m_fireElement) && elementQueue.Contains(m_playerStats.m_earthElement))
        {
            CastSpell     = CastEarthShatter;
            m_activeSpell = SpellCode.EarthShatter;
            UpdateSpellCooldownHUD(m_earthShatterCooldownTimer, m_earthShatterDetails.cooldownDuration);
        }
        else if (elementQueue.Contains(m_playerStats.m_fireElement) && elementQueue.Contains(m_playerStats.m_waterElement))
        {
            CastSpell     = CastSteamBlast;
            m_activeSpell = SpellCode.SteamBlast;
            UpdateSpellCooldownHUD(0.0f, 0.0f);
        }
        else if (elementQueue.Contains(m_playerStats.m_waterElement) && elementQueue.Contains(m_playerStats.m_earthElement))
        {
            CastSpell     = CastGeyser;
            m_activeSpell = SpellCode.Geyser;
            UpdateSpellCooldownHUD(m_geyserCooldownTimer, m_geyserDetails.cooldownDuration);
        }
        else if (elementQueue.Contains(m_playerStats.m_fireElement) && elementQueue.Contains(m_playerStats.m_natureElement))
        {
            CastSpell     = CastInnerFire;
            m_activeSpell = SpellCode.InnerFire;
            UpdateSpellCooldownHUD(m_innerFireCooldownTimer, m_innerFireDetails.cooldownDuration);
        }
        else if (elementQueue.Contains(m_playerStats.m_waterElement) && elementQueue.Contains(m_playerStats.m_natureElement))
        {
            CastSpell     = CastNaturesRejuvenation;
            m_activeSpell = SpellCode.NaturesRejuvenation;
            UpdateSpellCooldownHUD(m_naturesRejuvenationCooldownTimer, m_naturesRejuvenationDetails.cooldownDuration);
        }
        else if (elementQueue.Contains(m_playerStats.m_earthElement) && elementQueue.Contains(m_playerStats.m_natureElement))
        {
            CastSpell     = CastLivingArmor;
            m_activeSpell = SpellCode.LivingArmor;
            UpdateSpellCooldownHUD(m_livingArmorCooldownTimer, m_livingArmorDetails.cooldownDuration);
        }
        else if (elementQueue.Contains(m_playerStats.m_airElement) && elementQueue.Contains(m_playerStats.m_fireElement))
        {
            CastSpell     = CastMeteorStrike;
            m_activeSpell = SpellCode.MeteorStrike;
            UpdateSpellCooldownHUD(m_meteorStrikeCooldownTimer, m_meteorStrikeDetails.cooldownDuration);
        }
        else if (elementQueue.Contains(m_playerStats.m_airElement) && elementQueue.Contains(m_playerStats.m_waterElement))
        {
            CastSpell     = CastTornado;
            m_activeSpell = SpellCode.Tornado;
            UpdateSpellCooldownHUD(m_tornadoCooldownTimer, m_tornadoDetails.cooldownDuration);
        }
        else if (elementQueue.Contains(m_playerStats.m_airElement) && elementQueue.Contains(m_playerStats.m_earthElement))
        {
            CastSpell     = CastSandStorm;
            m_activeSpell = SpellCode.SandStorm;
            UpdateSpellCooldownHUD(m_sandStormCooldownTimer, m_sandStormDetails.cooldownDuration);
        }
        else if (elementQueue.Contains(m_playerStats.m_airElement) && elementQueue.Contains(m_playerStats.m_natureElement))
        {
            CastSpell     = CastOvercharge;
            m_activeSpell = SpellCode.Overcharge;
            UpdateSpellCooldownHUD(m_overchargeCooldownTimer, m_overchargeDetails.cooldownDuration);
        }
        else
        {
            CastSpell     = null;
            m_activeSpell = SpellCode.None;
            UpdateSpellCooldownHUD(0.0f, 0.0f);
        }

        //turns off steamblast if it is still being used after spell switching
        if (m_isSteamBlastPlaying && CastSpell != CastSteamBlast)
        {
            m_steamBlastComponent.StopSteamBlast();
            m_isSteamBlastPlaying = false;
        }

        UpdateSpellHUD(m_activeSpell);
    }