public void AddEudemon(RoleData_Eudemon eudemon) { mDicEudemon[eudemon.GetTypeID()] = eudemon; EudemonObject obj = new EudemonObject(eudemon, play); obj.CalcAttribute(); mListObj.Add(obj); SendEudemonInfo(eudemon); }
//增加幻兽 public void AddEudemon(GameStruct.RoleItemInfo item, byte level = 1, int quality = 0,byte wuxing = 0) { //创建进化后的幻兽处理-- 因为幻兽进化配置表只配置了初始幻兽的id String sItemID = item.itemid.ToString(); uint nItemId = item.itemid; if (sItemID.Substring(sItemID.Length-1, 1) != "0") { sItemID = sItemID.Substring(0, sItemID.Length - 1) + "0"; nItemId = Convert.ToUInt32(sItemID); } GameStruct.EudemonInfo info = ConfigManager.Instance().GetEudemonInfo(nItemId); if (info == null) { Log.Instance().WriteLog("创建幻兽失败,不存在的幻兽id:" + item.id.ToString()); return; } if (mDicEudemon.ContainsKey(item.itemid)) { Log.Instance().WriteLog("创建幻兽失败,重复的幻兽id:" + item.id.ToString()); return; } GameStruct.ItemTypeInfo itembaseinfo = ConfigManager.Instance().GetItemTypeInfo(item.itemid); if (itembaseinfo == null) { Log.Instance().WriteLog("创建幻兽失败,找不到基础物品id:" + item.itemid.ToString()); return; } RoleData_Eudemon data = new RoleData_Eudemon(); data.id = 0; data.itemid = item.id; data.phyatk_grow_rate = IRandom.Random(0.5f, info.atk_grow_min); data.phyatk_grow_rate_max = IRandom.Random(info.atk_grow_min, info.atk_grow_max); data.magicatk_grow_rate = IRandom.Random(0.5f, info.magicatk_grow_min); data.magicatk_grow_rate_max = IRandom.Random(info.magicatk_grow_min, info.magicatk_grow_max); data.life_grow_rate = IRandom.Random(info.life_grow_min, info.life_grow_max); data.defense_grow_rate = IRandom.Random(info.defense_grow_min, info.defense_grow_max); data.magicdef_grow_rate = IRandom.Random(info.magicdef_grow_min, info.magicdef_grow_max); data.init_life = IRandom.Random(info.life_min, info.life_max); data.init_atk_min = IRandom.Random(info.atk_min_min, info.atk_min_max); data.init_atk_max = IRandom.Random(info.atk_max_min, info.atk_max_max); data.init_defense = IRandom.Random(info.defense_min, info.defense_max); data.init_magicdef = IRandom.Random(info.magicdef_min, info.magicdef_max); data.init_magicatk_min = IRandom.Random(info.magicatk_min_min, info.magicatk_min_max); data.init_magicatk_max = IRandom.Random(info.magicatk_max_min, info.magicatk_max_max); data.luck = IRandom.Random(1, 100); //幸运值 data.intimacy = 150; //亲密度 data.level = level; //等级 //data.card = IDManager.CreateEudemonCard(); //创建身份牌号码 data.card = 0; //身份牌是二次进化的时候才获得- data.exp = 0; data.quality = quality; //品质在第一次进化的时候才出现 if (wuxing == 0) { data.wuxing = IDManager.GetEudemonWuxing(); } else { data.wuxing = wuxing; } data.name = itembaseinfo.name; data.typeid = item.typeid; mDicEudemon[data.GetTypeID()] = data; EudemonObject obj = new EudemonObject(data, play); obj.CalcAttribute(); mListObj.Add(obj); SendEudemonInfo(data); }
//数据库读取幻兽 public void DB_Load(ROLEDATE_EUDEMON data) { for (int i = 0; i < data.list_item.Count; i++) { RoleData_Eudemon info = data.list_item[i]; GameStruct.RoleItemInfo itemdata = play.GetItemSystem().FindItem(info.itemid); if (itemdata != null) { info.typeid = itemdata.typeid; mDicEudemon[info.GetTypeID()] = info; //创建幻兽实例对象- EudemonObject obj = new EudemonObject(info, play); obj.CalcAttribute(); mListObj.Add(obj); } } //死亡幻兽删掉 play.GetItemSystem().Process_DieEudemon(); }