Jaysyn904 04165202c0 Initial upload
Initial upload
2024-11-25 19:36:07 -05:00

65 lines
2.2 KiB
Plaintext

#include "x2_inc_itemprop"
#include "x3_inc_skin"
#include "x3_inc_string"
void fnBlindness()
{ // PURPOSE: Handle Drow Blindness
object oMe=OBJECT_SELF;
object oArea=GetArea(oMe);
int bDay=GetIsDay();
int bBlindOn=GetLocalInt(oMe,"bBlindOn");
effect eE;
if (bBlindOn)
{ // currently blind
if (bDay)
{ // possible to remain blind
if (!GetLocalInt(oArea,"bOP")&&GetIsAreaAboveGround(oArea)&&!GetIsAreaInterior(oArea))
{ // remain blind
eE=EffectAttackDecrease(2);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eE,oMe,2.1);
} // remain blind
else
{ // blind off
DeleteLocalInt(oMe,"bBlindOn");
} // blind off
} // possible to remain blind
else
{ // no more blindness
DeleteLocalInt(oMe,"bBlindOn");
} // no more blindness
} // currently blind
else
{ // not currently blind
if (bDay)
{ // possible to be blinded
if (!GetLocalInt(oArea,"bOP")&&GetIsAreaAboveGround(oArea)&&!GetIsAreaInterior(oArea))
{ // blind time
SetLocalInt(oMe,"bBlindOn",TRUE);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectBlindness(),oMe,6.0);
SendMessageToPC(oMe,StringToRGBString("The change in light intensity momentarily blinds you. It continues to be painful to your eyes.","777"));
eE=EffectAttackDecrease(2);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eE,oMe,2.1);
} // blind time
} // possible to be blinded
} // not currently blind
DelayCommand(2.0,fnBlindness());
} // fnBlindness()
void main()
{
/* object oPC=OBJECT_SELF;
itemproperty iProp;
object oSkin=GetItemInSlot(INVENTORY_SLOT_CARMOUR,oPC);
SetSkinInt(oPC,"bSetDrowProperties",TRUE);
// set properties
iProp=ItemPropertyAbilityBonus(ABILITY_INTELLIGENCE,2);
IPSafeAddItemProperty(oSkin,iProp);
iProp=ItemPropertyAbilityBonus(ABILITY_CHARISMA,1);
IPSafeAddItemProperty(oSkin,iProp);
DelayCommand(6.0,fnBlindness());
SendMessageToPC(oPC,"Drow Properties have been applied to your character."); */
}