The first one:
Code: Select all
[code][h:Lselect=if(Lmod=="Great Light",0,if(Lmod=="Good Light",1,if(Lmod=="Average Light",2,if(Lmod=="Bad Light",3,if(Lmod=="Dim Light",4,if(Lmod=="No Light",5,if(Lmod=="Light Rain",6,if(Lmod=="Medium Rain",6,if(Lmod=="Heavy Rain",7,if(Lmod=="Storm",8,0))))))))))]
[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: 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 VALUE=STRING",
"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 = "" ]
[H: targString = if( target1Name == "", "", "<b>Target: </b>" + target1Name ) ]
[H: targString = targString + if( target1Name == "", "", "<br>" ) ]
<table border="0"><tr bgcolor="#000000"><table width="100%"><tr><td style="padding:0px 5px;">
<span style="color:#33FF00"><b>
{targString}
</font></td></tr></table></tr><tr><td>
[h:TargetAC=getProperty("AC",target1ID)]
[h:Distance=getDistance(target1ID)]
[h:Skill=Pskill]
<table border="0"><tr bgcolor="#000000"><table width="100%"><tr><td style="padding:0px 5px;">
<span style="color:#33FF00"><b>
{PrimaryWeapon}
</b></font></td><td style="padding:0px 5px;" align=right><span style="color:#33FF00">
{Skill}:{Base=Eval(Skill)}
</font></td></tr></table></tr><tr><td>
<B>Distance: </b>[t:D=Distance] Hexes
[H:Rangemod=(3*(D-(PER+PRange)))]
[H:R=if(Rangemod<0,"0",Rangemod)]
<br>
[h:L=if(Lmod=="Great Light",0,if(Lmod=="Good Light",10,if(Lmod=="Average Light",20,if(Lmod=="Bad Light",50,if(Lmod=="Dim Light",80,if(Lmod=="No Light",200,if(Lmod=="Light Rain",30,if(Lmod=="Medium Rain",40,if(Lmod=="Heavy Rain",60,if(Lmod=="Storm",80,0))))))))))]
[h:A=TargetAC]
[h:C=CoverMod]
[h:S=if(TargetMod=="Torso",0,if(TargetMod=="Legs",10,if(TargetMod=="Arms",15,if(TargetMod=="Groin",15,if(TargetMod=="Head",20,if(TargetMod=="Eyes",30,0))))))]
[h:ACC=if(TargetMod=="Torso",0,if(TargetMod=="Legs",20,if(TargetMod=="Arms",10,if(TargetMod=="Groin",20,if(TargetMod=="Head",25,if(TargetMod=="Eyes",30,0))))))]
<B>Hit Chance: </b>[T:tohit=Base-R-L-A-C-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>
[h:Dice=PammoDMG]
[h:Bonus=PDamage]
[h:Roll=Dice+"+"+Bonus]
[h:DMG=Eval(Roll)]
[h:T=Threshold]
[h:R=Resistance]
<b>Damage; </b>[t:Round((Dmg-T)-((DMG-T)*(R*0.01)))]
<br>
<small><i>Remaining Ammo:[t:PRounds=PRounds-1]
[t:Ammocheck= if(Prounds<=0,"Out of Ammo!","")]
The 2nd one:
Code: Select all
[h:status = input(
"InitDamage|0|How much damage did you take?",
"DRChange|0|Any modifiers to DR?",
"DTChange|0|Any modifiers to DT?",
"Defenses|Normal,Laser,Fire,Plasma,Explosive,Electricity|What's the damage type?|RADIO|SELECT=0")]
[h:abort(status)]
<!--
[if(Defenses ==5), CODE:
{
[Damage= floor(InitDamage*(min(100, (100-(ER+DRChange)))/100))]
};
{""}
]
[if(Defenses ==4), CODE:
{
[Damage = floor((InitDamage-max(0, (EDT+DTChange)))*(min(100, (100-(EDR+DRChange)))/100))]
};
{""}
]
[if(Defenses ==3), CODE:
{
[Damage = floor((InitDamage-max(0, (PDT+DTChange)))*(min(100, (100-(PDR+DRChange)))/100))]
};
{""}
]
[if(Defenses==2), CODE:
{
[Damage= floor((InitDamage-max(0, (FDT+DTChange)))*(min(100, (100-(FDR+DRChange)))/100))]
};
{""}
]
[if(Defenses==1), CODE:
{
[Damage= floor((InitDamage-max(0, (LDT+DTChange)))*(min(100, (100-(LDR+DRChange)))/100))]
};
{""}
]
[if(Defenses==0), CODE:
{
[Damage= floor((InitDamage-max(0, (NDT+DTChange)))*(min(100, (100-(NDR+DRChange)))/100))]
};
{""}
]
[if(Damage <0), CODE:
{
[FinalDamage=0]
};
{[FinalDamage=Damage]}
]
-->
{FinalDamage} points of damage are taken
[h: dmgOrHealing = 0]
[if(dmgOrHealing == 0),CODE:
{
[h:HP = HP - FinalDamage]
[h:bar.Health = HP / MaxHP]
[r:token.name] loses [r:FinalDamage] hit points.
};
{
[h:diff = MaxHP - HP]
[h:HP = min(HP+FinalDamage, MaxHP)]
[h:bar.Health = HP / MaxHP]
[r:token.name] is healed and gains [r:min(diff,FinalDamage)] hit points.
};]
{token.name}'s HP is {HP}. <br>
<!--
[Condition = ""]
[if(HP <=0), CODE: { [if(HP<0), CODE: { [Condition = if(HP> (-1*Endurance), token.name + " is unconscious!", token.name + " is dead!")] };
{ [Condition = token.name +" is staggered!"] } ]};
{ [Condition = ""]}]
[IsUnconscious = if(HP > -1*Endurance && HP < 0, 1, 0)]
[IsDead = if(HP <= -1*Endurance, 1, 0)]
[state.Unconscious = IsUnconscious]
[state.Dead = IsDead]
-->
{Condition}[/color]