本文整理汇总了C#中SpellData类的典型用法代码示例。如果您正苦于以下问题:C# SpellData类的具体用法?C# SpellData怎么用?C# SpellData使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SpellData类属于命名空间,在下文中一共展示了SpellData类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadSpecialSpell
public void LoadSpecialSpell(SpellData spellData)
{
if (spellData.spellName == "xeratharcanopulse2")
{
//SpellDetector.OnProcessSpecialSpell += ProcessSpell_XerathArcanopulse2;
}
}
示例2: ProcessSpell_SionE
private static void ProcessSpell_SionE(Obj_AI_Base hero, GameObjectProcessSpellCastEventArgs args, SpellData spellData,
SpecialSpellEventArgs specialSpellArgs)
{
if (spellData.SpellName == "SionE")
{
var objList = new List<Obj_AI_Minion>();
foreach (var obj in ObjectManager.Get<Obj_AI_Minion>())
{
if (obj != null && obj.IsValid && !obj.IsDead && obj.IsAlly)
{
objList.Add(obj);
}
}
objList.OrderBy(o => o.Distance(hero.ServerPosition));
var spellStart = args.Start.To2D();
var dir = (args.End.To2D() - spellStart).Normalized();
var spellEnd = spellStart + dir * spellData.Range;
foreach (var obj in objList)
{
var objProjection = obj.ServerPosition.To2D().ProjectOn(spellStart, spellEnd);
if (objProjection.IsOnSegment && objProjection.SegmentPoint.Distance(obj.ServerPosition.To2D()) < obj.BoundingRadius + spellData.Radius)
{
//sth happens
}
}
//specialSpellArgs.noProcess = true;
}
}
示例3: DamagePrediction_OnTargettedSpellWillKill
private static void DamagePrediction_OnTargettedSpellWillKill(
Obj_AI_Hero sender,
Obj_AI_Hero target,
SpellData sData)
{
var targetName = target.ChampionName;
if (sender.IsAlly || Entry.Player.IsDead)
{
return;
}
/* if (targetName != Entry.Player.ChampionName && InitializeMenu.Menu.Item("Heal." + Entry.Player.ChampionName.ToLowerInvariant() + ".noult." + targetName).GetValue<bool>())
{
return;
}*/
if (InitializeMenu.Menu.Item("Heal.Activated").GetValue<bool>()
&& InitializeMenu.Menu.Item("Heal.Predicted").GetValue<bool>())
{
if (!Entry.Player.InFountain() || !Entry.Player.IsRecalling())
{
Console.WriteLine("HEAL");
Entry.Player.Spellbook.CastSpell(summonerHeal);
}
}
}
示例4: OnCreateObj_FizzMarinerDoom
private static void OnCreateObj_FizzMarinerDoom(GameObject obj, EventArgs args, SpellData spellData)
{
if (!obj.IsValid<MissileClient>())
return;
MissileClient missile = (MissileClient)obj;
if (missile.SpellCaster != null && missile.SpellCaster.Team != ObjectManager.Player.Team &&
missile.SData.Name == "FizzMarinerDoomMissile")
{
SpellDetector.CreateSpellData(missile.SpellCaster, missile.StartPosition, missile.EndPosition,
spellData, null, 500, true, SpellType.Circular, false, spellData.secondaryRadius);
/*foreach (KeyValuePair<int, Spell> entry in SpellDetector.spells)
{
var spell = entry.Value;
if (spell.info.spellName == "FizzMarinerDoom" &&
spell.spellObject != null && spell.spellObject.NetworkId == missile.NetworkId)
{
if (spell.spellType == SpellType.Circular)
{
spell.spellObject = null;
}
}
}*/
}
}
示例5: LoadSpecialSpell
public void LoadSpecialSpell(SpellData spellData)
{
if (spellData.spellName == "AlZaharCalloftheVoid")
{
SpellDetector.OnProcessSpecialSpell += ProcessSpell_AlZaharCalloftheVoid;
}
}
示例6: LoadSpecialSpell
public void LoadSpecialSpell(SpellData spellData)
{
if (spellData.SpellName == "LucianQ")
{
SpellDetector.OnProcessSpecialSpell += ProcessSpell_LucianQ;
}
}
示例7: LoadSpecialSpell
public void LoadSpecialSpell(SpellData spellData)
{
/*if (spellData.spellName == "SionE")
{
SpellDetector.OnProcessSpecialSpell += ProcessSpell_SionE;
}*/
}
示例8: LoadSpecialSpell
public void LoadSpecialSpell(SpellData spellData)
{
if (spellData.spellName == "Volley")
{
SpellDetector.OnProcessSpecialSpell += ProcessSpell_AsheVolley;
}
}
示例9: ProcessSpell_ZedShuriken
private static void ProcessSpell_ZedShuriken(Obj_AI_Base hero, GameObjectProcessSpellCastEventArgs args, SpellData spellData,
SpecialSpellEventArgs specialSpellArgs)
{
if (spellData.SpellName == "ZedQ")
{
foreach (KeyValuePair<int, ObjectTrackerInfo> entry in ObjectTracker.ObjTracker)
{
var info = entry.Value;
if (info.Obj.Name == "Shadow" || info.Name == "Shadow")
{
if (info.UsePosition == false && (info.Obj == null || !info.Obj.IsValid || info.Obj.IsDead))
{
DelayAction.Add(1, () => ObjectTracker.ObjTracker.Remove(info.Obj.NetworkId));
continue;
}
else
{
Vector3 endPos2;
if (info.UsePosition == false)
{
endPos2 = info.Obj.Position.Extend(args.End, spellData.Range).To3DWorld();
SpellDetector.CreateSpellData(hero, info.Obj.Position, endPos2, spellData, null, 0, false);
}
else
{
endPos2 = info.Position.Extend(args.End, spellData.Range).To3DWorld();
SpellDetector.CreateSpellData(hero, info.Position, endPos2, spellData, null, 0, false);
}
}
}
}
}
}
示例10: ProcessSpell_TwitchSprayandPrayAttack
private void ProcessSpell_TwitchSprayandPrayAttack(Obj_AI_Base hero, GameObjectProcessSpellCastEventArgs args, SpellData spellData, SpecialSpellEventArgs specialSpellArgs)
{
if (spellData.spellName == "TwitchSprayandPrayAttack")
{
spellData.spellDelay = hero.AttackCastDelay * 1000;
}
}
示例11: LoadSpecialSpell
public void LoadSpecialSpell(SpellData spellData)
{
if (spellData.spellName == "ZiggsQ")
{
SpellDetector.OnProcessSpecialSpell += ProcessSpell_ZiggsQ;
}
}
示例12: dangerousSpell
private static bool dangerousSpell(SpellData spellData, AIHeroClient sender)
{
var slot = sender.GetSpellSlotFromName(spellData.Name);
var enemies = EntityManager.Heroes.Enemies;
int j2 = 0;
for (int j = 0; j < enemies.Count(); j++)
{
if (sender.NetworkId == enemies[j].NetworkId)
{
j2 = j;
break;
}
}
int i = 0;
switch (slot)
{
case SpellSlot.Q:
i = 0;
break;
case SpellSlot.W:
i = 1;
break;
case SpellSlot.E:
i = 2;
break;
case SpellSlot.R:
i = 3;
break;
}
if (Settings._skills[j2 * 4 + i].CurrentValue)
return true;
return false;
}
示例13: LoadSpecialSpell
public void LoadSpecialSpell(SpellData spellData)
{
if (spellData.spellName == "ViktorDeathRay3")
{
Obj_AI_Minion.OnCreate += OnCreateObj_ViktorDeathRay3;
}
}
示例14: ProcessSpell_JarvanIVDragonStrike
private static void ProcessSpell_JarvanIVDragonStrike(Obj_AI_Base hero, GameObjectProcessSpellCastEventArgs args, SpellData spellData, SpecialSpellEventArgs specialSpellArgs)
{
if (args.SData.Name == "JarvanIVDragonStrike")
{
if (SpellDetector.onProcessSpells.TryGetValue("JarvanIVDragonStrike2", out spellData))
{
foreach (KeyValuePair<int, ObjectTrackerInfo> entry in ObjectTracker.objTracker)
{
var info = entry.Value;
if (info.Name == "Beacon" || info.obj.Name == "Beacon")
{
if (info.usePosition == false && (info.obj == null || !info.obj.IsValid || info.obj.IsDead))
{
DelayAction.Add(1, () => ObjectTracker.objTracker.Remove(info.obj.NetworkId));
continue;
}
var objPosition = info.usePosition ? info.position.LSTo2D() : info.obj.Position.LSTo2D();
if (args.End.LSTo2D().LSDistance(objPosition) < 300)
{
var dir = (objPosition - args.Start.LSTo2D()).LSNormalized();
var endPosition = objPosition + dir * 110;
SpellDetector.CreateSpellData(hero, args.Start, endPosition.To3D(), spellData);
specialSpellArgs.noProcess = true;
return;
}
}
}
}
}
}
示例15: LoadSpecialSpell
public void LoadSpecialSpell(SpellData spellData)
{
if (spellData.SpellName == "ViktorDeathRay3")
{
GameObject.OnCreate += OnCreateObj_ViktorDeathRay3;
}
}