Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F625875
EnemyEntity.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None
EnemyEntity.h
View Options
#ifndef ENNEMYPRITE_H
#define ENNEMYPRITE_H
#include
"BaseCreatureEntity.h"
#include
"BoltEntity.h"
enum
enemyTypeEnum
{
// normal
EnemyTypeBat
,
EnemyTypeRat
,
EnemyTypeRatBlack
,
EnemyTypeRatHelmet
,
EnemyTypeRatBlackHelmet
,
EnemyTypeEvilFlower
,
EnemyTypeEvilFlowerIce
,
EnemyTypeSnake
,
EnemyTypeSnakeBlood
,
EnemyTypeSlime
,
EnemyTypeSlimeRed
,
EnemyTypeSlimeBlue
,
EnemyTypeSlimeViolet
,
EnemyTypeImpBlue
,
EnemyTypeImpRed
,
EnemyTypePumpkin
,
EnemyTypeWitch
,
EnemyTypeWitchRed
,
EnemyTypeCauldron
,
// mini boss
EnemyTypeBubble
,
// boss
EnemyTypeButcher
,
EnemyTypeSlimeBoss
,
EnemyTypeCyclops
,
EnemyTypeRatKing
,
EnemyTypeSpiderGiant
,
// invocated
EnemyTypeBat_invocated
,
EnemyTypeRat_invocated
,
EnemyTypeRatGreen
,
EnemyTypeRatHelmet_invocated
,
EnemyTypeSnake_invocated
,
EnemyTypeSnakeBlood_invocated
,
EnemyTypeRockFalling
,
EnemyTypeRockMissile
,
EnemyTypeSlime_invocated
,
EnemyTypeSlimeRed_invocated
,
EnemyTypeSlimeBlue_invocated
,
EnemyTypeSlimeViolet_invocated
,
EnemyTypePumpkin_invocated
,
EnemyTypeSpiderEgg_invocated
,
EnemyTypeSpiderLittle_invocated
,
EnemyTypeSpiderWeb
,
NB_ENEMY
// = no enemy
};
enum
sourceTypeEnum
{
SourceTypePlayer
,
SourceTypePlayerBolt
,
};
class
EnemyEntity
:
public
BaseCreatureEntity
{
public
:
EnemyEntity
(
sf
::
Texture
*
image
,
float
x
,
float
y
);
virtual
void
animate
(
float
delay
);
virtual
void
calculateBB
();
virtual
void
render
(
sf
::
RenderTarget
*
app
);
virtual
int
hurt
(
int
damages
,
enumShotType
hurtingType
,
int
level
,
bool
critical
,
int
sourceType
)
override
;
virtual
bool
canCollide
();
enemyTypeEnum
getEnemyType
();
void
setLabelDy
(
float
label_dy
);
protected
:
virtual
void
collideMapRight
();
virtual
void
collideMapLeft
();
virtual
void
collideMapTop
();
virtual
void
collideMapBottom
();
void
renderLifeBar
(
sf
::
RenderTarget
*
app
,
std
::
string
label
);
void
makeExplode
();
virtual
void
readCollidingEntity
(
CollidingSpriteEntity
*
entity
);
virtual
void
dying
();
virtual
void
drop
();
virtual
void
collideWithEnemy
(
EnemyEntity
*
entity
);
virtual
void
collideWithBolt
(
BoltEntity
*
boltEntity
);
int
getCollisionDirection
(
BoltEntity
*
boltEntity
);
int
meleeDamages
;
int
meleeLevel
;
enumShotType
meleeType
;
float
h
;
float
hVelocity
;
float
label_dy
;
/* dy of the bar label for bosses */
int
dyingFrame
;
int
deathFrame
;
bool
isAgonising
;
sound_resources
hurtingSound
;
sound_resources
dyingSound
;
sound_resources
agonizingSound
;
enemyTypeEnum
enemyType
;
bool
testEntityInMap
();
private
:
};
#endif
// ENNEMYPRITE_H
File Metadata
Details
Attached
Mime Type
text/x-c++
Expires
Sun, Nov 15, 12:01 AM (1 d, 14 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
141573
Default Alt Text
EnemyEntity.h (2 KB)
Attached To
Mode
R78 witchblast
Attached
Detach File
Event Timeline