Amuk
Sep 28 2006, 03:19 PM
Using alot of code from Chazcon's Gunga Din, I made a couple changes to try and make surviving Ninja's in EO possible.
The main idea is to Target, vuln and kill ninja's instead of olthoi and dispel whenever they vuln you and healy and mana are in high enough you hopefuilly do not die while dispelling. I also altered his Dispel procedure to cast the spells with my mage. This is lightly tested at this point, but this morning I survived the 1st 2 spawns without doing anything, and i was alone with lots of bugs on me. I was killed on the 3rd, lived through the next two.
Its somewhat slower killing them cause it is playing it save with your vitals and I am a mage with 100 starting endurance, maxed, so I have lots of health. Keep that in mind if you are always killed.
Anyhow. I learn from others...thought this may help someone else.
| CODE |
Procedure Dispel every 1 sec If $DispelAction <> 0 If $Mage <> True Exit End Set DebuffM = 0 Set DebuffIV = 0 Set DebuffC = 0 DSFilter Debuffs, Flag = 'my' DSFirst Debuffs If $Debug = True DSCount Debuffs, $Count SendText 13, Magic Yield Debuffs = $Count End While 1 = 1 If EOF Debuffs Break End Enchantment Debuffs[Name] If $Debug = True SendText 13, Debuff = Debuffs[Name] SendText 13, PR = {PluginResult} End If {PluginResult} contains Spell ID not found Else Compute DebuffM = Debuffs[Value] SetConst DispelCreature = True Break End DSNext Debuffs End DSFilter Debuffs, Flag = 'imp' DSFirst Debuffs If $Debug = True DSCount Debuffs, $Count SendText 13, Imperil Debuffs = $Count End While 1 = 1 If EOF Debuffs Break End Enchantment Debuffs[Name] If $Debug = True SendText 13, Debuff = Debuffs[Name] SendText 13, PR = {PluginResult} End If {PluginResult} contains Spell ID not found Else Compute DebuffIV = Debuffs[Value] SetConst DispelLife = True Break End DSNext Debuffs End DSFilter Debuffs, Flag = 'l' DSFirst Debuffs If $Debug = True DSCount Debuffs, $Count SendText 13, Life Debuffs = $Count End While 1 = 1 If EOF Debuffs Break End Enchantment Debuffs[Name] If $Debug = True SendText 13, Debuff = Debuffs[Name] SendText 13, PR = {PluginResult} End If {PluginResult} contains Spell ID not found Else Compute DebuffIV = $DebuffIV + Debuffs[Value] SetConst DispelLife = True End DSNext Debuffs End DSFilter Debuffs, Flag = 'x' DSFirst Debuffs If $Debug = True DSCount Debuffs, $Count SendText 13, Creature Debuffs = $Count End While 1 = 1 If EOF Debuffs Break End Enchantment Debuffs[Name] If $Debug = True SendText 13, Debuff = Debuffs[Name] SendText 13, PR = {PluginResult} End If {PluginResult} contains Spell ID not found Else Compute DebuffC = $DebuffC + Debuffs[Value] SetConst DispelCreature = True End DSNext Debuffs End If $DispelAction = 1 If $DebuffM >= 40 or $DebuffIV >= 80 or $DebuffC >= 60 Set $DispelFlag = 1 End End If $DispelAction = 2 If $DebuffM >= 35 or $DebuffIV >= 70 or $DebuffC >= 45 Set $DispelFlag = 1 End End If $DispelAction = 3 If $DebuffM >= 35 or $DebuffIV >= 35 or $DebuffC >= 35 Set $DispelFlag = 1 End End Compute HealthLevel = _myhealth / _mymaxhealth Compute ManaLevel = _MyMana / _MyMaxMana If $DispelFlag = 1 And $DispelCreature = True and $HealthLevel > .55 And $ManaLevel > .40 //was.75 Call ElTankStop WaitForCursor SendText 13, Casting Dispel SetConst Spell = 3185 //Erad Critter Self Call CastFailOn _MyId // Casting... SetConst Spell = SetConst DispelCreature = Set DispelFlag = 0 Delay 1 sec Call ElTankStart End If $DispelFlag = 1 And $DispelLife = True and $HealthLevel > .55 And $ManaLevel > .40 //was.75 Call ElTankStop WaitForCursor SendText 13, Casting Dispel SetConst Spell = 3194 //Erad Life Self Call CastFailOn _MyId // Casting... SetConst Spell = SetConst DispelLife = Set DispelFlag = 0 Delay 1 sec Call ElTankStart End End End
Procedure Ninja every .5 sec If $NinjaAction = 1 LoadDecalWorld Distance If $Debug = True SendText 6, * PING Ninja * End DSSave DSWorld, DSWorld1.cds DSFilter DSWorld, Name = 'Tanada Nanjou Shou-jen' DSSave DSWorld, DSWorldninja.cds DSCount DSWorld, $CountNinja If $Debug = 0 SendText 1, CountNinja = $CountNinja End If $CountNinja > 0 DSIndexAdd DSWorld, Nearest, Distance DSIndex DSWorld, Nearest DSFirst DSWorld If $Debug = 1 SendText 1, Name = DSWorld[Name] GUID = DSWorld[GUID] Distance = DSWorld[Distance] End If DSWorld[Distance] <= $NinjaDistance If $Debug = 1 SendText 1, Its close enough to target End Bell C:\imscared.wav Set NinjaGUID = DSWorld[GUID] If $TankMode = W SetConst TankMode = WV SayPaste /ELT WV SendText 1, Setting Tank to War/Vuln here End If _Selected <> Tanada Nanjou Shou-jen Select $NinjaGUID SetConst NinjaHere = True End End DSIndexDelete DSWorld, Nearest End End If $TankMode = WV And _Selected <> Tanada Nanjou Shou-jen SetConst TankMode = W SayPaste /ELT W SendText 1, Setting Tank to War Only here End End |