marrub
/
Lithia
Archived
1
0
Fork 0
This repository has been archived on 2023-06-17. You can view files and clone it, but cannot push or open issues/pull-requests.
Lithia/source/Headers/lith_monster.h

74 lines
1.2 KiB
C

// Copyright © 2016-2017 Graham Sanderson, all rights reserved.
#ifndef LITH_MONSTER_H
#define LITH_MONSTER_H
#include "lith_common.h"
#include "lith_list.h"
#define MAXRANK 5
#define MAXLEVEL 150
enum dmgtype {
dmgtype_bullets,
dmgtype_energy,
dmgtype_fire,
dmgtype_magic,
dmgtype_melee,
dmgtype_shrapnel,
dmgtype_max
};
enum mtype {
mtype_unknown,
mtype_zombie,
mtype_imp,
mtype_demon,
mtype_lostsoul,
mtype_mancubus,
mtype_arachnotron,
mtype_cacodemon,
mtype_hellknight,
mtype_baron,
mtype_revenant,
mtype_painelemental,
mtype_archvile,
mtype_mastermind,
mtype_cyberdemon,
mtype_phantom,
mtype_max
};
struct dmon {
bool active;
int id;
enum mtype type;
bool wasdead;
u64 exp;
int level;
int rank;
int maxhealth;
int resist[dmgtype_max];
int painresist;
i96 score;
struct dmon_stat *ms;
};
__addrdef extern __mod_arr dmonarr;
typedef struct dmon dmonarr dmon_t;
#ifndef EXTERNAL_CODE
extern int dmonarr dmonid;
#endif
script optargs(2) dmon_t *DmonPtr(int tid, int ptr);
dmon_t *Dmon(int id);
dmon_t *AllocDmon(void);
void PrintDmonAllocSize(struct player *p);
#endif//LITH_MONSTER_H