#include "prc_alterations" #include "prc_feat_const" #include "prc_ipfeat_const" #include "prc_class_const" void BLKGlaive(object oPC,int iEquip) { FloatingTextStringOnCreature("Black Glaive is firing", OBJECT_SELF, FALSE); object oItem; if (iEquip==2) // On Equip { FloatingTextStringOnCreature("Black Glaive is equipped", OBJECT_SELF, FALSE); FloatingTextStringOnCreature("Value of BKGlaive: " + IntToString(GetLocalInt(oPC,"BKGlaive")), OBJECT_SELF, FALSE); oItem=GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); if (GetLocalInt(oPC,"BKGlaive")) return; if (GetBaseItemType(oItem)==BASE_ITEM_HALBERD) { FloatingTextStringOnCreature("Black Glaive is a Halberd", OBJECT_SELF, FALSE); AddItemProperty(DURATION_TYPE_TEMPORARY,ItemPropertyDamageBonus(IP_CONST_DAMAGETYPE_COLD,IP_CONST_DAMAGEBONUS_1d6),oItem,9999.0); SetLocalInt(oPC,"BKGlaive",1); FloatingTextStringOnCreature("Value of BKGlaive: " + IntToString(GetLocalInt(oPC,"BKGlaive")), OBJECT_SELF, FALSE); FloatingTextStringOnCreature("Applied Blightlord Cold Damage", OBJECT_SELF, FALSE); } } else if (iEquip==1) // Unequip { FloatingTextStringOnCreature("Black Glaive is unequipped", OBJECT_SELF, FALSE); oItem=GetItemLastUnequipped(); //if (GetBaseItemType(oItem)!=BASE_ITEM_HALBERD) return; FloatingTextStringOnCreature("Unequipped item is a Halberd", OBJECT_SELF, FALSE); FloatingTextStringOnCreature("Value of BKGlaive: " + IntToString(GetLocalInt(oPC,"BKGlaive")), OBJECT_SELF, FALSE); if (GetLocalInt(oPC,"BKGlaive")) { SpawnScriptDebugger(); RemoveSpecificProperty(oItem,ITEM_PROPERTY_DAMAGE_BONUS,IP_CONST_DAMAGETYPE_COLD,IP_CONST_DAMAGEBONUS_1d6,1,"",-1,DURATION_TYPE_TEMPORARY); FloatingTextStringOnCreature("Removed Blightlord Cold Damage", OBJECT_SELF, FALSE); DeleteLocalInt(oPC,"BKGlaive"); FloatingTextStringOnCreature("Value of BKGlaive: " + IntToString(GetLocalInt(oPC,"BKGlaive")), OBJECT_SELF, FALSE); } } /*else { FloatingTextStringOnCreature("Black Glaive is in Else statement", OBJECT_SELF, FALSE); oItem=GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); //if (GetLocalInt(oPC,"BKGlaive")) return; if (GetBaseItemType(oItem)==BASE_ITEM_HALBERD) { FloatingTextStringOnCreature("Black Glaive is an ELSE Halberd", OBJECT_SELF, FALSE); AddItemProperty(DURATION_TYPE_TEMPORARY,ItemPropertyDamageBonus(IP_CONST_DAMAGETYPE_COLD,IP_CONST_DAMAGEBONUS_1d6),oItem,9999.0); //SetLocalInt(oPC,"BKGlaive",1); FloatingTextStringOnCreature("Applied Blightlord Cold Damage", OBJECT_SELF, FALSE); } }*/ } /* void RemoveBlackGlaive(object oPC, object oWeap) { FloatingTextStringOnCreature("Remove Black Glaive is firing", OBJECT_SELF, FALSE); RemoveSpecificProperty(oWeap, ITEM_PROPERTY_DAMAGE_BONUS, IP_CONST_DAMAGETYPE_FIRE, IP_CONST_DAMAGEBONUS_1d6, 1, "BlackGlaive", -1, DURATION_TYPE_TEMPORARY); DeleteLocalInt(oWeap, "BlackGlaive"); } void AddBlackGlaive(object oPC, object oWeap) { if(GetLocalInt(oWeap, "BlackGlaive") == TRUE) return; FloatingTextStringOnCreature("Add Black Glaive is firing", OBJECT_SELF, FALSE); RemoveBlackGlaive(oPC, oWeap); DelayCommand(0.1, AddItemProperty(DURATION_TYPE_TEMPORARY, ItemPropertyDamageBonus(IP_CONST_DAMAGETYPE_COLD, IP_CONST_DAMAGEBONUS_1d6), oWeap, 999999.0)); SetLocalInt(oWeap, "BlackGlaive", TRUE); } */ void Corrupt(object oPC, int iEquip) { object oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); if(iEquip == 2) { oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); if(GetLocalInt(oItem,"CorruptGlaive")) return ; if(GetBaseItemType(oItem) == BASE_ITEM_HALBERD) { AddItemProperty(DURATION_TYPE_TEMPORARY,ItemPropertyOnHitProps(IP_CONST_ONHIT_WOUNDING,IP_CONST_ONHIT_SAVEDC_20),oItem,9999.0); SetLocalInt(oItem,"CorruptGlaive",1); } } else if(iEquip == 1) { oItem = GetItemLastUnequipped(); if(GetBaseItemType(oItem) != BASE_ITEM_HALBERD) return; if(GetLocalInt(oItem,"CorruptGlaive")) RemoveSpecificProperty(oItem,ITEM_PROPERTY_ON_HIT_PROPERTIES,IP_CONST_ONHIT_WOUNDING,IP_CONST_ONHIT_SAVEDC_20,1,"",-1,DURATION_TYPE_TEMPORARY); DeleteLocalInt(oItem, "CorruptGlaive"); } else { oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); if(GetLocalInt(oItem,"CorruptGlaive")) return ; if(GetBaseItemType(oItem) == BASE_ITEM_HALBERD) { AddItemProperty(DURATION_TYPE_TEMPORARY,ItemPropertyOnHitProps(IP_CONST_ONHIT_WOUNDING,IP_CONST_ONHIT_SAVEDC_20),oItem,9999.0); SetLocalInt(oItem,"CorruptGlaive",1); } } } //Immunity to Disease - Blightblood void BltBlood(object oPC, object oSkin) { if(GetLocalInt(oSkin, "BlightBlood") == 1) return; AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_DISEASE), oSkin); SetLocalInt(oSkin, "BlightBlood", 1); //SendMessageToPC(oPC, "Blightblood is firing"); } //Plant Type Gained - Winterheart void Winterheart(object oPC ,object oSkin ) { if(GetLocalInt(oSkin, "WntrHeart") == 1) return; AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_CHARM_PERSON),oSkin); AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DOMINATE_PERSON),oSkin); AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_HOLD_PERSON),oSkin); AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MASS_CHARM),oSkin); AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_MINDSPELLS), oSkin); AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_POISON), oSkin); AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_PARALYSIS), oSkin); AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_CRITICAL_HITS), oSkin); AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_DISEASE), oSkin); AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_BACKSTAB), oSkin); SetLocalInt(oSkin, "WntrHeart",1); SendMessageToPC(oPC, "Winterheart is Firing"); } void main() { object oPC = OBJECT_SELF; object oSkin = GetPCSkin(oPC); object oWeap = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); object oUnequip = GetItemLastUnequipped(); int iEquip = GetLocalInt(oPC, "ONEQUIP"); /* if(GetLevelByClass(CLASS_TYPE_BLIGHTLORD) >= 6) { if (iEquip == 1) RemoveBlackGlaive(oPC, oUnequip); if (iEquip == 2) AddBlackGlaive(oPC, oWeap); } */ SendMessageToPC(oPC, "Blightlord Main is Firing"); if(GetLevelByClass(CLASS_TYPE_BLIGHTLORD) >= 1) BltBlood(oPC, oSkin); if(GetLevelByClass(CLASS_TYPE_BLIGHTLORD) >= 6) BLKGlaive(oPC, GetLocalInt(oPC,"ONEQUIP")); if(GetLevelByClass(CLASS_TYPE_BLIGHTLORD) >= 8) Corrupt(oPC, GetLocalInt(oPC,"ONEQUIP")); if(GetLevelByClass(CLASS_TYPE_BLIGHTLORD) >= 10) Winterheart(oPC, oSkin); }