Updated AMS marker feats. Removed arcane & divine marker feats. Updated Dread Necromancer for epic progression. Updated weapon baseitem models. Updated new weapons for crafting & npc equip. Updated prefix. Updated release archive.
76 lines
4.4 KiB
Plaintext
76 lines
4.4 KiB
Plaintext
/*
|
||
18/03/21 by Stratovarius
|
||
|
||
Marchosias, King of Killers
|
||
|
||
A legendary assassin in life, Marchosias now grants his summoners his supernatural charm, plus the ability to kill or paralyze with one startling attack and to disappear in a puff of smoke.
|
||
|
||
Vestige Level: 7th
|
||
Binding DC: 30
|
||
Special Requirement: No
|
||
|
||
Influence: Marchosias’s influence makes you debonair and sly, as though you have some trick up your sleeve and the knowledge of it makes you confident.
|
||
In addition, Marchosias requires that you use the death attack he grants you against any foe you catch unawares.
|
||
|
||
Granted Abilities:
|
||
Marchosias gives you an assassin’s skill at killing, plus the ability to assume gaseous form and the power to charm foes.
|
||
|
||
Death Attack: If you have sneak attack, you gain the Death Attack ability, as per the assassin class.
|
||
|
||
Fiery Retribution: You deal an extra 3d6 points of fire damage when you strike an opponent who can deal extra damage through a sneak attack, sudden strike,
|
||
or skirmish attack. This extra damage applies to ranged attacks only if the opponent is within 30 feet.
|
||
|
||
Smoke Form: You can assume the form of a smoke cloud at will, like the gaseous form spell. You can suppress or activate this ability as a standard action.
|
||
Once you have returned to your normal form from smoke form, you cannot do so again for 5 rounds.
|
||
|
||
Silent and Sure: You gain a +16 competence bonus on Hide and Move Silently checks.
|
||
*/
|
||
|
||
#include "bnd_inc_bndfunc"
|
||
|
||
void main()
|
||
{
|
||
object oBinder = PRCGetSpellTargetObject();
|
||
|
||
effect eLink = EffectLinkEffects(EffectVisualEffect(VFX_DUR_FLAMING_SPHERE), EffectPact(oBinder));
|
||
if (!GetIsVestigeExploited(oBinder, VESTIGE_MARCHOSIAS_DEATH_ATTACK)) IPSafeAddItemProperty(GetPCSkin(oBinder), ItemPropertyBonusFeat(IP_CONST_FEAT_PRC_DEATH_ATTACK), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
|
||
if (!GetIsVestigeExploited(oBinder, VESTIGE_MARCHOSIAS_RETRIBUTION))
|
||
{
|
||
object oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oBinder);
|
||
if (GetWeaponRanged(oItem))
|
||
{
|
||
// Add eventhook to the ranged weapons like darts
|
||
IPSafeAddItemProperty(oItem, ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||
AddEventScript(oItem, EVENT_ITEM_ONHIT, "bnd_events", TRUE, FALSE);
|
||
|
||
object oAmmo = GetItemInSlot(INVENTORY_SLOT_BOLTS, oBinder);
|
||
IPSafeAddItemProperty(oAmmo, ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||
AddEventScript(oAmmo, EVENT_ITEM_ONHIT, "bnd_events", TRUE, FALSE);
|
||
|
||
oAmmo = GetItemInSlot(INVENTORY_SLOT_BULLETS, oBinder);
|
||
IPSafeAddItemProperty(oAmmo, ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||
AddEventScript(oAmmo, EVENT_ITEM_ONHIT, "bnd_events", TRUE, FALSE);
|
||
|
||
oAmmo = GetItemInSlot(INVENTORY_SLOT_ARROWS, oBinder);
|
||
IPSafeAddItemProperty(oAmmo, ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||
AddEventScript(oAmmo, EVENT_ITEM_ONHIT, "bnd_events", TRUE, FALSE);
|
||
}
|
||
else if (IPGetIsMeleeWeapon(oItem))
|
||
{
|
||
// Add eventhook to the item
|
||
AddEventScript(oItem, EVENT_ITEM_ONHIT, "bnd_events", TRUE, FALSE);
|
||
|
||
// Add the OnHitCastSpell: Unique needed to trigger the event
|
||
// Makes sure to get ammo if its a ranged weapon
|
||
IPSafeAddItemProperty(oItem, ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||
}
|
||
}
|
||
if (!GetIsVestigeExploited(oBinder, VESTIGE_MARCHOSIAS_SMOKE)) IPSafeAddItemProperty(GetPCSkin(oBinder), ItemPropertyBonusFeat(IP_CONST_VESTIGE_MARCHOSIAS_SMOKE), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
|
||
if (!GetIsVestigeExploited(oBinder, VESTIGE_MARCHOSIAS_SILENT))
|
||
{
|
||
eLink = EffectLinkEffects(eLink, EffectSkillIncrease(SKILL_HIDE, 16));
|
||
eLink = EffectLinkEffects(eLink, EffectSkillIncrease(SKILL_MOVE_SILENTLY, 16));
|
||
}
|
||
|
||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(eLink), oBinder, HoursToSeconds(24));
|
||
} |