This commit is contained in:
parent
d3d3b2e25f
commit
343883562c
1 changed files with 39 additions and 25 deletions
|
@ -847,34 +847,48 @@ if(newmode!=-1)
|
|||
// If already armed then drop current weapon
|
||||
if(m_currentMode!=PLAYER_MODE_BASICUNARMED)
|
||||
{
|
||||
static const int s_pickupsToDrop[NUM_PLAYERMODES]=
|
||||
switch(m_currentPlayerModeClass->getState())
|
||||
{
|
||||
-1, // PLAYER_MODE_BASICUNARMED
|
||||
-1, // PLAYER_MODE_FULLUNARMED
|
||||
-1, // PLAYER_MODE_BALLOON
|
||||
PICKUP__BUBBLE_WAND, // PLAYER_MODE_BUBBLE_MIXTURE
|
||||
PICKUP__NET, // PLAYER_MODE_NET
|
||||
PICKUP__CORAL_BLOWER, // PLAYER_MODE_CORALBLOWER
|
||||
PICKUP__JELLY_LAUNCHER, // PLAYER_MODE_JELLY_LAUNCHER
|
||||
-1, // PLAYER_MODE_DEAD
|
||||
-1, // PLAYER_MODE_FLY
|
||||
-1, // PLAYER_MODE_CART
|
||||
-1, // PLAYER_MODE_SWALLOW
|
||||
};
|
||||
case STATE_BUTTBOUNCE:
|
||||
case STATE_BUTTFALL:
|
||||
case STATE_BUTTLAND:
|
||||
case STATE_BUTTBOUNCEUP:
|
||||
break;
|
||||
|
||||
int pickupToDrop;
|
||||
pickupToDrop=s_pickupsToDrop[m_currentMode];
|
||||
if(pickupToDrop!=-1)
|
||||
{
|
||||
DVECTOR pickupPos;
|
||||
CBasePickup *pickup;
|
||||
pickupPos.vx=Pos.vx;
|
||||
pickupPos.vy=Pos.vy-30;
|
||||
pickup=createPickup((PICKUP_TYPE)pickupToDrop,&pickupPos);
|
||||
pickup->setPos(&pickupPos);
|
||||
((CBaseWeaponPickup*)pickup)->setHasBeenCollected();
|
||||
default:
|
||||
{
|
||||
static const int s_pickupsToDrop[NUM_PLAYERMODES]=
|
||||
{
|
||||
-1, // PLAYER_MODE_BASICUNARMED
|
||||
-1, // PLAYER_MODE_FULLUNARMED
|
||||
-1, // PLAYER_MODE_BALLOON
|
||||
PICKUP__BUBBLE_WAND, // PLAYER_MODE_BUBBLE_MIXTURE
|
||||
PICKUP__NET, // PLAYER_MODE_NET
|
||||
PICKUP__CORAL_BLOWER, // PLAYER_MODE_CORALBLOWER
|
||||
PICKUP__JELLY_LAUNCHER, // PLAYER_MODE_JELLY_LAUNCHER
|
||||
-1, // PLAYER_MODE_DEAD
|
||||
-1, // PLAYER_MODE_FLY
|
||||
-1, // PLAYER_MODE_CART
|
||||
-1, // PLAYER_MODE_SWALLOW
|
||||
};
|
||||
|
||||
int pickupToDrop;
|
||||
pickupToDrop=s_pickupsToDrop[m_currentMode];
|
||||
if(pickupToDrop!=-1)
|
||||
{
|
||||
DVECTOR pickupPos;
|
||||
CBasePickup *pickup;
|
||||
pickupPos.vx=Pos.vx;
|
||||
pickupPos.vy=Pos.vy-30;
|
||||
pickup=createPickup((PICKUP_TYPE)pickupToDrop,&pickupPos);
|
||||
pickup->setPos(&pickupPos);
|
||||
((CBaseWeaponPickup*)pickup)->setHasBeenCollected();
|
||||
}
|
||||
setMode(PLAYER_MODE_BASICUNARMED);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
setMode(PLAYER_MODE_BASICUNARMED);
|
||||
}
|
||||
|
||||
// Now trying to pick up a weapon..
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue