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

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #840 on: March 20, 2016, 11:17:46 pm »


               

Well im very close to finishing all the remaining bits, however im lately too distracted with LoL ranked queve (ShadWooo in EUNE, if someone wants to play with me).


 


Help me figure out how to enable setup the number of spells known gained at lvlup and it will faster the process.



               
               

               
            

Legacy_Valgav

  • Full Member
  • ***
  • Posts: 118
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #841 on: March 21, 2016, 12:35:02 am »


               

Couldn't it simple use Cls_spkn_*.2da (if set for non spontanous classes) to set values? Or another 2da with same logic like you use spells_level now? Or if it's to complicated maybe just flag on class ex. learn_on_levelup which will set value to 0. I assume that using value of SpellCaster ex. equals 2 is not a option for spellcasters without levelup learning. For some cases it could just disable spell selection menu on level up? I don't know what are the rules of showing this screen. Also there should be some way to disable bonus spells gained from high ability value(negative values?)


 


Also small question about Cls_spgn_*.2da or more general about spellslots for spontanous casters. Is it possible to set those values to unlimited(probably -1?) like warlock in nwn2?


 


I've also noticed that you have some doubts about learning from scrolls for multiclasses. If subfeat solution in menu is not an option maybe, should use current highest spellcaster level? Or just add thsi spell to all class that can learn that spell? (If i can learn invisibility as assassin why i can't use that spell as wizard?)



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #842 on: March 21, 2016, 03:33:19 am »


               

 


Also I'm not sure if nwnx_patch is somehow connected with community patch but does it work only on windows or there's also linux version?



There is linux version but only for the first nwnx_patch version from 1.71. There are no signs anyone will help me port newer version of nwnx_patch to linux and Im certainly not going to do that myself.


 




Couldn't it simple use Cls_spkn_*.2da (if set for non spontanous classes) to set values?




this seems to work. I will do it this way, althought, the variable on player would be waaay easier to implement.


 



 


For some cases it could just disable spell selection menu on level up? I don't know what are the rules of showing this screen.



I think I can disable the spell selection for a wizard-type spellcasters who get 0 known spells at lvl up. Spontaneous spellcasters must have spellselection everytime to be able to swap spells though.


 



 


Also there should be some way to disable bonus spells gained from high ability value(negative values?)



I don't know what you mean, bonus spellslots or the extra spells known for wizard at lvl 1?


 



 


Also small question about Cls_spgn_*.2da or more general about spellslots for spontanous casters. Is it possible to set those values to unlimited(probably -1?) like warlock in nwn2?



It could be doable however too problematic to be worth it. Just set 1 spell use and increase spell uses with nwnx function after cast.


 



 


I've also noticed that you have some doubts about learning from scrolls for multiclasses. If subfeat solution in menu is not an option maybe, should use current highest spellcaster level? Or just add thsi spell to all class that can learn that spell? (If i can learn invisibility as assassin why i can't use that spell as wizard?)



No more an issue when spell scroll learning will be softcoded now. Yes by default it will support wizard only but builder will be able to modify and expand it.



               
               

               
            

Legacy_Valgav

  • Full Member
  • ***
  • Posts: 118
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #843 on: March 21, 2016, 03:53:45 pm »


               


Spontaneous spellcasters must have spellselection everytime to be able to swap spells though.




 


My first counter idea for that statement is creation of spontanous caster with learn spells only via scrolls. (I know I'm a terrible person  '<img'> )


 


So probably would be great to have additional flag to disable that screen.


 


Also sorry for misleading with bonus spells, I'm still confusing spellgain and spellknown tables.


               
               

               
            

Legacy_Philos

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #844 on: March 24, 2016, 02:55:01 am »


               

We have set up our server using the latest 1.72 beta 12 patch and require everyone to use the patch as we have integrated so much of it into the server that it would be unplayable without it. It is a private server right now, but we plan to open it up soon. 


 


We love all the work you are doing and any and everything you can bring into soft code is appreciated.


 


Are plans are to build our own set of classes, feats and to make a balanced and fun server. I'm the only coder so it is going slow.


 


I can't wait to try the new caster class stuff out as well as the new subrace system.


 


I would also like for the project to remain united as I don't see how a modular approach would help. Either you use most of the patch or you don't.


I also love the better AI. As we are building our server from the ground up using your patch all the way we have no use for backwards compatibility. I do understand the need for it, but we are not concerned with it.


 


I'm sure you have plenty of offers, but if you would like to use a server as a test bed, I would be willing to help. Like I said we are private right now with just 3 of us on the server, but I'd set anything you would like to test.


 


Again thanks for the great updates! 


               
               

               
            

Legacy_Gruftlord

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #845 on: April 06, 2016, 10:02:33 pm »


               Heyhey, i found a contender for "most obscure bug" report to date:
The sky domes render at the wrong depth.
so what that means is basically, they are rendered on a plane much closer to the camera than they should be, in fact closer to the eye, than many of the objects seemingly in front of it. while it doesn't overlap and block them, it still produces odd eye strain when viewed in 3D vision.

haha, ok so here's the thing:
i yesterday found out that it is now possible to render NWN using Nvidia's 3D Vision mode, thanks to some clever modders' hacks. And once you see actual depth information, some simple tricks like a physically too small sky-dome do no longer work.
I know this is an edge case, no "error" in the vanilla sense, the sky-domes can be disabled, and i'm one of maybe a handfull of people to use this kind of setup for NWN, but anyway, would someone be able to make a sky-dome model 2x or 3x the original size for me (and the 2 other people on this planet, that voted for improved 3d vision support here: https://forums.gefor...in-opengl-apps/ )?
That would be awesome.
Thanks.
               
               

               
            

Legacy_Jedijax

  • Hero Member
  • *****
  • Posts: 692
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #846 on: April 07, 2016, 05:39:52 am »


               

I'm sorry if this question has been made before (maybe even I was the one to pose it...), but I seem to remember this project was all bundled up together. I like some of the things in it, but don't want to use many others. Is there a version that is a bit more modular? Something that is separated into categories or grouped fixes that one may choose on their own? Thanks in advance.




               
               

               
            

Legacy_CaveGnome

  • Sr. Member
  • ****
  • Posts: 432
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #847 on: April 07, 2016, 04:09:56 pm »


               


Heyhey, i found a contender for "most obscure bug" report to date:The sky domes render at the wrong depth.so what that means is basically, they are rendered on a plane much closer to the camera than they should be, in fact closer to the eye, than many of the objects seemingly in front of it. while it doesn't overlap and block them, it still produces odd eye strain when viewed in 3D vision.haha, ok so here's the thing:i yesterday found out that it is now possible to render NWN using Nvidia's 3D Vision mode, thanks to some clever modders' hacks. And once you see actual depth information, some simple tricks like a physically too small sky-dome do no longer work.I know this is an edge case, no "error" in the vanilla sense, the sky-domes can be disabled, and i'm one of maybe a handfull of people to use this kind of setup for NWN, but anyway, would someone be able to make a sky-dome model 2x or 3x the original size for me (and the 2 other people on this planet, that voted for improved 3d vision support here: https://forums.gefor...in-opengl-apps/ )?That would be awesome.Thanks.



Great find Gruftlord ! I am interested in sky domes of diverse form and styles (look for my Spelljammer cylindric skyboxes for ex.). I can't do anything for Shadooows patch if it includes specific sky domes (or boxes if you are speaking Nwn OC like) but i plan to make real hemispheric ones in the future as a classic hack. it would be interesting to know what size is needed to give a convincing 3D feeling. In fact, I didn't know Shadooow's patch included any skyboxes...
               
               

               
            

Legacy_Gruftlord

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #848 on: April 07, 2016, 04:45:31 pm »


               I think it doesn't yet. But if he deems this worthy of an inclusion, it might in the future '<img'>

What would need to be done would be specifically taking the vanilla skyboxes and modifying them.


Any way: If you got some sky domes for the override folder, let me know if i can test them for you and give a rough estimate about their perceived size.
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #849 on: April 08, 2016, 10:05:30 am »


               


 


I'm sorry if this question has been made before (maybe even I was the one to pose it...), but I seem to remember this project was all bundled up together. I like some of the things in it, but don't want to use many others. Is there a version that is a bit more modular? Something that is separated into categories or grouped fixes that one may choose on their own? Thanks in advance.



 




No its not available and not in plan either. Reasons were discussed on previous page.


 


What exactly is the content you don't want to use?


               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #850 on: April 08, 2016, 10:07:56 am »


               


Heyhey, i found a contender for "most obscure bug" report to date:

The sky domes render at the wrong depth.

so what that means is basically, they are rendered on a plane much closer to the camera than they should be, in fact closer to the eye, than many of the objects seemingly in front of it. while it doesn't overlap and block them, it still produces odd eye strain when viewed in 3D vision.




No idea what are you talking about, but the vanilla skyboxes are horrible and I wanted to replace them.


 


Problem is that there is no suitable replacement, the skyboxes on vault were complete rework which didn't matched to original and thats a crucial feature for this project.


 


If someone else is able to fix the bug you mentioned I will gladly include it, but its not in my abilities.



               
               

               
            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #851 on: April 08, 2016, 04:10:26 pm »


               

I don't know how the 3D vision thing works but this may be an artifact of just using a large, hollow model.  Let me explain: The skybox may be large but the actual center of the model (the invisible model base) may be quite close to the player, residing in the center of the area.  If some program is trying to consider how close or far away an object is, there's a good chance it may consider the (invisible) model base as its center and not the part we actually see.  In such a case, it could lead to bad conclusions about how to display the model.  There are also one or two funky things about how skyboxes are drawn (or, actually, how things are drawn after skyboxes) which might confuse the logic in a stereoscopic viewer.


 


Just a guess.  



               
               

               
            

Legacy_Gruftlord

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #852 on: April 08, 2016, 05:11:13 pm »


               3D Vision uses the actual position of a polygon to render it at it's internal depth. it's certainly not rendered at character depth/model center. but rather the dome seems too small. yes, i see that it ha different rules for occlusion than other objects, otherwise it would block visibility for a lot of things, since, as i said, in 3d space it is too close to the camera.

so anyway, does someone know the name of the mdls? and is there a setting or ways somewhere to scale the size of the dome?
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #853 on: April 10, 2016, 09:10:41 pm »


               

Community Patch 1.72 Beta 13 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.

 

 
Neverwinter Nights Community Patch 1.72 beta 13 content:

Fixed broken stuff from previous Patch versions:

- fixed 1.71 bug in AI that prevented creatures to heal their allies

- fixed nonfunctional 1.70 feature to cast dispel at AOE location - this should prevent issues when the dispel cast under self didn't dispelled the AOE spell

 
Revisited features from previous Patch versions:

- Colored emote icons from The Amethyst Dragon changed for Melliuc emoticons from Melliuc

New fixes and features:

Tileset fixes:

tdr01.set (ruins) - numerous visibility fixes in the interior group tiles (details here)

tni02.set (castle interior 2) - numerous visibility fixes in the round rooms tiles (details here)

tno01_n01_05 - missing tile variant added (this was done in some of the previous beta version but not announced)

 
2DAs:

appearance.2da - fixed kobold footpad and thug's reflection settings (Gruftlord)

classes.2da - default package for shou changed to be monk default package

domains.2da - added new column Level_0 to enable specify domain catrips

spells.2da - fixed AI category for summon shadow spells (all 4 variants)

           - fixed AI category for true seeing (was TALENT_CATEGORY_BENEFICIAL_CONDITIONAL_AREAEFFECT while single target)

 
Spells, feats and special abilities:

- the AOE caster validity check improved, so it will no longer automatically destroy AOE created outside of the spellscript

 
Scripts:


- x2_inc_switches: added new switch to enable curse to bypass ability decrease immunity

- x2_mod_def_load: incorporated latest switch additions from 1.72beta 11/12/13, also the new switch with curse will be enabled automatically under hardcore&very difficult difficulty (if the module uses unmodified x2_mod_def_load script ofc)

- nw_i0_spells: removed duplicated shadow shield on the breach spell list

- 70_inc_nwnx: new library with custom functions that requires nwn©x_patch

 
AI:


- no more spell/feat decrementing when talent doesn't pass filter checks - this was big problem with sorcerers

- few small improvements in the AOE behavior to make it less problematic

- enabled undead creatures to heal their undead allies with negative energy spells

- smarter cure behavior:


  • creatures will now be able to cure fear, mind-affecting effects, mobility impairing effects and petrify if they have right spell to do so

  • creatures will no longer try to cure level drain with lesser restoration

- better see invisible behavior:


  • creatures will try to use revealing talents if they lose track of their last enemy

  • creatures will try to use ultravision in darkness

  • creatures will be able to use also potions and unequippable items with revealing spells

  • creatures will use detect mode if they don't have any revealing spells or if those spell didn't revealed anyone

- creatures will use restoration - others and cure critical wounds - others spells properly

- creatures will try to find other enemy if their current enemy is petrified

- fixed the AI engine so it can use any summoning feat (which normally doesn't work because of bug in ActionUseTalentAtLocation which is why summoning feats are disabled by default) however, no feat in feat.2da get the AI category changed to provide backwards compatibility in modules where this fix won't be functional

- additional AI spell usage checks:


  • creatures won't cast haste if they got item with haste itemproperty

  • creatures won't cast stone bones on non-undead target

  • creatures won't use see invis, ultravision, true seeing talents if they got true seeing effect or item

  • creatures won't use any sort of invisibility talent if they are already invisible

  • creatures won't use sanctuary if they are under greater sanctuary effect

  • creatures won't use minor globe of invulnerability if they are already under effect of different/stronger version of this spell

  • creatures won't use ghostly visage if they are already under effect of different version of this spell or ethereal visage spell

  • creatures won't use any sort of spell mantle talent if they already have any spell mantle active

  • creatures won't try to substitute inflict spells when casting them on self/ally (in these cases its on purpose)

  • the haste and true seeing checks will now be also verified on items, creatures with these effects on item properties won't waste time casting these spells

- implemented "intelligence" check, intelligent creatures will avoid use spells on immune and such. Intelligence is determined via AI level (High/Very High) or racial type (player races, dragons, feys, outsiders, magical beasts, abberations) or base intelligence score 10+ excluding vermins, oozes, animals and beasts (note many of these checks were there already, now will be used only by smart creatures)

- additional AI intelligence checks:


  • readded check for using drown and level drain usage spells on naturally immune targets which was disabled in 1.70

  • high ai creatures will use breach spells only when the enemy has spells which breach removes

  • high ai creatures will try to substitute dispel spells for breach, if enemy has spell mantle/shadow shield

- Tasha hideous laughter added into AI purpose mind-affecting spells list (which will prevent casting this spell on immune targets if the creature is smart enough)

- additional High AI features:


  • high ai creatures will be able to summon Epic Dragon, Epic Mummy and Fiendish Servant

  • high ai creatures will be able to use mass heal, healing circle, circle of doom and negative energy burst to heal their allies

  • high ai creatures will be able to use Greater Restoration to heal self or their allies

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

- fixed a memory leak related to the OnPlayerLeave improvement from NWNX_Patch 1.15

- fixed server crash when player with more than 255 memorised spell slots login

- fixed combat informations update after level down

- fixed monk speed interaction with haste

- fixed buying items from store with full inventory issue (such item was destroyed from store if not infinite)

- AOO softcoded script reworked to run also when the AOO has no specfic target but instead is used on OBJECT_INVALID which translates to everyone near

- curse feature to ignore ability decrease immunity is no longer automatically enabled and is now dependant on module switch

- counterspell button will no longer be enabled when the radial menu is opened at location

- two new [Server Options] in nwnplayer.ini


  • Disallow New Characters: if 1, server will not accept new characters (purpose is to enable premade characters only with usage of base server vault)

  • Num Tiles Explored: will change how many tiles are revealed in front of character. Allowed values 1-10, default value is 8, recommended value is 4.

- fixed the bug in unarmed damage calculation where medium sized Monk11+/Shou Disciple5 had unarmed damage 2d20

- unarmed damage calculation externalized into 2da


  • classes.2da contains a new collumn "UnarmedDamageTable" which contains a name of the 2DA with unarmed damage calculation

  • the cls_unarm_* structure enables to set different values for tiny, large and huge creature size as well, see cls_unarm_monk and cls_unarm_shou for details

- the smite evil and smite good damage calculation made custom content compatible: it will automatically stack any custom class levels with paladin/bg if such class have smite evil/good in a feat list

- spellcasting softcoded and externalized, it is now possible to create custom spellcasters or modify vanilla ones, details will be explained in special readme

- softcoded learning spell scrolls into "70_s2_learnscroll" script

- new feature to pick up custom race/subrace - is it possible to receive custom playable race in character creation via the subrace field - player must input the string that matches custom race "Label" collumn in racialtypes.2da. (Note: only dynamic appearances are allowed, client crashes if you allow player to select race that doesn't have such appearance)

- added new custom functions for scripters:


  • NWNXPatch_IsInUse

  • NWNXPatch_GetPlayerLanguage

  • NWNXPatch_GetObjectById

  • NWNXPatch_PlayMovie

  • NWNXPatch_BootPCWithMessage

  • NWNXPatch_GetPCFileName

  • NWNXPatch_GetNumAreas

  • NWNXPatch_GetNthArea

  • NWNXPatch_GetNoRestFlag

  • NWNXPatch_SetNoRestFlag

  • NWNXPatch_GetSurfaceMaterial

  • NWNXPatch_GetPvPSettings

  • NWNXPatch_SetPvPSettings

  • NWNXPatch_DumpEffects

  • NWNXPatch_SetCurrentHitPoints

  • NWNXPatch_SetTag

  • NWNXPatch_SetTrapFlagged

  • NWNXPatch_SetTrapCreator

  • NWNXPatch_GetConversation

  • NWNXPatch_SetConversation

  • NWNXPatch_SetBaseItemType

  • NWNXPatch_SetCreatureSize

  • NWNXPatch_GetEquippmentWeight

  • NWNXPatch_SetGold

  • NWNXPatch_GetSoundsetId

  • NWNXPatch_SetSoundsetId

  • NWNXPatch_JumpToLimbo

  • NWNXPatch_GetMovementRateFactor

  • NWNXPatch_GetFlanked

  • NWNXPatch_GetIsFlatfooted

  • NWNXPatch_GetEncumbranceState

  • NWNXPatch_SetMovementRate

  • NWNXPatch_BroadcastAttackOfOpportunity

  • NWNXPatch_GetUsedDeflectArrows

  • NWNXPatch_SetUsedDeflectArrows

  • NWNXPatch_SetRacialType

  • NWNXPatch_SetXP

  • NWNXPatch_SetAge

  • NWNXPatch_SetGender

  • NWNXPatch_SetAbilityScore

  • NWNXPatch_GetUsedEpicDodge

  • NWNXPatch_SetUsedEpicDodge

  • NWNXPatch_GetEncounterFrom

  • NWNXPatch_GetBodyBag

  • NWNXPatch_SetBodyBag

  • NWNXPatch_GetFactionId

  • NWNXPatch_SetFactionId

  • NWNXPatch_GetKnowsSpell

  • NWNXPatch_AddKnownSpell

  • NWNXPatch_RemoveKnownSpell

  • NWNXPatch_GetKnownSpell

  • NWNXPatch_GetSpellSchoolSpecialization

  • NWNXPatch_SetSpellSchoolSpecialization

  • NWNXPatch_GetDomain

  • NWNXPatch_SetDomain

  • NWNXPatch_GetMemorisedSpellSlot

  • NWNXPatch_SetMemorisedSpellSlot

  • NWNXPatch_GetMaxSpellSlots

 
Notes:

 

1) I had quite a big pause and I might forgot to document a lot of things especially around the nwnx_patch plugin, also didn't tested thoroughly latest changes I had to do. I really have no time to re-test everything after making a significant change in the code. So expect things might not work as should, that way you won't be disappointed. Also the documentation to the latest nwncx_patch features (custom races selection) is not complete. If someone can help with that, contact me I will give you full access to the current documentation on my google drive.


 


2) The PlayMovie function works only for singleplayer. Its possible to make it work for multiplayer, but the problem here is that it needs to setup custom server-client communication, essentially what nwnx_connect is doing. Im not yet convinced to do that. Because if I should do it, then I see no reason to have nwnx_connect separated so I will most likely take over its functionality. Which might cause conflicts with the original plugin/developers... Anyway, with the server-client communication I would be able to also implement SetAnimLoop, SetTexturePack, SetTextureReplace functions and maybe more.



               
               

               
            

Legacy_Gruftlord

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #854 on: April 10, 2016, 10:27:02 pm »


               

is spells.2da supposed to be in root folder?


 


edit: love the new emote icon. But could the main/eye icon be changed as well? the neon green sticks out very much now.


 


As an ongoing endeavor, would you say you'd prefer if the colorized icons had a more unified style? currently the coloring is a bit mixed from different sources. While i think you chose the most fitting for vanilla, would you agree, that further unification would be good? Personally, i like the style of the skill icons the best. Very close to vanilla with just a tiny bit of extra color. I think the ones from Melliuc are an awesome base for adding this kind of style on top.