switch (class_num) { case CLASS_Human: switch (type) { case SAVING_PARA: /* Paralyzation */ switch (level) { case 0: return 90; case 1: return 70; case 2: return 69; case 3: return 68; case 4: return 67; case 5: return 66; case 6: return 65; case 7: return 63; case 8: return 61; case 9: return 60; case 10: return 59; case 11: return 57; case 12: return 55; case 13: return 54; case 14: return 53; case 15: return 53; case 16: return 52; case 17: return 51; case 18: return 50; case 19: return 48; case 20: return 46; case 21: return 45; case 22: return 44; case 23: return 42; case 24: return 40; case 25: return 38; case 26: return 36; case 27: return 34; case 28: return 32; case 29: return 30; case 30: return 28; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for mage paralyzation saving throw."); } case SAVING_ROD: /* Rods */ switch (level) { case 0: return 90; case 1: return 55; case 2: return 53; case 3: return 51; case 4: return 49; case 5: return 47; case 6: return 45; case 7: return 43; case 8: return 41; case 9: return 40; case 10: return 39; case 11: return 37; case 12: return 35; case 13: return 33; case 14: return 31; case 15: return 30; case 16: return 29; case 17: return 27; case 18: return 25; case 19: return 23; case 20: return 21; case 21: return 20; case 22: return 19; case 23: return 17; case 24: return 15; case 25: return 14; case 26: return 13; case 27: return 12; case 28: return 11; case 29: return 10; case 30: return 9; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for mage rod saving throw."); } case SAVING_PETRI: /* Petrification */ switch (level) { case 0: return 90; case 1: return 65; case 2: return 63; case 3: return 61; case 4: return 59; case 5: return 57; case 6: return 55; case 7: return 53; case 8: return 51; case 9: return 50; case 10: return 49; case 11: return 47; case 12: return 45; case 13: return 43; case 14: return 41; case 15: return 40; case 16: return 39; case 17: return 37; case 18: return 35; case 19: return 33; case 20: return 31; case 21: return 30; case 22: return 29; case 23: return 27; case 24: return 25; case 25: return 23; case 26: return 21; case 27: return 19; case 28: return 17; case 29: return 15; case 30: return 13; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for mage petrification saving throw."); } case SAVING_BREATH: /* Breath weapons */ switch (level) { case 0: return 90; case 1: return 75; case 2: return 73; case 3: return 71; case 4: return 69; case 5: return 67; case 6: return 65; case 7: return 63; case 8: return 61; case 9: return 60; case 10: return 59; case 11: return 57; case 12: return 55; case 13: return 53; case 14: return 51; case 15: return 50; case 16: return 49; case 17: return 47; case 18: return 45; case 19: return 43; case 20: return 41; case 21: return 40; case 22: return 39; case 23: return 37; case 24: return 35; case 25: return 33; case 26: return 31; case 27: return 29; case 28: return 27; case 29: return 25; case 30: return 23; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for mage breath saving throw."); } case SAVING_SPELL: /* Generic spells */ switch (level) { case 0: return 90; case 1: return 60; case 2: return 58; case 3: return 56; case 4: return 54; case 5: return 52; case 6: return 50; case 7: return 48; case 8: return 46; case 9: return 45; case 10: return 44; case 11: return 42; case 12: return 40; case 13: return 38; case 14: return 36; case 15: return 35; case 16: return 34; case 17: return 32; case 18: return 30; case 19: return 28; case 20: return 26; case 21: return 25; case 22: return 24; case 23: return 22; case 24: return 20; case 25: return 18; case 26: return 16; case 27: return 14; case 28: return 12; case 29: return 10; case 30: return 8; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for mage spell saving throw."); } default: log("SYSERR: Invalid saving throw type."); } break; case CLASS_Namek: switch (type) { case SAVING_PARA: /* Paralyzation */ switch (level) { case 0: return 90; case 1: return 60; case 2: return 59; case 3: return 48; case 4: return 46; case 5: return 45; case 6: return 43; case 7: return 40; case 8: return 37; case 9: return 35; case 10: return 34; case 11: return 33; case 12: return 31; case 13: return 30; case 14: return 29; case 15: return 27; case 16: return 26; case 17: return 25; case 18: return 24; case 19: return 23; case 20: return 22; case 21: return 21; case 22: return 20; case 23: return 18; case 24: return 15; case 25: return 14; case 26: return 12; case 27: return 10; case 28: return 9; case 29: return 8; case 30: return 7; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric paralyzation saving throw."); } case SAVING_ROD: /* Rods */ switch (level) { case 0: return 90; case 1: return 70; case 2: return 69; case 3: return 68; case 4: return 66; case 5: return 65; case 6: return 63; case 7: return 60; case 8: return 57; case 9: return 55; case 10: return 54; case 11: return 53; case 12: return 51; case 13: return 50; case 14: return 49; case 15: return 47; case 16: return 46; case 17: return 45; case 18: return 44; case 19: return 43; case 20: return 42; case 21: return 41; case 22: return 40; case 23: return 38; case 24: return 35; case 25: return 34; case 26: return 32; case 27: return 30; case 28: return 29; case 29: return 28; case 30: return 27; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric rod saving throw."); } case SAVING_PETRI: /* Petrification */ switch (level) { case 0: return 90; case 1: return 65; case 2: return 64; case 3: return 63; case 4: return 61; case 5: return 60; case 6: return 58; case 7: return 55; case 8: return 53; case 9: return 50; case 10: return 49; case 11: return 48; case 12: return 46; case 13: return 45; case 14: return 44; case 15: return 43; case 16: return 41; case 17: return 40; case 18: return 39; case 19: return 38; case 20: return 37; case 21: return 36; case 22: return 35; case 23: return 33; case 24: return 31; case 25: return 29; case 26: return 27; case 27: return 25; case 28: return 24; case 29: return 23; case 30: return 22; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric petrification saving throw."); } case SAVING_BREATH: /* Breath weapons */ switch (level) { case 0: return 90; case 1: return 80; case 2: return 79; case 3: return 78; case 4: return 76; case 5: return 75; case 6: return 73; case 7: return 70; case 8: return 67; case 9: return 65; case 10: return 64; case 11: return 63; case 12: return 61; case 13: return 60; case 14: return 59; case 15: return 57; case 16: return 56; case 17: return 55; case 18: return 54; case 19: return 53; case 20: return 52; case 21: return 51; case 22: return 50; case 23: return 48; case 24: return 45; case 25: return 44; case 26: return 42; case 27: return 40; case 28: return 39; case 29: return 38; case 30: return 37; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric breath saving throw."); } case SAVING_SPELL: /* Generic spells */ switch (level) { case 0: return 90; case 1: return 75; case 2: return 74; case 3: return 73; case 4: return 71; case 5: return 70; case 6: return 68; case 7: return 65; case 8: return 63; case 9: return 60; case 10: return 59; case 11: return 58; case 12: return 56; case 13: return 55; case 14: return 54; case 15: return 53; case 16: return 51; case 17: return 50; case 18: return 49; case 19: return 48; case 20: return 47; case 21: return 46; case 22: return 45; case 23: return 43; case 24: return 41; case 25: return 39; case 26: return 37; case 27: return 35; case 28: return 34; case 29: return 33; case 30: return 32; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric spell saving throw."); } default: log("SYSERR: Invalid saving throw type."); } break; case CLASS_HALF_BREED: switch (type) { case SAVING_PARA: /* Paralyzation */ switch (level) { case 0: return 90; case 1: return 60; case 2: return 59; case 3: return 48; case 4: return 46; case 5: return 45; case 6: return 43; case 7: return 40; case 8: return 37; case 9: return 35; case 10: return 34; case 11: return 33; case 12: return 31; case 13: return 30; case 14: return 29; case 15: return 27; case 16: return 26; case 17: return 25; case 18: return 24; case 19: return 23; case 20: return 22; case 21: return 21; case 22: return 20; case 23: return 18; case 24: return 15; case 25: return 14; case 26: return 12; case 27: return 10; case 28: return 9; case 29: return 8; case 30: return 7; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric paralyzation saving throw."); } case SAVING_ROD: /* Rods */ switch (level) { case 0: return 90; case 1: return 70; case 2: return 69; case 3: return 68; case 4: return 66; case 5: return 65; case 6: return 63; case 7: return 60; case 8: return 57; case 9: return 55; case 10: return 54; case 11: return 53; case 12: return 51; case 13: return 50; case 14: return 49; case 15: return 47; case 16: return 46; case 17: return 45; case 18: return 44; case 19: return 43; case 20: return 42; case 21: return 41; case 22: return 40; case 23: return 38; case 24: return 35; case 25: return 34; case 26: return 32; case 27: return 30; case 28: return 29; case 29: return 28; case 30: return 27; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric rod saving throw."); } case SAVING_PETRI: /* Petrification */ switch (level) { case 0: return 90; case 1: return 65; case 2: return 64; case 3: return 63; case 4: return 61; case 5: return 60; case 6: return 58; case 7: return 55; case 8: return 53; case 9: return 50; case 10: return 49; case 11: return 48; case 12: return 46; case 13: return 45; case 14: return 44; case 15: return 43; case 16: return 41; case 17: return 40; case 18: return 39; case 19: return 38; case 20: return 37; case 21: return 36; case 22: return 35; case 23: return 33; case 24: return 31; case 25: return 29; case 26: return 27; case 27: return 25; case 28: return 24; case 29: return 23; case 30: return 22; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric petrification saving throw."); } case SAVING_BREATH: /* Breath weapons */ switch (level) { case 0: return 90; case 1: return 80; case 2: return 79; case 3: return 78; case 4: return 76; case 5: return 75; case 6: return 73; case 7: return 70; case 8: return 67; case 9: return 65; case 10: return 64; case 11: return 63; case 12: return 61; case 13: return 60; case 14: return 59; case 15: return 57; case 16: return 56; case 17: return 55; case 18: return 54; case 19: return 53; case 20: return 52; case 21: return 51; case 22: return 50; case 23: return 48; case 24: return 45; case 25: return 44; case 26: return 42; case 27: return 40; case 28: return 39; case 29: return 38; case 30: return 37; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric breath saving throw."); } case SAVING_SPELL: /* Generic spells */ switch (level) { case 0: return 90; case 1: return 75; case 2: return 74; case 3: return 73; case 4: return 71; case 5: return 70; case 6: return 68; case 7: return 65; case 8: return 63; case 9: return 60; case 10: return 59; case 11: return 58; case 12: return 56; case 13: return 55; case 14: return 54; case 15: return 53; case 16: return 51; case 17: return 50; case 18: return 49; case 19: return 48; case 20: return 47; case 21: return 46; case 22: return 45; case 23: return 43; case 24: return 41; case 25: return 39; case 26: return 37; case 27: return 35; case 28: return 34; case 29: return 33; case 30: return 32; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric spell saving throw."); } default: log("SYSERR: Invalid saving throw type."); } break; case CLASS_DEMON: switch (type) { case SAVING_PARA: /* Paralyzation */ switch (level) { case 0: return 90; case 1: return 60; case 2: return 59; case 3: return 48; case 4: return 46; case 5: return 45; case 6: return 43; case 7: return 40; case 8: return 37; case 9: return 35; case 10: return 34; case 11: return 33; case 12: return 31; case 13: return 30; case 14: return 29; case 15: return 27; case 16: return 26; case 17: return 25; case 18: return 24; case 19: return 23; case 20: return 22; case 21: return 21; case 22: return 20; case 23: return 18; case 24: return 15; case 25: return 14; case 26: return 12; case 27: return 10; case 28: return 9; case 29: return 8; case 30: return 7; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric paralyzation saving throw."); } case SAVING_ROD: /* Rods */ switch (level) { case 0: return 90; case 1: return 70; case 2: return 69; case 3: return 68; case 4: return 66; case 5: return 65; case 6: return 63; case 7: return 60; case 8: return 57; case 9: return 55; case 10: return 54; case 11: return 53; case 12: return 51; case 13: return 50; case 14: return 49; case 15: return 47; case 16: return 46; case 17: return 45; case 18: return 44; case 19: return 43; case 20: return 42; case 21: return 41; case 22: return 40; case 23: return 38; case 24: return 35; case 25: return 34; case 26: return 32; case 27: return 30; case 28: return 29; case 29: return 28; case 30: return 27; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric rod saving throw."); } case SAVING_PETRI: /* Petrification */ switch (level) { case 0: return 90; case 1: return 65; case 2: return 64; case 3: return 63; case 4: return 61; case 5: return 60; case 6: return 58; case 7: return 55; case 8: return 53; case 9: return 50; case 10: return 49; case 11: return 48; case 12: return 46; case 13: return 45; case 14: return 44; case 15: return 43; case 16: return 41; case 17: return 40; case 18: return 39; case 19: return 38; case 20: return 37; case 21: return 36; case 22: return 35; case 23: return 33; case 24: return 31; case 25: return 29; case 26: return 27; case 27: return 25; case 28: return 24; case 29: return 23; case 30: return 22; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric petrification saving throw."); } case SAVING_BREATH: /* Breath weapons */ switch (level) { case 0: return 90; case 1: return 80; case 2: return 79; case 3: return 78; case 4: return 76; case 5: return 75; case 6: return 73; case 7: return 70; case 8: return 67; case 9: return 65; case 10: return 64; case 11: return 63; case 12: return 61; case 13: return 60; case 14: return 59; case 15: return 57; case 16: return 56; case 17: return 55; case 18: return 54; case 19: return 53; case 20: return 52; case 21: return 51; case 22: return 50; case 23: return 48; case 24: return 45; case 25: return 44; case 26: return 42; case 27: return 40; case 28: return 39; case 29: return 38; case 30: return 37; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric breath saving throw."); } case SAVING_SPELL: /* Generic spells */ switch (level) { case 0: return 90; case 1: return 75; case 2: return 74; case 3: return 73; case 4: return 71; case 5: return 70; case 6: return 68; case 7: return 65; case 8: return 63; case 9: return 60; case 10: return 59; case 11: return 58; case 12: return 56; case 13: return 55; case 14: return 54; case 15: return 53; case 16: return 51; case 17: return 50; case 18: return 49; case 19: return 48; case 20: return 47; case 21: return 46; case 22: return 45; case 23: return 43; case 24: return 41; case 25: return 39; case 26: return 37; case 27: return 35; case 28: return 34; case 29: return 33; case 30: return 32; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for cleric spell saving throw."); } default: log("SYSERR: Invalid saving throw type."); } break; case CLASS_icer: switch (type) { case SAVING_PARA: /* Paralyzation */ switch (level) { case 0: return 90; case 1: return 65; case 2: return 64; case 3: return 63; case 4: return 62; case 5: return 61; case 6: return 60; case 7: return 59; case 8: return 58; case 9: return 57; case 10: return 56; case 11: return 55; case 12: return 54; case 13: return 53; case 14: return 52; case 15: return 51; case 16: return 50; case 17: return 49; case 18: return 48; case 19: return 47; case 20: return 46; case 21: return 45; case 22: return 44; case 23: return 43; case 24: return 42; case 25: return 41; case 26: return 40; case 27: return 39; case 28: return 38; case 29: return 37; case 30: return 36; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief paralyzation saving throw."); } case SAVING_ROD: /* Rods */ switch (level) { case 0: return 90; case 1: return 70; case 2: return 68; case 3: return 66; case 4: return 64; case 5: return 62; case 6: return 60; case 7: return 58; case 8: return 56; case 9: return 54; case 10: return 52; case 11: return 50; case 12: return 48; case 13: return 46; case 14: return 44; case 15: return 42; case 16: return 40; case 17: return 38; case 18: return 36; case 19: return 34; case 20: return 32; case 21: return 30; case 22: return 28; case 23: return 26; case 24: return 24; case 25: return 22; case 26: return 20; case 27: return 18; case 28: return 16; case 29: return 14; case 30: return 13; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief rod saving throw."); } case SAVING_PETRI: /* Petrification */ switch (level) { case 0: return 90; case 1: return 60; case 2: return 59; case 3: return 58; case 4: return 58; case 5: return 56; case 6: return 55; case 7: return 54; case 8: return 53; case 9: return 52; case 10: return 51; case 11: return 50; case 12: return 49; case 13: return 48; case 14: return 47; case 15: return 46; case 16: return 45; case 17: return 44; case 18: return 43; case 19: return 42; case 20: return 41; case 21: return 40; case 22: return 39; case 23: return 38; case 24: return 37; case 25: return 36; case 26: return 35; case 27: return 34; case 28: return 33; case 29: return 32; case 30: return 31; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief petrification saving throw."); } case SAVING_BREATH: /* Breath weapons */ switch (level) { case 0: return 90; case 1: return 80; case 2: return 79; case 3: return 78; case 4: return 77; case 5: return 76; case 6: return 75; case 7: return 74; case 8: return 73; case 9: return 72; case 10: return 71; case 11: return 70; case 12: return 69; case 13: return 68; case 14: return 67; case 15: return 66; case 16: return 65; case 17: return 64; case 18: return 63; case 19: return 62; case 20: return 61; case 21: return 60; case 22: return 59; case 23: return 58; case 24: return 57; case 25: return 56; case 26: return 55; case 27: return 54; case 28: return 53; case 29: return 52; case 30: return 51; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief breath saving throw."); } case SAVING_SPELL: /* Generic spells */ switch (level) { case 0: return 90; case 1: return 75; case 2: return 73; case 3: return 71; case 4: return 69; case 5: return 67; case 6: return 65; case 7: return 63; case 8: return 61; case 9: return 59; case 10: return 57; case 11: return 55; case 12: return 53; case 13: return 51; case 14: return 49; case 15: return 47; case 16: return 45; case 17: return 43; case 18: return 41; case 19: return 39; case 20: return 37; case 21: return 35; case 22: return 33; case 23: return 31; case 24: return 29; case 25: return 27; case 26: return 25; case 27: return 23; case 28: return 21; case 29: return 19; case 30: return 17; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief spell saving throw."); } default: log("SYSERR: Invalid saving throw type."); } break; case CLASS_ANDROID: switch (type) { case SAVING_PARA: /* Paralyzation */ switch (level) { case 0: return 90; case 1: return 65; case 2: return 64; case 3: return 63; case 4: return 62; case 5: return 61; case 6: return 60; case 7: return 59; case 8: return 58; case 9: return 57; case 10: return 56; case 11: return 55; case 12: return 54; case 13: return 53; case 14: return 52; case 15: return 51; case 16: return 50; case 17: return 49; case 18: return 48; case 19: return 47; case 20: return 46; case 21: return 45; case 22: return 44; case 23: return 43; case 24: return 42; case 25: return 41; case 26: return 40; case 27: return 39; case 28: return 38; case 29: return 37; case 30: return 36; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief paralyzation saving throw."); } case SAVING_ROD: /* Rods */ switch (level) { case 0: return 90; case 1: return 70; case 2: return 68; case 3: return 66; case 4: return 64; case 5: return 62; case 6: return 60; case 7: return 58; case 8: return 56; case 9: return 54; case 10: return 52; case 11: return 50; case 12: return 48; case 13: return 46; case 14: return 44; case 15: return 42; case 16: return 40; case 17: return 38; case 18: return 36; case 19: return 34; case 20: return 32; case 21: return 30; case 22: return 28; case 23: return 26; case 24: return 24; case 25: return 22; case 26: return 20; case 27: return 18; case 28: return 16; case 29: return 14; case 30: return 13; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief rod saving throw."); } case SAVING_PETRI: /* Petrification */ switch (level) { case 0: return 90; case 1: return 60; case 2: return 59; case 3: return 58; case 4: return 58; case 5: return 56; case 6: return 55; case 7: return 54; case 8: return 53; case 9: return 52; case 10: return 51; case 11: return 50; case 12: return 49; case 13: return 48; case 14: return 47; case 15: return 46; case 16: return 45; case 17: return 44; case 18: return 43; case 19: return 42; case 20: return 41; case 21: return 40; case 22: return 39; case 23: return 38; case 24: return 37; case 25: return 36; case 26: return 35; case 27: return 34; case 28: return 33; case 29: return 32; case 30: return 31; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief petrification saving throw."); } case SAVING_BREATH: /* Breath weapons */ switch (level) { case 0: return 90; case 1: return 80; case 2: return 79; case 3: return 78; case 4: return 77; case 5: return 76; case 6: return 75; case 7: return 74; case 8: return 73; case 9: return 72; case 10: return 71; case 11: return 70; case 12: return 69; case 13: return 68; case 14: return 67; case 15: return 66; case 16: return 65; case 17: return 64; case 18: return 63; case 19: return 62; case 20: return 61; case 21: return 60; case 22: return 59; case 23: return 58; case 24: return 57; case 25: return 56; case 26: return 55; case 27: return 54; case 28: return 53; case 29: return 52; case 30: return 51; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief breath saving throw."); } case SAVING_SPELL: /* Generic spells */ switch (level) { case 0: return 90; case 1: return 75; case 2: return 73; case 3: return 71; case 4: return 69; case 5: return 67; case 6: return 65; case 7: return 63; case 8: return 61; case 9: return 59; case 10: return 57; case 11: return 55; case 12: return 53; case 13: return 51; case 14: return 49; case 15: return 47; case 16: return 45; case 17: return 43; case 18: return 41; case 19: return 39; case 20: return 37; case 21: return 35; case 22: return 33; case 23: return 31; case 24: return 29; case 25: return 27; case 26: return 25; case 27: return 23; case 28: return 21; case 29: return 19; case 30: return 17; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief spell saving throw."); } default: log("SYSERR: Invalid saving throw type."); } break; case CLASS_MAJIN: switch (type) { case SAVING_PARA: /* Paralyzation */ switch (level) { case 0: return 90; case 1: return 65; case 2: return 64; case 3: return 63; case 4: return 62; case 5: return 61; case 6: return 60; case 7: return 59; case 8: return 58; case 9: return 57; case 10: return 56; case 11: return 55; case 12: return 54; case 13: return 53; case 14: return 52; case 15: return 51; case 16: return 50; case 17: return 49; case 18: return 48; case 19: return 47; case 20: return 46; case 21: return 45; case 22: return 44; case 23: return 43; case 24: return 42; case 25: return 41; case 26: return 40; case 27: return 39; case 28: return 38; case 29: return 37; case 30: return 36; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief paralyzation saving throw."); } case SAVING_ROD: /* Rods */ switch (level) { case 0: return 90; case 1: return 70; case 2: return 68; case 3: return 66; case 4: return 64; case 5: return 62; case 6: return 60; case 7: return 58; case 8: return 56; case 9: return 54; case 10: return 52; case 11: return 50; case 12: return 48; case 13: return 46; case 14: return 44; case 15: return 42; case 16: return 40; case 17: return 38; case 18: return 36; case 19: return 34; case 20: return 32; case 21: return 30; case 22: return 28; case 23: return 26; case 24: return 24; case 25: return 22; case 26: return 20; case 27: return 18; case 28: return 16; case 29: return 14; case 30: return 13; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief rod saving throw."); } case SAVING_PETRI: /* Petrification */ switch (level) { case 0: return 90; case 1: return 60; case 2: return 59; case 3: return 58; case 4: return 58; case 5: return 56; case 6: return 55; case 7: return 54; case 8: return 53; case 9: return 52; case 10: return 51; case 11: return 50; case 12: return 49; case 13: return 48; case 14: return 47; case 15: return 46; case 16: return 45; case 17: return 44; case 18: return 43; case 19: return 42; case 20: return 41; case 21: return 40; case 22: return 39; case 23: return 38; case 24: return 37; case 25: return 36; case 26: return 35; case 27: return 34; case 28: return 33; case 29: return 32; case 30: return 31; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief petrification saving throw."); } case SAVING_BREATH: /* Breath weapons */ switch (level) { case 0: return 90; case 1: return 80; case 2: return 79; case 3: return 78; case 4: return 77; case 5: return 76; case 6: return 75; case 7: return 74; case 8: return 73; case 9: return 72; case 10: return 71; case 11: return 70; case 12: return 69; case 13: return 68; case 14: return 67; case 15: return 66; case 16: return 65; case 17: return 64; case 18: return 63; case 19: return 62; case 20: return 61; case 21: return 60; case 22: return 59; case 23: return 58; case 24: return 57; case 25: return 56; case 26: return 55; case 27: return 54; case 28: return 53; case 29: return 52; case 30: return 51; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief breath saving throw."); } case SAVING_SPELL: /* Generic spells */ switch (level) { case 0: return 90; case 1: return 75; case 2: return 73; case 3: return 71; case 4: return 69; case 5: return 67; case 6: return 65; case 7: return 63; case 8: return 61; case 9: return 59; case 10: return 57; case 11: return 55; case 12: return 53; case 13: return 51; case 14: return 49; case 15: return 47; case 16: return 45; case 17: return 43; case 18: return 41; case 19: return 39; case 20: return 37; case 21: return 35; case 22: return 33; case 23: return 31; case 24: return 29; case 25: return 27; case 26: return 25; case 27: return 23; case 28: return 21; case 29: return 19; case 30: return 17; case 31: return 0; case 32: return 0; case 33: return 0; case 34: return 0; case 35: return 0; case 36: return 0; case 37: return 0; case 38: return 0; case 39: return 0; case 40: return 0; default: log("SYSERR: Missing level for thief spell saving throw."); } default: log("SYSERR: Invalid saving throw type."); } break; case CLASS_saiyan: switch (type) { case SAVING_PARA: /* Paralyzation */ switch (level) { case 0: return 90; case 1: return 70; case 2: return 68; case 3: return 67; case 4: return 65; case 5: return 62; case 6: return 58; case 7: return 55; case 8: return 53; case 9: return 52; case 10: return 50; case 11: return 47; case 12: return 43; case 13: return 40; case 14: return 38; case 15: return 37; case 16: return 35; case 17: return 32; case 18: return 28; case 19: return 25; case 20: return 24; case 21: return 23; case 22: return 22; case 23: return 20; case 24: return 19; case 25: return 17; case 26: return 16; case 27: return 15; case 28: return 14; case 29: return 13; case 30: return 12; case 31: return 11; case 32: return 10; case 33: return 9; case 34: return 8; case 35: return 7; case 36: return 6; case 37: return 5; case 38: return 4; case 39: return 3; case 40: return 2; default: log("SYSERR: Missing level for warrior paralyzation saving throw."); } case SAVING_ROD: /* Rods */ switch (level) { case 0: return 90; case 1: return 80; case 2: return 78; case 3: return 77; case 4: return 75; case 5: return 72; case 6: return 68; case 7: return 65; case 8: return 63; case 9: return 62; case 10: return 60; case 11: return 57; case 12: return 53; case 13: return 50; case 14: return 48; case 15: return 47; case 16: return 45; case 17: return 42; case 18: return 38; case 19: return 35; case 20: return 34; case 21: return 33; case 22: return 32; case 23: return 30; case 24: return 29; case 25: return 27; case 26: return 26; case 27: return 25; case 28: return 24; case 29: return 23; case 30: return 22; case 31: return 20; case 32: return 18; case 33: return 16; case 34: return 14; case 35: return 12; case 36: return 10; case 37: return 8; case 38: return 6; case 39: return 5; case 40: return 4; default: log("SYSERR: Missing level for warrior rod saving throw."); } case SAVING_PETRI: /* Petrification */ switch (level) { case 0: return 90; case 1: return 75; case 2: return 73; case 3: return 72; case 4: return 70; case 5: return 67; case 6: return 63; case 7: return 60; case 8: return 58; case 9: return 57; case 10: return 55; case 11: return 52; case 12: return 48; case 13: return 45; case 14: return 43; case 15: return 42; case 16: return 40; case 17: return 37; case 18: return 33; case 19: return 30; case 20: return 29; case 21: return 28; case 22: return 26; case 23: return 25; case 24: return 24; case 25: return 23; case 26: return 21; case 27: return 20; case 28: return 19; case 29: return 18; case 30: return 17; case 31: return 16; case 32: return 15; case 33: return 14; case 34: return 13; case 35: return 12; case 36: return 11; case 37: return 10; case 38: return 9; case 39: return 8; case 40: return 7; default: log("SYSERR: Missing level for warrior petrification saving throw."); } case SAVING_BREATH: /* Breath weapons */ switch (level) { case 0: return 90; case 1: return 85; case 2: return 83; case 3: return 82; case 4: return 80; case 5: return 75; case 6: return 70; case 7: return 65; case 8: return 63; case 9: return 62; case 10: return 60; case 11: return 55; case 12: return 50; case 13: return 45; case 14: return 43; case 15: return 42; case 16: return 40; case 17: return 37; case 18: return 33; case 19: return 30; case 20: return 29; case 21: return 28; case 22: return 26; case 23: return 25; case 24: return 24; case 25: return 23; case 26: return 21; case 27: return 20; case 28: return 19; case 29: return 18; case 30: return 17; case 31: return 16; case 32: return 15; case 33: return 14; case 34: return 13; case 35: return 12; case 36: return 11; case 37: return 10; case 38: return 9; case 39: return 8; case 40: return 7; default: log("SYSERR: Missing level for warrior breath saving throw."); } case SAVING_SPELL: /* Generic spells */ switch (level) { case 0: return 90; case 1: return 85; case 2: return 83; case 3: return 82; case 4: return 80; case 5: return 77; case 6: return 73; case 7: return 70; case 8: return 68; case 9: return 67; case 10: return 65; case 11: return 62; case 12: return 58; case 13: return 55; case 14: return 53; case 15: return 52; case 16: return 50; case 17: return 47; case 18: return 43; case 19: return 40; case 20: return 39; case 21: return 38; case 22: return 36; case 23: return 35; case 24: return 34; case 25: return 33; case 26: return 31; case 27: return 30; case 28: return 29; case 29: return 28; case 30: return 27; case 31: return 25; case 32: return 23; case 33: return 21; case 34: return 19; case 35: return 17; case 36: return 15; case 37: return 13; case 38: return 11; case 39: return 9; case 40: return 7; default: log("SYSERR: Missing level for warrior spell saving throw."); } default: log("SYSERR: Invalid saving throw type."); } default: log("SYSERR: Invalid class saving throw."); } /* Should not get here unless something is wrong. */ return 100; }