Lines Matching refs:occ

33 static void occ_del(struct occ *occ)  in occ_del()  argument
35 if (!occ) in occ_del()
37 if (occ->tag) in occ_del()
38 free(occ->tag); in occ_del()
39 if (occ->name) in occ_del()
40 free(occ->name); in occ_del()
41 if (occ->gob) in occ_del()
42 gob_del(occ->gob); in occ_del()
43 if (occ->skills) in occ_del()
44 skill_set_unref(occ->skills); in occ_del()
45 free(occ); in occ_del()
48 extern struct occ *occ_new(const char *tag, in occ_new()
60 struct occ *occ = 0; in occ_new() local
62 occ = (struct occ*)calloc(1, sizeof(*occ));; in occ_new()
63 assert(occ); in occ_new()
65 occ->tag = strdup(tag); in occ_new()
66 assert(occ->tag); in occ_new()
68 occ->name = strdup(name); in occ_new()
69 assert(occ->name); in occ_new()
71 occ->magic = magic; in occ_new()
72 occ->hp_mod = hp_mod; in occ_new()
73 occ->hp_mult = hp_mult; in occ_new()
74 occ->mp_mod = mp_mod; in occ_new()
75 occ->mp_mult = mp_mult; in occ_new()
76 occ->hit_mod = hit_mod; in occ_new()
77 occ->def_mod = def_mod; in occ_new()
78 occ->dam_mod = dam_mod; in occ_new()
79 occ->arm_mod = arm_mod; in occ_new()
81 assert(occ->tag); in occ_new()
82 assert(occ->name); in occ_new()
84 return occ; in occ_new()
87 extern void occ_unref(struct occ* occ) in occ_unref() argument
89 assert(occ->refcount > 0); in occ_unref()
90 occ->refcount--; in occ_unref()
91 if (! occ->refcount) in occ_unref()
92 occ_del(occ); in occ_unref()
95 void occ_set_skills(struct occ *occ, struct skill_set *skills) in occ_set_skills() argument
97 if (occ->skills) { in occ_set_skills()
99 occ->skills = 0; in occ_set_skills()
104 occ->skills = skills; in occ_set_skills()