<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
@if?!Authenticate@ @AddFile?/grinder/failedlogin.cmvp@ @else@
@if?!CheckAuthCode?AUTH_CMDABILITIES=true@ @AddFile?/grinder/nopriv.cmvp@ @else@
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<html>
<head>
<link rel="grinder icon" href="/images/grinder.ico" >
<title>Ability Manager</title>
<script language=JavaScript>
<!--
function openUp2(named)
{
var strFeatures="top=200,left=50,resizeable=no,scrollbars=yes,height=400,width=650,alwaysRaised=yes,dependent=yes";
w=window.open("/property.cmvp?ABILITY="+named,
"Ability",strFeatures, false);
}
function AddMember(v)
{
ReShow();
}
function EditMember(v)
{
ReShow();
}
function NewAbility()
{
var abilityid=window.prompt('Enter a new unique ID for your Ability (no spaces):');
if(abilityid==null)
return;
if(abilityid.length==0)
return;
if(abilityid.indexOf(' ')>=0)
{
if(window.alert) window.alert('No spaces are allowed in your ID!');
return;
}
document.RESOURCES.NEWABILITYID.value=abilityid;
document.RESOURCES.FUNCTION.value='REABILITY';
document.RESOURCES.action='/grinder/abilitydo.cmvp';
document.RESOURCES.submit();
}
function Delete()
{
if(confirm('Delete this generic ability?! Confirm!'))
{
if(confirm('Press OK to Delete this ability!'))
{
document.RESOURCES.action='abilitydo.cmvp';
document.RESOURCES.FUNCTION.value='DELABILITY';
document.RESOURCES.submit();
}
}
}
function EditDone()
{
@if?AbilityData?ISNEWABILITY@
if(confirm('Create this new ability?'))
@else@
@if?AbilityData?ISGENERIC@
if(confirm('Submit your changes to this ability?'))
@else@
if(confirm('Submitting these changes will convert your standard Ability to a Generic Ability. Are you absolutely sure?'))
@endif@
@endif@
{
document.RESOURCES.action='abilitydo.cmvp';
document.RESOURCES.FUNCTION.value='EDITABILITY';
document.RESOURCES.submit();
}
}
function ReShow()
{
document.RESOURCES.FUNCTION.value='';
document.RESOURCES.action='/grinder/ability.cmvp';
document.RESOURCES.submit();
}
function ReAbility()
{
document.RESOURCES.FUNCTION.value='REABILITY';
document.RESOURCES.action='/grinder/abilitydo.cmvp';
document.RESOURCES.submit();
}
function Cancel()
{
window.close();
}
function OpenUp(file,named)
{
var strFeatures="top=200,left=50,scrollbars=yes,resizeable=no,height=400,width=650,alwaysRaised=yes,dependent=yes";
w=window.open("/"+file+"?HELPTOPIC="+named,
"Help",strFeatures, false);
}
function Clicked(action)
{
document.RESOURCES.action=action;
document.RESOURCES.submit();
}
//-->
</script>
</head>
<body BGCOLOR=BLACK>
<FORM ACCEPT-CHARSET="UTF-8" NAME=RESOURCES TARGET=_top METHOD=POST ACTION="ability.cmvp">
<INPUT TYPE=HIDDEN NAME=AUTH VALUE="@Authenticate?AUTH@">
<INPUT TYPE=HIDDEN NAME=NEWABILITYID VALUE="">
<INPUT TYPE=HIDDEN NAME=REPLACE VALUE="">
<INPUT TYPE=HIDDEN NAME=FUNCTION VALUE="">
<INPUT TYPE=HIDDEN NAME=ABILITY VALUE="@RequestParameter?ABILITY@">
<INPUT TYPE=HIDDEN NAME=NEWABILITY VALUE="@RequestParameter?NEWABILITY@">
<INPUT TYPE=HIDDEN NAME=NEWLANGUAGE VALUE="@RequestParameter?NEWLANGUAGE@">
<INPUT TYPE=HIDDEN NAME=NEWCRAFTSKILL VALUE="@RequestParameter?NEWCRAFTSKILL@">
<CENTER>
@if?CheckReqParm?ABILITY=@
Select a ability above to view/edit.
@else@
<TABLE WIDTH=100% BORDER=1 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD><FONT COLOR=YELLOW>Ability ID: </FONT></TD>
<TD><FONT COLOR=WHITE>@RequestParameter?ABILITY@</FONT></TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Name: </FONT></TD>
<TD><INPUT TYPE=TEXT SIZE=30 MAXLENGTH=100 NAME=NAME VALUE="@AbilityData?NAME@"></TD>
</TR>
@if?AbilityData?ISLANGUAGE@
@AbilityData?WORDLISTS&RESET@
@AddRequestParameter?WLCOUNTER=0@
@loop@
@AddRequestParameter?WLCOUNTER=++@
@AbilityData?WORDLISTS&NEXT@
<TR>
<TD><FONT COLOR=YELLOW>@RequestParameter?WLCOUNTER@ letter words:<BR><FONT SIZE=-1>(comma delimited)</FONT></FONT></TD>
<TD><INPUT TYPE=TEXT SIZE=60 NAME=@RequestParameter?WORDLISTNUM@ VALUE="@RequestParameter?@@RequestParameter?WORDLISTNUM@@ @"></TD>
</TR>
@back@
<TR>
<TD><FONT COLOR=YELLOW>@RequestParameter?WLCOUNTER@ letter words<BR><FONT SIZE=-1>(comma delimited)</FONT>: </FONT></TD>
<TD><INPUT TYPE=TEXT SIZE=60 NAME=@RequestParameter?WORDLISTNEXT@ VALUE=""></TD>
</TR>
<TR>
<TD></TD>
<TD>
<A HREF="JavaScript:ReShow();"><FONT COLOR=WHITE SIZE=-1>Add more word lists</FONT></A>
<INPUT TYPE=HIDDEN NAME=CLASSIFICATION_ACODE VALUE=7>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Word replacements: </FONT></TD><TD>
@AbilityData?HASHWORDS&RESET@
@loop@
@AbilityData?HASHWORDS&NEXT@
<INPUT TYPE=TEXT SIZE=10 NAME=@RequestParameter?HASHWORDNUM@ VALUE="@RequestParameter?@@RequestParameter?HASHWORDNUM@@ @">
<FONT SIZE=-1 COLOR=WHITE>is translated to</FONT>
<INPUT TYPE=TEXT SIZE=20 NAME=@RequestParameter?HASHWORDDEFNUM@ VALUE="@RequestParameter?@@RequestParameter?HASHWORDDEFNUM@@ @">
<BR>
@back@
<INPUT TYPE=TEXT SIZE=10 NAME=@RequestParameter?HASHWORDNEXT@ VALUE="">
<FONT SIZE=-1 COLOR=WHITE>is translated to</FONT>
<INPUT TYPE=TEXT SIZE=10 NAME=@RequestParameter?HASHWORDDEFNEXT@ VALUE="">
</TD></TR>
<TR>
<TD></TD>
<TD><A HREF="JavaScript:ReShow();"><FONT COLOR=WHITE SIZE=-1>Add another word replacement</FONT></A></TD>
</TR>
@else@
@if?AbilityData?ISCRAFTSKILL@
<TR>
<TD>
<FONT COLOR=YELLOW>Skill Verb: </FONT><BR>
<INPUT TYPE=HIDDEN NAME=CLASSIFICATION_ACODE VALUE=9>
</TD>
<TD>
<INPUT TYPE=TEXT SIZE=10 MAXLENGTH=20 NAME=VERB VALUE="@AbilityData?VERB@">
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Command Words: </FONT><BR>
</TD>
<TD>
<INPUT TYPE=TEXT SIZE=30 MAXLENGTH=100 NAME=TRIGSTR VALUE="@AbilityData?TRIGSTR@">
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Allowed to Mend: </FONT><BR>
</TD>
<TD>
<INPUT TYPE=CHECKBOX NAME=CANMEND @AbilityData?CANMEND@>
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Allowed to Refit: </FONT><BR>
</TD>
<TD>
<INPUT TYPE=CHECKBOX NAME=CANREFIT @AbilityData?CANREFIT@>
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Allowed to Bundle: </FONT><BR>
</TD>
<TD>
<INPUT TYPE=CHECKBOX NAME=CANBUNDLE @AbilityData?CANBUNDLE@>
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Sitting OK: </FONT><BR>
</TD>
<TD>
<INPUT TYPE=CHECKBOX NAME=CANSIT @AbilityData?CANSIT@>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Raw Resources / Material Types: </FONT></TD>
<TD>
<SELECT NAME=MATLIST MULTIPLE>@AbilityData?MATLIST@</SELECT>
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Recipes Filename: </FONT><BR>
</TD>
<TD>
<INPUT TYPE=TEXT SIZE=30 MAXLENGTH=100 NAME=FILENAME VALUE="@AbilityData?FILENAME@">
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>MSP Sound Filename: </FONT><BR>
</TD>
<TD>
<INPUT TYPE=TEXT SIZE=30 MAXLENGTH=100 NAME=SOUND VALUE="@AbilityData?SOUND@">
</TD>
</TR>
@else@
<TR>
<TD><FONT COLOR=YELLOW>Type: </FONT></TD>
<TD>
<SELECT NAME=CLASSIFICATION_ACODE>@AbilityData?CLASSIFICATION_ACODE@</SELECT>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Domain: </FONT></TD>
<TD>
<SELECT NAME=CLASSIFICATION_DOMAIN>@AbilityData?CLASSIFICATION_DOMAIN@</SELECT>
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Command Words: </FONT><BR>
</TD>
<TD>
<INPUT TYPE=TEXT SIZE=30 MAXLENGTH=100 NAME=TRIGSTR VALUE="@AbilityData?TRIGSTR@">
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Minimum Range: </FONT></TD>
<TD>
<SELECT NAME=MINRANGE>@AbilityData?MINRANGE@</SELECT>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Maximum Range: </FONT></TD>
<TD>
<SELECT NAME=MAXRANGE>@AbilityData?MAXRANGE@</SELECT>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Affect String: </FONT></TD>
<TD>
<INPUT TYPE=TEXT SIZE=60 MAXLENGTH=100 NAME=DISPLAY VALUE="@AbilityData?DISPLAY@">
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Is Auto-Invoking: </FONT><BR>
</TD>
<TD>
<INPUT TYPE=CHECKBOX NAME=AUTOINVOKE @AbilityData?AUTOINVOKE@>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Skill Flags: </FONT></TD>
<TD>
<SELECT NAME=ABILITY_FLAGS MULTIPLE>@AbilityData?ABILITY_FLAGS@</SELECT>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Override Cost: </FONT></TD>
<TD>
<SELECT NAME=OVERRIDEMANA>@AbilityData?OVERRIDEMANA@</SELECT>
<INPUT TYPE=TEXT SIZE=3 MAXLENGTH=5 NAME=OVERRIDEMANA VALUE="@AbilityData?CUSTOMOVERRIDEMANA@">
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Cost Type: </FONT></TD>
<TD>
<SELECT NAME=USAGEMASK MULTIPLE>@AbilityData?USAGEMASK@</SELECT>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Ticks Between Casts: </FONT></TD>
<TD>
<INPUT TYPE=TEXT SIZE=10 MAXLENGTH=20 NAME=TICKSBETWEENCASTS VALUE="@AbilityData?TICKSBETWEENCASTS@">
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Duration Override (0=NO): </FONT></TD>
<TD>
<INPUT TYPE=TEXT SIZE=10 MAXLENGTH=20 NAME=TICKSOVERRIDE VALUE="@AbilityData?TICKSOVERRIDE@">
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Can Affect: </FONT></TD>
<TD>
<SELECT NAME=CANAFFECTMASK MULTIPLE>@AbilityData?CANAFFECTMASK@</SELECT>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Can Target: </FONT></TD>
<TD>
<SELECT NAME=CANTARGETMASK MULTIPLE>@AbilityData?CANTARGETMASK@</SELECT>
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Tick/Periodic Effects: </FONT><BR>
</TD>
<TD>
<INPUT TYPE=CHECKBOX NAME=TICKAFFECTS @AbilityData?TICKAFFECTS@>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Quality Code: </FONT></TD>
<TD>
<SELECT NAME=VQUALITY>@AbilityData?VQUALITY@</SELECT>
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Affect Adjustments: </FONT>
<A HREF="javascript:OpenUp('ahelp.cmvp','PROP_HEREADJUSTER')"><FONT COLOR=WHITE><I>?</I></FONT></a>
</TD>
<TD>
<INPUT TYPE=TEXT SIZE=80 MAXLENGTH=255 NAME=HERESTATS VALUE="@AbilityData?HERESTATS@">
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Caster Mask: </FONT>
<A HREF="javascript:OpenUp('ahelp.cmvp','MASKS')"><FONT COLOR=WHITE><I>?</I></FONT></a>
</TD>
<TD>
<INPUT TYPE=TEXT SIZE=60 MAXLENGTH=255 NAME=CASTMASK VALUE="@AbilityData?CASTMASK@">
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Scriptable Parm: </FONT>
<A HREF="javascript:OpenUp('ahelp.cmvp','SCRIPTABLE')"><FONT COLOR=WHITE><I>?</I></FONT></a>
</TD>
<TD>
<TEXTAREA ROWS=10 COLS=55 NAME=SCRIPT>@AbilityData?SCRIPT@</TEXTAREA>
</TD>
</TR>
<TR>
<TD>
<FONT COLOR=YELLOW>Target Mask: </FONT>
<A HREF="javascript:OpenUp('ahelp.cmvp','MASKS')"><FONT COLOR=WHITE><I>?</I></FONT></a>
</TD>
<TD>
<INPUT TYPE=TEXT SIZE=60 MAXLENGTH=255 NAME=TARGETMASK VALUE="@AbilityData?TARGETMASK@">
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Fizzle Message: </FONT></TD>
<TD>
<INPUT TYPE=TEXT SIZE=80 MAXLENGTH=255 NAME=FIZZLEMSG VALUE="@AbilityData?FIZZLEMSG@">
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Auto-Cast Message: </FONT></TD>
<TD>
<INPUT TYPE=TEXT SIZE=80 MAXLENGTH=255 NAME=AUTOCASTMSG VALUE="@AbilityData?AUTOCASTMSG@">
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Normal-Cast Message: </FONT></TD>
<TD>
<INPUT TYPE=TEXT SIZE=80 MAXLENGTH=255 NAME=CASTMSG VALUE="@AbilityData?CASTMSG@">
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Post-Cast Message: </FONT></TD>
<TD>
<INPUT TYPE=TEXT SIZE=80 MAXLENGTH=255 NAME=POSTCASTMSG VALUE="@AbilityData?POSTCASTMSG@">
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Attack Type: </FONT></TD>
<TD>
<SELECT NAME=ATTACKCODE>@AbilityData?ATTACKCODE@</SELECT>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Silent Affects: </FONT></TD>
<TD>
<SELECT NAME=POSTCASTAFFECT MULTIPLE>@AbilityData?POSTCASTAFFECT@</SELECT>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Extra Castings: </FONT></TD>
<TD>
<SELECT NAME=POSTCASTABILITY MULTIPLE>@AbilityData?POSTCASTABILITY@</SELECT>
</TD>
</TR>
<TR>
<TD><FONT COLOR=YELLOW>Damage/Healing Formula: </FONT></TD>
<TD>
<INPUT TYPE=TEXT SIZE=40 MAXLENGTH=255 NAME=POSTCASTDAMAGE VALUE="@AbilityData?POSTCASTDAMAGE@">
</TD>
</TR>
@endif@
@endif@
<TR>
<TD><FONT COLOR=YELLOW>Help Entry: </FONT></TD>
<TD><TEXTAREA ROWS=10 COLS=55 NAME=GENHELP>@AbilityData?GENHELP@</TEXTAREA></TD>
</TR>
</TABLE>
@endif@
<BR>
<TABLE WIDTH=100% BORDER=0>
<TR>
@if?!CheckReqParm?ABILITY=@
@if?AbilityData?ISNEWABILITY@
<TD ALIGN=CENTER><INPUT TYPE=BUTTON NAME=FINISHED VALUE="Create" ONCLICK="EditDone();"></TD>
@else@
<TD ALIGN=CENTER><INPUT TYPE=BUTTON NAME=FINISHED VALUE="Modify" ONCLICK="EditDone();"></TD>
@endif@
@if?AbilityData?ISGENERIC@
<TD ALIGN=CENTER><INPUT TYPE=BUTTON NAME=DELETE VALUE="Delete" ONCLICK="Delete();"></TD>
@endif@
<TD ALIGN=CENTER><INPUT TYPE=BUTTON NAME=CANCEL VALUE="Cancel" ONCLICK="Cancel();"></TD>
@endif@
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
@endif@
@endif@