diff --git a/server/gameserver/hero.cc b/server/gameserver/hero.cc index 16509fd..aa2c48c 100644 --- a/server/gameserver/hero.cc +++ b/server/gameserver/hero.cc @@ -31,6 +31,16 @@ void Hero::Initialize() ai = new HeroAI; ai->owner = this; ai->SetAiLevel(8); + MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(meta->i->default_weapon()); + if (weapon_meta) { + weapons[GUN_SLOT1].weapon_idx = GUN_SLOT1; + weapons[GUN_SLOT1].weapon_id = weapon_meta->i->id(); + weapons[GUN_SLOT1].weapon_lv = 1; + weapons[GUN_SLOT1].ammo = 10000; + weapons[GUN_SLOT1].meta = weapon_meta; + weapons[GUN_SLOT1].Recalc(); + SetCurrWeapon(&weapons[GUN_SLOT1]); + } } void Hero::FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data) diff --git a/server/tools/protobuild/metatable.proto b/server/tools/protobuild/metatable.proto index f0836d4..87b76a1 100755 --- a/server/tools/protobuild/metatable.proto +++ b/server/tools/protobuild/metatable.proto @@ -156,6 +156,7 @@ message Player optional float hit_radius = 25; optional string ai_script = 26; optional string init_buffs = 27; + optional int32 default_weapon = 28; } message Robot