Fixed ruleset.2da
Fixed ruleset.2da. Updated release archive.
This commit is contained in:
parent
e641b42f84
commit
1cd36e19f3
BIN
Release/PRC8_20250205.7z
Normal file
BIN
Release/PRC8_20250205.7z
Normal file
Binary file not shown.
@ -25,7 +25,7 @@
|
|||||||
21 GOOD_AIM_MODIFIER 1
|
21 GOOD_AIM_MODIFIER 1
|
||||||
22 STUNNING_FIST_TO_HIT_MODIFIER -4
|
22 STUNNING_FIST_TO_HIT_MODIFIER -4
|
||||||
23 STUNNING_FIST_DAMAGE_MODIFIER -4
|
23 STUNNING_FIST_DAMAGE_MODIFIER -4
|
||||||
24 STUNNING_FIST_EFFECT_DURATION 6.0
|
24 STUNNING_FIST_EFFECT_DURATION 6
|
||||||
25 STUNNING_FIST_BASE_SAVE_DC 10
|
25 STUNNING_FIST_BASE_SAVE_DC 10
|
||||||
26 CRIPPLING_STRIKE_STRENGTH_MODIFIER 2
|
26 CRIPPLING_STRIKE_STRENGTH_MODIFIER 2
|
||||||
27 **** ****
|
27 **** ****
|
||||||
@ -193,12 +193,12 @@
|
|||||||
189 RESIST_DISEASE_BONUS 4
|
189 RESIST_DISEASE_BONUS 4
|
||||||
190 FIRING_INTO_MELEE_MODIFIER -4
|
190 FIRING_INTO_MELEE_MODIFIER -4
|
||||||
191 RESISTANCE_TO_ENERGY 5
|
191 RESISTANCE_TO_ENERGY 5
|
||||||
192 TUMBLE_NUM_RANKS_PER_AC_BONUS 0
|
192 TUMBLE_NUM_RANKS_PER_AC_BONUS 99
|
||||||
193 DIRTY_FIGHTING_NUM_ATTACKS_PER_ROUND 1
|
193 DIRTY_FIGHTING_NUM_ATTACKS_PER_ROUND 1
|
||||||
194 DENEIRS_EYE_SAVE_BONUS 2
|
194 DENEIRS_EYE_SAVE_BONUS 2
|
||||||
195 LLIIRAS_HEART_SAVE_BONUS 2
|
195 LLIIRAS_HEART_SAVE_BONUS 2
|
||||||
196 EXTRA_SMITING_BONUS_USES 2
|
196 EXTRA_SMITING_BONUS_USES 2
|
||||||
197 SPELLCRAFT_NUM_RANKS_PER_SAVE_BONUS 0
|
197 SPELLCRAFT_NUM_RANKS_PER_SAVE_BONUS 99
|
||||||
198 **** ****
|
198 **** ****
|
||||||
199 MAX_AC_DODGE_MOD 30
|
199 MAX_AC_DODGE_MOD 30
|
||||||
200 **** ****
|
200 **** ****
|
||||||
@ -328,19 +328,19 @@
|
|||||||
324 MOVEMENT_STAGE_PENALTY_ENCUMBRANCE_HEAVY 1
|
324 MOVEMENT_STAGE_PENALTY_ENCUMBRANCE_HEAVY 1
|
||||||
325 MOVEMENT_STAGE_PENALTY_ENCUMBRANCE_OVERLOADED 2
|
325 MOVEMENT_STAGE_PENALTY_ENCUMBRANCE_OVERLOADED 2
|
||||||
326 MAX_CHARGES_FOR_ITEM_COST 50
|
326 MAX_CHARGES_FOR_ITEM_COST 50
|
||||||
327 **** ****
|
327 TURN_RESISTANCE_AFFECTS_PCS 1
|
||||||
328 **** ****
|
328 SKILL_SET_TRAP_DURATION 4.5f
|
||||||
329 **** ****
|
329 SKILL_FLAG_TRAP_DURATION 4.5f
|
||||||
330 **** ****
|
330 SKILL_DISABLE_TRAP_DURATION 4.5f
|
||||||
331 **** ****
|
331 SKILL_RECOVER_TRAP_DURATION 4.5f
|
||||||
332 **** ****
|
332 SKILL_EXAMINE_TRAP_DURATION 4.5f
|
||||||
333 **** ****
|
333 SKILL_OPEN_LOCK_DURATION 4.5f
|
||||||
334 **** ****
|
334 SKILL_LOCK_DURATION 4.5f
|
||||||
335 **** ****
|
335 SKILL_HIDE_IN_PLAIN_SIGHT_COOLDOWN 6
|
||||||
336 **** ****
|
336 SKILL_TAUNT_COOLDOWN 6000
|
||||||
337 **** ****
|
337 SKILL_PICKPOCKET_COOLDOWN 6000
|
||||||
338 **** ****
|
338 SKILL_ANIMAL_EMPATHY_COOLDOWN 6000
|
||||||
339 **** ****
|
339 ENCOUNTERS_ON_ENTER_FIRE_BEFORE_SPAWN 0
|
||||||
340 **** ****
|
340 **** ****
|
||||||
341 **** ****
|
341 **** ****
|
||||||
342 **** ****
|
342 **** ****
|
||||||
@ -521,4 +521,4 @@
|
|||||||
517 CHARGEN_ALLOW_CUSTOM_PORTRAITS 1
|
517 CHARGEN_ALLOW_CUSTOM_PORTRAITS 1
|
||||||
518 CHARGEN_ENABLE_RECOMMENDED_BUTTON 0
|
518 CHARGEN_ENABLE_RECOMMENDED_BUTTON 0
|
||||||
519 MULTICLASS_LIMIT 8
|
519 MULTICLASS_LIMIT 8
|
||||||
519 ALL_ASSOCIATES_CAN_INTERACT 0
|
520 ALL_ASSOCIATES_CAN_INTERACT 0
|
||||||
|
@ -557,6 +557,7 @@ scripts\ft_dw_armor.nss \
|
|||||||
scripts\ft_dw_weap.nss \
|
scripts\ft_dw_weap.nss \
|
||||||
scripts\ft_epicvigor.nss \
|
scripts\ft_epicvigor.nss \
|
||||||
scripts\ft_fistiron.nss \
|
scripts\ft_fistiron.nss \
|
||||||
|
scripts\ft_hidntalent_ft.nss \
|
||||||
scripts\ft_invokwrath.nss \
|
scripts\ft_invokwrath.nss \
|
||||||
scripts\ft_lingdmg.nss \
|
scripts\ft_lingdmg.nss \
|
||||||
scripts\ft_lipsrap.nss \
|
scripts\ft_lipsrap.nss \
|
||||||
@ -3171,6 +3172,7 @@ objs\ft_dw_armor.ncs \
|
|||||||
objs\ft_dw_weap.ncs \
|
objs\ft_dw_weap.ncs \
|
||||||
objs\ft_epicvigor.ncs \
|
objs\ft_epicvigor.ncs \
|
||||||
objs\ft_fistiron.ncs \
|
objs\ft_fistiron.ncs \
|
||||||
|
objs\ft_hidntalent_ft.ncs \
|
||||||
objs\ft_invokwrath.ncs \
|
objs\ft_invokwrath.ncs \
|
||||||
objs\ft_lingdmg.ncs \
|
objs\ft_lingdmg.ncs \
|
||||||
objs\ft_lipsrap.ncs \
|
objs\ft_lipsrap.ncs \
|
||||||
@ -28504,6 +28506,8 @@ objs\ft_epicvigor.ncs: scripts\ft_epicvigor.nss include\prc_inc_spells.nss inclu
|
|||||||
|
|
||||||
objs\ft_fistiron.ncs: scripts\ft_fistiron.nss include\prc_feat_const.nss
|
objs\ft_fistiron.ncs: scripts\ft_fistiron.nss include\prc_feat_const.nss
|
||||||
|
|
||||||
|
objs\ft_hidntalent_ft.ncs: scripts\ft_hidntalent_ft.nss include\inc_dynconv.nss include\prc_inc_function.nss include\inc_persist_loca.nss include\prc_inc_array.nss include\inc_debug.nss include\prc_inc_switch.nss include\prc_inc_util.nss include\prc_inc_spells.nss include\prc_inc_stunfist.nss include\inc_nwnx_funcs.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\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\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\prc_feat_const.nss include\prc_racial_const.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
|
||||||
|
|
||||||
objs\ft_invokwrath.ncs: scripts\ft_invokwrath.nss include\prc_alterations.nss include\prc_feat_const.nss include\prc_spell_const.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\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_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
|
objs\ft_invokwrath.ncs: scripts\ft_invokwrath.nss include\prc_alterations.nss include\prc_feat_const.nss include\prc_spell_const.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\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_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
|
||||||
|
|
||||||
objs\ft_lingdmg.ncs: scripts\ft_lingdmg.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
|
objs\ft_lingdmg.ncs: scripts\ft_lingdmg.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
|
||||||
|
125
nwn/nwnprc/trunk/scripts/ft_hidntalent_ft.nss
Normal file
125
nwn/nwnprc/trunk/scripts/ft_hidntalent_ft.nss
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
//:://////////////////////////////////////////////////////////////////
|
||||||
|
//:: Hidden Talen
|
||||||
|
//:: ft_hidntalent_ft
|
||||||
|
//:://////////////////////////////////////////////////////////////////
|
||||||
|
/** @file
|
||||||
|
THis allows you to pick a hidden talent @ 1st level
|
||||||
|
|
||||||
|
@original author Fencas
|
||||||
|
@date Created - 2025-01-12
|
||||||
|
|
||||||
|
@revised by Jaysyn (for Hidden Talent)
|
||||||
|
@date Revised - 2025-01-30 07:42:03
|
||||||
|
*/
|
||||||
|
//:://////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "inc_dynconv"
|
||||||
|
#include "prc_inc_function"
|
||||||
|
#include "NW_I0_GENERIC"
|
||||||
|
#include "inc_persist_loca"
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
// Constant Definitions
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
const int STAGE_SELECT_ABIL = 0;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
// Main Function
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
object oPC = GetPCSpeaker();
|
||||||
|
object oSkin = GetPCSkin(oPC);
|
||||||
|
int nRow;
|
||||||
|
int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE);
|
||||||
|
int nStage = GetStage(oPC);
|
||||||
|
int nLevel = GetPersistantLocalInt(oPC, "HiddenTalentCheck");
|
||||||
|
|
||||||
|
// Abort if DynConv_Var is not set properly
|
||||||
|
if (nValue == 0)
|
||||||
|
{
|
||||||
|
if (DEBUG) DoDebug("ft_hidntalent_ft: Aborting due to error.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Conversation Setup Stage
|
||||||
|
if (nValue == DYNCONV_SETUP_STAGE)
|
||||||
|
{
|
||||||
|
if (!GetIsStageSetUp(nStage, oPC))
|
||||||
|
{
|
||||||
|
if (nStage == STAGE_SELECT_ABIL)
|
||||||
|
{
|
||||||
|
// --- Step 1: Mark Already Selected Hidden Talents ---
|
||||||
|
int nStartFeat = 25901;
|
||||||
|
int nTotalRows = FEAT_HIDDEN_TALENT_BIOFEEDBACK - FEAT_HIDDEN_TALENT_GRIP_IRON;
|
||||||
|
int nEndFeat = nStartFeat + nTotalRows;
|
||||||
|
|
||||||
|
string sFeat = Get2DAString("feats", "LABEL", nRow);
|
||||||
|
|
||||||
|
effect eEffect = GetFirstEffect(oPC);
|
||||||
|
while (GetIsEffectValid(eEffect))
|
||||||
|
{
|
||||||
|
if (GetEffectTag(eEffect) == "HiddenTalent_" + sFeat)
|
||||||
|
{
|
||||||
|
SetLocalInt(oPC, "HiddenTalent_" + IntToString(nRow), 1);
|
||||||
|
}
|
||||||
|
eEffect = GetNextEffect(oPC);
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Step 2: Display Available Feats ---
|
||||||
|
SetHeader("Choose a Hidden Talent:");
|
||||||
|
|
||||||
|
for (nRow = nStartFeat; nRow <= nEndFeat; nRow++)
|
||||||
|
{
|
||||||
|
string sName = Get2DAString("feats", "LABEL", nRow);
|
||||||
|
int nFeat = StringToInt(Get2DAString("feats", "FEAT", nRow));
|
||||||
|
|
||||||
|
if (!GetHasFeat(nRow, oPC) && !GetLocalInt(oPC, "HiddenTalent_" + IntToString(nRow)))
|
||||||
|
{
|
||||||
|
AddChoice(sName, nRow, oPC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SetDefaultTokens();
|
||||||
|
MarkStageSetUp(STAGE_SELECT_ABIL, oPC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token Setup
|
||||||
|
SetupTokens();
|
||||||
|
}
|
||||||
|
else if (nValue == DYNCONV_EXITED)
|
||||||
|
{
|
||||||
|
if (DEBUG) DoDebug("ft_hidntalent_ft: Running exit handler");
|
||||||
|
}
|
||||||
|
else if (nValue == DYNCONV_ABORTED)
|
||||||
|
{
|
||||||
|
if (DEBUG) DoDebug("ft_hidntalent_ft: ERROR: Conversation abort section run");
|
||||||
|
}
|
||||||
|
// --- Stage Selection & Feat Application ---
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int nChoice = GetChoice(oPC);
|
||||||
|
int nLevel = GetHitDice(oPC);
|
||||||
|
|
||||||
|
if (nStage == STAGE_SELECT_ABIL)
|
||||||
|
{
|
||||||
|
SetPersistantLocalInt(oPC, "HiddenTalent_" + IntToString(nLevel), 1);
|
||||||
|
|
||||||
|
if (nChoice > 0)
|
||||||
|
{
|
||||||
|
effect eBonusFeat = EffectBonusFeat(nChoice);
|
||||||
|
eBonusFeat = UnyieldingEffect(eBonusFeat);
|
||||||
|
eBonusFeat = TagEffect(eBonusFeat, "HiddenTalent_" + IntToString(nChoice));
|
||||||
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBonusFeat, oPC);
|
||||||
|
}
|
||||||
|
|
||||||
|
DeletePersistantLocalInt(oPC, "HiddenTalentCheck");
|
||||||
|
AllowExit(DYNCONV_EXIT_FORCE_EXIT);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DEBUG) DoDebug("ft_hidntalent_ft: New stage: " + IntToString(nStage));
|
||||||
|
|
||||||
|
SetStage(nStage, oPC);
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user