Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Tools

Development::Tools 3rd Party Tools for EQEMu (DB management tools, front ends, etc...)

Reply
 
Thread Tools Display Modes
  #1  
Old 07-15-2013, 03:12 PM
wolfwalkereci
Discordant
 
Join Date: Dec 2005
Posts: 435
Default

So the changes to npcspecialattks kind of broke part of the peqeditor and since I use this tool more then any other I thought I would attempt to fix it on my end.
This is all probably wrong in terms of how the peq team would do it but it does work.
Here is a patch file against current svn revision:

Code:
Index: lib/data.php
===================================================================
--- lib/data.php    (revision 370)
+++ lib/data.php    (working copy)
@@ -890,41 +890,41 @@
 );
 
 $specialattacks = array(
- "S" => "Summon",
- "E" => "Enrage",
- "R" => "Rampage",
- "r" => "AE Rampage",
- "F" => "Flurry",
- "T" => "Triple Attack",
- "Q" => "Quad Attack",
- "m" => "Magic Attack",
- "b" => "Bane Attack",
- "U" => "Unslowable",
- "M" => "Unmezable",
- "C" => "Uncharmable",
- "N" => "Unstunable",
- "I" => "Unsnareable",
- "D" => "Unfearable",
- "p" => "Unpacifiable",
- "A" => "Immune to Melee",
- "B" => "Immune to Magic",
- "f" => "Immune to Fleeing",
- "W" => "Immune to non-Magical Melee",
- "O" => "Immune to non-Bane Melee",
- "H" => "Will Not Aggro",
- "g" => "Resist Ranged Spells",
- "d" => "See through Feign Death",
- "L" => "Dual Wield",
- "G" => "Immune to Aggro",
- "Y" => "Ranged Attack",
- "t" => "Tunnel Vision",
- "i" => "Immune to Taunt",
- "n" => "Does NOT buff/heal friends",
- "j" => "Tethered",
- "J" => "Leashed",
- "o" => "Destructible Object",
- "Z" => "No Harm from Players",
- "K" => "Immune to Dispell"
+ "1,1^" => "Summon",
+ "2,1^" => "Enrage",
+ "3,1^" => "Rampage",
+ "4,1^" => "AE Rampage",
+ "5,1^" => "Flurry",
+ "6,1^" => "Triple Attack",
+ "7,1^" => "Quad Attack",
+ "10,1^" => "Magic Attack",
+ "9,1^" => "Bane Attack",
+ "12,1^" => "Unslowable",
+ "13,1^" => "Unmezable",
+ "14,1^" => "Uncharmable",
+ "15,1^" => "Unstunable",
+ "16,1^" => "Unsnareable",
+ "17,1^" => "Unfearable",
+ "31,1^" => "Unpacifiable",
+ "19,1^" => "Immune to Melee",
+ "20,1^" => "Immune to Magic",
+ "21,1^" => "Immune to Fleeing",
+ "23,1^" => "Immune to non-Magical Melee",
+ "22,1^" => "Immune to non-Bane Melee",
+ "24,1^" => "Will Not Aggro",
+ "26,1^" => "Resist Ranged Spells",
+ "27,1^" => "See through Feign Death",
+ "8,1^" => "Dual Wield",
+ "25,1^" => "Immune to Aggro",
+ "11,1^" => "Ranged Attack",
+ "29,1^" => "Tunnel Vision",
+ "28,1^" => "Immune to Taunt",
+ "30,1^" => "Does NOT buff/heal friends",
+ "33,1^" => "Tethered",
+ "32,1^" => "Leashed",
+ "34,1^" => "Destructible Object",
+ "35,1^" => "No Harm from Players",
+ "18,1^" => "Immune to Dispell"
 );
 
 $tradeskills = array(
Index: lib/npc.php
===================================================================
--- lib/npc.php    (revision 370)
+++ lib/npc.php    (working copy)
@@ -1162,7 +1162,7 @@
       $new_specialattks .= $_POST["$k"];
     }
   }
-  if ($npcspecialattks != $new_specialattks) {
+  if ($special_abilities != $new_specialattks) {
     $flag = 1;
   }
 
@@ -1189,7 +1189,7 @@
   if ($mindmg != $_POST['mindmg']) $fields .= "mindmg=\"" . $_POST['mindmg'] . "\", ";
   if ($maxdmg != $_POST['maxdmg']) $fields .= "maxdmg=\"" . $_POST['maxdmg'] . "\", ";
   if ($attack_count != $_POST['attack_count']) $fields .= "attack_count=\"" . $_POST['attack_count'] . "\", ";
-  if ($flag == 1) $fields .= "npcspecialattks=\"$new_specialattks\", ";
+  if ($flag == 1) $fields .= "special_abilities=\"$new_specialattks\", ";
   if ($aggroradius != $_POST['aggroradius']) $fields .= "aggroradius=\"" . $_POST['aggroradius'] . "\", ";
   if ($face != $_POST['face']) $fields .= "face=\"" . $_POST['face'] . "\", ";
   if ($luclin_hairstyle != $_POST['luclin_hairstyle']) $fields .= "luclin_hairstyle=\"" . $_POST['luclin_hairstyle'] . "\", ";
@@ -1253,7 +1253,9 @@
 
   if ($fields != '') {
     $query = "UPDATE npc_types SET $fields WHERE id=$npcid";
+    $query2 = "UPDATE npc_types SET special_abilities = TRIM(TRAILING '^' FROM special_abilities)";
     $mysql->query_no_result($query);
+    $mysql->query_no_result($query2);
   }
 }
 
@@ -1272,7 +1274,7 @@
   if ($_POST['isquest'] != 1) $_POST['isquest'] = 0;
 
   foreach ($specialattacks as $k => $v) {
-    if (isset($_POST["$k"])) $npcspecialattks .= $_POST["$k"];
+    if (isset($_POST["$k"])) $special_abilities .= $_POST["$k"];
   }
 
   $fields = "id=\"" . $_POST['id']. "\", ";
@@ -1296,7 +1298,7 @@
   $fields .= "mindmg=\"" . $_POST['mindmg'] . "\", ";
   $fields .= "maxdmg=\"" . $_POST['maxdmg'] . "\", ";
   $fields .= "attack_count=\"" . $_POST['attack_count'] . "\", ";
-  $fields .= "npcspecialattks=\"$npcspecialattks\", ";
+  $fields .= "special_abilities=\"$special_abilities\", ";
   $fields .= "aggroradius=\"" . $_POST['aggroradius'] . "\", ";
   $fields .= "face=\"" . $_POST['face'] . "\", ";
   $fields .= "luclin_hairstyle=\"" . $_POST['luclin_hairstyle'] . "\", ";
@@ -1359,7 +1361,9 @@
 
   if ($fields != '') {
     $query = "INSERT INTO npc_types SET $fields";
+    $query2 = "UPDATE npc_types SET special_abilities = TRIM(TRAILING '^' FROM special_abilities)";
     $mysql->query_no_result($query);
+    $mysql->query_no_result($query2);
   }
 }
 
@@ -1390,7 +1394,7 @@
 $fields .= "mindmg=\"" . $_POST['mindmg'] . "\", ";
 $fields .= "maxdmg=\"" . $_POST['maxdmg'] . "\", ";
 $fields .= "attack_count=\"" . $_POST['attack_count'] . "\", ";
-$fields .= "npcspecialattks=\"" . $_POST['npcspecialattks'] . "\", ";
+$fields .= "special_abilities=\"" . $_POST['special_abilities'] . "\", ";
 $fields .= "aggroradius=\"" . $_POST['aggroradius'] . "\", ";
 $fields .= "face=\"" . $_POST['face'] . "\", ";
 $fields .= "luclin_hairstyle=\"" . $_POST['luclin_hairstyle'] . "\", ";
@@ -1455,7 +1459,9 @@
 
   if ($fields != '') {
     $query = "INSERT INTO npc_types SET $fields";
+    $query2 = "UPDATE npc_types SET special_abilities = TRIM(TRAILING '^' FROM special_abilities)";
     $mysql->query_no_result($query);
+    $mysql->query_no_result($query2);
   }
 }
 
Index: templates/npc/npc.edit.tmpl.php
===================================================================
--- templates/npc/npc.edit.tmpl.php    (revision 370)
+++ templates/npc/npc.edit.tmpl.php    (working copy)
@@ -150,45 +150,45 @@
             <table cellpadding="20px">
               <tr>
                 <td valign="top" align="left">
-                  <input type="checkbox" name="S" value="S"<?echo (strpos($npcspecialattks,"S") === false) ? "" : " checked"?>> Summon<br>
-                  <input type="checkbox" name="E" value="E"<?echo (strpos($npcspecialattks,"E") === false) ? "" : " checked"?>> Enrage<br>
-                  <input type="checkbox" name="R" value="R"<?echo (strpos($npcspecialattks,"R") === false) ? "" : " checked"?>> Rampage<br>
-                  <input type="checkbox" name="r" value="r"<?echo (strpos($npcspecialattks,"r") === false) ? "" : " checked"?>> AE Rampage<br>
-                  <input type="checkbox" name="F" value="F"<?echo (strpos($npcspecialattks,"F") === false) ? "" : " checked"?>> Flurry<br>
-                  <input type="checkbox" name="T" value="T"<?echo (strpos($npcspecialattks,"T") === false) ? "" : " checked"?>> Triple Attack<br>
-                  <input type="checkbox" name="Q" value="Q"<?echo (strpos($npcspecialattks,"Q") === false) ? "" : " checked"?>> Quad Attack<br>
-                  <input type="checkbox" name="m" value="m"<?echo (strpos($npcspecialattks,"m") === false) ? "" : " checked"?>> Magic Attack<br>
-                  <input type="checkbox" name="b" value="b"<?echo (strpos($npcspecialattks,"b") === false) ? "" : " checked"?>> Bane Attack<br>
-                  <input type="checkbox" name="L" value="L"<?echo (strpos($npcspecialattks,"L") === false) ? "" : " checked"?>> Dual Wield<br>
-                  <input type="checkbox" name="Y" value="Y"<?echo (strpos($npcspecialattks,"Y") === false) ? "" : " checked"?>> Ranged Attack<br>
+                  <input type="checkbox" name="1,1^" value="1,1^"<?echo (strpos($special_abilities,"1,1^") === false) ? "" : " checked"?>> Summon<br>
+                  <input type="checkbox" name="2,1^" value="2,1^"<?echo (strpos($special_abilities,"2,1^") === false) ? "" : " checked"?>> Enrage<br>
+                  <input type="checkbox" name="3,1^" value="3,1^"<?echo (strpos($special_abilities,"3,1^") === false) ? "" : " checked"?>> Rampage<br>
+                  <input type="checkbox" name="4,1^" value="4,1^"<?echo (strpos($special_abilities,"4,1^") === false) ? "" : " checked"?>> AE Rampage<br>
+                  <input type="checkbox" name="5,1^" value="5,1^"<?echo (strpos($special_abilities,"5,1^") === false) ? "" : " checked"?>> Flurry<br>
+                  <input type="checkbox" name="6,1^" value="6,1^"<?echo (strpos($special_abilities,"6,1^") === false) ? "" : " checked"?>> Triple Attack<br>
+                  <input type="checkbox" name="7,1^" value="7,1^"<?echo (strpos($special_abilities,"7,1^") === false) ? "" : " checked"?>> Quad Attack<br>
+                  <input type="checkbox" name="10,1^" value="10,1^"<?echo (strpos($special_abilities,"10,1^") === false) ? "" : " checked"?>> Magic Attack<br>
+                  <input type="checkbox" name="9,1^" value="9,1^"<?echo (strpos($special_abilities,"9,1^") === false) ? "" : " checked"?>> Bane Attack<br>
+                  <input type="checkbox" name="8,1^" value="8,1^"<?echo (strpos($special_abilities,"8,1^") === false) ? "" : " checked"?>> Dual Wield<br>
+                  <input type="checkbox" name="11,1^" value="11,1^"<?echo (strpos($special_abilities,"11,1^") === false) ? "" : " checked"?>> Ranged Attack<br>
                 </td>
                 <td valign="top" align="left">
-                  <input type="checkbox" name="U" value="U"<?echo (strpos($npcspecialattks,"U") === false) ? "" : " checked"?>> Unslowable<br>
-                  <input type="checkbox" name="M" value="M"<?echo (strpos($npcspecialattks,"M") === false) ? "" : " checked"?>> Unmezable<br>
-                  <input type="checkbox" name="C" value="C"<?echo (strpos($npcspecialattks,"C") === false) ? "" : " checked"?>> Uncharmable<br>
-                  <input type="checkbox" name="N" value="N"<?echo (strpos($npcspecialattks,"N") === false) ? "" : " checked"?>> Unstunable<br>
-                  <input type="checkbox" name="I" value="I"<?echo (strpos($npcspecialattks,"I") === false) ? "" : " checked"?>> Unsnareable<br>
-                  <input type="checkbox" name="D" value="D"<?echo (strpos($npcspecialattks,"D") === false) ? "" : " checked"?>> Unfearable<br>
-                  <input type="checkbox" name="p" value="p"<?echo (strpos($npcspecialattks,"p") === false) ? "" : " checked"?>> Unpacifiable<br>
-                  <input type="checkbox" name="K" value="K"<?echo (strpos($npcspecialattks,"K") === false) ? "" : " checked"?>> Immune to Dispell<br>
-                  <input type="checkbox" name="Z" value="Z"<?echo (strpos($npcspecialattks,"Z") === false) ? "" : " checked"?>> No Harm from Players<br>
-                  <input type="checkbox" name="g" value="g"<?echo (strpos($npcspecialattks,"g") === false) ? "" : " checked"?>> Resist Ranged Spells<br>
-                  <input type="checkbox" name="t" value="t"<?echo (strpos($npcspecialattks,"t") === false) ? "" : " checked"?>> Tunnel Vision<br>
-                  <input type="checkbox" name="i" value="i"<?echo (strpos($npcspecialattks,"i") === false) ? "" : " checked"?>> Immune to Taunt<br>
+                  <input type="checkbox" name="12,1^" value="12,1^"<?echo (strpos($special_abilities,"12,1^") === false) ? "" : " checked"?>> Unslowable<br>
+                  <input type="checkbox" name="13,1^" value="13,1^"<?echo (strpos($special_abilities,"13,1^") === false) ? "" : " checked"?>> Unmezable<br>
+                  <input type="checkbox" name="14,1^" value="14,1^"<?echo (strpos($special_abilities,"14,1^") === false) ? "" : " checked"?>> Uncharmable<br>
+                  <input type="checkbox" name="15,1^" value="15,1^"<?echo (strpos($special_abilities,"15,1^") === false) ? "" : " checked"?>> Unstunable<br>
+                  <input type="checkbox" name="16,1^" value="16,1^"<?echo (strpos($special_abilities,"16,1^") === false) ? "" : " checked"?>> Unsnareable<br>
+                  <input type="checkbox" name="17,1^" value="17,1^"<?echo (strpos($special_abilities,"17,1^") === false) ? "" : " checked"?>> Unfearable<br>
+                  <input type="checkbox" name="31,1^" value="31,1^"<?echo (strpos($special_abilities,"31,1^") === false) ? "" : " checked"?>> Unpacifiable<br>
+                  <input type="checkbox" name="18,1^" value="18,1^"<?echo (strpos($special_abilities,"18,1^") === false) ? "" : " checked"?>> Immune to Dispell<br>
+                  <input type="checkbox" name="35,1^" value="35,1^"<?echo (strpos($special_abilities,"35,1^") === false) ? "" : " checked"?>> No Harm from Players<br>
+                  <input type="checkbox" name="26,1^" value="26,1^"<?echo (strpos($special_abilities,"26,1^") === false) ? "" : " checked"?>> Resist Ranged Spells<br>
+                  <input type="checkbox" name="29,1^" value="29,1^"<?echo (strpos($special_abilities,"29,1^") === false) ? "" : " checked"?>> Tunnel Vision<br>
+                  <input type="checkbox" name="28,1^" value="28,1^"<?echo (strpos($special_abilities,"28,1^") === false) ? "" : " checked"?>> Immune to Taunt<br>
                 </td>
                 <td valign="top" align="left">
-                  <input type="checkbox" name="A" value="A"<?echo (strpos($npcspecialattks,"A") === false) ? "" : " checked"?>> Immune to Melee<br>
-                  <input type="checkbox" name="B" value="B"<?echo (strpos($npcspecialattks,"B") === false) ? "" : " checked"?>> Immune to Magic<br>
-                  <input type="checkbox" name="f" value="f"<?echo (strpos($npcspecialattks,"f") === false) ? "" : " checked"?>> Immune to Fleeing<br>
-                  <input type="checkbox" name="W" value="W"<?echo (strpos($npcspecialattks,"W") === false) ? "" : " checked"?>> Immune to non-Magical Melee<br>
-                  <input type="checkbox" name="O" value="O"<?echo (strpos($npcspecialattks,"O") === false) ? "" : " checked"?>> Immune to non-Bane Melee<br>
-                  <input type="checkbox" name="H" value="H"<?echo (strpos($npcspecialattks,"H") === false) ? "" : " checked"?>> Will Not Aggro<br>
-                  <input type="checkbox" name="G" value="G"<?echo (strpos($npcspecialattks,"G") === false) ? "" : " checked"?>> Immune to Aggro<br>
-                  <input type="checkbox" name="d" value="d"<?echo (strpos($npcspecialattks,"d") === false) ? "" : " checked"?>> See through Feign Death<br>
+                  <input type="checkbox" name="19,1^" value="19,1^"<?echo (strpos($special_abilities,"19,1^") === false) ? "" : " checked"?>> Immune to Melee<br>
+                  <input type="checkbox" name="20,1^" value="20,1^"<?echo (strpos($special_abilities,"20,1^") === false) ? "" : " checked"?>> Immune to Magic<br>
+                  <input type="checkbox" name="21,1^" value="21,1^"<?echo (strpos($special_abilities,"21,1^") === false) ? "" : " checked"?>> Immune to Fleeing<br>
+                  <input type="checkbox" name="23,1^" value="23,1^"<?echo (strpos($special_abilities,"23,1^") === false) ? "" : " checked"?>> Immune to non-Magical Melee<br>
+                  <input type="checkbox" name="22,1^" value="22,1^"<?echo (strpos($special_abilities,"22,1^") === false) ? "" : " checked"?>> Immune to non-Bane Melee<br>
+                  <input type="checkbox" name="24,1^" value="24,1^"<?echo (strpos($special_abilities,"24,1^") === false) ? "" : " checked"?>> Will Not Aggro<br>
+                  <input type="checkbox" name="25,1^" value="25,1^"<?echo (strpos($special_abilities,"25,1^") === false) ? "" : " checked"?>> Immune to Aggro<br>
+                  <input type="checkbox" name="27,1^" value="27,1^"<?echo (strpos($special_abilities,"27,1^") === false) ? "" : " checked"?>> See through Feign Death<br>
                   <input type="checkbox" name="npc_aggro" value="1"<?echo ($npc_aggro == 1) ? "checked" : "";?>> Can Aggro NPCs<br>
-                  <input type="checkbox" name="n" value="n"<?echo (strpos($npcspecialattks,"n") === false) ? "" : " checked"?>> Does NOT buff/heal friends<br>
-                  <input type="checkbox" name="j" value="j" onClick="sanityCheck();"<?echo (strpos($npcspecialattks,"j") === false) ? "" : " checked"?>> Tethered<br>
-                  <input type="checkbox" name="J" value="J" onClick="sanityCheck();"<?echo (strpos($npcspecialattks,"J") === false) ? "" : " checked"?>> Leashed<br>
+                  <input type="checkbox" name="30,1^" value="30,1^"<?echo (strpos($special_abilities,"30,1^") === false) ? "" : " checked"?>> Does NOT buff/heal friends<br>
+                  <input type="checkbox" name="33,1^" value="33,1^" onClick="sanityCheck();"<?echo (strpos($special_abilities,"33,1^") === false) ? "" : " checked"?>> Tethered<br>
+                  <input type="checkbox" name="32,1^" value="32,1^" onClick="sanityCheck();"<?echo (strpos($special_abilities,"32,1^") === false) ? "" : " checked"?>> Leashed<br>
                 </td>
               </tr>
             </table>
@@ -272,7 +272,7 @@
                 </td>
                 <td valign="top" align="left">
                   <input type="checkbox" name="underwater" value="1"<?echo ($underwater == 1) ? " checked" : "";?>> Underwater NPC<br>
-                  <input type="checkbox" name="o" value="o"<?echo (strpos($npcspecialattks,"o") === false) ? "" : " checked"?>> Destructible Object<br>
+                  <input type="checkbox" name="34,1^" value="34,1^"<?echo (strpos($special_abilities,"34,1^") === false) ? "" : " checked"?>> Destructible Object<br>
                   <input type="checkbox" name="isquest" value="1"<?echo ($isquest == 1) ? " checked" : "";?>> Has Quest File<br/>
                 </td>
               </tr>
Index: templates/npc/npc.editlevel.tmpl.php
===================================================================
--- templates/npc/npc.editlevel.tmpl.php    (revision 370)
+++ templates/npc/npc.editlevel.tmpl.php    (working copy)
@@ -145,34 +145,34 @@
             <table cellpadding="20px">
               <tr>
                 <td valign="top" align="left">
-                  <input type="checkbox" name="S" value="S"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "S") ? "checked" : "";}}?>> Summon<br>
-                  <input type="checkbox" name="E" value="E"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "E") ? "checked" : "";}}?>> Enrage<br>
-                  <input type="checkbox" name="R" value="R"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "R") ? "checked" : "";}}?>> Rampage<br>
-                  <input type="checkbox" name="r" value="r"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "r") ? "checked" : "";}}?>> AE Rampage<br>
-                  <input type="checkbox" name="F" value="F"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "F") ? "checked" : "";}}?>> Flurry<br>
-                  <input type="checkbox" name="T" value="T"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "T") ? "checked" : "";}}?>> Triple Attack<br>
-                  <input type="checkbox" name="Q" value="Q"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "Q") ? "checked" : "";}}?>> Quad Attack<br>
-                  <input type="checkbox" name="m" value="m"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "m") ? "checked" : "";}}?>> Magic Attack<br>
-                  <input type="checkbox" name="b" value="b"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "b") ? "checked" : "";}}?>> Bane Attack<br>
+                  <input type="checkbox" name="1,1^" value="1,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "1,1^") ? "checked" : "";}}?>> Summon<br>
+                  <input type="checkbox" name="2,1^" value="2,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "2,1^") ? "checked" : "";}}?>> Enrage<br>
+                  <input type="checkbox" name="3,1^" value="3,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "3,1^") ? "checked" : "";}}?>> Rampage<br>
+                  <input type="checkbox" name="4,1^" value="4,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "4,1^") ? "checked" : "";}}?>> AE Rampage<br>
+                  <input type="checkbox" name="5,1^" value="5,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "5,1^") ? "checked" : "";}}?>> Flurry<br>
+                  <input type="checkbox" name="6,1^" value="6,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "6,1^") ? "checked" : "";}}?>> Triple Attack<br>
+                  <input type="checkbox" name="7,1^" value="7,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "7,1^") ? "checked" : "";}}?>> Quad Attack<br>
+                  <input type="checkbox" name="10,1^" value="10,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "10,1^") ? "checked" : "";}}?>> Magic Attack<br>
+                  <input type="checkbox" name="9,1^" value="9,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "9,1^") ? "checked" : "";}}?>> Bane Attack<br>
                  </td>
                 <td valign="top" align="left">
-                  <input type="checkbox" name="U" value="U"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "U") ? "checked" : "";}}?>> Unslowable<br>
-                  <input type="checkbox" name="M" value="M"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "M") ? "checked" : "";}}?>> Unmezable<br>
-                  <input type="checkbox" name="C" value="C"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "C") ? "checked" : "";}}?>> Uncharmable<br>
-                  <input type="checkbox" name="N" value="N"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "N") ? "checked" : "";}}?>> Unstunable<br>
-                  <input type="checkbox" name="I" value="I"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "I") ? "checked" : "";}}?>> Unsnareable<br>
-                  <input type="checkbox" name="D" value="D"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "D") ? "checked" : "";}}?>> Unfearable<br>
-                  <input type="checkbox" name="K" value="K"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "K") ? "checked" : "";}}?>> Immune to Dispell<br>
-                  <input type="checkbox" name="g" value="g"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "g") ? "checked" : "";}}?>> Resist ranged spells<br>
+                  <input type="checkbox" name="12,1^" value="12,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "12,1^") ? "checked" : "";}}?>> Unslowable<br>
+                  <input type="checkbox" name="13,1^" value="13,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "13,1^") ? "checked" : "";}}?>> Unmezable<br>
+                  <input type="checkbox" name="14,1^" value="14,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "14,1^") ? "checked" : "";}}?>> Uncharmable<br>
+                  <input type="checkbox" name="15,1^" value="15,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "15,1^") ? "checked" : "";}}?>> Unstunable<br>
+                  <input type="checkbox" name="16,1^" value="16,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "16,1^") ? "checked" : "";}}?>> Unsnareable<br>
+                  <input type="checkbox" name="17,1^" value="17,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "17,1^") ? "checked" : "";}}?>> Unfearable<br>
+                  <input type="checkbox" name="18,1^" value="18,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "18,1^") ? "checked" : "";}}?>> Immune to Dispell<br>
+                  <input type="checkbox" name="26,1^" value="26,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "26,1^") ? "checked" : "";}}?>> Resist ranged spells<br>
                 </td>
                 <td valign="top" align="left">
-                  <input type="checkbox" name="A" value="A"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "A") ? "checked" : "";}}?>> Immune to Melee<br>
-                  <input type="checkbox" name="B" value="B"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "B") ? "checked" : "";}}?>> Immune to Magic<br>
-                  <input type="checkbox" name="f" value="f"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "f") ? "checked" : "";}}?>> Immune to Fleeing<br>
-                  <input type="checkbox" name="W" value="W"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "W") ? "checked" : "";}}?>> Immune to non-Magical Melee<br>
-                  <input type="checkbox" name="O" value="O"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "O") ? "checked" : "";}}?>> Immune to non-Bane Melee<br>
-                  <input type="checkbox" name="H" value="H"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "H") ? "checked" : "";}}?>> Will Not Aggro<br>
-                  <input type="checkbox" name="d" value="d"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "d") ? "checked" : "";}}?>> See through Feign Death<br>
+                  <input type="checkbox" name="19,1^" value="19,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "19,1^") ? "checked" : "";}}?>> Immune to Melee<br>
+                  <input type="checkbox" name="20,1^" value="20,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "20,1^") ? "checked" : "";}}?>> Immune to Magic<br>
+                  <input type="checkbox" name="21,1^" value="21,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "21,1^") ? "checked" : "";}}?>> Immune to Fleeing<br>
+                  <input type="checkbox" name="23,1^" value="23,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "23,1^") ? "checked" : "";}}?>> Immune to non-Magical Melee<br>
+                  <input type="checkbox" name="22,1^" value="22,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "22,1^") ? "checked" : "";}}?>> Immune to non-Bane Melee<br>
+                  <input type="checkbox" name="24,1^" value="24,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "24,1^") ? "checked" : "";}}?>> Will Not Aggro<br>
+                  <input type="checkbox" name="27,1^" value="27,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "27,1^") ? "checked" : "";}}?>> See through Feign Death<br>
                   <input type="checkbox" name="npc_aggro" value="1"<?echo ($npc_aggro == 1) ? "checked" : "";?>> Can Aggro NPCs<br>
                   &nbsp;    
                </td>
@@ -258,7 +258,7 @@
                </td>
            <td valign="top" align="left">
             <input type="checkbox" name="underwater" value="1"<?echo ($underwater == 1) ? "checked" : "";?>> Underwater NPC<br> 
-           <input type="checkbox" name="o" value="o"<?if ($npcspecialattks != '') {for ($x=0; $x<strlen($npcspecialattks); $x++) { echo ($npcspecialattks[$x] == "o") ? "checked" : "";}}?>> Destructible Object<br>
+           <input type="checkbox" name="34,1^" value="34,1^"<?if ($special_abilities != '') {for ($x=0; $x<strlen($special_abilities); $x++) { echo ($special_abilities[$x] == "34,1^") ? "checked" : "";}}?>> Destructible Object<br>
                </td>
               </tr>
             </table>
Index: templates/npc/npc.tmpl.php
===================================================================
--- templates/npc/npc.tmpl.php    (revision 370)
+++ templates/npc/npc.tmpl.php    (working copy)
@@ -177,7 +177,7 @@
                   <tr>
                     <td align="left" width="33%">Aggro: <?=$aggroradius?></td>
                     <td align="left" width="33%">Atk Speed: <?=$attack_speed?>%</td>
-                    <td align="left" width="34%">Special Atks: <?echo ($npcspecialattks) ? $npcspecialattks : "None";?></td>
+                    <td align="left" width="34%">Special Atks: <?echo ($special_abilities) ? $special_abilities : "None";?></td>
                   </tr>
                   <tr>
                     <td align="left" width="33%">Slow Mit: <?=$slow_mitigation?> (<?=$slotmit?>%)</td>
@@ -327,7 +327,7 @@
         <input type="hidden" name="adventure_template_id" value="<?=$adventure_template_id?>">
         <input type="hidden" name="trap_template" value="<?=$trap_template?>">
         <input type="hidden" name="armortint_id" value="<?=$armortint_id?>">
-        <input type="hidden" name="npcspecialattks" value="<?=$npcspecialattks?>">
+        <input type="hidden" name="special_abilities" value="<?=$special_abilities?>">
         <input type="hidden" name="slow_mitigation" value="<?=$slow_mitigation?>">
         <input type="hidden" name="maxlevel" value="<?=$maxlevel?>">
         <input type="hidden" name="scalerate" value="<?=$scalerate?>">
Reply With Quote
  #2  
Old 07-20-2013, 04:16 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Cavedude has been busy lately but I'll see what we can do about getting official support for the new special abilities system.
Reply With Quote
  #3  
Old 07-20-2013, 05:35 AM
wolfwalkereci
Discordant
 
Join Date: Dec 2005
Posts: 435
Default

Quote:
Originally Posted by KLS View Post
Cavedude has been busy lately but I'll see what we can do about getting official support for the new special abilities system.
If you use that patch I forgot to modify destructible object or it didnt work when I did and also as written you can create a npc but on creation it wont set special_abilities. Have to edit it after creation. I figured I would just throw that up for others to use and the smart people that maintain the editor would either figure a better way to do it or figure a better way to do it.
Reply With Quote
  #4  
Old 07-20-2013, 08:20 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Yeah I think your patch is a nice stopgap but we need better support across the board cause we need to support the params. Also this is basically the reason PEQ is actually behind versions -.-
Reply With Quote
  #5  
Old 07-29-2013, 11:16 AM
wolfwalkereci
Discordant
 
Join Date: Dec 2005
Posts: 435
Default

When you click on loot, select the zone and npc.
LootDrops associated with this LootTable: 3
Click on add and in this example lets say I am adding a new lootdrop and I want to set probability to 50.
It would save as 0 and I would have to then click on that 0 value which brings up the edit page and enter it there and then it would save.

Minor issue but I noticed it earlier when populating loot in a custom zone and wanted to fix it.

Personal preference is all.
I also changed my copy so when I add items to a loot drop I can set everything on that screen instead of adding a item then having to go in and change stuff like minlvl maxlvl charges and chance.

edit: I probably should be pulling from your daily dump more often but its not like anything is really broken and generating patches seems best off the svn revision.
Reply With Quote
  #6  
Old 07-29-2013, 12:13 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Hmm, the only option I see broken is when adding an existing lootdrop from search. The options to create a new lootdrop or add an existing one by ID both work fine for me.
Reply With Quote
  #7  
Old 07-29-2013, 11:59 AM
sorvani
Dragon
 
Join Date: May 2010
Posts: 965
Default

The daily dump is best for starting new. or never changing. the SVN is good when you have existing and want to see what changed. Also posting diff for changes = awesome
Reply With Quote
  #8  
Old 07-29-2013, 12:02 PM
wolfwalkereci
Discordant
 
Join Date: Dec 2005
Posts: 435
Default

Quote:
Originally Posted by sorvani View Post
The daily dump is best for starting new. or never changing. the SVN is good when you have existing and want to see what changed. Also posting diff for changes = awesome
Better then going "I changed XYZ and broke it can you fix it for me."
I've been guilty of that in the past
Reply With Quote
  #9  
Old 07-29-2013, 12:49 PM
wolfwalkereci
Discordant
 
Join Date: Dec 2005
Posts: 435
Default

Hmm looking at lootdrop.add.tmpl.php I see how it is written for default values of 0,0,1,100.
I wonder if by putting anything into those fields instead of leaving them blank was what caused it to create lootdrops with 0,0,0,0 in the fields.
Since that patch works I'm going to be lazy and not revert and check but that might be why I was seeing zero across the board.
Reply With Quote
  #10  
Old 07-29-2013, 01:14 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Oh, I wanted to mention that. Your changes to lootdrop.add.tmpl.php should be reverted. You replaced the default values (which exist only to save on typing for the user) to variables that aren't even defined yet. The input field itself is what creates those variables, so it's referencing a variable it hasn't even submitted yet. PHP is very forgiving of course, but another language like C++ wouldn't like that too much and crash.

This change creates NULLs for the input boxes (since the variable doesn't exist yet), so if you clicked submit without filling out all the boxes the DB would fill with default values, which are 0s. If that's not the problem, then there may be something else going on for you else where.
Reply With Quote
  #11  
Old 07-29-2013, 01:32 PM
wolfwalkereci
Discordant
 
Join Date: Dec 2005
Posts: 435
Default

Quote:
Originally Posted by cavedude View Post
Oh, I wanted to mention that. Your changes to lootdrop.add.tmpl.php should be reverted. You replaced the default values (which exist only to save on typing for the user) to variables that aren't even defined yet. The input field itself is what creates those variables, so it's referencing a variable it hasn't even submitted yet. PHP is very forgiving of course, but another language like C++ wouldn't like that too much and crash.

This change creates NULLs for the input boxes (since the variable doesn't exist yet), so if you clicked submit without filling out all the boxes the DB would fill with default values, which are 0s. If that's not the problem, then there may be something else going on for you else where.
Ok I am tracking with that. Myself I am in the habit of filling in all the fields with something so I'm not sure if that would be an issue. I'll revert later today and check if not inputing anything would generate a default value (0,0,1,100). -- if so I might just remove the ability to even input anything since every time I do put something in the fields it generates the lootdrop as mindrop through probability with value of 0.

I did take a look at \lib\loot.php and saw in function assign_lootdrop that droplimit, mindrop, multiplier and probability are defined which is why I made the changes to lootdrop.add.tmpl.php
Reply With Quote
  #12  
Old 07-29-2013, 01:39 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Yep, lootdrop.add.tmpl.php creates those variables and sends them to loot.php for use in assign_lootdrop().
Reply With Quote
  #13  
Old 07-30-2013, 01:41 PM
wolfwalkereci
Discordant
 
Join Date: Dec 2005
Posts: 435
Default

Well I feel stupid to an extent. When I woke up today I deleted every file with a change date that did not match up with the SVN, then reapplied my custom changes for misc stuff like website integration and everything works like it should.
So at some point in time I changed one of the pages and was not careful with copying from SVN to my web folder and that would explain when I was adding loot drops mindrop,droplimit,multiplier,probability were zero and also I just checked adding items and noticed that I was not careful in the past because the current revision from svn when I add items now I do have the option to change percent.

So thanks cavedude for suffering my posts. It was still nice to take a few min and look at how everything is setup and play with it.
I was able to make some personalized changes to aspects of the tool yesterday and get an idea for how it should look based on the current templates.

Anyways, thanks as always to you and everyone else from peq that keep this tool up to date.
Reply With Quote
  #14  
Old 07-31-2013, 09:15 PM
wolfwalkereci
Discordant
 
Join Date: Dec 2005
Posts: 435
Default

Reference: http://www.peqtgc.com/phpBB3/viewtopic.php?f=29&t=14068
I think this is a good idea and decided to go mucking around inside the editor... again.
This time I am going to include some pictures of the table I tested against.

Then what the new option you clicked on brings up. I used one of the 13x13 icons included with the editor for this test.

And what the result ended up being after choosing the copy option.


You can either choose move (move and delete from old) or copy (move and retain original).
Here is a patch and I'm pretty sure I did not fubar up this time but its probably not the best way to handle it. Either way you cut it, it does work and can be made pretty as needed. IE I created a new template page but was that really the best method?
Code:
Index: lib/loot.php
===================================================================
--- lib/loot.php    (revision 374)
+++ lib/loot.php    (working copy)
@@ -341,6 +341,25 @@
     enable_lootdrop_item();
     header("Location: index.php?editor=loot&z=$z&zoneid=$zoneid&npcid=$npcid");
     exit;
+  case 46:  //Move Lootdrop Item page
+    check_authorization();
+    $body = new Template("templates/loot/lootdrop.move.item.tmpl.php");
+    $body->set('currzone', $z);
+    $body->set('currzoneid', $zoneid);
+    $body->set('npcid', $npcid);
+    $body->set('ldid', $_GET['ldid']);
+    $body->set('itemid', $_GET['itemid']);
+    $body->set('ldname', getLootdropName($_GET['ldid']));
+    $vars = lootdrop_info();
+    foreach ($vars as $key=>$value) {
+      $body->set($key, $value);
+    }
+    break;
+  case 47:  // Move lootdrop item
+    check_authorization();
+    move_copy_lootdrop_item();
+    header("Location: index.php?editor=loot&z=$z&zoneid=$zoneid&npcid=$npcid");
+    exit;
 }
 
 function loottable_info () {
@@ -860,4 +879,30 @@
   $mysql->query_no_result($query);
 }
 
+function move_copy_lootdrop_item() {
+  check_authorization();
+  global $mysql;
+  $ldid = $_GET['ldid'];
+  $itemid = $_GET['itemid'];
+  $equip = $_POST['equip_item'];
+  $charges = $_POST['charges'];
+  $chance = $_POST['chance'];
+  $minlevel = $_POST['minlevel'];
+  $maxlevel = $_POST['maxlevel'];
+  $multiplier = $_POST['multiplier'];
+  $new_ldid = $_POST['movetolootdrop'];
+  $move_copy_item = $_POST['move_copy_item'];
+  if ($move_copy_item == 0) {
+    $query1 = "DELETE FROM lootdrop_entries WHERE lootdrop_id='$ldid' AND item_id='$itemid'";
+    $mysql->query_no_result($query1);
+    
+    $query2 = "INSERT INTO lootdrop_entries SET lootdrop_id=$new_ldid, item_id=$itemid, equip_item=$equip, item_charges=$charges, chance=$chance, minlevel=$minlevel, maxlevel=$maxlevel, multiplier=$multiplier";
+    $mysql->query_no_result($query2);
+  }
+  if ($move_copy_item == 1) {
+    $query = "INSERT INTO lootdrop_entries SET lootdrop_id=$new_ldid, item_id=$itemid, equip_item=$equip, item_charges=$charges, chance=$chance, minlevel=$minlevel, maxlevel=$maxlevel, multiplier=$multiplier";
+    $mysql->query_no_result($query);
+  }
+}
+
 ?>
\ No newline at end of file
Index: templates/loot/lootdrop.move.item.tmpl.php
===================================================================
--- templates/loot/lootdrop.move.item.tmpl.php    (revision 0)
+++ templates/loot/lootdrop.move.item.tmpl.php    (working copy)
@@ -0,0 +1,35 @@
+      <table class="edit_form">
+        <tr>
+          <td class="edit_form_header">
+            <?=$ldname?>
+          </td>
+        </tr>
+        <tr>
+          <td class="edit_form_content">
+          <form name="item" method="post" action="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&action=47&npcid=<?=$npcid?>&ldid=<?=$ldid?>&itemid=<?=$itemid?>">
+            <strong>Lootdrop:</strong> <?=$ldid?><br>
+            <strong>Item:</strong> <?=$itemid?><br><br>
+            <strong>Move to Lootdrop:</strong></br>
+            <input type="radio" name="move_copy_item" value="0"<?echo ($move_copy_item == 0) ? " checked" : ""?>>Move Item<br>
+            <input type="radio" name="move_copy_item" value="1"<?echo ($move_copy_item == 1) ? " checked" : ""?>>Copy Item<br>
+            <input class="indented" type="text" size="5" name="movetolootdrop" value="<?=$new_ldid?>"><br><br>
+            <strong>Equipped:</strong><br>
+            <input type="radio" name="equip_item" value="0"<?echo ($equip_item == 0) ? " checked" : ""?>>no<br>
+            <input type="radio" name="equip_item" value="1"<?echo ($equip_item == 1) ? " checked" : ""?>>yes<br><br>
+            <strong>Item Charges:</strong> <br>
+            <input class="indented" type="text" size="5" name="charges" value="<?=$item_charges?>"><br><br>
+            <strong>Min Level:</strong> <br>
+            <input class="indented" type="text" size="5" name="minlevel" value="<?=$minlevel?>"><br><br>
+            <strong>Max Level:</strong> <br>
+            <input class="indented" type="text" size="5" name="maxlevel" value="<?=$maxlevel?>"><br><br>
+            <strong>Multiplier:</strong> <br>
+            <input class="indented" type="text" size="5" name="multiplier" value="<?=$multiplier?>"><br><br>
+            <strong>Chance:</strong> <br>
+            <input class="indented" type="text" size="5" name="chance" value="<?=$chance?>">%<br><br>
+            <center>
+              <input type="submit" name="submit" value="Submit Changes">
+            </center>
+          </form>
+          </td>
+        </tr>
+      </table>
Index: templates/loot/loottable.tmpl.php
===================================================================
--- templates/loot/loottable.tmpl.php    (revision 374)
+++ templates/loot/loottable.tmpl.php    (working copy)
@@ -104,11 +104,11 @@
 <?php if(isset($lootdrop['items']) && $lootdrop['items']): $x=0;?>
         <tr>
           <th align="center" width="8%">Item ID</th>
-          <th align="center" width="35%">Item Name</th>
-          <th align="center" width="8%">Equipped?</th>
-          <th align="center" width="8%">Charges</th>
-       <th align="center" width="8%">MinLevel</th>
-       <th align="center" width="8%">MaxLevel</th>
+          <th align="center" width="36%">Item Name</th>
+          <th align="center" width="7%">Equipped?</th>
+          <th align="center" width="7%">Charges</th>
+       <th align="center" width="7%">MinLevel</th>
+       <th align="center" width="7%">MaxLevel</th>
        <th align="center" width="8%">Multiplier</th>
           <th align="center" width="8%">Chance</th>
           <th width="13%"></th>
@@ -145,6 +145,7 @@
          <?=$chance?>%
        </td>
           <td align="right">
+          <a href="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&npcid=<?=$npcid?>&ldid=<?=$lootdrop['id']?>&itemid=<?=$item_id?>&action=46"><img src="images/minus.gif" border="0" title="Move Lootdrop Item"></a>
             <a href="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&npcid=<?=$npcid?>&ldid=<?=$lootdrop['id']?>&itemid=<?=$item_id?>&action=5"><img src="images/edit2.gif" border="0" title="Edit Lootdrop Item"></a>
        <?php if($disabled_chance == 0 && $chance > 0):?>  
          <a <?=$lootdrop['id']?>?');" href="index.php?editor=loot&z=<?=$currzone?>&zoneid=<?=$currzoneid?>&npcid=<?=$npcid?>&ldid=<?=$lootdrop['id']?>&itemid=<?=$item_id?>&chance=<?=$chance?>&action=44"><img src="images/downgrade.gif" border="0" title="Disable Item"></a>
__________________

Reply With Quote
  #15  
Old 08-01-2013, 01:45 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Thanks for that! I'll be merging it into the next commit, it's very well done. The only thing I changed was I made copy the default option.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 08:30 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3