My Project
 
Loading...
Searching...
No Matches
mimic.h
Go to the documentation of this file.
1#pragma once
2
3#include "mob.h"
4#include "typedefine.h"
5
6class Item;
7
8class Mimic :public Mob{
9private:
10 int level;
11 static const String LEVEL;
12 static const String ITEMS;
13public:
14 std::vector<Item*> items;
15
16 Mimic();
17
18 virtual std::string getClassName() { return "Mimic"; }
19 virtual CharSprite* Sprite();
20 static Mob* CreateMimic();
21
22 virtual void storeInBundle(Bundle* bundle);
23 virtual void restoreFromBundle(Bundle* bundle);
24
25 virtual int damageRoll();
26 virtual int attackSkill(Char* target) { return 9 + level; }
27 virtual int attackProc(Char* enemy, int damage);
28
29 void adjustStats(int level);
30
31 virtual void die(const std::string& src);
32 virtual boolean reset() {
34 return true;
35 }
36 virtual String description() {
37 return
38 std::string("Mimics are magical creatures which can take any shape they wish. In dungeons they almost always ") +
39 std::string("choose a shape of a treasure chest, because they know how to beckon an adventurer.");
40 }
41 static Mimic* spawnAt(int pos, std::vector<Item*>& items);
42};
Definition char.h:9
int pos
Definition char.h:29
Char()
Definition char.cpp:34
Definition charsprite.h:13
Definition item.h:15
Definition mimic.h:8
static Mob * CreateMimic()
Definition mimic.cpp:26
virtual CharSprite * Sprite()
Definition mimic.cpp:21
virtual void restoreFromBundle(Bundle *bundle)
Definition mimic.cpp:38
virtual boolean reset()
Definition mimic.h:32
virtual int damageRoll()
Definition mimic.cpp:45
Mimic()
Definition mimic.cpp:15
virtual std::string getClassName()
Definition mimic.h:18
virtual int attackProc(Char *enemy, int damage)
Definition mimic.cpp:50
virtual String description()
Definition mimic.h:36
std::vector< Item * > items
Definition mimic.h:14
virtual void die(const std::string &src)
Definition mimic.cpp:73
void adjustStats(int level)
Definition mimic.cpp:62
virtual void storeInBundle(Bundle *bundle)
Definition mimic.cpp:31
static Mimic * spawnAt(int pos, std::vector< Item * > &items)
Definition mimic.cpp:83
virtual int attackSkill(Char *target)
Definition mimic.h:26
Definition mob.h:9
int target
Definition mob.h:58
Char * enemy
Definition mob.h:65
virtual void damage(int dmg, const std::string &src)
Definition mob.cpp:375
AiState * WANDERING
Definition mob.h:48
Mob()
Definition mob.cpp:17
AiState * state
Definition mob.h:51
std::string String
Definition typedefine.h:8