void DoDirection(object oPC, location lChest, int iMapLevel); void main() { object oPC = OBJECT_SELF; object oMapUsed = GetLocalObject(oPC,"oMapUsed"); DeleteLocalObject(oPC,"oMapUsed"); if (GetLocalInt(oMapUsed,"iAmInUse")!=0) { AssignCommand(oMapUsed,ClearAllActions()); AssignCommand(oMapUsed,DelayCommand(30.1,DeleteLocalInt(oMapUsed,"iAmInUse"))); return; } SetLocalInt(oMapUsed,"iAmInUse",99); AssignCommand(oMapUsed,DelayCommand(30.1,DeleteLocalInt(oMapUsed,"iAmInUse"))); int iMapSkill = GetCampaignInt("UOACraft","iMapSkill",oPC); int iMapChance = iMapSkill; if (iMapChance <350) { iMapChance = GetAbilityScore(oPC,ABILITY_INTELLIGENCE)*5; iMapChance = iMapChance +(GetAbilityScore(oPC,ABILITY_WISDOM)*3); iMapChance = iMapChance +(GetAbilityScore(oPC,ABILITY_DEXTERITY)*2); iMapChance = iMapChance * 3; if (iMapChance >350) iMapChance = 350; if (iMapSkill > iMapChance) iMapChance = iMapSkill; } int iMapLevel = StringToInt(GetStringRight(GetResRef(oMapUsed),2)); int iMapChanceNeeded = iMapLevel*100; if (iMapChancefDistance) sArrowResRef="x2_plc_hole_s"; //if too close then turn off the beacon if (fDistance <= fDistanceLevel10) iColor = VFX_DUR_GLOW_PURPLE; if (fDistance <= fDistanceLevel9) iColor = VFX_DUR_GLOW_LIGHT_PURPLE; if (fDistance <= fDistanceLevel8) iColor = VFX_DUR_GLOW_RED; if (fDistance <= fDistanceLevel7) iColor = VFX_DUR_GLOW_LIGHT_RED; if (fDistance <= fDistanceLevel6) iColor = VFX_DUR_GLOW_ORANGE; if (fDistance <= fDistanceLevel5) { iColor = VFX_DUR_GLOW_LIGHT_ORANGE; iColor2 = VFX_DUR_PIXIEDUST; } if (fDistance <= fDistanceLevel4) iColor = VFX_DUR_GLOW_YELLOW; if (fDistance <= fDistanceLevel3) iColor = VFX_DUR_GLOW_LIGHT_YELLOW; if (fDistance <= fDistanceLevel2) iColor = VFX_DUR_GLOW_LIGHT_BLUE; if (fDistance <= fDistanceLevel1) { iColor = VFX_DUR_GHOST_SMOKE; iColor2 = VFX_DUR_GLOW_WHITE; } oTemp = CreateObject(OBJECT_TYPE_PLACEABLE,sArrowResRef,lTemp,FALSE); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(iColor,FALSE),oTemp,2.4); if (iColor2!=0)ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(iColor2,FALSE),oTemp,2.4); DestroyObject(oTemp,2.5); AssignCommand(oTemp,PlaySound("as_hr_x2ghost1")); AssignCommand(oTemp,SetFacingPoint(GetPositionFromLocation(lChest))); DelayCommand(0.3,AssignCommand(oTemp,SetFacingPoint(GetPositionFromLocation(lChest)))); DelayCommand(0.6,AssignCommand(oTemp,SetFacingPoint(GetPositionFromLocation(lChest)))); DelayCommand(0.9,AssignCommand(oTemp,SetFacingPoint(GetPositionFromLocation(lChest)))); return; }