private void UpdateHpAndAc(GameObject critter, ChargenStages completedStages) { if (critter != null && completedStages > ChargenStages.CG_Stage_Class) { _hp.IsActive = true; _hp.Value = critter.GetStat(Stat.hp_max).ToString(); _ac.IsActive = true; _ac.Value = critter.GetStat(Stat.ac).ToString(); } else { _hp.IsActive = false; _ac.IsActive = false; } }
public void Update(CharEditorSelectionPacket pkt, GameObject critter, ChargenStages completedStages) { for (var i = 0; i < pkt.abilityStats.Length; i++) { _abilityScoreWidgets[i].IsActive = pkt.abilityStats[i] != -1; _abilityScoreWidgets[i].AbilityScore = pkt.abilityStats[i]; } UpdateHeight(pkt); UpdateWeight(pkt); UpdateExperienceAndLevel(critter, completedStages); UpdateHpAndAc(critter, completedStages); UpdateSavingThrows(critter, completedStages); UpdateInitiativeAndSpeed(critter, completedStages); UpdateAttackBonus(critter, completedStages); }
private void UpdateInitiativeAndSpeed(GameObject critter, ChargenStages completedStages) { if (critter != null && completedStages > ChargenStages.CG_Stage_Class) { _initiativeBonus.IsActive = true; _initiativeBonus.Value = critter.GetStat(Stat.initiative_bonus).ToString(); _speed.IsActive = true; var movementSpeed = critter.Dispatch41GetMoveSpeed(out _); _speed.Value = ((int)movementSpeed).ToString(); } else { _initiativeBonus.IsActive = false; _speed.IsActive = false; } }
private void UpdateAttackBonus(GameObject critter, ChargenStages completedStages) { if (critter != null && completedStages > ChargenStages.CG_Stage_Class) { _meleeAttackBonus.IsActive = true; var meleeBonus = critter.GetStat(Stat.melee_attack_bonus); _meleeAttackBonus.Value = $"{meleeBonus:+#;-#;0}"; _rangedAttackBonus.IsActive = true; var rangedBonus = critter.GetStat(Stat.ranged_attack_bonus); _rangedAttackBonus.Value = $"{rangedBonus:+#;-#;0}"; } else { _meleeAttackBonus.IsActive = false; _rangedAttackBonus.IsActive = false; } }
private void UpdateExperienceAndLevel(GameObject critter, ChargenStages completedStages) { if (critter != null && completedStages >= ChargenStages.CG_Stage_Class) { // Vanilla just used constants (exp: 0, lvl: 1) here, but we query the // actual object for consistency's sake _experience.IsActive = true; _experience.Value = critter.GetStat(Stat.experience).ToString(); _level.IsActive = true; _level.Value = critter.GetStat(Stat.level).ToString(); } else { _experience.IsActive = false; _level.IsActive = false; } }
private void UpdateSavingThrows(GameObject critter, ChargenStages completedStages) { if (critter != null && completedStages >= ChargenStages.CG_Stage_Class) { _reflexSave.IsActive = true; _reflexSave.Value = critter.GetStat(Stat.save_reflexes).ToString(); _fortitudeSave.IsActive = true; _fortitudeSave.Value = critter.GetStat(Stat.save_fortitude).ToString(); _willSave.IsActive = true; _willSave.Value = critter.GetStat(Stat.save_willpower).ToString(); } else { _fortitudeSave.IsActive = false; _reflexSave.IsActive = false; _willSave.IsActive = false; } }