38 lines
1.1 KiB
Plaintext
38 lines
1.1 KiB
Plaintext
void ApplyAdditionalHP(object oPC, int iAmount, float fDuration)
|
|
{
|
|
effect eHP;
|
|
eHP=GetFirstEffect(oPC);
|
|
while(GetIsEffectValid(eHP))
|
|
{
|
|
if(GetEffectType(eHP)==EFFECT_TYPE_TEMPORARY_HITPOINTS)
|
|
{
|
|
RemoveEffect(oPC, eHP);
|
|
SendMessageToPC(oPC, "Removing Existing HP Buff");
|
|
}
|
|
eHP=GetNextEffect(oPC);
|
|
}
|
|
|
|
eHP=EffectTemporaryHitpoints(iAmount);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHP, oPC, fDuration);
|
|
eHP=EffectVisualEffect(VFX_IMP_HOLY_AID);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHP, oPC, fDuration);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oPC = GetItemActivator();
|
|
object oItemToTake1 = GetItemPossessedBy(oPC, "Diamond");
|
|
if(GetIsObjectValid(GetItemPossessedBy(oPC, "Diamond")))
|
|
{
|
|
if (GetItemStackSize(oItemToTake1) > 1)
|
|
{
|
|
SetItemStackSize(oItemToTake1, GetItemStackSize(oItemToTake1)-1);
|
|
}
|
|
else
|
|
{
|
|
DestroyObject(oItemToTake1);
|
|
}
|
|
ApplyAdditionalHP(oPC, 1000, 3600.0);
|
|
}
|
|
}
|