//:://///////////////////////////////////////////// //:: Anvil of Thunder //:: prc_ft_anvlthndr.nss //:://///////////////////////////////////////////// /* If you hit the same creature with both your axe and your hammer in the same round, it must make a Fortitude saving throw (DC 10 + 1/2 your character level + your Str modifier) or be dazed for 1 round. */ //::////////////////////////////////////////////// //:: Modified By: Stratovarius //:: Modified On: 11.11.2018 //::////////////////////////////////////////////// #include "prc_inc_combat" int AnvilThunder(object oRight, object oLeft) { if ((GetBaseItemType(oRight) == BASE_ITEM_BATTLEAXE || GetBaseItemType(oRight) == BASE_ITEM_DWARVENWARAXE || GetBaseItemType(oRight) == BASE_ITEM_HANDAXE) && (GetBaseItemType(oLeft) == BASE_ITEM_LIGHTHAMMER || GetBaseItemType(oLeft) == BASE_ITEM_WARHAMMER)) return TRUE; if ((GetBaseItemType(oLeft) == BASE_ITEM_BATTLEAXE || GetBaseItemType(oLeft) == BASE_ITEM_DWARVENWARAXE || GetBaseItemType(oLeft) == BASE_ITEM_HANDAXE) && (GetBaseItemType(oRight) == BASE_ITEM_LIGHTHAMMER || GetBaseItemType(oRight) == BASE_ITEM_WARHAMMER)) return TRUE; return FALSE; } void main() { object oPC = OBJECT_SELF; object oTarget = PRCGetSpellTargetObject(); effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M); effect eDummy; object oRight = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); object oLeft = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC); if (AnvilThunder(oRight, oLeft)) { int nHit; // Main hand PerformAttack(oTarget, oPC, eDummy, 0.0, 0, 0, 0, "Anvil of Thunder Hit", "Anvil of Thunder Miss"); if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack")) { nHit += 1; DeleteLocalInt(oTarget, "PRCCombat_StruckByAttack"); } // Off Hand PerformAttack(oTarget, oPC, eDummy, 0.0, 0, 0, 0, "Anvil of Thunder Hit", "Anvil of Thunder Miss", FALSE, OBJECT_INVALID, OBJECT_INVALID, TRUE); if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack")) nHit += 1; if (nHit > 1) { int nDC = 10 + GetHitDice(oPC)/2 + GetAbilityModifier(ABILITY_STRENGTH, oPC); if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NONE, oPC)) ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ExtraordinaryEffect(EffectDazed()), oTarget, RoundsToSeconds(1)); } } else { FloatingTextStringOnCreature("You do not have the right weapons equipped for Anvil of Thunder", oPC, FALSE); PerformAttackRound(oTarget, oPC, eDummy); } }