Index: entities/battleentity.cpp =================================================================== --- entities/battleentity.cpp (revision 4072) +++ entities/battleentity.cpp (working copy) @@ -591,9 +591,18 @@ m_modStat[MOD_DEF] += m_mlvl + dsp_cap(m_mlvl-50,0,10); } -void CBattleEntity::SetSLevel(uint8 slvl) +void CBattleEntity::SetSLevel(uint8 slvl) //support jobclass level cap { - m_slvl = (slvl > (m_mlvl >> 1) ? (m_mlvl == 1 ? 1 : (m_mlvl >> 1)) : slvl); + if (map_config.SJ_CAP == 1) //Sub is 1/2 of main of main, same as retail + m_slvl = (slvl > (m_mlvl >> 1) ? (m_mlvl == 1 ? 1 : (m_mlvl >> 1)) : slvl); + else if (map_config.SJ_CAP == 2) //Sub is 1/3 of main, harder game + m_slvl = (slvl > (m_mlvl / 3) ? (m_mlvl == 1 ? 1 : (m_mlvl / 3)) : slvl); + else if (map_config.SJ_CAP == 3) //Sub is 2/3 of main, easier game + m_slvl = (slvl > ((m_mlvl * 2) / 3) ? (m_mlvl == 1 ? 1 : ((m_mlvl * 2) / 3)) : slvl); + else if (map_config.SJ_CAP == 4) //Sub caps to main. Welcome to mega easy mode. + m_slvl = (slvl > (m_mlvl) ? (m_mlvl == 1 ? 1 : (m_mlvl)) : slvl); + else if ((map_config.SJ_CAP <= 0) || (map_config.SJ_CAP >= 5)) + m_slvl = 0; //no SJ...Where is your Altana now? } /************************************************************************ Index: map.cpp =================================================================== --- map.cpp (revision 4072) +++ map.cpp (working copy) @@ -830,6 +830,7 @@ map_config.exp_loss_rate = 1.0f; map_config.exp_retain = 0.0f; map_config.exp_loss_level = 4; + map_config.SJ_CAP = 1; map_config.speed_mod = 0; map_config.skillup_multiplier = 2.5f; map_config.craft_multiplier = 2.6f; @@ -950,6 +951,10 @@ { map_config.exp_loss_level = atoi(w2); } + else if (strcmp(w1,"SJ_CAP") == 0) + { + map_config.SJ_CAP = atoi(w2); + } else if (strcmp(w1,"speed_mod") == 0) { map_config.speed_mod = atoi(w2); Index: map.h =================================================================== --- map.h (revision 4072) +++ map.h (working copy) @@ -82,6 +82,7 @@ uint8 fov_allow_alliance; // if 1 allow alliance to farm fov pages float exp_retain; // percentage of normally lost experience to retain upon death int8 exp_loss_level; // Minimum main job level at which a character may lose experience points. + int8 SJ_CAP; // Modifies level cap of support jobs int8 speed_mod; // Modifier to add to baseentity speed float skillup_multiplier; // Constant used in the skillup formula that has a strong effect on skill-up rates float craft_multiplier; // Constant used in the crafting skill-up formula that has a strong effect on skill-up rates