My Project
 
Loading...
Searching...
No Matches
king.h
Go to the documentation of this file.
1#pragma once
2
3#include "mob.h"
4
5class King :public Mob{
6public:
7 class Undead :public Mob{
8 public:
9 static int count;
10
11 virtual CharSprite* Sprite();
12 virtual std::string getClassName() { return "KingUndead"; }
13 static Mob* CreateUndead();
14
15 Undead();
16 virtual int damageRoll();
17 virtual int attackSkill(Char* target) { return 16; }
18 virtual int attackProc(Char* enemy, int damage);
19 virtual void damage(int dmg, const std::string& src);
20 virtual void die(const std::string& cause);
21 virtual int dr() { return 5; }
22 virtual std::string defenseVerb() { return "blocked"; }
23 virtual std::string description(){
24 return
25 std::string("These undead dwarves, risen by the will of the King of Dwarves, were members of his court. ") +
26 std::string("They appear as skeletons with a stunning amount of facial hair.");
27 }
28 protected:
29 virtual void onAdd();
30 virtual void onRemove();
31 };
32public:
33 virtual CharSprite* Sprite();
34 virtual std::string getClassName() { return "King"; }
35 static Mob* CreateKing();
36
37 King();
38 virtual void storeInBundle(Bundle* bundle);
39 virtual void restoreFromBundle(Bundle* bundle);
40
41 virtual int damageRoll();
42 virtual int attackSkill(Char* target) { return 32; }
43 virtual int dr() { return 14; }
44 virtual std::string defenseVerb() { return "parried"; }
45 virtual bool attack(Char* enemy);
46 virtual void die(const std::string& cause);
47 virtual void notice();
48 virtual std::string description() {
49 return
50 std::string("The last king of dwarves was known for his deep understanding of processes of life and death. ") +
51 std::string("He has persuaded members of his court to participate in a ritual, that should have granted them ") +
52 std::string("eternal youthfulness. In the end he was the only one, who got it - and an army of undead ") +
53 std::string("as a bonus.");
54 }
55protected:
56 virtual bool getCloser(int target);
57 virtual bool canAttack(Char* enemy);
58private:
59 bool nextPedestal;
60 static const int MAX_ARMY_SIZE = 5;
61 static const std::string PEDESTAL;
62
63 bool canTryToSummon();
64 int maxArmySize();
65 void summon();
66};
Definition char.h:9
Char()
Definition char.cpp:34
Definition charsprite.h:13
Undead()
Definition king.cpp:23
virtual std::string defenseVerb()
Definition king.h:22
virtual int dr()
Definition king.h:21
virtual CharSprite * Sprite()
Definition king.cpp:13
virtual void onAdd()
Definition king.cpp:69
virtual void damage(int dmg, const std::string &src)
Definition king.cpp:51
static int count
Definition king.h:9
virtual int attackProc(Char *enemy, int damage)
Definition king.cpp:41
virtual std::string description()
Definition king.h:23
virtual void die(const std::string &cause)
Definition king.cpp:59
virtual std::string getClassName()
Definition king.h:12
virtual void onRemove()
Definition king.cpp:75
static Mob * CreateUndead()
Definition king.cpp:18
virtual int damageRoll()
Definition king.cpp:36
virtual int attackSkill(Char *target)
Definition king.h:17
virtual int attackSkill(Char *target)
Definition king.h:42
static Mob * CreateKing()
Definition king.cpp:86
virtual void restoreFromBundle(Bundle *bundle)
Definition king.cpp:111
virtual int damageRoll()
Definition king.cpp:117
virtual std::string defenseVerb()
Definition king.h:44
virtual bool canAttack(Char *enemy)
Definition king.cpp:162
virtual bool getCloser(int target)
Definition king.cpp:155
virtual std::string getClassName()
Definition king.h:34
virtual CharSprite * Sprite()
Definition king.cpp:81
virtual void storeInBundle(Bundle *bundle)
Definition king.cpp:105
virtual bool attack(Char *enemy)
Definition king.cpp:122
virtual void die(const std::string &cause)
Definition king.cpp:136
King()
Definition king.cpp:91
virtual int dr()
Definition king.h:43
virtual void notice()
Definition king.cpp:149
virtual std::string description()
Definition king.h:48
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
Mob()
Definition mob.cpp:17