CPoisonSlug.h 761 Bytes
Newer Older
1
/*
FCTW's avatar
FCTW committed
2
 * CPoisonSlug.h
3
 *
FCTW's avatar
FCTW committed
4
 *  Created on: 23FEB2011
5 6 7 8 9
 *      Author: FCTW
 *
 *  This handles the Poison Slugs in Galaxy
 */
 
10 11
#ifndef CPOISONSLUG_H_
#define CPOISONSLUG_H_
12

Gerstrong's avatar
Gerstrong committed
13
#include <vector>
14
#include "engine/galaxy/common/ai/CStunnable.h"
15 16 17 18

namespace galaxy {


Gerhard Stein's avatar
Gerhard Stein committed
19 20
class CPoisonSlug : public CStunnable
{
21
public:
Gerhard Stein's avatar
Gerhard Stein committed
22
	CPoisonSlug(CMap *pmap, const Uint16 foeID, Uint32 x, Uint32 y);
Gerstrong's avatar
Gerstrong committed
23

Gerstrong's avatar
Gerstrong committed
24 25 26
	/**
	 * When slug is moving normally
	 */
Gerstrong's avatar
Gerstrong committed
27
	void processCrawling();
Gerstrong's avatar
Gerstrong committed
28 29 30 31 32


	/**
	 * When slug is pooing slime
	 */
Gerstrong's avatar
Gerstrong committed
33 34
	void processPooing();

35
	int checkSolidD( int x1, int x2, int y2, const bool push_mode );
Gerstrong's avatar
Gerstrong committed
36

37
	void process();
Gerstrong's avatar
Gerstrong committed
38

Gerstrong's avatar
Gerstrong committed
39 40 41
	/**
	 * What happens if the slug gets touched by another object
	 */
42
	void getTouchedBy(CSpriteObject &theObject);
Gerstrong's avatar
Gerstrong committed
43

Gerstrong's avatar
Gerstrong committed
44 45
private:
	int m_timer;
46 47 48 49 50
};

}

#endif /* CSLUG_H_ */