Check this part.
It is random, apparently one works and the other does not.
else if (event.equals("30757-03.htm"))
{
if (Rnd.get(10) > 5)
{
st.setState(State.STARTED);
st.set("symbol", "1");
st2.set("symbols", String.valueOf(st2.getInt("symbols") + 1));
st.giveItems(SYMBOL_OF_LOYALTY, 1);
st.playSound(QuestState.SOUND_ACCEPT);
htmltext = "30757-04.htm";
}
else
{
castSkill(npc, player, 4083);
startQuestTimer("die", 4000, npc, player, false);
}
}