private void initializeAge() { final Attribute attrEdu = investigator.getAttribute("EDU"); final int baseAge = 6 + attrEdu.getUnmodifiedValue(); NumberPicker agePicker = (NumberPicker) findViewById(R.id.tv_age); agePicker.setOnChangeListener( new OnChangedListener() { @Override public void onChanged(NumberPicker picker, int oldVal, int newVal) { investigator.setAge(newVal); int selectedAge = newVal; int ageDiff = selectedAge - baseAge; int extraEdu = ageDiff / 10; int currentEdu = attrEdu.getMod(); attrEdu.setMod(extraEdu); if (extraEdu != currentEdu) { calculateDynamicSkills(attrEdu, true); } calculateDerivedAttributes(); int newMustDrop = Math.max(0, (selectedAge / 10) - 3); if (newMustDrop != mustDrop) { mustDrop = newMustDrop; updateMustDrop(); } } }); }
private void rerollBasicAttributes() { StringBuffer log = new StringBuffer(); investigator.rerollBasicAttributes(log); ((TextView) findViewById(R.id.log)).setText(log.toString()); Attribute attrDex = investigator.getAttribute("DEX"); Attribute attrEdu = investigator.getAttribute("EDU"); calculateDynamicSkills(attrDex, false); calculateDynamicSkills(attrEdu, false); populateSkillsTable(); findViewById(R.id.tv_age).setVisibility(View.VISIBLE); }
private void calculateDerivedAttributes() { int attrPow = investigator.getAttribute("POW").getTotal(); int attrSiz = investigator.getAttribute("SIZ").getTotal(); int attrStr = investigator.getAttribute("STR").getTotal(); int attrCon = investigator.getAttribute("CON").getTotal(); int attrInt = investigator.getAttribute("INT").getTotal(); int attrEdu = investigator.getAttribute("EDU").getTotal(); setIntValue(R.id.tv_san, 5 * attrPow); setIntValue(R.id.tv_idea, 5 * attrInt); setIntValue(R.id.tv_luck, 5 * attrPow); setIntValue(R.id.tv_know, Math.min(99, 5 * attrEdu)); // Hit points setIntValue(R.id.tv_hp, roundUpDiv(attrSiz + attrCon, 2)); // Str bonus ((TextView) findViewById(R.id.tv_dam)).setText(investigator.getDamBonus()); // Points setIntValue(R.id.tv_points_occ, 20 * attrEdu); setIntValue(R.id.tv_points_per, 10 * attrInt); }
private void loadInvestigator(Investigator investigator, String saveName) { dbAdapter.loadInvestigator(investigator, saveName); findViewById(R.id.tv_age).setVisibility(View.VISIBLE); initializeAge(); NumberPicker picker = (NumberPicker) findViewById(R.id.tv_age); picker.setCurrentAndNotify(investigator.getAge()); resetSeekBars(); calculateDerivedAttributes(); updateMustDrop(); // Log.d( "LOAD_INVESTIGATOR: ", investigator.getSkills().toString() ); Attribute attrDex = investigator.getAttribute("DEX"); Attribute attrEdu = investigator.getAttribute("EDU"); calculateDynamicSkills(attrDex, false); calculateDynamicSkills(attrEdu, false); populateSkillsTable(); }