Files
fallout2-ce/src/skill.h
Mike Klaas 404236c0cb Deobfuscate audio_file, character_selector, options, dictionary, map, elevator, movie.cc/h (#293)
* Debobfuscate audio_file, character_selector, options, and others

* dictionary, font_manager, nevs

* elevator, map, movie

* item, mp_proto, skill

* proto_instance

* proto, proto_types

* revert dictionary, step -> i

* PR feedback

* criticalChanceModifier -> skillBonus

* skillOrCritSuccessBonus
2026-03-09 05:14:20 +00:00

54 lines
1.6 KiB
C++

#ifndef SKILL_H
#define SKILL_H
#include "db.h"
#include "obj_types.h"
#include "proto_types.h"
#include "skill_defs.h"
namespace fallout {
extern int _gIsSteal;
extern int _gStealCount;
extern int _gStealSize;
int skillsInit();
void skillsReset();
void skillsExit();
int skillsLoad(File* stream);
int skillsSave(File* stream);
void protoCritterDataResetSkills(CritterProtoData* data);
void skillsSetTagged(int* skills, int count);
void skillsGetTagged(int* skills, int count);
bool skillIsTagged(int skill);
int skillGetValue(Object* critter, int skill);
int skillGetDefaultValue(int skill);
int skillGetBaseValue(Object* critter, int skill);
int skillAdd(Object* critter, int skill);
int skillAddForce(Object* critter, int skill);
int skillsGetCost(int skillValue);
int skillSub(Object* critter, int skill);
int skillSubForce(Object* critter, int skill);
int skillRoll(Object* critter, int skill, int modifier, int* howMuch);
char* skillGetName(int skill);
char* skillGetDescription(int skill);
char* skillGetAttributes(int skill);
int skillGetFrmId(int skill);
int skillUse(Object* obj, Object* target, int skill, int skillBonus);
int skillsPerformStealing(Object* thief, Object* target, Object* item, bool isPlanting);
int skillGetGameDifficultyModifier(int skill);
int skillUpdateLastUse(int skill);
int skillsUsageSave(File* stream);
int skillsUsageLoad(File* stream);
char* skillsGetGenericResponse(Object* critter, bool isDude);
// Returns true if skill is valid.
static inline bool skillIsValid(int skill)
{
return skill >= 0 && skill < SKILL_COUNT;
}
} // namespace fallout
#endif /* SKILL_H */