void Func_GetBaseSaveBonus (CGameObject *ob, char *value) {
    int val = 0;
    const CNWSCreature *cre;

    if (ob == NULL                                    ||
        (cre = ob->vtable->AsNWSCreature(ob)) == NULL ||
        cre->cre_stats == NULL                        ||
        (val = atoi(value)) < 1 || val > 3) {

        snprintf(value, strlen(value), "0");
        return;
    }

    switch (val) {
        case 1:  val = CNWSCreatureStats__GetFortSavingThrow(cre->cre_stats, 1);    break;
        case 2:  val = CNWSCreatureStats__GetReflexSavingThrow(cre->cre_stats, 1);  break;
        default: val = CNWSCreatureStats__GetWillSavingThrow(cre->cre_stats, 1);    break;
    }

    snprintf(value, strlen(value), "%d", val);
}
char CNWSCreatureStats_s::GetFortSavingThrow(int bBaseOnly) {
	return CNWSCreatureStats__GetFortSavingThrow(this, bBaseOnly);
}