server/src/study.h

51 lines
1.2 KiB
C
Raw Normal View History

2010-08-08 10:06:34 +02:00
#ifndef H_KRNL_STUDY
#define H_KRNL_STUDY
#include "skill.h"
#include <kernel/types.h>
2010-08-08 10:06:34 +02:00
#ifdef __cplusplus
extern "C" {
#endif
struct unit;
2017-01-26 18:58:29 +01:00
struct selist;
#define STUDYDAYS 30
#define TEACHNUMBER 10
#define TEACHDIFFERENCE 2
typedef struct teaching_info {
struct selist *teachers;
int students;
int days;
} teaching_info;
extern const struct attrib_type at_learning;
int teach_cmd(struct unit *u, struct order *ord);
int study_cmd(struct unit *u, struct order *ord);
2010-08-08 10:06:34 +02:00
magic_t getmagicskill(const struct locale *lang);
2018-07-05 20:06:32 +02:00
skill_t getskill(const struct locale *lang);
bool is_migrant(struct unit *u);
int study_cost(struct unit *u, skill_t sk);
bool check_student(const struct unit *u, struct order *ord, skill_t sk);
2010-08-08 10:06:34 +02:00
typedef void(*learn_fun)(struct unit *u, skill_t sk, int days);
void learn_skill(struct unit *u, skill_t sk, int days);
2017-07-31 12:55:05 +02:00
void reduce_skill_days(struct unit *u, skill_t sk, int days);
void produceexp(struct unit *u, skill_t sk, int n);
void produceexp_ex(struct unit *u, skill_t sk, int n, learn_fun learn);
void demon_skillchange(struct unit *u);
void inject_learn(learn_fun fun);
2010-08-08 10:06:34 +02:00
#ifdef __cplusplus
}
#endif
#endif