All pastes #490337 Raw Edit

Plouj

public c v1 · immutable
·published 2007-05-15 23:29 UTC
rendered paste body
    /* Skills */        skillWindow = maxSkill - minSkill;    for (i = ABILITY_NUM_TYPES; i < SKILL_NUM_TYPES; i++) {        seed = frand();        training = (seed * skillWindow) + minSkill;                if (TRAINING_SCALAR > 0){        	switch (i) {        	case SKILL_CLOSE:        		ability1 = chr->skills[ABILITY_POWER];                ability2 = chr->skills[ABILITY_SPEED];        		break;        	case SKILL_HEAVY:        		ability1 = chr->skills[ABILITY_POWER];                ability2 = chr->skills[ABILITY_ACCURACY];        		break;        	case SKILL_ASSAULT:        		ability1 = chr->skills[ABILITY_ACCURACY];                ability2 = chr->skills[ABILITY_SPEED];        		break;        	case SKILL_SNIPER:        		ability1 = chr->skills[ABILITY_MIND];                ability2 = chr->skills[ABILITY_ACCURACY];        		break;        	case SKILL_EXPLOSIVE:        		ability1 = chr->skills[ABILITY_MIND];                ability2 = chr->skills[ABILITY_SPEED];        		break;        	default:        		ability1 = training;                ability2 = training;        	}        	        	//scale the abilitiy window to the skill window.        	windowScalar = skillWindow / abilityWindow;        	        	ability1 = ((ability1 - minAbility) * windowScalar) + minSkill;    	    ability2 = ((ability2 - minAbility) * windowScalar) + minSkill;        	            chr->skills[i] = ((TRAINING_SCALAR * training) + ability1 + ability2) / (TRAINING_SCALAR + 2);         }         else             chr->skills[i] = training;    }