My Project
 
Loading...
Searching...
No Matches
goo.h
Go to the documentation of this file.
1#pragma once
2
3#include "mob.h"
4
5class Goo :public Mob{
6private:
7 static const float PUMP_UP_DELAY;
8 bool pumpedUp;
9 bool jumped;
10public:
11
12 virtual CharSprite* Sprite();
13 virtual std::string getClassName() { return "Goo"; }
14 static Mob* CreateGoo();
15
16 Goo();
17
18 virtual int damageRoll();
19 virtual int attackSkill(Char* target){ return pumpedUp && !jumped ? 30 : 15; }
20 virtual int dr() { return 2; }
21 virtual bool act();
22 virtual int attackProc(Char* enemy, int damage);
23 virtual bool attack(Char* enemy){ bool result = Mob::attack(enemy); pumpedUp = false; return result; }
24
25 virtual void move(int step);
26 virtual void die(const std::string& cause);
27 virtual void notice();
28 virtual std::string description();
29protected:
30 virtual bool canAttack(Char* enemy){ return pumpedUp ? distance(enemy) <= 2 : Mob::canAttack(enemy); }
31 virtual bool doAttack(Char* enemy);
32 virtual bool getCloser(int target){ pumpedUp = false; return Mob::getCloser(target); }
33};
Definition char.h:9
bool attack(Char *enemy)
Definition char.cpp:252
int distance(Char *other)
Definition char.cpp:510
Char()
Definition char.cpp:34
Definition charsprite.h:13
Goo()
Definition goo.cpp:20
virtual bool doAttack(Char *enemy)
Definition goo.cpp:103
static Mob * CreateGoo()
Definition goo.cpp:15
virtual bool getCloser(int target)
Definition goo.h:32
virtual int dr()
Definition goo.h:20
virtual CharSprite * Sprite()
Definition goo.cpp:10
virtual int attackSkill(Char *target)
Definition goo.h:19
virtual int damageRoll()
Definition goo.cpp:36
virtual bool canAttack(Char *enemy)
Definition goo.h:30
virtual void move(int step)
Definition goo.cpp:70
virtual std::string getClassName()
Definition goo.h:13
virtual std::string description()
Definition goo.cpp:96
virtual void notice()
Definition goo.cpp:90
virtual bool act()
Definition goo.cpp:48
virtual void die(const std::string &cause)
Definition goo.cpp:76
virtual int attackProc(Char *enemy, int damage)
Definition goo.cpp:59
virtual bool attack(Char *enemy)
Definition goo.h:23
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
virtual bool canAttack(Char *enemy)
Definition mob.cpp:315
Mob()
Definition mob.cpp:17
virtual bool getCloser(int target)
Definition mob.cpp:320