public override bool StartScript(SkillScriptStartArgument argument) { creationId = (uint)argument.argument_0; createrAttr = argument.buffCreaterAttr; return(true); }
public override bool StartScript(SkillScriptStartArgument argument) { if (argument.argument_1 <= 0) { return(ErrorHandler.Parse(ErrorCode.ConfigError, "SS_AphoticShield: invalid 2nd argument")); } switch ((AphoticShieldType)argument.argument_0) { case AphoticShieldType.PercentageOfCurrentHp: capacity = remaining = (int)(argument.argument_1 * mOwner.GetHP() / 100f); break; case AphoticShieldType.Constant: capacity = remaining = argument.argument_1; break; default: return(ErrorHandler.Parse(ErrorCode.ConfigError, "SS_AphoticShield: invalid 1st argument")); } mOwner.ShowShieldUI(true); mOwner.SetShieldUIProgress(1f); return(true); }
/// <summary> /// 加载该随机事件的触发脚本. /// </summary> /// <param name="owner"></param> public void LoadScript(BattleUnit owner, /*const*/ ref AttackerAttr createrAttr) { if (randEventResource.triggerScript != SkillScriptDef.Invalid) { mScript = SkillScriptFactory.Instance.Allocate(randEventResource.triggerScript, owner); do { if (!checkScript(owner, mScript)) { break; } SkillScriptStartArgument argument = new SkillScriptStartArgument() { buffCreaterAttr = createrAttr, buffRes = fromBuffRes, argument_0 = randEventResource.triggerArgument_0, argument_1 = randEventResource.triggerArgument_1, argument_2 = randEventResource.triggerArgument_2 }; if (!mScript.StartScript(argument)) { break; } return; } while (false); ErrorHandler.Parse(ErrorCode.ConfigError, "加载randevent[" + randEventResource.resID + "]附带的脚本失败"); mScript = null; } }
public override bool StartScript(SkillScriptStartArgument argument) { skillEffectID = (uint)argument.argument_0; if (skillEffectID == uint.MaxValue) { return(ErrorHandler.Parse(ErrorCode.ConfigError, "SS_SkillEffectPlacer: invalid 1st argument")); } return(true); }
public override bool StartScript(SkillScriptStartArgument argument) { targetSelection = (uint)argument.argument_0; if (targetSelection == uint.MaxValue) { return(ErrorHandler.Parse(ErrorCode.ConfigError, "SS_CorpseExplosion: invalid 1st argument")); } skillEffect = (uint)argument.argument_1; if (skillEffect == uint.MaxValue) { return(ErrorHandler.Parse(ErrorCode.ConfigError, "SS_CorpseExplosion: invalid 2nd argument")); } return(true); }
public override bool StartScript(SkillScriptStartArgument argument) { // 显示武器强化的界面. if (IsMainPlayerSkillScript) { buffResID = (uint)argument.buffRes.resID; duration = argument.buffRes.lifeMilliseconds; EventSystem.Instance.addEventListener(ResetRandEventDurationEvent.RESET_RAND_EVENT_DURATION, onDurationReset); ReloadEvent evt = new ReloadEvent(ReloadEvent.WEAPON_UP_EVENT); evt.reload_time = (int)argument.buffRes.lifeMilliseconds; EventSystem.Instance.PushEvent(evt); } return(mOwner is Role); }
public override bool StartScript(SkillScriptStartArgument startArg) { leftCount = (uint)startArg.argument_0; return(true); }
/// <summary> /// 初始化脚本. /// </summary> /// <returns>是否成功, 如果失败, 脚本永不会触发.</returns> public abstract bool StartScript(SkillScriptStartArgument startArg);
public override bool StartScript(SkillScriptStartArgument argument) { skillEffectID = (uint)argument.argument_0; return(true); }
public override bool StartScript(SkillScriptStartArgument argument) { return(true); }
public override bool StartScript(SkillScriptStartArgument argument) { percent = argument.argument_0 / 100f; return(true); }