Files
dsrc/sku.0/sys.server/compiled/game/script/library/luck.scriptlib
T
2013-09-10 23:17:15 -07:00

52 lines
1010 B
Plaintext

include library.colors;
boolean isLucky(obj_id player)
{
return isLucky(player, 0.10f, true);
}
boolean isLucky(obj_id player, float mod)
{
return isLucky(player, mod, true);
}
boolean isLucky(obj_id player, float mod, boolean showFlyText)
{
if(!isPlayer(player))
return false;
int level = getLevel(player);
int cap = level * 5;
float chance = (float)rand(1, (cap * 1000));
chance /= 1000.0f;
float luck = (float)getSkillStatisticModifier(player, "luck");
float luckBonus = (float)getEnhancedSkillStatisticModifierUncapped(player, "luck_modified");
luck += luckBonus;
if(luck > cap)
luck = (float)cap;
luck *= mod;
if(chance < luck)
{
if(showFlyText)
showLuckyFlyText(player);
return true;
}
return false;
}
void showLuckyFlyText(obj_id player)
{
prose_package pp = new prose_package();
pp = prose.setStringId(pp, new string_id("system_msg", "lucky_fly_text"));
showFlyTextPrivateProseWithFlags(player, player, pp, 1.5f, colors.GOLD, FLY_TEXT_FLAG_IS_LUCKY );
}