I made the octagong. Eight gong targets that ring one of three tones when hit. It's silly.
I set if up for ranged weapons only. Then used beams laid out to set the range. then gong1, gong2, etc...
Leaving a few gongs open depending on how many npc's are there. Btw npc 1,2,etc.. so they know which gong to hit and a wp for them to go too. I used the underground tile crypt or maybe ruins the one where you come down the huge steps into the center of the room the gongs are set up at the edges of the room. In case anyone is interested:
void main()
{
object oSpawn;
oSpawn = OBJECT_SELF;
object oPC = GetLastDamager();
int iHd = GetHitDice (oPC);
int iDmg = GetDamageDealtByType(DAMAGE_TYPE_BLUDGEONING) + GetDamageDealtByType(DAMAGE_TYPE_PIERCING) + GetDamageDealtByType(DAMAGE_TYPE_SLASHING);
iDmg += d6(2);
if (!GetWeaponRanged(GetLastWeaponUsed(oPC)))
return;
if (iHd > 9)
{
ActionSpeakString ("You can no longer get xp attacking this target.");
return;
}
{
if (iDmg == 0)
{
ActionSpeakString ("Miss...Haybale...");
return;
}
else if (iDmg <= 3)
{
ActionSpeakString ("...Hit...");
GiveXPToCreature(oPC,5);
DelayCommand (0.2, AssignCommand(oSpawn, PlaySound("as_cv_gongring1")));
return;
}
else if (iDmg <= 7)
{
ActionSpeakString ("...Hit... ");
GiveXPToCreature(oPC,10);
DelayCommand (0.2, AssignCommand(oSpawn, PlaySound("as_cv_gongring2")));
return;
}
else if (iDmg <= 12 )
{
ActionSpeakString ("...Hit...");
GiveXPToCreature(oPC,15);
DelayCommand (0.2, AssignCommand(oSpawn, PlaySound("as_cv_bell2")));
return;
}
else if (iDmg <= 18 )
{
ActionSpeakString ("...Hit...");
GiveXPToCreature(oPC,25);
DelayCommand (0.2, AssignCommand(oSpawn, PlaySound("as_cv_bell2")));
return;
}
else
ActionSpeakString ("Hurrah!");
}
}
Modifié par ffbj, 16 février 2013 - 04:37 .