My Project
 
Loading...
Searching...
No Matches
warlock.h
Go to the documentation of this file.
1#pragma once
2
3#include "mob.h"
4#include "callback.h"
5
6class Warlock :public Mob, public Callback{
7public:
8 virtual CharSprite* Sprite();
9 virtual std::string getClassName() { return "Warlock"; }
10 static Mob* CreateWarlock();
11
12 Warlock();
13
14 virtual int damageRoll();
15 virtual int attackSkill(Char* target) { return 25; }
16 virtual int dr() { return 8; }
18 zap();
19 next();
20 }
21 virtual void call() { next(); }
22 virtual std::string description() {
23 return
24 std::string("When dwarves' interests have shifted from engineering to arcane arts, ") +
25 std::string("warlocks have come to power in the city. They started with elemental magic, ") +
26 std::string("but soon switched to demonology and necromancy.");
27 }
28protected:
29 virtual bool canAttack(Char* enemy);
30 bool doAttack(Char* enemy);
31
32private:
33 static const float TIME_TO_ZAP;
34
35 static const std::string TXT_SHADOWBOLT_KILLED;
36
37 void zap();
38};
void next()
Definition actor.h:33
Definition char.h:9
Char()
Definition char.cpp:34
Definition charsprite.h:13
Definition mob.h:9
int target
Definition mob.h:58
Char * enemy
Definition mob.h:65
Mob()
Definition mob.cpp:17
virtual int dr()
Definition warlock.h:16
bool doAttack(Char *enemy)
Definition warlock.cpp:44
static Mob * CreateWarlock()
Definition warlock.cpp:14
virtual CharSprite * Sprite()
Definition warlock.cpp:9
virtual int attackSkill(Char *target)
Definition warlock.h:15
virtual void call()
Definition warlock.h:21
Warlock()
Definition warlock.cpp:19
void onZapComplete()
Definition warlock.h:17
virtual int damageRoll()
Definition warlock.cpp:34
virtual bool canAttack(Char *enemy)
Definition warlock.cpp:39
virtual std::string description()
Definition warlock.h:22
virtual std::string getClassName()
Definition warlock.h:9