Code: Select all
[h:WeatherList = "Great Light,Good Light,Adverage Light,Bad Light,Dim Light,No Light,Light Rain,Medium Rain,Heavy Rain,Storm,Blizzard"]
[h:Lselect = listFind(WeatherList, Lmod)]
[h:Vrange = (Prange+Per)*3]
[H: visTokens = "[]" ]
[H: visTokenIDs = getVisibleTokens("json") ]
[H, FOREACH( i, vistokenIDs ): visTokens = json.append( visTokens, json.set( "{}", "name", getName(i), "id", i, "range", getDistance(i) ) ) ]
[H: visTokens = json.sort( visTokens, "ascend", "range", "name" ) ]
[H: visTokenNames = "[]" ]
[H, FOREACH( i, visTokens ), CODE: {
[ visTokenRange = json.get( i, "range" ) ]
[ visTokenNames = json.append( visTokenNames, "(" + if( visTokenRange <= Vrange, "<font color=red>", "" ) + visTokenRange + " hexes" + if( visTokenRange <= Vrange, "</font>", "" ) + ") " + json.get( i, "name" ) ) ]
}]
[H: visTokenNameList = "Not Specified" ]
[H, FOREACH( i, visTokenNames, "" ): visTokenNameList = listAppend(visTokenNameList, "<html>" + replace( i, ",", "_" ) + "</html>" ) ]
[H: abort(input(
"tTarget1 | " + visTokenNameList + " |Target|LIST|",
"hitbonus|0|To Hit Mod",
"CoverMod|0|Cover Mod",
"TargetMod|Torso,Legs,Arms,Groin,Head,Eyes|Aimed Shot|LIST|SELECT=0",
"LMod|Great Light,Good Light,Adverage Light,Bad Light,Dim Light,No Light,Light Rain,Medium Rain,Heavy Rain,Storm,Blizzard|Lighting/Weather|LIST|SELECT="+Lselect+" VALUE=STRING",
"Threshold|0|Damage Threshold",
"Resistance|0|Damage Resistance"
))]
[H,if( tTarget1 == 0 ): target1ID = ""; target1ID = json.get( json.get( visTokens, tTarget1-1 ), "id" ) ]
[H,if( tTarget1 == 0 ): target1Name = ""; target1Name = json.get( json.get( visTokens, tTarget1-1 ), "name" ) ]
[H: targString = if( target1Name == "", "", "<b>Target: </b>" + target1Name ) + if( target1Name == "", "", "<br>" ) ]
[h:TargetAC = getProperty("AC",target1ID)]
[h:Distance = getDistance(target1ID)]
[h:Skill = Pskill]
[H:Rangemod = (3*(Distance-(PER+PRange)))]
[H:Ra = if(Rangemod<0,"0",Rangemod)]
[h:L = listGet("0,10,20,50,80,200,30,40,60,80", listFind(WeatherList, Lmod))]
[h:S = listGet("0,10,15,15,20,30", TargetMod)]
[h:ACC = listGet("0,20,10,20,25,30", TargetMod)]
[h:DMG = Eval(PammoDMG + "+" + PDamage)]
<table border="0">
<tr bgcolor="#000000">
<table width="100%">
<tr>
<td style="padding:0px 5px;">
<span style="color:#33FF00">
<b>{targString}
</span>
</td>
</tr>
</table>
</tr>
<tr>
<td>
<table border="0">
<tr bgcolor="#000000">
<table width="100%">
<tr>
<td style="padding:0px 5px;">
<span style="color:#33FF00">
<b>{PrimaryWeapon}</b>
</span>
</td>
<td style="padding:0px 5px;" align=right>
<span style="color:#33FF00">
{Skill}:{Base=Eval(Skill)}
</span>
</td>
</tr>
</table>
</tr>
<tr>
<td>
<b>Distance: </b>[t:Distance] Hexes<br>
<b>Hit Chance: </b>[T:tohit=Base-Ra-L-TargetAC-CoverMod-S+hitbonus]<br>
<b>Attack Roll: [t:Roll=1d100] [t:if(Roll<=tohit,", Hit",", Miss - 1 To Weapon Condition")]<b>[t:if(Roll<=(CC+ACC),", Critical!","")]</b><br>
<b>Damage; </b>[t:Round((Dmg-Threshold)-((DMG-Threshold)*(Resistance*0.01)))]<br>
<small><i>Remaining Ammo:[t:PRounds=PRounds-1]
[t:Ammocheck= if(Prounds<=0,"Out of Ammo!","")]
<!-- and here the code suddenly stops....?? -->