|
@@ -198,6 +198,13 @@ const char* Player::getName() const
|
|
|
|
|
|
|
|
void Player::tick(const Dimension* zDimension, double seconds)
|
|
void Player::tick(const Dimension* zDimension, double seconds)
|
|
|
{
|
|
{
|
|
|
|
|
+ if (gameMode)
|
|
|
|
|
+ {
|
|
|
|
|
+ setStamina(maxStamina);
|
|
|
|
|
+ setHP(0, 0, 0, maxHP);
|
|
|
|
|
+ setThirst(maxThirst);
|
|
|
|
|
+ setHunger(maxHunger);
|
|
|
|
|
+ }
|
|
|
if ((keyState | Key::LEFT_HAND_ACTION) == keyState)
|
|
if ((keyState | Key::LEFT_HAND_ACTION) == keyState)
|
|
|
useItemSlot(itemBar.get(leftHandPosition), true);
|
|
useItemSlot(itemBar.get(leftHandPosition), true);
|
|
|
if ((keyState | Key::RIGHT_HAND_ACTION) == keyState)
|
|
if ((keyState | Key::RIGHT_HAND_ACTION) == keyState)
|
|
@@ -410,38 +417,39 @@ void Player::playerApi(
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
case 11: // give Items
|
|
case 11: // give Items
|
|
|
- {
|
|
|
|
|
- if (gameMode)
|
|
|
|
|
{
|
|
{
|
|
|
- int type;
|
|
|
|
|
- zRequest->read((char*)&type, 4);
|
|
|
|
|
- bool fullStack = 0;
|
|
|
|
|
- zRequest->read((char*)&fullStack, 1);
|
|
|
|
|
- Item *item = Game::INSTANCE->zItemType(type)->createItem();
|
|
|
|
|
- if (item)
|
|
|
|
|
|
|
+ if (gameMode)
|
|
|
{
|
|
{
|
|
|
- ItemStack* stack = new ItemStack(
|
|
|
|
|
- item, fullStack ? item->getMaxStackSize() : 1);
|
|
|
|
|
- unsaveAddItem(stack, NO_DIRECTION, 0);
|
|
|
|
|
- if (stack->getSize() > 0)
|
|
|
|
|
|
|
+ int type;
|
|
|
|
|
+ zRequest->read((char*)&type, 4);
|
|
|
|
|
+ bool fullStack = 0;
|
|
|
|
|
+ zRequest->read((char*)&fullStack, 1);
|
|
|
|
|
+ Item* item = Game::INSTANCE->zItemType(type)->createItem();
|
|
|
|
|
+ if (item)
|
|
|
|
|
+ {
|
|
|
|
|
+ ItemStack* stack = new ItemStack(
|
|
|
|
|
+ item, fullStack ? item->getMaxStackSize() : 1);
|
|
|
|
|
+ unsaveAddItem(stack, NO_DIRECTION, 0);
|
|
|
|
|
+ if (stack->getSize() > 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ Game::INSTANCE->zChat()->sendMessageTo(
|
|
|
|
|
+ "Der Stack konnte nicht vollständig hinzugefügt "
|
|
|
|
|
+ "werden. Eventuell ist das Inventar voll.",
|
|
|
|
|
+ this,
|
|
|
|
|
+ Chat::CHANNEL_ERROR);
|
|
|
|
|
+ }
|
|
|
|
|
+ stack->release();
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
{
|
|
{
|
|
|
Game::INSTANCE->zChat()->sendMessageTo(
|
|
Game::INSTANCE->zChat()->sendMessageTo(
|
|
|
- "Der Stack konnte nicht vollständig hinzugefügt werden. Eventuell ist das Inventar voll.",
|
|
|
|
|
|
|
+ "Ein Item dieses Typs kann nicht erstellt werden.",
|
|
|
this,
|
|
this,
|
|
|
Chat::CHANNEL_ERROR);
|
|
Chat::CHANNEL_ERROR);
|
|
|
}
|
|
}
|
|
|
- stack->release();
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- Game::INSTANCE->zChat()->sendMessageTo(
|
|
|
|
|
- "Ein Item dieses Typs kann nicht erstellt werden.",
|
|
|
|
|
- this,
|
|
|
|
|
- Chat::CHANNEL_ERROR);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+ break;
|
|
|
}
|
|
}
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|