public void changeLuminousMode(final int skillid) {
        final boolean equilibrium = skillid == 20040220;
        final boolean eclipse = skillid == 20040217;
        final boolean sunfire = skillid == 20040216;
        final MapleCharacter chr = this;
        if (equilibrium || (!eclipse && !sunfire)) {
            return; //impossible
        }
        dispelBuff(skillid);
        luminousState = skillid;
        if (sunfire) {
            runningLight--;
        } else if (eclipse) {
            runningDark--;
        }
        client.getSession().write(LuminousPacket.updateLuminousGauge(runningDarkSlot, runningLightSlot, runningDark, runningLight));
        luminousState = 20040200;
        client.getSession().write(LuminousPacket.giveLuminousState(20040220, chr.getLightGauge(), chr.getDarkGauge(), 0));
        SkillFactory.getSkill(20040220).getEffect(1).applyTo(this);
        equipChanged();
        WorldTimer.getInstance().schedule(new Runnable() {
            @Override
            public void run() {
                dispelBuff(20040220);
                client.getSession().write(LuminousPacket.giveLuminousState(skillid, chr.getLightGauge(), chr.getDarkGauge(), 0));
                SkillFactory.getSkill(skillid).getEffect(1).applyTo(chr);
            }
        }, 10000);
    }