public void SetRegisterAnimation(string animName) { BRK anim = null; if (!string.IsNullOrEmpty(animName)) { anim = m_registerAnimations.FirstOrDefault(x => x.Name == animName); if (anim == null) { Console.WriteLine("Failed to play register animation {0}, animation not loaded!", animName); } } if (m_currentRegisterAnimation != null) { m_currentRegisterAnimation.Stop(); } m_currentRegisterAnimation = anim; if (m_currentRegisterAnimation != null) { m_currentRegisterAnimation.Start(); } OnPropertyChanged("CurrentRegisterAnimation"); ForceAnimationRestart(); }
public void LoadRegisterAnim(string brkFile) { string animName = Path.GetFileNameWithoutExtension(brkFile); BRK brk = new BRK(animName); using (var reader = FileUtilities.LoadFile(brkFile)) brk.LoadFromStream(reader); m_registerAnimations.Add(brk); }
private static void UseItems(Obj_AI_Hero target) { if (player.Distance(target) < player.AttackRange + player.BoundingRadius) { TMT.Cast(); HYD.Cast(); } BWC.Cast(target); BRK.Cast(target); RO.Cast(target); YMG.Cast(); }
private static void UseItems(Obj_AI_Base unit, bool isMinion = false) { if (!unit.IsValidTarget()) { return; } if (SKOMenu.Item("Hydra").GetValue <bool>() && player.Distance(unit) < HYD.Range) { HYD.Cast(); } if (SKOMenu.Item("Hydra").GetValue <bool>() && player.Distance(unit) < TMT.Range) { TMT.Cast(); } if (SKOMenu.Item("BOTRK").GetValue <bool>() && player.Distance(unit) <= BRK.Range) { if (isMinion) { return; } BRK.Cast(unit); } if (SKOMenu.Item("BOTRK").GetValue <bool>() && player.Distance(unit) <= BWC.Range) { BWC.Cast(unit); } if (SKOMenu.Item("RO").GetValue <bool>() && player.Distance(unit) <= RO.Range) { if (isMinion) { return; } RO.Cast(); } if (SKOMenu.Item("DFG").GetValue <bool>() && player.Distance(unit) <= DFG.Range) { if (isMinion) { return; } DFG.Cast(unit); } if (SKOMenu.Item("YMU").GetValue <bool>() && player.Distance(unit) <= YMG.Range) { YMG.Cast(); } if (SKOMenu.Item("SOD").GetValue <bool>() && player.Distance(unit) <= STD.Range) { STD.Cast(); } }
private static void TripleQ(Obj_AI_Hero target) { if (target.IsValidTarget()) { if (Player.Mana == 5 && R.IsReady() && Player.Distance(target) <= R.Range && Q.IsReady()) { R.Cast(); } if (Player.Mana < 5) { Drawing.DrawText(Player.Position.X, Player.Position.Y, Color.Red, "R is not ready, or you do not have 5 ferocity"); } if (Player.Mana == 5 && Player.HasBuff("RengarR") && Q.IsReady() && Player.Distance(target) <= Q.Range) { Q.Cast(); } if (Player.Mana == 5 && !Player.HasBuff("RengarR") && Q.IsReady() && Player.Distance(target) <= Q.Range) { Q.Cast(); } if (Player.Mana <= 4) { if (Q.IsReady() && Player.Distance(target) <= Q.Range) { Q.Cast(); } if (W.IsReady() && Player.Distance(target) <= W.Range) { W.Cast(); } if (E.IsReady() && Player.Distance(target) <= E.Range) { E.Cast(target, PacketCast); } } if (Player.Distance(target) < Player.AttackRange + 50) { TMT.Cast(); HYD.Cast(); STD.Cast(); } BWC.Cast(target); BRK.Cast(target); RO.Cast(target); YMG.Cast(); } }
private static void TripleQ(Obj_AI_Hero target) { if (target.IsValidTarget()) { if (_player.Mana == 5 && R.IsReady() && _player.Distance(target) <= R.Range && Q.IsReady()) { R.Cast(); } if (_player.Mana == 5 && _player.HasBuff("RengarR") && _player.Distance(target) <= Q.Range) { CastQ(target); } if (_player.Mana == 5 && !_player.HasBuff("RengarR") && _player.Distance(target) <= Q.Range) { CastQ(target); } if (_player.Mana <= 4) { if (_player.Distance(target) <= Q.Range) { CastQ(target); } if (_player.Distance(target) <= W.Range) { CastW(target); } if (_player.Distance(target) <= E.Range) { CastE(target); } } if (_player.Distance(target) < _player.AttackRange + 50) { TMT.Cast(); HYD.Cast(); STD.Cast(); } BWC.Cast(target); BRK.Cast(target); RO.Cast(target); YMG.Cast(); } }
private static void Harass() { var target = SimpleTs.GetTarget(E.Range, SimpleTs.DamageType.Physical); if (target.IsValidTarget()) { if (_player.Mana <= 4) { if (SKOMenu.Item("UseWH").GetValue <bool>() && _player.Distance(target) <= W.Range) { CastW(target); } if (SKOMenu.Item("UseEH").GetValue <bool>() && _player.Distance(target) <= E.Range) { CastE(target); } } if (_player.Mana == 5) { if (SKOMenu.Item("UseWH").GetValue <bool>() && SKOMenu.Item("HPrio").GetValue <StringList>().SelectedIndex == 0) { CastW(target); } if (SKOMenu.Item("UseEH").GetValue <bool>() && SKOMenu.Item("HPrio").GetValue <StringList>().SelectedIndex == 1) { CastE(target); } } if (SKOMenu.Item("UseItemsHarass").GetValue <bool>()) { if (_player.Distance(target) < _player.AttackRange + 50) { TMT.Cast(); HYD.Cast(); STD.Cast(); } BWC.Cast(target); BRK.Cast(target); RO.Cast(target); YMG.Cast(); } } }
private static void Harass(Obj_AI_Hero target) { if (target.IsValidTarget()) { if (Player.Mana <= 4) { if (SKOMenu.Item("UseWH").GetValue <bool>() && W.IsReady() && Player.Distance(target) <= W.Range) { W.Cast(); } if (SKOMenu.Item("UseEW").GetValue <bool>() && E.IsReady() && Player.Distance(target) <= E.Range) { E.Cast(target, PacketCast); } } if (Player.Mana == 5) { if (SKOMenu.Item("UseWH").GetValue <bool>() && SKOMenu.Item("HPrio").GetValue <StringList>().SelectedIndex == 0 && W.IsReady()) { W.Cast(); } if (SKOMenu.Item("UseEH").GetValue <bool>() && SKOMenu.Item("HPrio").GetValue <StringList>().SelectedIndex == 0 && E.IsReady()) { E.Cast(target, PacketCast); } } if (SKOMenu.Item("UseItemsHarass").GetValue <bool>()) { if (Player.Distance(target) < Player.AttackRange + 50) { TMT.Cast(); HYD.Cast(); STD.Cast(); } BWC.Cast(target); BRK.Cast(target); RO.Cast(target); YMG.Cast(); } } }
private static void Game_OnGameUpdate(EventArgs args) { if (SKOMenu.Item("activeClear").GetValue <KeyBind>().Active) { Clear(); } var tqtarget = SimpleTs.GetTarget(R.Range, SimpleTs.DamageType.Physical); if (SKOMenu.Item("TripleQ").GetValue <KeyBind>().Active) { TripleQ(tqtarget); } var target = SimpleTs.GetTarget(E.Range, SimpleTs.DamageType.Physical); Q = new Spell(SpellSlot.Q, Player.AttackRange + 90); YMG = new Items.Item(3142, Player.AttackRange + 50); STD = new Items.Item(3131, Player.AttackRange + 50); AutoHeal(); KillSteal(target); if (SKOMenu.Item("activeCombo").GetValue <KeyBind>().Active) { if (target.IsValidTarget()) { if (Player.Mana <= 4) { if (SKOMenu.Item("UseQ").GetValue <bool>() && Q.IsReady() && Player.Distance(target) <= Q.Range) { Q.Cast(); } if (SKOMenu.Item("UseW").GetValue <bool>() && W.IsReady() && Player.Distance(target) <= W.Range) { W.Cast(); } if (SKOMenu.Item("UseE").GetValue <bool>() && E.IsReady() && Player.Distance(target) <= E.Range) { E.Cast(target, PacketCast); } } if (Player.Mana == 5) { if (SKOMenu.Item("UseQ").GetValue <bool>() && SKOMenu.Item("CPrio").GetValue <StringList>().SelectedIndex == 0 && Q.IsReady() && Player.Distance(target) <= Q.Range) { Q.Cast(); } if (SKOMenu.Item("UseW").GetValue <bool>() && SKOMenu.Item("CPrio").GetValue <StringList>().SelectedIndex == 1 && W.IsReady() && Player.Distance(target) <= W.Range) { W.Cast(); } if (SKOMenu.Item("UseE").GetValue <bool>() && SKOMenu.Item("CPrio").GetValue <StringList>().SelectedIndex == 2 && E.IsReady() && Player.Distance(target) <= E.Range) { E.Cast(target); } //E if !Q.IsReady() if (SKOMenu.Item("UseE").GetValue <bool>() && !Q.IsReady() && E.IsReady() && Player.Distance(target) > Q.Range) { E.Cast(target); } } if (SKOMenu.Item("UseItemsCombo").GetValue <bool>()) { if (Player.Distance(target) < Player.AttackRange + 50) { TMT.Cast(); HYD.Cast(); STD.Cast(); } BWC.Cast(target); BRK.Cast(target); RO.Cast(target); YMG.Cast(); } } } if (SKOMenu.Item("activeHarass").GetValue <KeyBind>().Active) { Harass(target); } }
private static J3D LoadModelFromResource(WActorResource.ModelResource res, string archive) { J3D j3d = null; if (string.IsNullOrEmpty(res.Path) || string.IsNullOrEmpty(archive)) { return(null); } string archivePath = Path.Combine(WSettingsManager.GetSettings().RootDirectoryPath, "files", "res/Object/", archive + ".arc"); if (!File.Exists(archivePath)) { return(null); } VirtualFilesystemDirectory model_arc = ArchiveUtilities.LoadArchive(archivePath); VirtualFilesystemFile archiveFile = model_arc.GetFileAtPath(res.Path); if (archiveFile == null) { Console.WriteLine("LoadActorByName failed because the specified path \"{0}\" does not exist in archive \"{1}\"!", res.Path, archive); return(null); } byte[] j3dData = archiveFile.Data; j3d = new J3D(archiveFile.Name); using (EndianBinaryReader reader = new EndianBinaryReader(j3dData, Endian.Big)) j3d.LoadFromStream(reader, WSettingsManager.GetSettings().DumpTextures, WSettingsManager.GetSettings().DumpShaders); if (res.Position != null) { j3d.SetOffsetTranslation((Vector3)res.Position); } if (res.Rotation != null) { j3d.SetOffsetRotation((Vector3)res.Rotation); } if (res.Scale != null) { j3d.SetOffsetScale((Vector3)res.Scale); } j3d.SetHardwareLight(0, m_mainLight); j3d.SetHardwareLight(1, m_secondaryLight); j3d.SetTextureOverride("ZBtoonEX", "resources/textures/ZBtoonEX.png"); j3d.SetTextureOverride("ZAtoon", "resources/textures/ZAtoon.png"); if (res.Animations == null) { res.Animations = new WActorResource.AnimationResource[0]; } foreach (var anim in res.Animations) { VirtualFilesystemDirectory anim_arc = model_arc; if (!string.IsNullOrEmpty(anim.ArchiveName)) { string anim_arc_path = Path.Combine(WSettingsManager.GetSettings().RootDirectoryPath, "files", "res/Object/", anim.ArchiveName + ".arc"); if (!File.Exists(anim_arc_path)) { return(null); } anim_arc = ArchiveUtilities.LoadArchive(anim_arc_path); } VirtualFilesystemFile anim_file = anim_arc.GetFileAtPath(anim.Path); if (anim_file == null) { continue; } byte[] anim_data = anim_file.Data; // Decompress the file if necessary if (anim_data[0] == 'Y') { MemoryStream decompressed_data = null; using (EndianBinaryReader decompressor = new EndianBinaryReader(anim_data, Endian.Big)) { decompressed_data = Yaz0.Decode(decompressor); } anim_data = decompressed_data.ToArray(); } switch (anim.Type) { case "bck": BCK loaded_bck = new BCK(anim_file.Name); using (EndianBinaryReader reader = new EndianBinaryReader(anim_data, Endian.Big)) loaded_bck.LoadFromStream(reader); j3d.BoneAnimations.Add(loaded_bck); j3d.SetBoneAnimation(anim_file.Name); loaded_bck.Tick(anim.StartTime); if (anim.PausedOnLoad) { loaded_bck.Pause(); } break; case "btk": BTK loaded_btk = new BTK(anim_file.Name); using (EndianBinaryReader reader = new EndianBinaryReader(anim_data, Endian.Big)) loaded_btk.LoadFromStream(reader); j3d.MaterialAnimations.Add(loaded_btk); j3d.SetMaterialAnimation(anim_file.Name); loaded_btk.Tick(anim.StartTime); if (anim.PausedOnLoad) { loaded_btk.Pause(); } break; case "brk": BRK loaded_brk = new BRK(anim_file.Name); using (EndianBinaryReader reader = new EndianBinaryReader(anim_data, Endian.Big)) loaded_brk.LoadFromStream(reader); j3d.RegisterAnimations.Add(loaded_brk); j3d.SetRegisterAnimation(anim_file.Name); loaded_brk.Tick(anim.StartTime); if (anim.PausedOnLoad) { loaded_brk.Pause(); } break; case "bmt": BMT loaded_bmt = new BMT(anim_file.Name); using (EndianBinaryReader reader = new EndianBinaryReader(anim_data, Endian.Big)) loaded_bmt.LoadFromStream(reader); j3d.ExternalMaterials.Add(loaded_bmt); j3d.SetExternalMaterial(anim_file.Name); if (loaded_bmt.MAT3 != null) { // a hack to get bmts working Material dummyMat = null; j3d.AssignVertexAttributesToMaterialsRecursive(j3d.INF1Tag.HierarchyRoot, ref dummyMat, loaded_bmt.MAT3); j3d.GenerateShadersForMaterials(loaded_bmt.MAT3); } break; default: break; } } j3d.Tick(1 / (float)60); if (res.ChildModels == null) { res.ChildModels = new WActorResource.ModelResource[0]; } foreach (var childRes in res.ChildModels) { var childJ3d = LoadModelFromResource(childRes, archive); j3d.AddChildModel(childJ3d, childRes.ParentJointName); } return(j3d); }
private static void doCombo() { try { // Menu Config var FeroSpell = Config.Item("FeroSpellC").GetValue <StringList>(); var ForceW = Config.Item("ForceWC").GetValue <Slider>(); var ForceE = Config.Item("ForceEC").GetValue <bool>(); var Target = TargetSelector.GetSelectedTarget() ?? TargetSelector.GetTarget(1600f, TargetSelector.DamageType.Physical); // Force Leap to target if (Player.HasBuff("RengarR", true)) { LXOrbwalker.ForcedTarget = Target; LXOrbwalker.SetAttack(LXOrbwalker.GetPossibleTarget() == Target); } // Use Tiamat / Hydra if (Target.IsValidTarget(TMT.Range)) { if (TMT.IsReady()) { TMT.Cast(); } else if (HYD.IsReady()) { HYD.Cast(); } } // Use Yommus Ghostblade if (YGB.IsReady() && Target.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player) + (Player.HasBuff("RengarR", true) ? Player.MoveSpeed / 2 : 0))) { YGB.Cast(); } // Cutlass if (BCL.IsReady() && Target.IsValidTarget(BCL.Range)) { BCL.Cast(Target); } // BORK if (BRK.IsReady() && Target.IsValidTarget(BRK.Range)) { BRK.Cast(Target); } // Ferocity Spell if (Player.Mana == 5) { if (Player.Health / Player.MaxHealth < ForceW.Value / 100f && Target.IsValidTarget(W.Range)) { W.CastOnUnit(Player, UsePackets); return; } switch (FeroSpell.SelectedIndex) { case 1: if (!Target.IsValidTarget(W.Range)) { return; } W.CastOnUnit(Player, UsePackets); break; case 2: if (!Target.IsValidTarget(E.Range) || Player.HasBuff("RengarR", true)) { return; } E.Cast(Target, UsePackets); break; } return; } // Don't cast W or E while ultimate is active (force leap) if (Player.HasBuff("RengarR", true)) { return; } if (E.IsReady() && Target.IsValidTarget(E.Range) && (!Target.HasBuff("RengarEFinalMAX", true) && !Target.HasBuff("rengareslow") && LastETick + 1500 < Environment.TickCount || ForceE)) { E.Cast(Target, UsePackets); } if (W.IsReady() && Target.IsValidTarget(W.Range)) { W.CastOnUnit(Player, UsePackets); } } catch (Exception e) { Console.WriteLine("Combo Exception: {0}", e); } }
public BRKTest() { _bit = new BRK(machine.CPU); }