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

Legacy_Gruftlord

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #600 on: August 06, 2014, 01:18:10 pm »


               


hmm size? maybe im using wrong horse but it doesnt change creature size


 


if you meant speed than I just tested that I fixed this already along with the same issue with attack penalty


 


btw what about the effect icons? I thought of this since I had in plan to add effects on skin (which I couldnt because of a bug) and if I did it the effects wouldnt be visible in main GUI only in character sheet




 


it's the collision size that gets messes up, like the ability to get close to enemies or through a door. i'll have to dig out a thread maybe that explains it better


 


edit: found it: chapter 4.18 in the horse builders guide


http://palmergames.c...ing_Saved_Games



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #601 on: August 06, 2014, 02:19:28 pm »


               

I see. hmm thats a tricky... will see what I can do.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #602 on: August 06, 2014, 05:14:43 pm »


               


I see. hmm thats a tricky... will see what I can do.




Okay so thing is, the way it appears after reloading game / relogging to the server is how it should be normally. This height you get and which makes you not be able to pass through anything is the height you should have right after mounting but due to the bug its not updated after SetCreatureAppearanceType.


 


I think that the best way to fix this is to keep the unmounted height even for mounted horse (which is what the Proleric's guide advises). Its not what was intented, but it seems better for gameplay anyway. Possibly also shorten the height for normal horse as they are needlessly "fat".



               
               

               
            

Legacy_R_TEAM

  • Newbie
  • *
  • Posts: 22
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #603 on: August 06, 2014, 05:36:55 pm »


               

Hi,


 


have an override as "AlternateHorse+Fixes" from the old vault, around 08.2009 ...


Dont know if this helps ...


And as question .... can i use this with the current 1.72b5 , or should i delete the override files from this "fix" ?


 


http://ul.to/edxwyayg


 


Regards


R-TEAM



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #604 on: August 06, 2014, 06:04:42 pm »


               


Hi,


 


have an override as "AlternateHorse+Fixes" from the old vault, around 08.2009 ...


Dont know if this helps ...


And as question .... can i use this with the current 1.72b5 , or should i delete the override files from this "fix" ?


 


http://ul.to/edxwyayg


 


Regards


R-TEAM




if its that package from The Krit, its not compatible. Its doing many things differently and he stated its not compatible with vanilla horse system.


 


I am not saying this override is bad, its does something else.


 


As for fixes, the only fix included there is the fix for PC skin in loot (which Krit posted also separately). I havent noticed any other fixes there (which doesnt mean there arent any - if someone know this actually fixes something more please correct me).


 


As for what you should.


First, the current beta (5) does not include those fixes to horse system I wrote on previous page - thats my current working version and this will be included in beta6 yet.


Second (after beta 6 will be released - maybe this weekend), whether to uninstall the altenate horse system depends whether you are using its additional feature - in readme it says it has some more features and it does some stuff automatically (like disabling horses in interiors). Keep in mind that if you uninstall it you will lose these features - thus horses will be again allowed in interior areas and you as a builder will need to set some additional variables either on module or even on every area you dont wish horses to appear. So if you are using these features it might be better to contact the original author (The Krit I think) and ask him if he can add these fixes from CPP into his package.


 


EDIT: I dont think that CPP can add these extra features because they are not generally applicable. As great the disable in interior and undeground idea sounds, some exerior areas might be intentionally set as interior for special engine treatment, also if someone allowed drows to use mounts (whether nightmare or regular horses) this would disabled it. (Though just interiors should generally work...)



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #605 on: August 07, 2014, 08:00:02 pm »


               

I fixed that heigh issue, this is done by changing the mounted appearance's CREPERSPACE and PERSPACE to match the values for unmounted races.


 


I also added some more itemproperty placement choices.


 


Attack, Damage, Enhancement penalty for every equippable items. (There is an engine bug with itemproperty removal but thats rather scripting issue and the expected usage is in toolset where it works just fine)


Basically all defensive itemproperties to be used on throwing weapons. (immunities, freedom of movement, AC, improved evasion, regeneration...)


 


But the defensive properties on throwing weapons are questionable - previously I decided not to add them because throwing weapons are being depleted. Builder shouldn't add itemproperties that enhances character's defensive because it would forced player not to throw them away. It could be even "abused" by casters who does won't use them for anything else than that defensive properties.


 


So I am not sure whether is this good idea. Should I allow this and keep in on the builder's own risk or should I rather disable builder from doing it completely? (Clarification for less technical skilled builders/players: this does not change any previously created items at all. Its an additional feature for builders who will get more choices for placing itemproperty on this item in toolset. Except that, some custom content might use this - for example if there is a "add improved evasion itemproperty scroll" type of object, this object would normally fail when used to trhrowing weapons but with CPP installed it will now work.)


 


Also same goes to the ammunition that can also hold these itemproperties. Add or not?



               
               

               
            

Legacy_RedConfuson83

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #606 on: August 10, 2014, 04:07:41 pm »


               

I like that there is continued support for NWN. As a Linux user wonder if any plans for releasing a Linux installer or offering just a .zip of the modified files.


 


I have converted Windows files to Linux binaries on my system via:


http://files.bioware...lient129.tar.gz


http://files.bioware...ienthotu.tar.gz


http://files.bioware...t169_xp2.tar.gz


 


I just re-installed windows files again via PlayOnLinux copied following files over to my Linux NWN folder:


texturepacks/xp2_gui.erf

hak/patch171.hak

hak/patch170.hak

data/patch171.bif

xp2patch.key

nwnx_patch.dll

nwncx_patch.dll

dialog.tlk


 


Seemed to work but was very time consuming to perform.


 


PS,


Love all the work that has been done to 1.71 community patch.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #607 on: August 10, 2014, 04:34:53 pm »


               

Actually there is "manual version" of the CPP 1.71 installation: LINK . Manual means just a 7zip archive that you need to extract in the NWN root folder. Check also the main project page for links to non-english version if you need that.


 


Or you mean something else? Im really not a friend with linux, so I cannot make an linux OS installer - if you know how, you can help with that, I will gladly include it on neverwinter vault.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #608 on: August 10, 2014, 11:48:58 pm »


               

I decided to add some of the former nwnx_cool functionalities and additional features int NWNX Patch plugin.


 


1) option to disable function hooks for experienced builder in order to maintain compatibility with other plugins you want to use (I decided to (re)use nwnplayer.ini for this, which is a bit unusual as usually NWNX.ini is used for this, but thats my decision)


2) ability to override vanilla item level restriction level (via variable called "CILR" on item - i specifically choosed this variable as I think some of the already existing systems are using this so it will be automatically compatible with those, but perhaps just "ILR" could work as well)


3) all the weapon functionalities from nwnx_cool, ability to set weapon feats, whether is weapon finnessable or whether is weapon a monk weapon


4) hopefully also ability to detach immunity to sneak attacks from immunity to critical hits


 


This will be available for both server and client, anything else you would want? If you don't like this post as well '<img'>



               
               

               
            

Legacy_Gruftlord

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #609 on: August 11, 2014, 04:43:08 pm »


               

wait, does that mean there is a way to assign vanilla weapon feats to the CEP weapons?


i'm all for it



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #610 on: August 11, 2014, 06:24:26 pm »


               


wait, does that mean there is a way to assign vanilla weapon feats to the CEP weapons?


i'm all for it




exactly


 


no way in vanilla at least, different nwnx plugins for windows and linux allows this for a years, but I am going to provide this functionality standartized for all platforms (client, server, windows, linux) with same method - that should come in handy



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #611 on: August 13, 2014, 11:49:11 pm »


               

Community Patch 1.72 Beta 6 Released


download


 


Note that the 1.72 beta is (still) dependant on 1.71 as it contains only new and changed files (to keep distributing simple for me). It won't work without it and might cause crashing.


 


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.


 


Neverwinter Nights Community Patch 1.72 beta 6 content:

Fixed broken stuff from previous Patch versions:

- fixed critical error in devastating critical nwnx modification that resulted in crash if player deved creature in whirlwind attack

- fixed critical issue that prevented automatic combat mode cancel when player equipped incompatible weapons (thus player could with right method use improved expertiese with ranged weapon or flurry of blows with greatsword)

- fixed Shou Disciple's Dodge +2 and Dodge +3 feat name and description in character sheet/toolset item bonus feat selection

Revisited features from previous Patch versions:

- the stack ability bonuses switch name changed back, to ensure that old scripts using the previous module switch name will be compiled without error

- the fixed orc chief C hidden model added into hak in order to guarantee this model will appear with fixed animations even for players without CPP installed

New fixes and features:

Tileset fixes:

ttf01_a03_02 - corrected a little gap between polygons

ttf01_p12_01 - corrected two gaps between polygons, added black coverage to block view from below to above

ttd01_p12_01 - corrected two gaps between polygons, added black coverage to block view from below to above


 


2DA changes:
appearance.2da - mounted horse appearances "height" changed to unmounted racial default since that doesn't change until reload/relog and because it proved better in gameplay anyway
baseitems.2da - skin set to have no "height" in order to workaround full inventory issue

                        - ugly DOA cloak replaced with standard cloak - this actually appears only when placing cloak item from palette to area, but now it appears 100% matching with what you see at ground once you place it
itemprops.2da - added more choices to throwing weapons

                        - allowed to put attack, damage and enhancement penalty properties on all equippable items (since it works on them)
weaponfeats.2da - new 2da for builders/players allowing to change/setup weapon feats for all weapons including custom content ones (note, the 2da itself is nonfunctional without NWN©X in place)


 


Spells and spellabilities:

Restore spells: won't remove horse/related effects anymore

Other scripts:

nwscript - changed maximum value in internal comment for ItemPropertyDecreaseSkill, now states 50 instead of 10

x2_mod_def_unequ - added special workaround to solve skin issue with polymorph and relog

70_mod_polymorph - added special workaround to solve skin issue with polymorph and relog (this is rather for convinience - it will work without this but could take a slightly longer than the skin is reequipped)

70_inc_shifter - added new function CancelPolymorph to support canceling polymorph from happening in OnPrePolymorph event

                       - added support for custom content - newly the polymorph ID, lock and temp HPs will be possible to override from OnPrePolymorph event

70_spellhook - musical instrument requirements will be now checked also on item and will override module settings - thus it will be possible to enforce extra rules only for a specific musical instrument

x2_inc_switches - new module switch to disable AC from Tumble skill, to detach sneak immunity from the immunity to critical hits and to disable monk abilities in polymorph.

                          - added special workaround for NWNX modules switches

x2_mod_def_load - included all the new switches from 1.72 - they are commented out/disabled by default of course

x3_mod_def_load - will now execute x2_mod_def_load from compatibility reasons

x3_mod_def_enter - will restore all horse-related effects after relog/load

x3_inc_horse - fixed attack penalty stacking, and save-load issues with effects, all horse-related effects improved and reworked and are now custom content compatible; they are now created by unique object so they cannot be confused with different effects that player might had from custom content

                     - removed null tail (existing characters with null tail should be sooner or later changed to no tail if module not modified horse scripts)

x3_s3_horse - fixed possibility to mount horse that cannot be reached (behind fence, pit etc.)

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

- allowed to disable most hooks via nwnplayer.ini (will be explained in depth in 1.72 readme)

- fixed the action cancel issues when joining/removing party and possibly also when changing PvP status

- fixed bug with Defensive Stance not canceling properly when casting a spell/using potion and other cases

- added 3 extra module switches maintained in NWN©X_Patch plugin. Module switch to disable AC from Tumble skill, to detach sneak immunity from the immunity to critical hits and to disable monk abilities in polymorph.

- added new feature to modify bonus AC from Tumble skill, two options: 1) to disable it completely based on module switch 2) to override the value on specific creature by an integer variable "TumbleAC" on the fly. Can be even negative.

- added new feature to modify default item's Item Level Restriction value. To override the required level use an integer variable "CILR".

- added new feature to modify/add weapon feats. This is done by the a new custom 2da called weaponfeats.2da, the structure is self-exemplatory. This allows to add weapon feats for custom content weapons or even make a ranged weapon to be weapon of choice for Weapon Master.

- added new feature to modify whether is weapon finessable or not. To do this, set an integer variable "finesse" with value 1 (allowed) or 0 (disallowed). Note: this does not take into consideration creature/weapon size (intent)!

- added new feature to modify whether is weapon monk weapon or not. To do this, set an integer variable "ubab" with value 1 (allowed) or 0 (disallowed).



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #612 on: August 14, 2014, 12:29:34 am »


               

Additional notes to the release:


 


1) New polymorph engine new feature.


 


I will probably write a tutorial for this but this is a very exciting feature, I get this idea when I was helping WhiteTiger with his module, he needed to disable polymorphing to anyone with special variable - this needed to modify every single polymorphing script.


Now, this can be done in the OnPolymorph event script without any modification to polymorphing spells. Because newly, the OnPrePolymorph event allows to cancel the polymorph (using function CancelPolymorph() ). And not just that, it also allows to overwrite the actual polymorph, whether is the polymorph locked or number of temporary hitpoints. With this you can code very interesting features such as +100 temp hitpoints for shifters lvl 20+ or replace drow polymorph by new custom polymorph of elf type if the character natural race is drow. Etc. etc. almost no limits. And all in single script without need to recompile anything.


 


2) Removal of the null tail


 


According to the internal comments, the purpose of the null tail is to preload horse animations to avoid the big lag when mounting/unmounting. I don't really believe that though based on my experiences with custom content... And since it can cause issues in older modules I decided to remove this. However, if someone can proof this actually really works, I will get it back immediately. Does anyone know anything about this?


 


3) weaponfeats.2da


 


This allows to configure weapon feats, focus, imp crit, spec, overwhelmin, devast and weapon of choice. Only vanilla weapons are preconfigured there, to support cep weapons you need to add new lines. The line number in weapon feats matches line number in baseitems. Non weapon items should have values set to "-". I could in near future prepare a CEP1 / CEP2 version of this 2da if desired, lmk. Also, what is not so clear is that this actually allows to set weapon of choice for ranged weapons/unarmed strike. Usually you would want to make new feats for this, but you can do this easily also without haks. Example: line 8 collumn WC set to 977 - this should make the longbow weapon of choice for characters with 11+levels of AA. Though I haven't tested it and its possible it will require the WM feats (Ki critical etc.) - this are however possible to add via bonus feat now. This is 100% backwards compatible - if the 2da cannot be located (which can happen only in case that someone will try to use NWNX_Patch plugin without CPP installed) the default functionality + trident fix is restored.


 


4) weapon finesse / monk weapons


 


These two features are independant on the 2DA from main reason. It is expected that builder would want to configure this option dynamically based on character class/abilities/anything else.


The recommended usage is to add the "finesse" or "ubab" variable in OnAcquireItem event. Additionally you can set it directly on a specific weapon to make only this weapon work as monk weapon. etc. While a little hard to configure it has basically no limits this way. Or would you like to configure this with 2DA as well?


BTW: I was hesitating whether to set quarterstaff as a monk weapon by default. (As its basic rule in DnD 3.0) - shuriken should be as well but the original creator of this functionality, Terra777 stated that making ranged weapons to be a monk weapons causes big lags - so be aware of that.


Also, I do recommend not to use Terra777's nwnx plugins for this - those plugins doesn't take into consideration the Disciple of Shou prestige class and might result in lost of functionality in regards to martial flurry weapon feat.


 


5) Defensive stance bug


 


I fixed this by canceling the mode propertly, the question however is whether not to allow casting spells (from items/potions) though. I see not reason why not to, and from the code I am not convinced this canceling was on purpose. Suggestions needed.


 


6) No Tumble AC switch and option to override Tumble AC by own value


 


When writing these notes I realized this feature could be done without NWNX. It would not be 100% backwards compatible as it would be solely dependant on the PC skin and several events, but it is possible to do this. Probably not worth it though.


 


7) No Monk Abilities in polymorph switch


 


Atm, this disables all monk abilities. I assume you would like to be able to specificy each monk ability separately right?


 


8) INI settings and module switches settings (info for NWNX experts)


 


If you are a NWNX developer you might ask why I did it the way I did - using variables on modules instead of using INI and why I decided to reuse nwnplayer.ini instead of using NWNX.ini


 


Its simple, I am using nwnplayer.ini because it suits my project more and because NWNCX package doesn't come with this ini file. And I need to guarantee same functionality for both client and server.


 


As for using module variables - this is not obvious for those who develop for server, but when I thought about this I realized that using ini for features such as monk AC is inapplicable for client as thats not player decision but module builder's. And different modules might want to do this differently, so this needs to be loaded from 2DA or module variable. I inherited this way for server as well since the basic goal of my plugin is to provide same functionality on both client and server.


 


9) Disabling some NWNX features (info for NWNX experts)


 


If you are using more NWNX plugins, you might need to disable feature in either other plugins or NWNX_Patch plugin as they won't work well together. What to disable and in what plugin is something I can't tell you, you need to find out yourself. I cannot support every possible plugins thats not how NWNX development works. So to disable specific NWNX_Patch features you need to edit nwnplayer.ini, and add a new section [Community Patch]. Then put these lines under this:


 


DisableSetLocalStringHook = 0

DisableLoadModuleFinishHook = 0

DisableWeaponHooks = 0

DisableGetTotalACSkillModHook = 0

DisableGetUseMonkAbilitiesHook = 0

DisableGetCriticalHitRollHook = 0

DisableResolveAttackHook = 0

DisableAddEquipItemActionsHook = 0

DisableSummonAnimalCompanionHook = 0

DisableSummonFamiliarHook = 0

DisableSummonAssociateHook = 0

DisableGetAssociateIdHook = 0

DisableUseItemHook = 0

DisableEffectImmunityHook = 0

DisableResolveDamageShieldsHook = 0

DisableGetRelativeWeaponSizeHook = 0

DisableHolyAvengerHook = 0

DisableToggleModeHook = 0

DisableResolveAmmunitionHook = 0

DisableSetActivityHook = 0

DisableResolveSpecialAttackDamageBonusHook = 0

DisableGetMinEquipLevelHook = 0

DisableClearAllPartyInvalidActionsHook = 0

DisableSpellSlotsInPolymorphHook = 0


 


Change to 1 to disable specific feature. Previously, I wanted to allow disabling each hook one by one, but then I realized this is not possible because one hook is dependant on other and disabling only one could lead to hazardous behavior such as spell slots duplicating.


 


EDIT:


10) regarding Devastating critical


 


The fix for the issue with whirlwind attack actually removed the "Devastating Critical" message from the attack roll inn combat log. I wasn't able to restore that functionality while fixing the crash bug and I am not sure if I will be able to in future. For now, I recommend to print that message as FloatingString in the 70_s3_devattk script manually...



               
               

               


                     Modifié par Shadooow, 14 août 2014 - 12:12 .
                     
                  


            

Legacy_Gruftlord

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #613 on: August 14, 2014, 01:12:51 am »


               

wow oh wow, that is a surprisingly long list.


the monk ability switch, does that apply to shifter and druid shapes as well? that will become big in the PW community i could imagine (if they can get over their egos and give CPP a chance)


oh and just to be sure: when updating from the last beta, is it enough to just overwrite everything?



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #614 on: August 14, 2014, 01:37:02 am »


               


wow oh wow, that is a surprisingly long list.


the monk ability switch, does that apply to shifter and druid shapes as well?




 


atm it does apply to all monk abilities in any kind of polymorph - I should be able to provide more functionality to this (various choices - specific player override?) if desired


EDIT: perhaps also to make additional collumn in polymorph.2da which would determined whether the specific polymorph is able to use monk abilities or not


 




oh and just to be sure: when updating from the last beta, is it enough to just overwrite everything?




yes