private void OnCurrencyPreReward(object sender, RewardEventArgs e) { var session = TryGetOrCreateSession(e.PlayerName); if (session != null) { if (session.Class.LevelingCurrency == e.Currency) { //originally from KillNpc() //var expAmount = (long)Math.Round((double)kvp.Value / total * // config.NpcNameToExpReward.Get(npc.GivenOrTypeName, npc.lifeMax) * // ( session.Class.ExpMultiplierOverride ?? 1.0 ) * config.ExpMultiplier); //TODO Start adapting old npc exp overrides... but this wont really work as is -- we need an overhaul //if(e.RewardReason == RewardReason.Killing) //{ // var expValues = session.Class.Definition.ParsedNpcNameToExpValues; // //var result = rewardValue; // var killReward = (KillingReward)e.Reward; // if( expValues.TryGetValue(killReward.NpcGivenOrTypeName, out var newValue) == true ) // { // Debug.Print($"ClassExpReward adjusted to {newValue}(was {e.RewardValue})."); // e.RewardValue = newValue; // } //} e.RewardValue = e.RewardValue * (decimal)((session.Class.ExpMultiplierOverride ?? 1.0) * Config.Instance.ExpMultiplier); } } }
public void invoke(RewardEventArgs e) { while (Runing) { Thread.Sleep(100); } Runing = true; string scripd = Script; if (scripd.Contains("%")) { if (scripd.Contains("%TEXT%")) { scripd = scripd.Replace("%TEXT%", e.Text.Replace("\n", "").Trim()); } if (scripd.Contains("%NICK%")) { scripd = scripd.Replace("%NICK%", e.NickName.Replace("\n", "").Trim()); } if (scripd.Contains("%TITLE%")) { scripd = scripd.Replace("%TITLE%", e.Title.Replace("\n", "").Trim()); } //if (scripd.Contains("%TEXT%")) // scripd = scripd.Replace("%TEXT%", e.Text.Replace("\n", "")); } ScriptLanguage.RunScript(scripd); Runing = false; }
public void Invoke(RewardEventArgs e) { while (Runing) { Thread.Sleep(100); } Runing = true; string scripd = Script; if (scripd != null && scripd.Contains("%")) { if (scripd.Contains("%TEXT%")) { scripd = scripd.Replace("%TEXT%", e.Text.Replace("\n", "").Trim()); } if (scripd.Contains("%NICK%")) { scripd = scripd.Replace("%NICK%", e.NickName.Replace("\n", "").Trim()); } if (scripd.Contains("%TITLE%")) { scripd = scripd.Replace("%TITLE%", e.Title.Replace("\n", "").Trim()); } } if (DeferredRun && !runEveryTime) { Deferred.Add(scripd); Runing = false; } else { if (scripd.Contains("%DATA%")) { scripd = scripd.Replace("%DATA%", DefereData); } ScriptLanguage.RunScript(scripd); if (DeferredRun) { Thread.Sleep(1000); } Runing = false; } }
void Instance_RewardAdded(object sender, RewardEventArgs e) { PanelManager.Instance.Push(this, e.Valuables); }