Author Topic: Community Patch discussion and development thread  (Read 20337 times)

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #765 on: September 05, 2015, 09:18:41 pm »


               

Small report.


 


So far decided to externalize "spell target type", ie. constant SPELL_TARGET_*. While this obviously won't allow to turn singletarget spells into area of effect, it allows to change a spell hostile to everyone into enemies only in spellhook without touching the spellscript. You can use it either directly for specific spell or dynamically. For example this would allow to code Archmage PrC's ability Mastery of Shapes.


 


Will rewrite also GetReflexAdjustedDamage function in order to allow modify evasion or to code similar ability like evasion and Im going to include the no evasion in armor rule I published on vault long time ago inside as a module switch.


 


Another possible externalizations:


damage type - to allow code Mastery of Elements ability of Archmage


saving throw type - to allow code ability that change saving throw of the spell, it would be really useful for NPCs as well, especially in high magic worlds where players can have (improved) evasion from items and thus reflex spells are quite easily overcome

 



               
               

               
            

Legacy_WhiteTiger

  • Hero Member
  • *****
  • Posts: 889
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #766 on: September 11, 2015, 01:07:05 pm »


               

Cool community patch team. Keep it up!



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #767 on: September 11, 2015, 01:32:14 pm »


               


Cool community patch team. Keep it up!




"the team" consist of single person '<img'>


               
               

               
            

Legacy_Malagant

  • Sr. Member
  • ****
  • Posts: 391
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #768 on: September 18, 2015, 05:37:54 am »


               

What changes did you make to the IMProvments package originally by Adinz & Six? All it states is "1.0c - updated to 1.69/1.70/1.71 by shadooow" - no notes, no explanation (especially considering they were out long after 1.69 in the first place), and no discernible difference.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #769 on: September 18, 2015, 07:41:20 am »


               


What changes did you make to the IMProvments package originally by Adinz & Six? All it states is "1.0c - updated to 1.69/1.70/1.71 by shadooow" - no notes, no explanation (especially considering they were out long after 1.69 in the first place), and no discernible difference.




its appearance.2da so i incorporated changes to that 2da from 1.71, that means:


- placeholder for hidden apperances (in order to prevent user from reusing these lines)


- various appearance fixes: footstep type, appearance sounds


there is more of this but im not sure whats in 1.71 already and whats in 1.72 im currently working on (edit: and i added into this only changes from 1.71)



               
               

               
            

Legacy_Malagant

  • Sr. Member
  • ****
  • Posts: 391
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #770 on: September 18, 2015, 09:38:39 am »


               

No problem. I use these so I wasn't sure if it was something I'd need or not. Thank you for the information.



               
               

               
            

Legacy_Syrophir

  • Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #771 on: September 20, 2015, 03:15:07 pm »


               

Hi, not sure if it's the right thread to ask but would I have to merge anything to use "CPP 1.72beta9" with Aielund modules (fake EMS) or am I good to go with CEP 2.6 (+ 2.61)?



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #772 on: September 20, 2015, 03:24:24 pm »


               


Hi, not sure if it's the right thread to ask but would I have to merge anything to use "CPP 1.72beta9" with Aielund modules (fake EMS) or am I good to go with CEP 2.6 (+ 2.61)?




As a player, basically you shouldn't worry about compatibility at all. Of course there will always be something that will be disabled due to the conflict with the same file in module/hak etc. but thats not player's responsibility at all. You just have to expect that not everything from CPP will work, especially if module uses EMS/TonyK etc. and keep that in mind when posting a bug report.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #773 on: December 06, 2015, 06:40:37 pm »


               

Community Patch 1.72 Beta 10 Released


download


 


To install it, follow as in 1.71 manual installation. Simply unpack the archive into folder with NWN files (thus if you do this right it will want to overwrite bunch of files which you have to confirm). The 1.72 is international, works for all languages as there are no changes in dialog.tlk file yet.


 


To uninstall it, either run 1.69 critical rebuild, 1.71 installation, or manually delete/rename the xp2patch.key file and rename the xp2patch171.key which is included in the 1.72 beta distribution.


 


This is probably last beta before final release. I tested all I could, now to be 100% sure everything works as intented this needs to be tested in uncontrollable environment as is persistent world. Im looking for volunteers who would like to use 1.72 on their PW - I will of course provide full support for any issue that might appear. I really hope there is someone who can do this as is nearly impossible to test every feature to make sure everything works as intented especially due to the ammount of them. PM me if you can help with final testing.


 


Neverwinter Nights Community Patch 1.72 beta 10 content:

Fixed broken stuff from previous Patch versions:

- fixed bug in a function ForcePolymorphEnd which did not ended polymorph correctly on a player that repolymorphed

- fixed nonfunctional temp hps on shapes from polymorph self and shapechange spells

- fixed stacking merged itemproperties in special case when repolymorph in multiplayer copied old merged itemproperties


 


Revisited features from previous Patch versions:

- Psionic inertial barrier: rescripted to use CPP spell engine to fix the targetting issues that any polymorph spell cant be cast on any object (which in vanilla isn't problem as the script is written to only apply effects on OBJECT_SELF, while 1.71 changed all these scripts to GetSpellTargetObject in order to provide custom content compatibility)

- Tenser Transformation: removed the int/cha/wis undocumented bonuses that were added in 1.70 to fix losing spell slots - but this code unfortunately didn't provided this functionality anyway

- removed undocumented overriding crate models from NWNEnhanced that were added in 1.70 (it doesn't look like there is any fix in them, only reskin)

New fixes and features:

Tileset fixes:

- tcn01_z06_01 - whole tile was mispositioned by 1 pixel in both X and Y directions

- tic01_j15_01 - fixed small polygon gap in floor around wall pillar

- tdc01_f14_01 - fixed polygon gaps in black coverage with tilefading enabled

- tdc01_f16_01 - fixed polygon gaps in black coverage with tilefading enabled

- tdc01_f20_01 - fixed polygon gaps in black coverage with tilefading enabled

- tdc01_g14_01 - fixed polygon gaps in black coverage with tilefading enabled

- tdc01_g15_01 - fixed polygon gaps in black coverage with tilefading enabled

 


Spells and spellabilities:

- Tide of battle (special spell): added missing target type - which allowed to hurt anyone even in NoPvP area

- Tenser Transformation: fixed losing the hp/attacks/fort when repolymorph happened, fixed not losing temp hp when polymorph was canceled before the actual spell expired (this is even backwards compatible - it will work even without rewritting the spell to use new polymorph engine)

- several spells which has no saving throw rescripted to allow use of the saving throw via spellhook (icestorm, heal, harm, vampiric touch, acid arrow and few more)

- spells that doesn't check spell resistance rescripted to allow add this check via spellhook (earthquake, crumble, greater thunderclap, creeping doom, dispels, breaches)

Scripts:

- 70_spellhook: fixed targetting bug that allows to cast any polymorph spell on any target no matter its range

- x2_inc_switches: added module switch which will disable a recursive check for polymorph end - this is useful to optimize the code in multiplayer

- x2_inc_switches: added module switch which will merge casting abilities from all items no matter what given shape merges in order to avoid losing spellslots in environment without NWNX (NWNX_Patch handles this automatically and in a better way)

- x2_inc_switches: added module switch to enforce DnD hardcore rules for evasion - evasion won't work in medium/heavy armor or when is character helpless (stun, paralysis, sleep, petrify, dying)

- x2_inc_switches: added module switch which will detach paralysis immunity from mind spells immunity (NWNX_Patch dependant feature)

Spell-engine related:

- added new field into spell engine structure, spell.DamageType, this is used to replace damage type in spells (eg. change all cold damage spells into fire or just for changing single spell damage type, eg. changing crumble sonic into magical)

- added new field into spell engine structure, spell.SavingThrow, this is used to replace saving throw the spell is imposing (eg. if player has Feat X, replace all fort saving throws with will) or even remove the saving throw (set to SAVING_THROW_NONE = 4 for this functionality), the spell in such case works as if the saving throw was always failed

- added new field into spell engine structure, spell.SR, this is used to disable (or enable) spell resistance check (eg. npc whose spells will ignore SR)

- added new field into spell engine structure, spell.TargetType, this is used to replace target type scheme spell checks (eg. change all selective hostile spells into standard hostile, or backwards, it also allows to turn aoe spells into singletarget, but not backwards)

- new spell overriding variable, use int SPELL_DAMAGE_TYPE_OVERRIDE on caster to override spell damage type. valid constants are DAMAGE_TYPE_*, check lexicon (http://www.nwnlexico...tle=Damage_type) for direct values if you plan to use this outside of script editor

- new spell overriding variable, use int SPECIAL_ABILITY_DAMAGE_TYPE_OVERRIDE on caster

- new spell overriding variable, use int ITEM_DAMAGE_TYPE_OVERRIDE on item

- new spell overriding variable, use int X_DAMAGE_TYPE_OVERRIDE on item or caster to override damage type of the spell with ID of X, example 368_DAMAGE_TYPE_OVERRIDE int 16 = ice storm with acid damage

- new spell overriding variable, use int SPELL_SAVING_THROW_OVERRIDE on caster to override saving throw that spell uses. Values: 1 - fortitude, 2 - reflex, 3 - will, 4 - none.

- new spell overriding variable, use int SPECIAL_ABILITY_SAVING_THROW_OVERRIDE on caster

- new spell overriding variable, use int ITEM_SAVING_THROW_OVERRIDE on item

- new spell overriding variable, use int X_SAVING_THROW_OVERRIDE on item or caster to override saving throw of the spell with ID of X, example 89_SAVING_THROW_OVERRIDE int 2 = implosion with reflex saving throw

- new spell overriding variable, use int SPELL_SR_OVERRIDE on caster to override whether spell checks spell resistance or not. Values: 1 - yes, -1 no.

- new spell overriding variable, use int SPECIAL_ABILITY_SR_OVERRIDE on caster

- new spell overriding variable, use int ITEM_SR_OVERRIDE on item

- new spell overriding variable, use int X_SR_OVERRIDE on item or caster to override spell resistance of the pell with ID of X, example 423_SR_OVERRIDE int -1 = bombardment spell will ignore SR

- new spell overriding variable, use int SPELL_TARGET_TYPE_OVERRIDE on caster to override target type scheme that spell uses. Values: 1 - all allies, 2 - single target, 3 - selective hostile, 4 - standard hostile.

- new spell overriding variable, use int SPECIAL_ABILITY_TARGET_TYPE_OVERRIDE on caster

- new spell overriding variable, use int ITEM_TARGET_TYPE_OVERRIDE on item

- new spell overriding variable, use int X_TARGET_TYPE_OVERRIDE on item or caster to override target type selection scheme of the spell with ID of X, example 367_TARGET_TYPE_OVERRIDE int 3 = horrid wilting which will not harm party members

Client:

- updated PC Widget tool to include 1.72 module switches


 


NWNX_Patch and NWNCX_Patch plugins (current version v1.13):

- enabled detaching immunity to paralysis from immunity to mind spells


 


 


Notes:


 


1) I had in plan to add more of the More TNO Placeables hak - however when browsing, I found out that its very hard to determine whats an improvement and whats "just a reskin". I decided I will not do it. If someone else wants to browse this hak and choose what it good addition into community patch, there is an override patch-hak I created for this.


 


2) Im also probably done with nwnx_patch. I had some things in plan but turned out they are out of my abilities (enabling flying - ie. set a X,Y position as walkable for flying creatures, softcode knockdown, enable open container GUI on equipped items, automatically equip new stack of throwing weapons, casting silent spell not breaking stealth mode). Unfortunately noone from those I sent sourcecode helped with anything so I dont expect any more help with this. What NWNX_Patch needs the most is some bigger rewrite to avoid collision with other plugins, unfortunately this is also out of my abilities (mostly). So if there are conflicts, you have to find out yourself and decide which plugin to prefer and which to disable.


 


3) The new spell script structure should be final (link example script for fireball). I don't think there is anything else that needs to be externalized like DamageCap, DamageType, SavingThrow and other were. Only remaining things are SAVING_THROW_TYPE_* which is not so important at all + it could be changed in MySavingThrows if someone wanted to do it. Also there is a shape type, but there are only 3 types, sphere, cube and line. Turning sphere into line has no sense, and sphere and cube are almost identical anyway. There will be always something I havent counted with and which will require to rewrite certain function or whole spellscript but current structure should be enough for majority of the features and almost everything should be now doable via spellhook without touching spellscripts at all.


 


4) Documentation. This will probably take me a whole month with the way Im active atm. This is my main task currently because peoples ask for features while they are already available here just not documented in a comprehensive way.



               
               

               
            

Legacy_WildWhisper

  • Newbie
  • *
  • Posts: 3
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #774 on: December 26, 2015, 01:50:56 pm »


               

Doesn`t work cleric`s Endure Elements on my Cleric/Bard build.


upd:


all resist elements like spells are broken. Or is it what called "balance"?



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #775 on: January 01, 2016, 08:31:11 am »


               


Doesn`t work cleric`s Endure Elements on my Cleric/Bard build.


upd:


all resist elements like spells are broken. Or is it what called "balance"?




Thanks for report. You are right, all elemental spells are broken in 1.72beta10 because I renamed the multispell script but forgot to update spells.2da.


 


Please be patient. This is called beta for a reason, and from beta9 to beta10 I made very significant changes to all spellscripts so its possible some spells will be bugged in some way. I am a single person and I really can't test every single thing I make because I do a lots of them.


 


Which is why I am still looking for a PW module (doesnt have to be open, closed one for testers only is enough) which would installed 1.72 as that would allow to track all the issues much faster.


 


I will release beta11 fixing this issue and bringing new features at sunday. For now, revert to 1.71.


               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #776 on: January 03, 2016, 11:02:42 pm »


               

Community Patch 1.72 Beta 11 Released


download


 


To install it, follow as in 1.71 manual installation. Simply unpack the archive into folder with NWN files (thus if you do this right it will want to overwrite bunch of files which you have to confirm). The 1.72 is international, works for all languages as there are no changes in dialog.tlk file yet.


 


To uninstall it, either run 1.69 critical rebuild, 1.71 installation, or manually delete/rename the xp2patch.key file and rename the xp2patch171.key which is included in the 1.72 beta distribution.


 


 


Im calling the "this will be last beta" off. I can't release something thats not 100% tested and perfect, no not me, other projects can but not community patch. And to test monster as this, I need more testers or to test in on a PW. Which is problem because PWs are not interested in something which is in beta...


 


Anyway I'm still looking for anyone willing to try it on his PW, it doesn't have to be a PW with 20 players, not even already released PW, just PW where are atleast few peoples playing/testing things.


 


 


 


Neverwinter Nights Community Patch 1.72 beta 11 content:

Fixed broken stuff from previous Patch versions:

- fixed a 1.71 bug where under specific circumstances, an aoe spell like delayed fireball ignored target immunity to 9/8/7 level spells if this spell was acquired by some custom content like a polymorph or something

- fixed temporary hitpoint stacking from Shapechange spell

- added missing externalizations into few spellscripts (spike growth)

- ballista and ballista, arbalet set not to be static in 2da (could cause crashing and other issues on some graphic cards)

- fixed an issue with multisummoning feature, where summoning a creature close to the other player with his own summons count the other player as a master and could unsummone his own summon

- implemented the "merge all switch" which was somehow completely omitted

- fixed two tiles from beta10 that threw SQRT Domain error when placing


- fixed all elemental spells that stopped working in beta10


 


Revisited features from previous Patch versions:

- Ioun stones will no longer be dispellable by the standard means. This was implemented in early 1.70 and reverted before release due to the critique on this change. I know there are modules where they prefer ioun stones to be dispellable, but on the same hand there are modules which prefer not to. Since DnD rules are clear, I decided they will be not dispellable by default in 1.72. Either way, it's very easy to change this in scripts especially when 1.72 introduced single multiscript for all ioun stones 70_s3_iounstone.

- the custom evasion function that handles dnd evasion rules implemented into all scripts, not just spells

- new metamagic icons in spellbook from previous version colored a bit to better match with previous star icon and the spell level icons (preview compare with beta10 preview)

- switch to ignore spell resist/immunity on AOE spells won't consider delayed blast fireball as glyph of warding as AOE spells thus they will still check for this

- multi summoning switch can be now used also locally, ie. builder can allow this feature only certain player meeting some prerequisites etc.

New fixes and features:

Tileset fixes:

tdc01.set,tde01.set,tdr01.set,tsw01.set,tdt01.set,tdm01.set,tdc01.set - Big Door tiles visibility changed to fix the issue with revealing what's behind doors without opening them
ttf01_edge.2da - fixed missing cliff edge tile in the corner of the area
tds01_o13_01 - fixed path node rotation
tds01_d06_01 - fixed visibility node, rotated by 90°(allowed to see hidden rooms)

tdc01_g09_01 - critical walkmesh fix (could trap characters close to wall)

tdc01_a13_01 - fixed polygon gaps in black coverage with tilefading enabled

tdc01_f09_01 - fixed polygon gaps in black coverage with tilefading enabled

tdc01_f11_01 - fixed polygon gaps in black coverage with tilefading enabled

tdc01_f18_01 - fixed polygon gaps in black coverage with tilefading enabled

tdc01_g13_01 - fixed polygon gaps in black coverage with tilefading enabled
ttr01_j17_01 - fixed polygon gaps in black coverage with tilefading enabled

ttr01_z17_01 - fixed polygon gaps in black coverage with tilefading enabled
tdm01_d11_01 - fixed polygon gap in wall
tdm01_d12_01 - fixed polygon gap in wall


 


Spells, feats and special abilities:

- Battletide, Mind Fog: the penalty is added instantly, although the visual will land with a delay - this is to prevent a situation when player moves into aura/fog and immediately moves back, because the penalty is delayed and not yet present on character the onexit script can't remove it and thus player ends up with permanent penalty

- Entangle, Grease, Web: added missing caster validity check, aoes will vanish with its caster

- Tymora Smile: effects made undispellable (supernatural)


 


Scripts:

- 70_mod_resurrect - new script which will fire after casting raise dead or resurrection spell

- 70_mod_petrified - new script which will fire after petrify effect application from any spell/ability

- 70_s2_pickpocket - new script which implements pickpocket skill, runs only when nwn©x_patch is in use

- nw_ch_summon_9 - henchmens will stay closer to the master as was intended

- 70_inc_main - new library for a generic functions I had no other place to put, contains:


  • ShutdownServer: server shutdown/crash without need for NWNX

  • NWNX_Patch_IsInUse: checks availability of the nwnx_patch or nwncx_patch

  • AddFeat: allows add a feat on player, using PC Skin system from 1.69 and expanded iprp_feats.2da from 1.72 where each working feat is added into itemproperty with constant number + offset of 100

  • GetCommunityPatchVersion: returns -1, 170, 171 or 172 depending on the community patch version installed on the running machine

- 70_inc_itemprop:


  • added new function UpdateItemCharges (fixes cast spell itemproperties when charges set to 0)

- x2_inc_itemprop:


  • added new function IPGetIsThrownWeapon

  • implemented module switch to use weapon boost spells on ammo or throwing weapons

- x2_inc_switches:


  • new module switch MODULE_SWITCH_DISABLE_DAMAGE_SHIELD_STACKING, this switch enforces the "only one damage shield spell" rule

  • new module switch MODULE_SWITCH_DISABLE_WEAPON_BOOST_STACKING, this switch enforces the "only one weapon boost spell" rule

  • new module switch MODULE_SWITCH_DISABLE_AOE_SPELLS_STACKING, this switch allows to limit how much persistent aoes of the same type can player cast in same area

  • new module switch MODULE_SWITCH_ALLOW_BOOST_THROWING_WEAPONS to enable weapon boost spells to be used on darts, shurikens or throwing axes

  • new module switch MODULE_SWITCH_ALLOW_BOOST_AMMO to enable weapon boost spells to be used on arrows, bolts and bullets

- x3_inc_horse: HorseGetIsMounted changed in a way it checks phenotype instead of integer on skin - this change should prevent creation of the PC Skin in a modules without horses

Polymorph system:

- the merge arms and ability stacking switches will now work also locally, ie. you can apply these rules only for certain PC, not just for everyone, To do this, use SetLocalInt on the player with corresponding module switch variable and value.

- fixed stacking abilities from weapon when stacking from all items wasn't enabled

- implemented a hitpoints correction to fix special case where repolymorph increased character hitpoints

- small rewrite to handle spells like Shapechange that has delay on the polymorph application


 


Spell-engine:

- the spell id overriding variables like (id)_CASTER_LEVEL_OVERRIDE are now also checked on module. The reason for this is that the spellhook is by default triggered only for player characters, so if you wanted to make igms limited to 15 missiles max for everyone not just players, you would had to modify 70_spellhook to trigger module spellhook also for npcs or use.

Client:

- updated PC Widget tool to include ammo and throwing weapons spell boosting


 


NWNX_Patch and NWNCX_Patch plugins (current version v1.14):

- softcoded pickpocket skill


 


 


Notes:


 


1) The pickpocket implementation is as close to vanilla as possible with few exceptions. Main is that the victim get the "lost item" feedback if thief steals an item. I haven't add this functionality mainly because I would have to add a new NWNX function for this or expand the DestroyObject somehow to take second parameter. Either way, that wouldn't really fit into plugin that patches things. So the options are: a) add it into nwnx_patch anyway,  b.) ship with patch also nwnx_funcs or cool (which both are highly unstable unfortunately), c) create a new nwnx plugin for functions, d) leave it be. I choosed d as you see. Need suggestion whether any other option has sense. I bet many players (except thieves) and DMs will prefer it this way anyway.


 


2) I was considering add some more functions into 70_inc_main from Homebrew thread on forums. However since most of them comes from me, I rather choosed not to as Im biased. I takes suggestions on custom functions to add from anyone interested in this.


 


3) The disable spell stacking switches weren't added into PC Widget because it is improbable that a player would want to use them. They are intented for module Builders who can code this into module itself. Also, the PC Widget conversation grows large so if I should add them, I will need to create some categories first...



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #777 on: January 18, 2016, 12:29:47 pm »


               

I need to revisit all those spell override and modifier variables. I just found that the "module-wise" override I added in last beta is not functional. But when I wanted to fix it, I realized that it becomes a bit complicated.


 


Anyway, currently it works this way:


Module-wise spell id override ("87_DC_OVERRIDE") has highest priority. If its set its used no matter what might contain lower overrides.


Creature spell id override ("87_DC_OVERRIDE") has second priority. If its set its used no matter what might contain lower overrides.


Creature override ("SPELL_DC_OVERRIDE") has lowest prioty. Its used only if spell id overrides aren't set.


Creature modifier ("SPELL_DC_MODIFIER") is added to the original value (in this case original caster level) only if the value is not overriden.


 


My concerns:


1) Is it optimal? Shouldn't actually the "any" override ("SPELL_DC_OVERRIDE") take priority over spell id version? Shouldn't creature override take priority over module-wise override?


2) Shouldnt modifier be also added into override?


3) Should the caster level, dc and metamagic even exists as module-wise override? These three values vary with spellcaster, while other spell informations are always the same no matter who the spellcaster is. It doesn't really make sense to override caster level of implosion globally for everyone in module.


Note: the module-wise override was created to change some of the spell values like TargetType or SavingThrow or DurationType globally for every spellcaster in module. This avoids the need to do it manually in spellhook which also normally doesnt run for NPCs.



               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #778 on: January 18, 2016, 02:34:38 pm »


               

My 2 cents:


 


1) No. The specific one should be higher priority than the general one.


2) That probably makes sense. Then you can have creatures modify it as needed.


3) I agree. I'm not sure of the utility of a module-wide override of spell DC for all spells.  I can see the use for creature level overrides to make say a boss more dangerous or even module-wide override to a specific spell. The general module-wide override of DC for all spells seems of little use to me.  That makes the first two questions sort of moot...



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #779 on: January 18, 2016, 02:43:36 pm »


               

to 3) right, on the other hand module-wise modifier for DC would actually make a sense, caster level probably too (althought thats a bit weird usage).