Added Chasing Perfection spell
Added Chasing Perfection spell. Moved katar to simple weapons for crafting. Updated release archive.
This commit is contained in:
parent
f3762a7444
commit
1408647e37
1
.gitignore
vendored
1
.gitignore
vendored
@ -157,3 +157,4 @@ nwn/nwnprc/trunk/makefile.temp
|
||||
nwn/nwnprc/trunk/makefile.temp
|
||||
nwn/nwnprc/trunk/scripts/old_lich_alter.nss
|
||||
nwn/nwnprc/trunk/makefile.temp
|
||||
*.temp
|
||||
|
BIN
Release/PRC8_20240807.7z
Normal file
BIN
Release/PRC8_20240807.7z
Normal file
Binary file not shown.
@ -2480,7 +2480,7 @@
|
||||
2476 ForestMaster_DeepRoots **** **** **** **** **** ****
|
||||
2477 ResistEnergyCold **** **** **** **** **** ****
|
||||
2478 ResistEnergyElec **** **** **** **** **** ****
|
||||
2479 ResistEnergyAcid **** **** **** **** **** ****
|
||||
2479 SPELL_CHASING_PERFECTION prc_scr_997 prc_scr_997 **** prc_scr_997 **** ****
|
||||
2480 SPELL_FORCE_MISSILES prc_scr_995 **** **** **** **** ****
|
||||
2481 SYMBOL_OF_DEATH prc_scr_967 prc_scr_967 **** **** **** ****
|
||||
2482 SYMBOL_OF_FEAR prc_scr_968 prc_scr_968 **** **** **** ****
|
||||
|
@ -2478,9 +2478,9 @@
|
||||
2474 ForestMaster_IcyMallet **** 1 1 1 2 0
|
||||
2475 ForestMaster_ShockMallet **** 1 1 1 2 0
|
||||
2476 ForestMaster_DeepRoots **** 1 1 1 4 0
|
||||
2477 ResistEnergyCold **** 1 1 1 **** 0
|
||||
2478 ResistEnergyElec **** 1 1 1 **** 0
|
||||
2479 ResistEnergyAcid **** 1 1 1 **** 0
|
||||
2477 **** **** 1 1 1 **** 0
|
||||
2478 **** **** 1 1 1 **** 0
|
||||
2479 SPELL_CHASING_PERFECTION 997 1 1 0 6 0
|
||||
2480 SPELL_FORCE_MISSILES 995 1 0 0 4 0
|
||||
2481 SYMBOL_OF_DEATH 967 1 1 0 8 0
|
||||
2482 SYMBOL_OF_FEAR 968 1 1 0 6 0
|
||||
|
@ -249,3 +249,4 @@
|
||||
245 Crystallize 16823673 14202 6
|
||||
246 BasiliskMask 16836737 18708 8
|
||||
247 GorgonMask 16836803 18729 8
|
||||
248 SPELL_FORCE_MISSILES 16790488 2480 4
|
||||
|
@ -996,10 +996,10 @@
|
||||
992 Greater_Resistance 16790119 7 4 21000 3457 1 1 1 iss_gr_resis
|
||||
993 Superior_Resistance 16790122 11 6 49500 3458 0 0 1 iss_sup_resis
|
||||
994 Faerie_Fire 16793699 1 1 750 2924 0 1 1 iss_faerie_fire
|
||||
995 SPELL_FORCE_MISSILES 16790488 12 4 21000 2480 0 1 1 iss_X1LesMis
|
||||
996 **** **** **** **** **** **** **** **** **** ****
|
||||
997 **** **** **** **** **** **** **** **** **** ****
|
||||
998 **** **** **** **** **** **** **** **** **** ****
|
||||
995 SPELL_FORCE_MISSILES_8 16790491 8 4 21000 2480 0 1 1 iss_X1LesMis
|
||||
996 SPELL_FORCE_MISSILES_12 16790488 12 4 33750 2480 0 1 1 iss_X1LesMis
|
||||
997 SPELL_CHASING_PERFECTION_12 16790495 12 6 33750 2479 0 0 1 fot_strengthone
|
||||
998 SPELL_CHASING_PERFECTION_16 16790496 16 6 45000 2479 0 0 1 fot_strengthone
|
||||
999 **** **** **** **** **** **** **** **** **** ****
|
||||
1000 Acid_Orb 16830292 7 4 21000 3100 0 1 1 iss_acidorb
|
||||
1001 Acid_Orb 16830293 15 4 45000 3100 0 1 1 iss_acidorb
|
||||
|
@ -2480,7 +2480,7 @@
|
||||
2476 **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2477 **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2478 **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2479 **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2479 SPELL_CHASING_PERFECTION **** **** **** 50 **** mc_planarstatue Planar_Statuette **** **** **** **** **** ****
|
||||
2480 SPELL_FORCE_MISSILES **** 0x00800 **** **** **** **** **** **** **** **** **** **** ****
|
||||
2481 SYMBOL_OF_DEATH **** 0x00020 **** 5000 **** mc_mercury Mercury mc_phosphorus Phosphorus mc_diamonddust Diamond_Dust **** ****
|
||||
2482 SYMBOL_OF_FEAR **** 0x10200 **** 1000 **** mc_mercury Mercury mc_phosphorus Phosphorus mc_diamonddust Diamond_Dust **** ****
|
||||
|
@ -2480,7 +2480,7 @@
|
||||
2476 ForestMaster_DeepRoots 16793751 is_x2vinemine T P 0 0x00 0x01 prc_fm_deeproots **** **** **** **** **** **** 4 500 head **** **** **** **** **** **** self 500 **** **** vca_uphexnatr01 sca_outnatr01 0 **** **** **** **** **** **** 1 **** **** **** **** **** 10 **** 3 16793759 0 0 16778866 0 5446 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2477 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2478 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2479 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2479 SPELL_CHASING_PERFECTION 16790493 fot_strengthone T T vs 0x02 0x0b sp_chasperfect **** 6 6 **** **** 6 6 1500 hand **** vco_mehannatr03 **** sco_mehannatr01 vs_chant_ench_lm vs_chant_ench_hf out 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 7 **** 1 16790494 1 0 **** 0 **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2480 SPELL_FORCE_MISSILES 16790488 is_X1LesMis V L vs 0x3d 0x1E sp_forcemissiles **** **** **** **** **** 4 4 1500 hand **** vco_mehancold03 **** sco_mehancold03 vs_chant_evoc_lm vs_chant_evoc_lf out 1900 **** vca_outsonic **** sca_outsonic 0 **** **** **** **** path **** 1 **** **** **** **** **** 2 **** 1 16790489 1 0 **** 1 **** **** **** 1 sphere 8.33 **** 2 **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2481 SYMBOL_OF_DEATH 16790080 is_symb_death N S vs 0x3f 0x3E sp_symbol **** 8 **** **** **** 8 8 1500 head **** **** vco_megrdevil01 sco_megrdevil01 vs_chant_necr_hm vs_chant_necr_hf area 1000 **** **** **** **** 1 vpr_ectoevil01 homing hand spr_ectoevil01 path Death 1 **** **** **** **** **** 11 **** 1 16790082 1 0 **** 1 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2482 SYMBOL_OF_FEAR 16790083 is_symb_fear N S vs 0x3f 0x3E sp_symbol **** 6 **** **** **** 6 6 1500 head **** **** vco_lgsprevil01 sco_lgsprevil01 vs_chant_necr_hm vs_chant_necr_hf area 1000 **** **** **** **** 1 vpr_ectoevil01 homing hand spr_ectoevil01 path Fear 1 **** **** **** **** **** 11 **** 1 16790085 1 0 **** 1 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
|
@ -1365,7 +1365,6 @@ int GetWeaponType(int nBaseItem)
|
||||
case BASE_ITEM_SCIMITAR:
|
||||
case BASE_ITEM_THROWINGAXE:
|
||||
case BASE_ITEM_TRIDENT:
|
||||
case BASE_ITEM_KATAR:
|
||||
case BASE_ITEM_HEAVY_PICK:
|
||||
case BASE_ITEM_LIGHT_PICK:
|
||||
case BASE_ITEM_FALCHION:
|
||||
@ -1385,6 +1384,7 @@ int GetWeaponType(int nBaseItem)
|
||||
case BASE_ITEM_HEAVYCROSSBOW:
|
||||
case BASE_ITEM_CLUB:
|
||||
case BASE_ITEM_QUARTERSTAFF:
|
||||
case BASE_ITEM_KATAR:
|
||||
case BASE_ITEM_HEAVY_MACE:
|
||||
case BASE_ITEM_GOAD:
|
||||
return PRC_CRAFT_SIMPLE_WEAPON;
|
||||
|
@ -427,8 +427,9 @@ const int SPELL_SUDDEN_STALAGMITE = 3827;
|
||||
const int SPELL_BONES_OF_THE_EARTH = 3828;
|
||||
const int SPELL_PHANTOM_STEED = 2347;
|
||||
const int SPELL_GASEOUS_FORM = 2348;
|
||||
const int SPELL_CHASING_PERFECTION = 2479;
|
||||
|
||||
//racial spell additions
|
||||
//:: Racial spell additions
|
||||
const int SPIRETOP_FOG_CLOUD_BREATH = 1487; //:: Spiretop Dragon
|
||||
const int MEPHLING_BREATH_WEAPON = 1488; //:: Mephlings
|
||||
const int SPELL_ARANEA_ALTER = 1489; //:: Aranea
|
||||
|
@ -993,7 +993,7 @@ int CICraftCheckCraftStaff(object oSpellTarget, object oCaster, int nSpellID = 0
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
if(nMetaMagic && !GetHasFeat(X2_CI_CRAFTSTAFF_EPIC_FEAT_ID, oCaster))
|
||||
{
|
||||
FloatingTextStringOnCreature("* Failure - You must be able to craft epic staffs to apply metamagic *", oCaster);
|
||||
FloatingTextStringOnCreature("* Failure - You must be able to craft epic staves to apply metamagic *", oCaster);
|
||||
return TRUE; // tried item creation but do not know how to do it
|
||||
}
|
||||
if(CIGetIsSpellRestrictedFromCraftFeat(nSpellID, X2_CI_CRAFTSTAFF_FEAT_ID))
|
||||
|
@ -2305,6 +2305,7 @@ spells\sp_celest_bld.nss \
|
||||
spells\sp_chaavs_lgh.nss \
|
||||
spells\sp_chan_pyrob.nss \
|
||||
spells\sp_changestaff.nss \
|
||||
spells\sp_chasperfect.nss \
|
||||
spells\sp_chilltouch.nss \
|
||||
spells\sp_chngshp_lern.nss \
|
||||
spells\sp_chngshp_opts.nss \
|
||||
@ -4906,6 +4907,7 @@ spellobjs\sp_celest_bld.ncs \
|
||||
spellobjs\sp_chaavs_lgh.ncs \
|
||||
spellobjs\sp_chan_pyrob.ncs \
|
||||
spellobjs\sp_changestaff.ncs \
|
||||
spellobjs\sp_chasperfect.ncs \
|
||||
spellobjs\sp_chilltouch.ncs \
|
||||
spellobjs\sp_chngshp_lern.ncs \
|
||||
spellobjs\sp_chngshp_opts.ncs \
|
||||
@ -21297,6 +21299,7 @@ others\prc_scr_992.uti \
|
||||
others\prc_scr_993.uti \
|
||||
others\prc_scr_994.uti \
|
||||
others\prc_scr_995.uti \
|
||||
others\prc_scr_997.uti \
|
||||
others\prc_scrolls.utm \
|
||||
others\prc_serparrow.uti \
|
||||
others\prc_serpbolt.uti \
|
||||
@ -31930,6 +31933,8 @@ spellobjs\sp_chan_pyrob.ncs: spells\sp_chan_pyrob.nss include\prc_inc_spells.nss
|
||||
|
||||
spellobjs\sp_changestaff.ncs: spells\sp_changestaff.nss include\prc_inc_spells.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\inc_item_props.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_damage.nss include\prc_inc_sb_const.nss include\inc_2dacache.nss include\inc_debug.nss include\prc_inc_switch.nss include\prc_inc_array.nss include\prc_class_const.nss include\prc_effect_inc.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss
|
||||
|
||||
spellobjs\sp_chasperfect.ncs: spells\sp_chasperfect.nss include\prc_inc_sp_tch.nss include\prc_sp_func.nss include\prc_add_spell_dc.nss include\prc_inc_combat.nss include\prc_inc_unarmed.nss include\prc_inc_onhit.nss include\prc_misc_const.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss include\inc_utility.nss include\prc_inc_spells.nss include\prc_inc_nwscript.nss include\prc_class_const.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\inc_item_props.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_damage.nss include\prc_inc_sb_const.nss include\prc_effect_inc.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_prc_npc.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\inc_abil_damage.nss include\prc_alterations.nss
|
||||
|
||||
spellobjs\sp_chilltouch.ncs: spells\sp_chilltouch.nss include\prc_sp_func.nss include\prc_inc_sp_tch.nss include\prc_add_spell_dc.nss include\prc_alterations.nss include\prc_inc_unarmed.nss include\inc_abil_damage.nss include\prc_inc_damage.nss include\prc_effect_inc.nss include\inc_item_props.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\prc_class_const.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\prc_inc_natweap.nss include\prc_inc_spells.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_sb_const.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\prc_inc_combat.nss include\prc_inc_onhit.nss include\prc_inc_fork.nss
|
||||
|
||||
spellobjs\sp_chngshp_lern.ncs: spells\sp_chngshp_lern.nss include\prc_inc_shifting.nss include\prc_inc_spells.nss include\prc_inc_racial.nss include\prc_inc_function.nss include\prc_inc_onhit.nss include\prc_shifter_info.nss include\prc_weap_apt.nss include\prc_inc_wpnrest.nss include\inc_nwnx_funcs.nss include\prc_class_const.nss include\prc_feat_const.nss include\prc_racial_const.nss include\prc_inc_util.nss include\prc_inc_stunfist.nss include\prc_template_con.nss include\prc_alterations.nss include\inc_abil_damage.nss include\prc_inc_damage.nss include\prc_effect_inc.nss include\inc_item_props.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_sb_const.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\inc_dynconv.nss include\prc_inc_combat.nss include\prc_inc_unarmed.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss
|
||||
|
BIN
nwn/nwnprc/trunk/others/prc_scr_997.uti
Normal file
BIN
nwn/nwnprc/trunk/others/prc_scr_997.uti
Normal file
Binary file not shown.
Binary file not shown.
158
nwn/nwnprc/trunk/spells/sp_chasperfect.nss
Normal file
158
nwn/nwnprc/trunk/spells/sp_chasperfect.nss
Normal file
@ -0,0 +1,158 @@
|
||||
/**@file Chasing Perfection
|
||||
[sp_chasperfect.nss]
|
||||
(Player's Handbook II, p. 106)
|
||||
|
||||
Transmutation
|
||||
Level: Cleric 6, Druid 6, Sorcerer 6, Wizard 6,
|
||||
Components: V, S, M,
|
||||
Casting Time: 1 standard action
|
||||
Range: Touch
|
||||
Target: Creature touched
|
||||
Duration: 1 minute/level
|
||||
Saving Throw: Will negates (harmless)
|
||||
Spell Resistance: Yes (harmless)
|
||||
|
||||
Energy courses through the creature touched.
|
||||
Its muscles grow and become more defined, it starts
|
||||
to move with greater alacrity and grace, and its
|
||||
bearing increases.
|
||||
|
||||
The subject improves in all ways. It gains a +4
|
||||
enhancement bonus to each of its ability scores.
|
||||
|
||||
Material Component: A statuette of a celestial or
|
||||
fiend worth 50 gp.
|
||||
|
||||
**/
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
// Author: Tenjac & Jaysyn
|
||||
// Date: 2024/08/07
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
#include "prc_inc_sp_tch"
|
||||
#include "prc_sp_func"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
int DoSpell(object oCaster, object oTarget, int nCasterLevel, int nEvent)
|
||||
{
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
float fDur = (60.0f * nCasterLevel);
|
||||
|
||||
if(nMetaMagic & METAMAGIC_EXTEND)
|
||||
fDur += fDur;
|
||||
|
||||
PRCSignalSpellEvent(oTarget, FALSE, SPELL_CHASING_PERFECTION, oCaster);
|
||||
|
||||
// Check for existing ability enhancing spells
|
||||
effect eExistingSpellEffect = GetFirstEffect(oTarget);
|
||||
|
||||
int nBoostSTR = 4;
|
||||
int nBoostDEX = 4;
|
||||
int nBoostCON = 4;
|
||||
int nBoostWIS = 4;
|
||||
int nBoostINT = 4;
|
||||
int nBoostCHA = 4;
|
||||
|
||||
while (GetIsEffectValid(eExistingSpellEffect))
|
||||
{
|
||||
if (GetEffectSpellId(eExistingSpellEffect) == SPELL_CROWN_OF_MIGHT || GetEffectSpellId(eExistingSpellEffect) == SPELL_TOWERING_OAK)
|
||||
{
|
||||
nBoostSTR = 2;
|
||||
}
|
||||
if (GetEffectSpellId(eExistingSpellEffect) == SPELL_ANIMALISTIC_POWER)
|
||||
{
|
||||
nBoostSTR = 2;
|
||||
nBoostDEX = 2;
|
||||
nBoostCON = 2;
|
||||
}
|
||||
if (GetEffectSpellId(eExistingSpellEffect) == SPELL_AWAKEN)
|
||||
{
|
||||
nBoostSTR = 0;
|
||||
nBoostWIS = 0;
|
||||
nBoostCON = 0;
|
||||
}
|
||||
if (GetEffectSpellId(eExistingSpellEffect) == SPELL_BULLS_STRENGTH ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_MASS_BULLS_STRENGTH ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_GREATER_BULLS_STRENGTH)
|
||||
{
|
||||
nBoostSTR = 0;
|
||||
}
|
||||
if (GetEffectSpellId(eExistingSpellEffect) == SPELL_CATS_GRACE ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_MASS_CATS_GRACE ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_GREATER_CATS_GRACE)
|
||||
{
|
||||
nBoostDEX = 0;
|
||||
}
|
||||
if (GetEffectSpellId(eExistingSpellEffect) == SPELL_ENDURANCE ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_MASS_ENDURANCE ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_GREATER_ENDURANCE)
|
||||
{
|
||||
nBoostCON = 0;
|
||||
}
|
||||
if (GetEffectSpellId(eExistingSpellEffect) == SPELL_OWLS_WISDOM ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_MASS_OWLS_WISDOM ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_OWLS_INSIGHT ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_GREATER_OWLS_WISDOM)
|
||||
{
|
||||
nBoostWIS = 0;
|
||||
}
|
||||
if (GetEffectSpellId(eExistingSpellEffect) == SPELL_FOXS_CUNNING ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_MASS_FOXS_CUNNING ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_GREATER_FOXS_CUNNING)
|
||||
{
|
||||
nBoostINT = 0;
|
||||
}
|
||||
if (GetEffectSpellId(eExistingSpellEffect) == SPELL_EAGLE_SPLEDOR ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_MASS_EAGLES_SPLENDOR ||
|
||||
GetEffectSpellId(eExistingSpellEffect) == SPELL_GREATER_EAGLE_SPLENDOR)
|
||||
{
|
||||
nBoostCHA = 0;
|
||||
}
|
||||
eExistingSpellEffect = GetNextEffect(oTarget);
|
||||
}
|
||||
|
||||
//:: Build effect: Increase all ability scores
|
||||
effect eBuff = EffectLinkEffects(EffectAbilityIncrease(ABILITY_STRENGTH, nBoostSTR), EffectAbilityIncrease(ABILITY_DEXTERITY, nBoostDEX));
|
||||
eBuff = EffectLinkEffects(eBuff, EffectAbilityIncrease(ABILITY_CONSTITUTION, nBoostCON));
|
||||
eBuff = EffectLinkEffects(eBuff, EffectAbilityIncrease(ABILITY_INTELLIGENCE, nBoostINT));
|
||||
eBuff = EffectLinkEffects(eBuff, EffectAbilityIncrease(ABILITY_WISDOM, nBoostWIS));
|
||||
eBuff = EffectLinkEffects(eBuff, EffectAbilityIncrease(ABILITY_CHARISMA, nBoostCHA));
|
||||
eBuff = EffectLinkEffects(eBuff, EffectVisualEffect(VFX_DUR_SANCTUARY));
|
||||
|
||||
//:: Apply the linked effects to the target
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBuff, oTarget, fDur, TRUE, SPELL_CHASING_PERFECTION, nCasterLevel);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
if (!X2PreSpellCastCode()) return;
|
||||
PRCSetSchool(SPELL_SCHOOL_TRANSMUTATION);
|
||||
|
||||
object oCaster = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
int nCasterLevel = PRCGetCasterLevel(oCaster);
|
||||
|
||||
int nEvent = GetLocalInt(oCaster, PRC_SPELL_EVENT); //use bitwise & to extract flags
|
||||
if(!nEvent) //normal cast
|
||||
{
|
||||
if(GetLocalInt(oCaster, PRC_SPELL_HOLD) && oCaster == oTarget)
|
||||
{
|
||||
// holding the charge, casting spell on self
|
||||
SetLocalSpellVariables(oCaster, 1); //change 1 to number of charges
|
||||
return;
|
||||
}
|
||||
DoSpell(oCaster, oTarget, nCasterLevel, nEvent);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(nEvent & PRC_SPELL_EVENT_ATTACK)
|
||||
{
|
||||
if(DoSpell(oCaster, oTarget, nCasterLevel, nEvent))
|
||||
DecrementSpellCharges(oCaster);
|
||||
}
|
||||
}
|
||||
PRCSetSchool();
|
||||
}
|
Binary file not shown.
@ -4753,6 +4753,27 @@ of a creature.
|
||||
|
||||
You gain one missile for every four caster levels. Extra missiles distribute
|
||||
themsleves amongst your enemies evenly.</entry>
|
||||
<entry id="13275" lang="en" sex="m">Force Missiles (8)</entry>
|
||||
<entry id="13276" lang="en" sex="m">Force Missiles (12)</entry>
|
||||
<entry id="13277" lang="en" sex="m">Chasing Perfection</entry>
|
||||
<entry id="13278" lang="en" sex="m">Transmutation
|
||||
Level: Cleric 6, Druid 6, Sorcerer 6, Wizard 6,
|
||||
Components: V, S, M,
|
||||
Casting Time: 1 standard action
|
||||
Range: Touch
|
||||
Target: Creature touched
|
||||
Duration: 1 minute/level
|
||||
Saving Throw: Will negates (harmless)
|
||||
Spell Resistance: Yes (harmless)
|
||||
|
||||
Energy courses through the creature touched.
|
||||
Its muscles grow and become more defined, it starts to move with greater alacrity and grace, and its bearing increases.
|
||||
The subject improves in all ways.
|
||||
It gains a +4 enhancement bonus to each of its ability scores.
|
||||
|
||||
Material Component: A statuette of a celestial or fiend worth 50 gp.</entry>
|
||||
<entry id="13279" lang="en" sex="m">Chasing Perfection (12)</entry>
|
||||
<entry id="13280" lang="en" sex="m">Chasing Perfection (16)</entry>
|
||||
<entry id="16409" lang="en" sex="m">62</entry>
|
||||
<entry id="16410" lang="en" sex="m">63</entry>
|
||||
<entry id="16411" lang="en" sex="m">64</entry>
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user