Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,140 +0,0 @@
|
||||
#include "prc_class_const"
|
||||
#include "prc_feat_const"
|
||||
#include "prc_spell_const"
|
||||
#include "inc_item_props"
|
||||
//#include "prc_misc_const"
|
||||
#include "inc_utility"
|
||||
|
||||
int GetIsBladesongWeapon(object oWeapon)
|
||||
{
|
||||
if(!GetIsObjectValid(oWeapon))
|
||||
return FALSE;
|
||||
|
||||
int nType = GetBaseItemType(oWeapon);
|
||||
|
||||
return nType == BASE_ITEM_RAPIER
|
||||
|| nType == BASE_ITEM_LONGSWORD
|
||||
|| nType == BASE_ITEM_ELVEN_LIGHTBLADE
|
||||
|| nType == BASE_ITEM_ELVEN_THINBLADE;
|
||||
}
|
||||
|
||||
void RemoveSpellEffectSong(object oPC)
|
||||
{
|
||||
effect eff = GetFirstEffect(oPC);
|
||||
|
||||
while(GetIsEffectValid(eff))
|
||||
{
|
||||
if(GetEffectSpellId(eff) == SPELL_SONG_OF_FURY)
|
||||
RemoveEffect(oPC, eff);
|
||||
|
||||
eff = GetNextEffect(oPC);
|
||||
}
|
||||
}
|
||||
|
||||
void OnEquip(object oPC,object oSkin)
|
||||
{
|
||||
// 1 longsword/rapier & light armour
|
||||
if(!GetIsBladesongWeapon(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC))
|
||||
|| GetIsObjectValid(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC))
|
||||
|| GetBaseAC(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)) > 3)
|
||||
{
|
||||
if(GetHasFeatEffect(FEAT_SONG_OF_FURY, oPC))
|
||||
RemoveSpellEffectSong(oPC);
|
||||
|
||||
SetCompositeBonus(oSkin, "BladesAC", 0, ITEM_PROPERTY_AC_BONUS);
|
||||
SetCompositeBonus(oSkin, "BladesCon", 0, ITEM_PROPERTY_SKILL_BONUS,SKILL_CONCENTRATION);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Bonus Lvl BladeSinger Max Bonus Int
|
||||
int BladeLv = min(GetLevelByClass(CLASS_TYPE_BLADESINGER, oPC), GetAbilityModifier(ABILITY_INTELLIGENCE,oPC));
|
||||
|
||||
SetCompositeBonus(oSkin, "BladesAC", BladeLv, ITEM_PROPERTY_AC_BONUS);
|
||||
|
||||
if(GetHasFeat(FEAT_LESSER_SPELLSONG,oPC))
|
||||
SetCompositeBonus(oSkin, "BladesCon", 5, ITEM_PROPERTY_SKILL_BONUS, SKILL_CONCENTRATION);
|
||||
}
|
||||
|
||||
void OnUnEquip(object oPC,object oSkin)
|
||||
{
|
||||
object oItem=GetItemLastUnequipped();
|
||||
|
||||
object oArmor=GetItemInSlot(INVENTORY_SLOT_CHEST,oPC);
|
||||
object oWeapL=GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC);
|
||||
object oWeapR=GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC);
|
||||
|
||||
if (GetBaseAC(oArmor)>3)
|
||||
{
|
||||
if (GetHasFeatEffect(FEAT_SONG_OF_FURY,oPC))
|
||||
{
|
||||
RemoveSpellEffectSong(oPC);
|
||||
}
|
||||
|
||||
SetCompositeBonus(oSkin, "BladesAC", 0, ITEM_PROPERTY_AC_BONUS);
|
||||
SetCompositeBonus(oSkin, "BladesCon", 0, ITEM_PROPERTY_SKILL_BONUS,SKILL_CONCENTRATION);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (
|
||||
(GetIsObjectValid(oWeapL) && GetIsObjectValid(oWeapR) ) ||
|
||||
(!GetIsObjectValid(oWeapL) && !GetIsObjectValid(oWeapR) )
|
||||
)
|
||||
{
|
||||
if (GetHasFeatEffect(FEAT_SONG_OF_FURY,oPC))
|
||||
{
|
||||
RemoveSpellEffectSong(oPC);
|
||||
}
|
||||
|
||||
SetCompositeBonus(oSkin, "BladesAC", 0, ITEM_PROPERTY_AC_BONUS);
|
||||
SetCompositeBonus(oSkin, "BladesCon", 0, ITEM_PROPERTY_SKILL_BONUS,SKILL_CONCENTRATION);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( !(GetBaseItemType(oWeapL)==BASE_ITEM_RAPIER ||
|
||||
GetBaseItemType(oWeapR)==BASE_ITEM_RAPIER ||
|
||||
GetBaseItemType(oWeapL)==BASE_ITEM_LONGSWORD ||
|
||||
GetBaseItemType(oWeapR)==BASE_ITEM_LONGSWORD) )
|
||||
{
|
||||
if (GetHasFeatEffect(FEAT_SONG_OF_FURY,oPC))
|
||||
{
|
||||
RemoveSpellEffectSong(oPC);
|
||||
}
|
||||
|
||||
SetCompositeBonus(oSkin, "BladesAC", 0, ITEM_PROPERTY_AC_BONUS);
|
||||
SetCompositeBonus(oSkin, "BladesCon", 0, ITEM_PROPERTY_SKILL_BONUS,SKILL_CONCENTRATION);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int BladeLv=GetLevelByClass(CLASS_TYPE_BLADESINGER,oPC);
|
||||
int Intb=GetAbilityModifier(ABILITY_INTELLIGENCE,oPC);
|
||||
|
||||
if ( BladeLv>Intb)
|
||||
BladeLv=Intb;
|
||||
|
||||
SetCompositeBonus(oSkin, "BladesAC", BladeLv, ITEM_PROPERTY_AC_BONUS);
|
||||
|
||||
if ( GetHasFeat(FEAT_LESSER_SPELLSONG,oPC))
|
||||
SetCompositeBonus(oSkin, "BladesCon", 5, ITEM_PROPERTY_SKILL_BONUS,SKILL_CONCENTRATION);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
//Declare main variables.
|
||||
object oPC = OBJECT_SELF;
|
||||
object oSkin = GetPCSkin(oPC);
|
||||
OnEquip(oPC,oSkin);
|
||||
//int iEquip = GetLocalInt(oPC,"ONEQUIP");
|
||||
|
||||
// if (iEquip !=1) OnEquip(oPC,oSkin);
|
||||
// if (iEquip ==1) OnUnEquip(oPC,oSkin);
|
||||
|
||||
}
|
Reference in New Issue
Block a user