forked from Jaysyn/PRC8
Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
77 lines
2.3 KiB
Plaintext
77 lines
2.3 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Appraise Magic Value
|
|
//::
|
|
/*
|
|
Roll an appraise check to determine the value of an item
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Stratovarius
|
|
//:: Created On: April 26, 2008
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_inc_nwscript"
|
|
|
|
int AppraiseItem(object item)
|
|
{
|
|
int gp = GetGoldPieceValue(item);
|
|
int nAppraise;
|
|
|
|
if (gp<10) nAppraise = 0;
|
|
if (gp==10) nAppraise = 1;
|
|
if (gp>11) nAppraise = 2;
|
|
if (gp>50) nAppraise = 3;
|
|
if (gp>101) nAppraise = 4;
|
|
if (gp>151) nAppraise = 5;
|
|
if (gp>201) nAppraise = 6;
|
|
if (gp>301) nAppraise = 7;
|
|
if (gp>401) nAppraise = 8;
|
|
if (gp>501) nAppraise = 9;
|
|
if (gp>1001) nAppraise = 10;
|
|
if (gp>2501) nAppraise = 11;
|
|
if (gp>3751) nAppraise = 12;
|
|
if (gp>4801) nAppraise = 13;
|
|
if (gp>6501) nAppraise = 14;
|
|
if (gp>9501) nAppraise = 15;
|
|
if (gp>13001) nAppraise = 16;
|
|
if (gp>17001) nAppraise = 17;
|
|
if (gp>20001) nAppraise = 18;
|
|
if (gp>30001) nAppraise = 19;
|
|
if (gp>40001) nAppraise = 20;
|
|
if (gp>50001) nAppraise = 21;
|
|
if (gp>60001) nAppraise = 22;
|
|
if (gp>80001) nAppraise = 23;
|
|
if (gp>100001) nAppraise = 24;
|
|
if (gp>150001) nAppraise = 25;
|
|
if (gp>200001) nAppraise = 26;
|
|
if (gp>250001) nAppraise = 27;
|
|
if (gp>300001) nAppraise = 28;
|
|
if (gp>350001) nAppraise = 29;
|
|
if (gp>400001) nAppraise = 30;
|
|
if (gp>500001)
|
|
{
|
|
gp = gp - 500000;
|
|
gp = gp / 100000;
|
|
nAppraise = gp + 31;
|
|
}
|
|
return nAppraise;
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oItem = PRCGetSpellTargetObject();
|
|
effect eVis;
|
|
int nDC = AppraiseItem(oItem);
|
|
int nSkill = GetIsSkillSuccessful(OBJECT_SELF, SKILL_APPRAISE, nDC + 10);
|
|
|
|
if (nSkill && GetIdentified(oItem))
|
|
{
|
|
eVis = EffectVisualEffect(VFX_IMP_MAGICAL_VISION);
|
|
FloatingTextStringOnCreature("The value of " + GetName(oItem) + " is " + IntToString(GetGoldPieceValue(oItem)), OBJECT_SELF, FALSE);
|
|
}
|
|
else
|
|
{
|
|
eVis = EffectVisualEffect(VFX_IMP_BLIND_DEAF_M);
|
|
}
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
|
|
} |