In player.cpp:
Add:
Code:
case 0x4B: Mobs::handleSummonBag(this, buf+2); break;
default: break;
in the handleRequest function.
The default:break; should fix the character freezing when doing something unexpected.
In mobs.cpp add:
Code:
//Code updated by abahbob
void Mobs::handleSummonBag(Player* player, unsigned char* packet)
{
int itemID = getInt(packet+6);
if(itemID == 2101001)
{
//Crimson Balrog
spawnMob(player, 8150000);
}
if(itemID == 2100008)
{
//The Boss
spawnMob(player, 9400300);
}
if(itemID == 2100017)
{
//Various Omega Sector Aliens
spawnMob(player, 4230116);
spawnMob(player, 4230116);
spawnMob(player, 4230116);
spawnMob(player, 4230116);
spawnMob(player, 4230117);
spawnMob(player, 4230117);
spawnMob(player, 4230118);
spawnMob(player, 4230118);
spawnMob(player, 4240000);
}
if(itemID == 2100000)
{
//Jr. Balrog
spawnMob(player, 9300085);
}
if(itemID == 2100014)
{
//Gargoyle
spawnMob(player, 9300025);
}
if(itemID == 2100016)
{
//Various Ludibrium Monsters
spawnMob(player, 3210205);
spawnMob(player, 3230302);
spawnMob(player, 3230306);
spawnMob(player, 4230112);
spawnMob(player, 3210203);
spawnMob(player, 3110101);
spawnMob(player, 3210204);
spawnMob(player, 3210207);
spawnMob(player, 4230113);
spawnMob(player, 3000005);
}
if(itemID == 2100001)
{
//Various Monsters Lvl 1 – 10
spawnMob(player, 100101);
spawnMob(player, 1210102);
spawnMob(player, 1210100);
spawnMob(player, 130101);
spawnMob(player, 120100);
spawnMob(player, 210100);
spawnMob(player, 100100);
spawnMob(player, 130100);
spawnMob(player, 100101);
spawnMob(player, 1210102);
spawnMob(player, 1210100);
spawnMob(player, 130101);
spawnMob(player, 120100);
spawnMob(player, 210100);
spawnMob(player, 100100);
spawnMob(player, 130100);
}
if(itemID == 2101013)
{
//Male Boss
spawnMob(player, 9400120);
}
if(itemID == 2100010)
{
//Dances with Balrog's Clone
spawnMob(player, 9001000);
}
if(itemID == 2100012)
{
//Athena Pierce's Clone
spawnMob(player, 9001002);
}
Inventory::takeItem(player, itemID, 1);
}
at the end.
Add:
Code:
#include "Inventory.h"
at the top.
The function is self-explanatory really.
Now in mobs.h add:
Code:
static void handleSummonBag(Player* player, unsigned char* packet);