Esempio n. 1
0
    //shorten the modifier strings
    private string displayMod(Enemy foe, int element)
    {
        if (EnemyIntel.main.hasIntel(foe.Stats.name, element))
        {
            Elements.vsElement modifier = Elements.getLevel(foe.Stats.vsElement[element]);
            switch (modifier)
            {
            case Elements.vsElement.REPEL:
                return("Rp");

            case Elements.vsElement.DRAIN:
                return("Dr");

            case Elements.vsElement.BLOCK:
                return("Bl");

            case Elements.vsElement.RESIST:
                return("Rs");

            case Elements.vsElement.NEUTRAL:
                return("--");

            case Elements.vsElement.WEAK:
                return("Wk");

            case Elements.vsElement.SUPERWEAK:
                return("Wk");
            }
        }
        return("??");
    }
Esempio n. 2
0
 //work with elemental weak/res modifiers
 public float modElementState(float curr, int element)
 {
     if (vsElem[element] == 0)
     {
         return(curr);
     }
     Elements.vsElement level = Elements.getLevel(curr);
     return(Elements.getFloat(Elements.modLevel(level, vsElem[element])));
 }
Esempio n. 3
0
    protected override bool buffCheck(CastData data, ICaster target, ICaster caster, int powerMod)
    {
        Elements.vsElement vs = target.Stats.getModVsElement(target.BuffDebuff, element);
        switch (vs)
        {
        case Elements.vsElement.REPEL:
            data.repel = true;
            inflictBuff(caster, target, powerMod);
            break;

        case Elements.vsElement.DRAIN:
            buff.makeBuff();
            inflictBuff(target, caster, powerMod);
            break;

        case Elements.vsElement.RESIST:
            if ((Random.Range(0.0F, 1F) * 100) > 50)
            {
                data.isHit = false;
                return(false);
            }
            inflictBuff(target, caster, powerMod);
            break;

        case Elements.vsElement.BLOCK:
            data.isHit = false;
            return(false);

        case Elements.vsElement.NEUTRAL:
            inflictBuff(target, caster, powerMod);
            break;

        case Elements.vsElement.WEAK:
            inflictBuff(target, caster, powerMod * 1.5F);
            break;

        case Elements.vsElement.SUPERWEAK:
            inflictBuff(target, caster, powerMod * 2);
            break;

        case Elements.vsElement.INVALID:
            throw new System.NotImplementedException();
        }
        data.isBuff        = true;
        data.isHit         = true;
        data.buffInflicted = buff;
        return(true);
    }
Esempio n. 4
0
 public Elements.vsElement modElementLevel(float curr, int element)
 {
     Elements.vsElement level = Elements.getLevel(curr);
     return(Elements.modLevel(level, vsElem[element]));
 }
Esempio n. 5
0
    //Spawns elemental popup with proper icon
    private void spawnElementPopup(int element, Elements.vsElement vElem, Transform pos)
    {
        switch (vElem)
        {
        case Elements.vsElement.REPEL:
            //popp.spawnSprite("popup_reflect", POP_TIMER, pos.position + OVER_OFFSET);
            popp.spawnText("REPEL", POP_TIMER, pos.position + OVER_OFFSET + TEXT_OFFSET, Color.magenta, Color.white);
            AudioPlayer.main.playSFX("sfx_spell_reflect");
            break;

        case Elements.vsElement.DRAIN:
            //popp.spawnSprite("popup_absorb", POP_TIMER, pos.position + OVER_OFFSET);
            popp.spawnText("DRAIN", POP_TIMER, pos.position + OVER_OFFSET + TEXT_OFFSET, Color.green, Color.white);
            AudioPlayer.main.playSFX("sfx_spell_drain");
            break;

        case Elements.vsElement.BLOCK:
            //popp.spawnSprite("popup_nullify", POP_TIMER, pos.position + OVER_OFFSET);
            popp.spawnText("BLOCK", POP_TIMER, pos.position + OVER_OFFSET + TEXT_OFFSET, Color.gray, Color.white);
            AudioPlayer.main.playSFX("sfx_spell_block");
            break;

        case Elements.vsElement.RESIST:
            //popp.spawnSprite("popup_resistant", POP_TIMER, pos.position + OVER_OFFSET);
            popp.spawnText("<size=36>RESIST</size>", POP_TIMER, pos.position + OVER_OFFSET + TEXT_OFFSET, Color.yellow, Color.white);
            AudioPlayer.main.playSFX("sfx_spell_resist");
            break;

        case Elements.vsElement.WEAK:
            //popp.spawnSprite("ui_elem_popup", POP_TIMER, pos.position + OVER_OFFSET);
            popp.spawnSprite("popup_weak_backing", POP_TIMER, pos.position + BACK_OFFSET);
            popp.spawnText("<size=36>WEAK!</size>", POP_TIMER, pos.position + OVER_OFFSET + TEXT_OFFSET, new Color(255f / 255f, 35f / 255f, 25f / 255f), new Color(255f / 255f, 100f / 255f, 85f / 255f));
            break;

        case Elements.vsElement.SUPERWEAK:
            popp.spawnSprite("popup_weak_backing", POP_TIMER, pos.position + BACK_OFFSET);
            popp.spawnText("<size=36>WEAK!</size>", POP_TIMER, pos.position + OVER_OFFSET + TEXT_OFFSET, new Color(255f / 255f, 35f / 255f, 25f / 255f), new Color(255f / 255f, 100f / 255f, 85f / 255f));
            break;
        }
        if (vElem != Elements.vsElement.NEUTRAL)
        {
            switch (element)
            {
            case 0:
                popp.spawnSprite("popup_slash", POP_TIMER, pos.position + ELEM_OFFSET + TEXT_OFFSET);
                break;

            case 1:
                popp.spawnSprite("popup_fire", POP_TIMER, pos.position + ELEM_OFFSET + TEXT_OFFSET);
                break;

            case 2:
                popp.spawnSprite("popup_ice", POP_TIMER, pos.position + ELEM_OFFSET + TEXT_OFFSET);
                break;

            case 3:
                popp.spawnSprite("popup_bolt", POP_TIMER, pos.position + ELEM_OFFSET + TEXT_OFFSET);
                break;
            }
        }
    }