This commit is contained in:
parent
3883c18a6f
commit
478ea22848
3 changed files with 31 additions and 52 deletions
|
@ -191,6 +191,14 @@
|
|||
#include "enemy\nmjback.h"
|
||||
#endif
|
||||
|
||||
#ifndef __ENEMY_NSJBACK_H__
|
||||
#include "enemy\nsjback.h"
|
||||
#endif
|
||||
|
||||
#ifndef __ENEMY_NBUTTFLY_H__
|
||||
#include "enemy\nbuttfly.h"
|
||||
#endif
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Enemy NPCs
|
||||
|
@ -430,6 +438,18 @@ CNpcEnemy *CNpcEnemy::Create(int enemyType)
|
|||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_SMALL_JELLYFISH_BACKGROUND:
|
||||
{
|
||||
enemy = new ("small jellyfish background") CNpcSmallJellyfishBackgroundEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_BUTTERFLY_BACKGROUND:
|
||||
{
|
||||
enemy = new ("butterfly background") CNpcButterflyBackgroundEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
SYSTEM_DBGMSG("UNKNOWN %i\n",enemyType);
|
||||
|
|
|
@ -109,61 +109,20 @@ void CJellyfishGenerator::think( int _frames, CLevel *level )
|
|||
switch( m_level )
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
enemy = (CNpcEnemy*)CThingManager::GetThing(CThing::TYPE_ENEMY,CNpcEnemy::NPC_SMALL_JELLYFISH_BACKGROUND);
|
||||
if (!enemy)
|
||||
{
|
||||
enemy = new( "jellyfish" ) CNpcSmallJellyfishBackgroundEnemy;
|
||||
ASSERT(enemy);
|
||||
}
|
||||
enemy->setType( CNpcEnemy::NPC_SMALL_JELLYFISH_BACKGROUND );
|
||||
enemy->setThingSubType(CNpcEnemy::NPC_SMALL_JELLYFISH_BACKGROUND);
|
||||
break;
|
||||
}
|
||||
|
||||
case 2:
|
||||
{
|
||||
if ( getRnd() % 4 == 0 )
|
||||
{
|
||||
enemy = (CNpcEnemy*)CThingManager::GetThing(CThing::TYPE_ENEMY,CNpcEnemy::NPC_SMALL_JELLYFISH_2_BACKGROUND);
|
||||
if (!enemy)
|
||||
{
|
||||
enemy = new( "jellyfish" ) CNpcSmallJellyfish2BackgroundEnemy;
|
||||
ASSERT(enemy);
|
||||
}
|
||||
enemy->setType( CNpcEnemy::NPC_SMALL_JELLYFISH_2_BACKGROUND );
|
||||
enemy->setThingSubType(CNpcEnemy::NPC_SMALL_JELLYFISH_2_BACKGROUND);
|
||||
}
|
||||
else
|
||||
{
|
||||
enemy = (CNpcEnemy*)CThingManager::GetThing(CThing::TYPE_ENEMY,CNpcEnemy::NPC_SMALL_JELLYFISH_BACKGROUND);
|
||||
if (!enemy)
|
||||
{
|
||||
enemy = new( "jellyfish" ) CNpcSmallJellyfishBackgroundEnemy;
|
||||
ASSERT(enemy);
|
||||
}
|
||||
enemy->setType( CNpcEnemy::NPC_SMALL_JELLYFISH_BACKGROUND );
|
||||
enemy->setThingSubType(CNpcEnemy::NPC_SMALL_JELLYFISH_BACKGROUND);
|
||||
}
|
||||
|
||||
enemy=CNpcEnemy::Create( CNpcEnemy::NPC_SMALL_JELLYFISH_BACKGROUND );
|
||||
break;
|
||||
}
|
||||
|
||||
case 3:
|
||||
{
|
||||
enemy = (CNpcEnemy*)CThingManager::GetThing(CThing::TYPE_ENEMY,CNpcEnemy::NPC_BUTTERFLY_BACKGROUND);
|
||||
if (!enemy)
|
||||
{
|
||||
enemy = new( "butterfly" ) CNpcButterflyBackgroundEnemy;
|
||||
ASSERT(enemy);
|
||||
}
|
||||
enemy->setType( CNpcEnemy::NPC_BUTTERFLY_BACKGROUND );
|
||||
enemy->setThingSubType(CNpcEnemy::NPC_BUTTERFLY_BACKGROUND);
|
||||
enemy=CNpcEnemy::Create( CNpcEnemy::NPC_BUTTERFLY_BACKGROUND );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
enemy->init();
|
||||
//enemy->init();
|
||||
|
||||
DVECTOR offset = CLevel::getCameraPos();
|
||||
|
||||
|
|
|
@ -496,24 +496,24 @@ void CPlayerProjectile::think(int _frames)
|
|||
{
|
||||
if ( !m_hitTarget )
|
||||
{
|
||||
Pos.vx += ( _frames * 4 * rcos( m_heading ) ) >> 12;
|
||||
Pos.vx += ( _frames * 5 * rcos( m_heading ) ) >> 12;
|
||||
|
||||
m_vertVelocity += 192;
|
||||
m_vertVelocity += 3 << 7;
|
||||
|
||||
if ( m_vertVelocity > ( 5 << 8 ) )
|
||||
if ( m_vertVelocity > ( 7 << 8 ) )
|
||||
{
|
||||
m_vertVelocity = 5 << 8;
|
||||
m_vertVelocity = 7 << 8;
|
||||
}
|
||||
else if ( m_vertVelocity < -( 5 << 8 ) )
|
||||
else if ( m_vertVelocity < -( 7 << 8 ) )
|
||||
{
|
||||
m_vertVelocity = -( 5 << 8 );
|
||||
m_vertVelocity = -( 7 << 8 );
|
||||
}
|
||||
|
||||
s16 moveY = ( m_vertVelocity >> 8 ) * _frames;
|
||||
|
||||
s32 groundHeight = CGameScene::getCollision()->getHeightFromGround( Pos.vx, Pos.vy + moveY, 32 );
|
||||
s32 groundHeight = CGameScene::getCollision()->getHeightFromGround( Pos.vx, Pos.vy, moveY );
|
||||
|
||||
if ( groundHeight < 0 )
|
||||
if ( groundHeight < moveY )
|
||||
{
|
||||
// destroy destructable tiles
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue