private BuffInstanceInfo NewBuffInstance(int buffId) { BuffInstanceInfo instanceInfo = GetUnusedBuffInstanceInfoFromPool(buffId); if (null == instanceInfo) { BuffConfig config = BuffConfigProvider.Instance.GetBuffConfig(buffId); if (null != config) { ConfigManager.Instance.LoadIfNotExist(buffId, 2, HomePath.Instance.GetAbsolutePath(config.Script)); } IInstance instance = ConfigManager.Instance.NewInstance(buffId, 2); if (null == instance) { LogUtil.Error("ImpactSystem.NewImpactInstance : Can't load impact config, impact:{0}.", buffId); } BuffInstanceInfo res = new BuffInstanceInfo { BuffId = buffId, BuffInstance = instance, IsUsed = true }; AddImpactInstanceInfoToPool(buffId, res); return(res); } else { instanceInfo.IsUsed = true; return(instanceInfo); } }
public virtual void Init(Role sendRole, Role receRole, BuffConfig info, float beginTime) { mSendRole = sendRole; mReceRole = receRole; mBuffConfig = info; mBeginTime = beginTime; }
protected virtual BuffData toCreateBuff(int id, int level, int adderInstanceID, BuffData eData) { BuffData buff = eData != null ? eData : GameC.pool.buffDataPool.getOne(); buff.instanceID = getBuffInstanceID(); buff.id = id; buff.config = BuffConfig.get(id); buff.level = getBuffUseLevel(buff.config, level); buff.levelConfig = BuffLevelConfig.get(id, buff.level); //客户端用 buff.timeMax = getBuffUseLastTime(buff); buff.adderInstanceID = adderInstanceID; if (eData == null) { buff.lastTime = getBuffUseLastTime(buff); buff.lastNum = buff.levelConfig.lastNum; //叠层强制1 if (buff.config.plusType == BuffPlusType.AddFloor) { buff.lastNum = 1; } } return(buff); }
/** 设置数据 */ public void setData(IntObjectMap <BuffData> datas) { _buffDataDic = datas; if (datas != null && !datas.isEmpty()) { BuffData[] values = datas.getValues(); BuffData data; for (int i = values.Length - 1; i >= 0; --i) { if ((data = values[i]) != null) { data.config = BuffConfig.get(data.id); data.levelConfig = BuffLevelConfig.get(data.id, data.level); toAddBuffToDic(data); doAddActions(data, _parent.isDriveAll()); } } for (int i = values.Length - 1; i >= 0; --i) { if ((data = values[i]) != null) { data.timeMax = getBuffUseLastTime(data); } } } }
public void SetBuffConfig(BuffConfig cfg, Vector3 position, bool isEnemy) { this.config = cfg; this.pos = position; this.isEnemy = isEnemy; if (isEnemy) { this.pos += this.enemyRepositionAmount; } else { this.pos += this.selfRepositionAmount; } this.repositionObj.transform.position = this.pos; this.titleTM.text = this.config.title; this.titleTM.Commit(); this.levelTM.text = string.Empty; if (this.config.level > 0) { this.levelTM.text = "Lv." + this.config.level; } this.levelTM.Commit(); this.descTM.text = this.config.desc; this.descTM.Commit(); base.Invoke("OnClick", this.autoHideTime); }
public void AddBuff(int buffId, int blevel, double dura) { BuffConfig buffConfig = ConfigData.GetBuffConfig(buffId); var immuneRate = GetBuffImmuneRate(buffConfig.Group); if (immuneRate >= 1)//免疫了 { return; } if (immuneRate > 0) { dura *= (1 - immuneRate); } MemBaseBuff buffdata; if (buffDict.TryGetValue(buffId, out buffdata)) { buffdata.TimeLeft = Math.Max(buffdata.TimeLeft, dura); } else { Buff buff = new Buff(buffId); buff.UpgradeToLevel(blevel); buffdata = new MemBaseBuff(buff, dura); //buff.CheckBuffEffect(this, 1); buffdata.OnAddBuff(self); buffDict.Add(buffId, buffdata); } }
static void AddBuff(int buffId, GameObject o) { var buffC = BuffConfig.Get(buffId); var type = CONSTANT.CONST.BUFF_PERFIX + Enum.GetName(typeof(ENUM_EFFECT), buffC.EffectType); var buff = o.AddComponent(Type.GetType(type)) as Buff; buff.BuffId = buffId; }
//server部分 /** 服务器添加buff */ public void addBuffByServer(BuffData data) { data.config = BuffConfig.get(data.id); data.levelConfig = BuffLevelConfig.get(data.id, data.level); data.timeMax = getBuffUseLastTime(data); toAddBuff(data); }
public Buff(Characer caster, Characer receiver, BuffConfig config, int round) { this.caster = caster; this.receiver = receiver; this.config = config; this.duration = round; Start(); }
public static Color GetBuffColor(int id) { BuffConfig buffConfig = ConfigData.BuffDict[id]; var color = buffConfig.Color; var colorStr = color.Split(','); return(Color.FromArgb(100, int.Parse(colorStr[0]), int.Parse(colorStr[1]), int.Parse(colorStr[2]))); }
protected void Start() { config = BuffConfig.Get(BuffId); lifeTime = config.Duration / 1000f; delay = config.Delay / 1000f; period = config.Period / 1000f; ppt = GetComponent <Property>(); }
public Buff(BuffConfig config) { Config = config; BuffName = Config.BuffName; Type = Config.Type; Cd = Config.Cd; LeftCd = Cd; IsActive = true; }
/** 获取buff使用等级 */ private int getBuffUseLevel(BuffConfig config, int level) { foreach (int v in config.groups) { level += _buffLevelUpDic.getOrDefault(v, 0); } return(level); }
public void AddEnemyBuff(BuffConfig buff) { if (this.enemyBuffs == null) { this.enemyBuffs = new List<BuffConfig>(); } if (buff != null) { this.enemyBuffs.Add(buff); this.UpdateEnemyBuffShow(buff); } }
private void LoadFromNative() { string path = Application.streamingAssetsPath + "/buff_configs.json"; var jsonData = JsonMapper.ToObject(File.ReadAllText(path)); for (var i = 0; i < jsonData.Count; i++) { BuffConfig d = new BuffConfig(); d.ReadFromJson(jsonData[i]); configs.Add(d); } }
public void AddSelfBuff(BuffConfig buff) { if (this.selfBuffs == null) { this.selfBuffs = new List<BuffConfig>(); } if (buff != null) { this.selfBuffs.Add(buff); this.UpdateSelfBuffShow(buff); } }
public static Image GetBuffImage(int id, int index) { BuffConfig buffConfig = ConfigData.BuffDict[id]; string indexTxt = index == 0 ? "" : index.ToString(); string fname = string.Format("Buff/{0}{1}", buffConfig.Icon, indexTxt); if (!ImageManager.HasImage(fname)) { Image image = PicLoader.Read("Buff", string.Format("{0}{1}.PNG", buffConfig.Icon, indexTxt)); ImageManager.AddImage(fname, image.GetThumbnailImage(20, 20, null, new IntPtr(0))); } return(ImageManager.GetImage(fname)); }
public static bool HasEffect(int id, BuffEffectTypes etype) { BuffConfig buffConfig = ConfigData.BuffDict[id]; foreach (int eff in buffConfig.Effect) { if ((int)etype == eff) { return(true); } } return(false); }
/** 是否有buff(为一些绑定逻辑使用) */ public bool hasBuff(int id) { if (BuffConfig.get(id).plusType == BuffPlusType.AllExist) { IntObjectMap <BuffData> dic; return((dic = _buffDatasForAllExist.get(id)) != null && !dic.isEmpty()); } else { return(_buffDatasByID.get(id) != null); } }
public void LoadConfigs() { ItemConfig.LoadCsvCfg(); AnimConfig.LoadCsvCfg(); PlayerConfig.LoadCsvCfg(); MonsterConfig.LoadCsvCfg(); BossConfig.LoadCsvCfg(); BuffConfig.LoadCsvCfg(); SkillConfig.LoadCsvCfg(); LevelConfig.LoadCsvCfg(); BulletConfig.LoadCsvCfg(); BarrageConfig.LoadCsvCfg(); ColliderConfig.LoadCsvCfg(); }
public void Execute() { var entities = m_AttrGroup.GetEntities(); foreach (var entity in entities) { entity.isBuffAttrChanged = false; if (!entity.hasAttr || !entity.hasBuff) { continue; } AttributeConfig attrConfig = AttributeConfigProvider.Instance.GetAttributeConfig(entity.attr.Id); if (null != attrConfig) { AttributeData attrData = entity.attr.Value; attrData.SetAbsoluteByConfig(attrConfig); foreach (var pair in entity.buff.InstanceInfos) { int buffId = pair.Key; List <BuffInstanceInfo> buffInstances = pair.Value; BuffConfig buffConfig = BuffConfigProvider.Instance.GetBuffConfig(buffId); if (null != buffConfig) { foreach (var instanceInfo in buffInstances) { AttributeConfig buffAttrConfig = AttributeConfigProvider.Instance.GetAttributeConfig(buffConfig.AttrId); if (null != buffAttrConfig) { attrData.SetRelativeByConfig(buffAttrConfig); } } } } } } }
public EngineAction Run(BuffConfig Config) { lock (ActiveBuffs) { // Want to find party members where they have an autobuff configured but it isn't in their list of buffs. foreach (PartyMember ptMember in Monitored.GetActivePartyMembers()) { // Make sure there's at least 1 auto-buff for the player. if (AutoBuffs.ContainsKey(ptMember.Name) && AutoBuffs[ptMember.Name].Any()) { // First check if they're ActiveBuffs are empty, and if so return first buff to cast. if (!ActiveBuffs.ContainsKey(ptMember.Name) || !ActiveBuffs[ptMember.Name].Any()) { return(new EngineAction() { Spell = AutoBuffs[ptMember.Name].First(), Target = ptMember.Name }); } else { var missingBuffSpell = AutoBuffs[ptMember.Name].FirstOrDefault(buff => !ActiveBuffs[ptMember.Name].Contains(Data.SpellEffects[buff])); if (!string.IsNullOrEmpty(missingBuffSpell)) { return(new EngineAction() { Spell = missingBuffSpell, Target = ptMember.Name }); } } } } } return(null); }
/** 删除buff通过ID */ public void removeBuffByID(int id) { if (BuffConfig.get(id).plusType == BuffPlusType.AllExist) { IntObjectMap <BuffData> dic; if ((dic = _buffDatasForAllExist.get(id)) != null && !dic.isEmpty()) { foreach (BuffData data in dic) { toRemoveBuff(data); } } } else { BuffData data; if ((data = _buffDatasByID.get(id)) != null) { toRemoveBuff(data); } } }
public void Execute() { long time = (long)(m_Contexts.input.time.Value * 1000); foreach (GameEntity entity in m_ImpactEntities) { BuffComponent buffComponent = entity.buff; foreach (var pair in buffComponent.InstanceInfos) { int buffId = pair.Key; var infos = pair.Value; for (int i = infos.Count - 1; i >= 0; i--) { var info = infos[i]; info.BuffInstance.Tick(time); if (info.BuffInstance.IsTerminated) { RecycleImpactInstance(info); entity.isBuffAttrChanged = true; infos.Remove(info); } } } foreach (var startParam in buffComponent.StartParams) { //SkillSystem.Instance.BreakSkill(entity); BuffConfig buffConfig = BuffConfigProvider.Instance.GetBuffConfig(startParam.Id); if (null != buffConfig) { int maxCount = buffConfig.MaxCount; if (!buffComponent.InstanceInfos.TryGetValue(startParam.Id, out List <BuffInstanceInfo> infos)) { infos = new List <BuffInstanceInfo>(); buffComponent.InstanceInfos.Add(startParam.Id, infos); } if (maxCount == 0 && infos.Count > 0) { continue; } else if (maxCount > 0 && infos.Count >= maxCount) { for (int i = 0; i < infos.Count - maxCount + 1; ++i) { if (!infos[i].BuffInstance.IsTerminated) { infos[i].BuffInstance.SendMessage("onbreak"); infos[i].BuffInstance.IsTerminated = true; } } } BuffInstanceInfo instance = NewBuffInstance(startParam.Id); if (null != instance) { instance.BuffInstance.SenderId = startParam.SenderId; instance.BuffInstance.SenderPosition = startParam.SenderPosition; instance.BuffInstance.SenderDirection = startParam.SenderDirection; instance.BuffInstance.Target = entity; instance.BuffInstance.Context = Contexts.sharedInstance.game; instance.BuffInstance.AddVariable("@@id", entity.id.value); instance.BuffInstance.GlobalVariables = m_GlobalVariables; instance.BuffInstance.Start(); infos.Add(instance); entity.isBuffAttrChanged = true; } } } buffComponent.StartParams.Clear(); } }
public static Buff CreateBuff(BuffConfig buffConfig) { return((Buff)Activator.CreateInstance(Type.GetType(buffConfig.ClassName), new Object[] { buffConfig })); }
public void SetBuff(BuffConfig buff, [Optional, DefaultParameterValue(false)] bool isEnemy) { this.warBuff = buff; this.isEnemy = isEnemy; this.icon.SetSprite("buff" + buff.icon); }
public void SetBuffConfigs(BuffConfig[] configs) { if (configs == null) { this.buffConfigsDic = new Dictionary<int, BuffConfig>(); } else { if (f_am_cache10 == null) { f_am_cache10 = n => n.cid; } if (f_am_cache11 == null) { f_am_cache11 = n => n; } this.buffConfigsDic = configs.ToDictionary<BuffConfig, int, BuffConfig>(f_am_cache10, f_am_cache11); } }
public Buff(int id) { BuffConfig = ConfigData.BuffDict[id]; }
/// <summary> /// 执行单个装备方法 /// </summary> protected void doOneEquipAction(MUnitUseLogic logic, PlayerEquipContainerTool tool, int slot, int index, int[] args, bool isOn) { switch (args[0]) { case ItemEquipActionType.AddBuff: { if (!CommonSetting.isClientDriveLogic) { return; } if (isOn) { if (ShineSetting.openCheck) { BuffConfig buffConfig = BuffConfig.get(args[0]); if (buffConfig.keepType != BuffKeepType.Online) { Ctrl.throwError("装备用buff的保存类型必须为Online"); } } BuffData buffData = logic.getBuffLogic().addBuff(args[0], args[1]); //记录buffID tool.getBuffInstanceIDDic().put(slot << CommonSetting.buffActionIndexOff | index, buffData.instanceID); } else { int instanceID = tool.getBuffInstanceIDDic().remove(slot << CommonSetting.buffActionIndexOff | index); if (instanceID <= 0) { Ctrl.errorLog("不该找不到buff instanceID"); } else { logic.getBuffLogic().removeBuffByInstanceID(instanceID); } } } break; case ItemEquipActionType.AddSkill: { if (!CommonSetting.isClientDriveLogic) { return; } if (isOn) { logic.getFightLogic().addSkill(args[0], args[1]); } else { logic.getFightLogic().removeSkill(args[0]); } } break; } }
public Buff(int id) { BuffConfig = ConfigData.BuffDict[id]; }
private BuffData addOneBuff(int id, int level, int adderInstanceID, BuffData eData) { BuffConfig config = BuffConfig.get(id); //先看忽略 foreach (int v in config.groups) { if (_ignoreBuffGroupDic.get(v) > 0) { return(null); } } BuffData re; BuffData oldData; BuffData data; switch (config.plusType) { case BuffPlusType.Normal: { if ((oldData = _buffDatasByID.get(id)) != null) { //新的等级更高 if (level > oldData.level) { toRemoveBuff(oldData); toAddBuff(re = toCreateBuff(id, level, adderInstanceID, eData)); } else { toRefreshBuff(re = oldData); } } else { toAddBuff(re = toCreateBuff(id, level, adderInstanceID, eData)); } } break; case BuffPlusType.Replace: { if ((oldData = _buffDatasByID.get(id)) != null) { toRemoveBuff(oldData); } toAddBuff(re = toCreateBuff(id, level, adderInstanceID, eData)); } break; case BuffPlusType.AllExist: { IntObjectMap <BuffData> dic = _buffDatasForAllExist.get(id); if (dic == null) { toAddBuff(re = toCreateBuff(id, level, adderInstanceID, eData)); } else { if (config.plusMax > 0 && dic.size() >= config.plusMax) { BuffData temp = null; BuffData[] values = dic.getValues(); for (int i = values.Length - 1; i >= 0; --i) { if ((data = values[i]) != null) { if (temp == null) { temp = data; } else if (data.instanceID < temp.instanceID) //更小 { temp = data; } } } //删了最早的 if (temp != null) { toRemoveBuff(temp); } } toAddBuff(re = toCreateBuff(id, level, adderInstanceID, eData)); } } break; case BuffPlusType.AddFloor: { if ((oldData = _buffDatasByID.get(id)) != null) { //新的等级更高 if (level > oldData.level) { toRemoveBuff(oldData); re = toCreateBuff(id, level, adderInstanceID, eData); //继承层数 re.lastNum = oldData.lastNum; toAddBuff(re); } else { //没满级 if (oldData.lastNum < config.plusMax) { //加 oldData.lastNum++; refreshOneBuffAttributeVar(oldData); //刷新buff时间 toRefreshBuff(re = oldData); //到达上限 if (oldData.lastNum == config.plusMax) { doPlusMaxActions(oldData); } } else { re = oldData; if (oldData.levelConfig.lastTime > 0) { //刷新buff时间 toRefreshBuff(oldData); } } } } else { toAddBuff(re = toCreateBuff(id, level, adderInstanceID, eData)); } } break; default: { re = null; Ctrl.throwError("不支持的buff plusType", config.plusType); } break; } return(re); }
public override void clear() { config = null; levelConfig = null; }
//private (string[], int[]) LoadConfig(string configName) //{ // var data = AssetDatabase.LoadAssetAtPath<IdNameTableObject>($"Assets/{configName}.asset"); // var kArr = new string[data.Names.Length + 1]; // kArr[0] = "(空)"; // var vArr = new int[data.Names.Length + 1]; // for (int i = 0; i < data.Names.Length; i++) // { // kArr[i + 1] = data.Names[i]; // } // for (int i = 0; i < vArr.Length; i++) // { // vArr[i] = i; // } // return (kArr, vArr); //} private void OnGUI() { BuffHelper.Init(); //textColor = GUI.skin.textField.normal.textColor; //BuffHelper.buffTypeKArr = BuffHelper.buffTypes.Values.ToArray(); //BuffHelper.buffTypeVArr = BuffHelper.buffTypes.Keys.ToArray(); //BuffHelper.logicTypeKArr = BuffHelper.logicTypes.Values.ToArray(); //BuffHelper.logicTypeVArr = BuffHelper.logicTypes.Keys.ToArray(); //(BuffHelper.stateTypeKArr, BuffHelper.stateTypeVArr) = LoadConfig("状态配置"); //BuffHelper.stateTypeKArr[0] = "(请选择状态)"; //(BuffHelper.numericTypeKArr, BuffHelper.numericTypeVArr) = LoadConfig("属性配置"); //BuffHelper.numericTypeKArr[0] = "(请选择属性)"; //(BuffHelper.actionTypeKArr, BuffHelper.actionTypeVArr) = LoadConfig("动作配置"); //BuffHelper.actionTypeKArr[0] = "(请选择动作)"; //(BuffHelper.conditionTypeKArr, BuffHelper.conditionTypeVArr) = LoadConfig("条件配置"); //BuffHelper.conditionTypeKArr[0] = "(请选择条件)"; textColor = GUI.skin.textField.normal.textColor; scrollPos = EditorGUILayout.BeginScrollView(scrollPos); // 组开始 BuffConfig removeBuff = null; foreach (var item in buffConfigs) { EditorGUILayout.BeginHorizontal(/*GUILayout.Height(16)*/); { EditorGUILayout.BeginHorizontal(GUILayout.Width(100)); GUILayout.Label("ID:"); item.Id = EditorGUILayout.IntField(item.Id, GUILayout.Width(60)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(GUILayout.Width(100)); GUILayout.Label("名称:"); item.Name = EditorGUILayout.TextField(item.Name, GUILayout.Width(60)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(GUILayout.Width(100)); GUILayout.Label("时间:"); item.Duration = EditorGUILayout.FloatField(item.Duration, GUILayout.Width(60)); GUILayout.Label(":"); EditorGUILayout.EndHorizontal(); if (item.Functions == null) { item.Functions = new List <FunctionConfig>() { new FunctionConfig() { Type = 1 } }; } FunctionConfig removeFunc = null; EditorGUILayout.BeginVertical(); foreach (var func in item.Functions) { EditorGUILayout.BeginHorizontal(); OnFuncDraw(func); { EditorGUILayout.BeginHorizontal(GUILayout.Width(30)); if (GUILayout.Button("-")) { removeFunc = (func); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndHorizontal(); } if (removeFunc != null) { item.Functions.Remove(removeFunc); } if (item.Functions.Count == 0) { removeBuff = item; } GUI.color = Color.white; { EditorGUILayout.BeginHorizontal(GUILayout.Width(30)); if (GUILayout.Button("+")) { item.Functions.Add(new FunctionConfig()); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); } EditorGUILayout.EndHorizontal(); } if (removeBuff != null) { buffConfigs.Remove(removeBuff); } if (GUILayout.Button("+", GUILayout.Height(30))) { buffConfigs.Add(new BuffConfig() { Id = buffConfigs.Count }); } EditorGUILayout.EndScrollView(); // 组结束 }
public BuffConfig AllBuff(PersonData personData) { BuffConfig buffConfig = new BuffConfig(); return(buffConfig); }
public static void RefixCharacterProperty(CharacterInfo entity, int buffId, float factor) { BuffConfig buffConfig = BuffConfigProvider.Instance.GetDataById(buffId); if (null == buffConfig) { return; } float aMoveSpeed = entity.GetActualProperty().MoveSpeed; float aWalkSpeed = entity.GetActualProperty().WalkSpeed; int aHpMax = entity.GetActualProperty().HpMax; int aEnergyMax = entity.GetActualProperty().EnergyMax; float aHpRecover = entity.GetActualProperty().HpRecover; float aEnergyRecover = entity.GetActualProperty().EnergyRecover; int aAttackBase = entity.GetActualProperty().AttackBase; int aADefenceBase = entity.GetActualProperty().ADefenceBase; int aMDefenceBase = entity.GetActualProperty().MDefenceBase; float aCritical = entity.GetActualProperty().Critical; float aCriticalPow = entity.GetActualProperty().CriticalPow; float aCriticalBackHitPow = entity.GetActualProperty().CriticalBackHitPow; float aCriticalCrackPow = entity.GetActualProperty().CriticalCrackPow; float aFireDamage = entity.GetActualProperty().FireDamage; float aFireERD = entity.GetActualProperty().FireERD; float aIceDamage = entity.GetActualProperty().IceDamage; float aIceERD = entity.GetActualProperty().IceERD; float aPoisonDamage = entity.GetActualProperty().PoisonDamage; float aPoisonERD = entity.GetActualProperty().PoisonERD; float aWeight = entity.GetActualProperty().Weight; aMoveSpeed += AddFactor(buffConfig.m_AttrData.GetAddSpd(aMoveSpeed, entity.GetLevel()), factor); aWalkSpeed += AddFactor(buffConfig.m_AttrData.GetAddWalkSpd(aWalkSpeed, entity.GetLevel()), factor); aHpMax += (int)AddFactor(buffConfig.m_AttrData.GetAddHpMax(aHpMax, entity.GetLevel()), factor); aEnergyMax += (int)AddFactor(buffConfig.m_AttrData.GetAddEpMax(aEnergyMax, entity.GetLevel()), factor); aHpRecover += AddFactor(buffConfig.m_AttrData.GetAddHpRecover(aHpRecover, entity.GetLevel()), factor); aEnergyRecover += AddFactor(buffConfig.m_AttrData.GetAddEpRecover(aEnergyRecover, entity.GetLevel()), factor); aAttackBase += (int)AddFactor(buffConfig.m_AttrData.GetAddAd(aAttackBase, entity.GetLevel()), factor); aADefenceBase += (int)AddFactor(buffConfig.m_AttrData.GetAddADp(aADefenceBase, entity.GetLevel()), factor); aMDefenceBase += (int)AddFactor(buffConfig.m_AttrData.GetAddMDp(aMDefenceBase, entity.GetLevel()), factor); aCritical += AddFactor(buffConfig.m_AttrData.GetAddCri(aCritical, entity.GetLevel()), factor); aCriticalPow += AddFactor(buffConfig.m_AttrData.GetAddPow(aCriticalPow, entity.GetLevel()), factor); aCriticalBackHitPow += AddFactor(buffConfig.m_AttrData.GetAddBackHitPow(aCriticalBackHitPow, entity.GetLevel()), factor); aCriticalCrackPow += AddFactor(buffConfig.m_AttrData.GetAddCrackPow(aCriticalCrackPow, entity.GetLevel()), factor); aFireDamage += AddFactor(buffConfig.m_AttrData.GetAddFireDam(aFireDamage, entity.GetLevel()), factor); aFireERD += AddFactor(buffConfig.m_AttrData.GetAddFireErd(aFireERD, entity.GetLevel()), factor); aIceDamage += AddFactor(buffConfig.m_AttrData.GetAddIceDam(aIceDamage, entity.GetLevel()), factor); aIceERD += AddFactor(buffConfig.m_AttrData.GetAddIceErd(aIceERD, entity.GetLevel()), factor); aPoisonDamage += AddFactor(buffConfig.m_AttrData.GetAddPoisonDam(aPoisonDamage, entity.GetLevel()), factor); aPoisonERD += AddFactor(buffConfig.m_AttrData.GetAddPoisonErd(aPoisonERD, entity.GetLevel()), factor); aWeight += AddFactor(buffConfig.m_AttrData.GetAddWeight(aWeight, entity.GetLevel()), factor); entity.GetActualProperty().SetMoveSpeed(Operate_Type.OT_Absolute, aMoveSpeed); entity.GetActualProperty().SetWalkSpeed(Operate_Type.OT_Absolute, aWalkSpeed); entity.GetActualProperty().SetHpMax(Operate_Type.OT_Absolute, aHpMax); entity.GetActualProperty().SetEnergyMax(Operate_Type.OT_Absolute, aEnergyMax); entity.GetActualProperty().SetHpRecover(Operate_Type.OT_Absolute, aHpRecover); entity.GetActualProperty().SetEnergyRecover(Operate_Type.OT_Absolute, aEnergyRecover); entity.GetActualProperty().SetAttackBase(Operate_Type.OT_Absolute, aAttackBase); entity.GetActualProperty().SetADefenceBase(Operate_Type.OT_Absolute, aADefenceBase); entity.GetActualProperty().SetMDefenceBase(Operate_Type.OT_Absolute, aMDefenceBase); entity.GetActualProperty().SetCritical(Operate_Type.OT_Absolute, aCritical); entity.GetActualProperty().SetCriticalPow(Operate_Type.OT_Absolute, aCriticalPow); entity.GetActualProperty().SetCriticalBackHitPow(Operate_Type.OT_Absolute, aCriticalBackHitPow); entity.GetActualProperty().SetCriticalCrackPow(Operate_Type.OT_Absolute, aCriticalCrackPow); entity.GetActualProperty().SetFireDamage(Operate_Type.OT_Absolute, aFireDamage); entity.GetActualProperty().SetFireERD(Operate_Type.OT_Absolute, aFireERD); entity.GetActualProperty().SetIceDamage(Operate_Type.OT_Absolute, aIceDamage); entity.GetActualProperty().SetIceERD(Operate_Type.OT_Absolute, aIceERD); entity.GetActualProperty().SetPoisonDamage(Operate_Type.OT_Absolute, aPoisonDamage); entity.GetActualProperty().SetPoisonERD(Operate_Type.OT_Absolute, aPoisonERD); entity.GetActualProperty().SetWeight(Operate_Type.OT_Absolute, aWeight); }
private bool isAirWarBuff(BuffConfig buff) { return ((buff.cid >= 0x38f) && (buff.cid <= 0x393)); }
private void UpdateSelfBuffShow(BuffConfig buff) { List<GameObject> items = this.selfBuffContainer.GetItems(); if (items == null) { items = new List<GameObject>(); } GameObject item = GameObjectUtil.InstantiateItemAsChildOf(this.buffItemPrefab, this.selfBuffContainer.gameObject); item.GetComponent<WarBuffItem>().SetBuff(buff, false); items.Add(item); if (this.isAirWarBuff(buff)) { this.selfAirBuffObj = item; } this.selfBuffContainer.SetItems(items); }
public void ShowDetailInfoOfBuff(BuffConfig config, Vector3 position, bool isEnemy) { if (GlobalLock.instance.CanGo) { GlobalLock.instance.GoNow(); } else { return; } if (this.showingDetailBuff != null) { UnityEngine.Object.Destroy(this.showingDetailBuff); } this.showingDetailBuff = GameObjectUtil.InstantiateItemAsChildOf(this.detailInfoPrefab, base.gameObject); this.showingDetailBuff.GetComponent<ShowBuffDetailInfo>().SetBuffConfig(config, position, isEnemy); }
public void reloadConfig() { config = BuffConfig.get(id); levelConfig = BuffLevelConfig.get(id, level); }