- 1. Pet Buff - This buffs a target controlled NPC(Default will buff your main pet) when out of combat, currently using it where the player tech. cast instantly the buffs on the pet. Can make it where the pet casts it but none the less it works. You may modify the buffs easy to make it , has a 60sec reuse (recommended so it cant be spammed). Added a special Magic only damage debuff that is currently set to reduce 75% of the magic damage done to the pet.
2. Repair Gear - This repairs and recharges all current equipped items. sets all charges to 1000...sets quality item to 100 and other things but can be easily modified.
This one is tricky...i call it gamenpc modifier(not to mention was never fully tested)...basically its all temporary things, atleast that i've known...Basically this is what it does...
- Code: Select all
"/Gamenpc <spell> <spellID> <self|enemy|npcguild|npcname>",
"/Gamenpc <add|remove> <ability|base|spec|debuff> <property> <value> <radius>")]
SpellHandler Under Group at line 2298 is where i put this
- Code: Select all
#region NPCGUILD
case "npcguild":
{
GameNPC npc = (GameNPC)m_caster;
int spellRange = CalculateSpellRange();
if (spellRange == 0)
spellRange = NewRadius;
//Just add ourself
if (npc.GuildName == "")
{
list.Add(m_caster);
IControlledBrain npcPet = npc.ControlledBrain;
if (npcPet != null)
{
//Add our first pet
GameNPC petBody2 = npcPet.Body;
if (npc.IsWithinRadius(petBody2, spellRange))
list.Add(petBody2);
//Now lets add any subpets!
if (petBody2 != null && petBody2.ControlledNpcList != null)
{
foreach (IControlledBrain icb in petBody2.ControlledNpcList)
{
if (icb != null && m_caster.IsWithinRadius(icb.Body, spellRange))
list.Add(icb.Body);
}
}
}
}
//We need to add the entire group
else
{
foreach (GameNPC npcs in npc.GetNPCsInRadius((ushort)spellRange))
{
// only players in range
if (npcs.GuildName == npc.GuildName)
{
list.Add(npcs);
IControlledBrain npcPet = npcs.ControlledBrain;
if (npcPet != null)
{
//Add our first pet
GameNPC petBody2 = npcPet.Body;
if (npc.IsWithinRadius(petBody2, spellRange))
list.Add(petBody2);
//Now lets add any subpets!
if (petBody2 != null && petBody2.ControlledNpcList != null)
{
foreach (IControlledBrain icb in petBody2.ControlledNpcList)
{
if (icb != null && m_caster.IsWithinRadius(icb.Body, spellRange))
list.Add(icb.Body);
}
}
}
}
}
}
break;
}
#endregion
#region NPCNAME
case "npcname":
{
GameNPC npc = (GameNPC)m_caster;
int spellRange = CalculateSpellRange();
if (spellRange == 0)
spellRange = NewRadius;
foreach (GameNPC npcs in npc.GetNPCsInRadius((ushort)spellRange))
{
// only players in range
if (npcs.Name == npc.Name)
{
list.Add(npcs);
IControlledBrain npcPet = npcs.ControlledBrain;
if (npcPet != null)
{
//Add our first pet
GameNPC petBody2 = npcPet.Body;
if (npc.IsWithinRadius(petBody2, spellRange))
list.Add(petBody2);
//Now lets add any subpets!
if (petBody2 != null && petBody2.ControlledNpcList != null)
{
foreach (IControlledBrain icb in petBody2.ControlledNpcList)
{
if (icb != null && m_caster.IsWithinRadius(icb.Body, spellRange))
list.Add(icb.Body);
}
}
}
}
}
}
break;
#endregion
again use if you want or not idc, was just some fun stuff i made back in the day