This commit is contained in:
Paul 2001-06-27 19:50:35 +00:00
parent 180ba21ecb
commit 7853274fe5
14 changed files with 70 additions and 145 deletions

View file

@ -626,7 +626,7 @@ m_animNo=0;
m_animFrame=0;
setFacing(FACING_RIGHT);
m_currentPlayerModeClass=NULL;
m_lastModeBeforeDeath=PLAYER_MODE_FULLUNARMED; // Player will then respawn into this mode
m_lastModeBeforeDeath=PLAYER_MODE_BASICUNARMED; // Player will then respawn into this mode
m_lives++;respawn();
m_canExitLevel=false;
@ -772,8 +772,7 @@ if(PadGetDown(0)&PAD_TRIANGLE)
updatePadInput();
// Weapon collect/drop/swap stuff..
if(m_currentMode==PLAYER_MODE_BASICUNARMED||
m_currentMode==PLAYER_MODE_FULLUNARMED)
if(m_currentMode==PLAYER_MODE_BASICUNARMED)
{
// Always trying to pickup weapon if unarmed... means that when SB walks
// over an item whilst unarmed, he automatically picks it up
@ -786,7 +785,6 @@ if(PadGetDown(0)&PAD_TRIANGLE)
// If already armed then drop current weapon
if(m_currentMode!=PLAYER_MODE_BASICUNARMED&&
m_currentMode!=PLAYER_MODE_FULLUNARMED&&
m_currentMode!=PLAYER_MODE_DEAD)
{
static const int s_pickupsToDrop[NUM_PLAYERMODES]=
@ -814,7 +812,7 @@ if(PadGetDown(0)&PAD_TRIANGLE)
pickup=createPickup((PICKUP_TYPE)pickupToDrop,&pickupPos);
pickup->setPos(&pickupPos);
}
setMode(PLAYER_MODE_FULLUNARMED);
setMode(PLAYER_MODE_BASICUNARMED);
}
}
@ -2055,7 +2053,7 @@ void CPlayer::takeDamage(DAMAGE_TYPE _damage,REACT_DIRECTION _reactDirection,CTh
if(m_currentMode==PLAYER_MODE_NET)
{
// Launch net pickup
setMode(PLAYER_MODE_FULLUNARMED);
setMode(PLAYER_MODE_BASICUNARMED);
DVECTOR pickupPos;
CBasePickup *pickup;
pickupPos.vx=Pos.vx;

View file

@ -104,7 +104,7 @@ void CPlayerModeBalloon::think()
{
CSoundMediator::playSfx(CSoundMediator::SFX_BALLOON_POP);
}
m_player->setMode(PLAYER_MODE_FULLUNARMED);
m_player->setMode(PLAYER_MODE_BASICUNARMED);
}
}

View file

@ -17,6 +17,14 @@
#include "player\pmchop.h"
#ifndef __GFX_SPRBANK_H__
#include "gfx\sprbank.h"
#endif
#ifndef __GAME_GAME_H__
#include "game\game.h"
#endif
/* Std Lib
------- */
@ -28,6 +36,10 @@
#include <ACTOR_SPONGEBOB_ANIM.h>
#endif
#ifndef __SPR_SPRITES_H__
#include <sprites.h>
#endif
/*----------------------------------------------------------------------
Tyepdefs && Defines
@ -55,6 +67,7 @@ void CPlayerModeChop::enter()
{
CPlayerModeBase::enter();
m_chopping=false;
m_timer=0;
}
/*----------------------------------------------------------------------
@ -116,6 +129,31 @@ void CPlayerModeChop::think()
setPlayerCollisionSize(m_savedCSX,m_savedCSY,m_savedCSW,m_savedCSH);
}
}
if(++m_timer>CHOP_TIMEOUT)
{
m_player->setMode(PLAYER_MODE_BASICUNARMED);
}
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CPlayerModeChop::renderModeUi()
{
if(m_timer<CHOP_TIMEOUT-CHOP_FLASH_TIME||m_timer&2)
{
SpriteBank *sb;
sFrameHdr *fh;
sb=CGameScene::getSpriteBank();
fh=sb->getFrameHeader(FRM__GLOVE);
sb->printFT4(fh,CPlayer::POWERUPUI_ICONX,CPlayer::POWERUPUI_ICONY,0,0,CPlayer::POWERUPUI_OT);
}
}
/*----------------------------------------------------------------------

View file

@ -39,6 +39,7 @@ class CPlayerModeChop : public CPlayerModeBase
public:
virtual void enter();
virtual void think();
virtual void renderModeUi();
virtual void setAnimNo(int _animNo);
virtual void setAnimFrame(int _animFrame);
@ -52,6 +53,8 @@ private:
{
CHOP_ATTACK_START_FRAME=15,
CHOP_ATTACK_END_FRAME=21,
CHOP_TIMEOUT=10*60,
CHOP_FLASH_TIME=2*60,
};
@ -60,6 +63,7 @@ private:
int m_savedAnimNo,m_savedAnimFrame;
int m_chopFrame;
int m_chopping;
int m_timer;
int m_savedCSX,m_savedCSY,m_savedCSW,m_savedCSH;