Author Topic: Innocuous Familiars  (Read 1204 times)

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Innocuous Familiars
« on: July 15, 2015, 06:57:06 pm »


               

First a shameless plug:


Some years back I released my system for familiars, Innocuous Familiars. This is a script framework with a small HAK which pulls together almost every pen and paper feature of familiars to NWN along with a good part of the flavor.


 


As released it operates entirely without NWNX or a database. Things like persistence, rule changes, and so on are handled by scripting, blueprints, and the like. The released version also does not require any custom content for the animals. The only CC I released for it were icons (I believe I released a few, but its been a long time), along with the 2da changes that the system requires. It can also take advantage of the Community Patch's spell hooking features if you want, but does not require the patch to function.


 


For being light-weight I am very proud of what I pulled off and am disappointed that I received very little feedback on it. More feedback could have made it better.


 


Next a question:


On my own I have extended this system for my own purposes and for the joy of the few players that played with these features. Lately I have been exploring how NWNX (linux flavor only) could improve it, and started on a rewrite. So far I am looking at using the linux version of nwnx_funcs.


 


While I will tinker at this on my own, I wonder if it would be of any value to anyone else. Would this be of interest to anyone but me? If so, I'll try to pull together my work into a public release. But if not, I'll just carry on on my own.


 


And a request:


If anyone is interested in a collaboration, I'd be happy to work with you. There are a number of art assets that could make this package really great. I've made use of the stuff on the vault, and its all great, but extending or improving some of these assets would really be great.



               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
Innocuous Familiars
« Reply #1 on: July 15, 2015, 08:11:37 pm »


               

I'm in!   I was just going to ask you about this package. It's on my list of things to pull in and I've opened it up and looked in but have not done more yet.  it looks good.


 


I'd like nwnx_funcs support. But i'd  like it wrapped if possible so that it does not require it. I do that in a number of places. Sometimes its a no-op, sometimes it's a cludgy work around. But I strive to have my PW module run in single player for testing purposes. Obviously, some parts are not testable that way, but a large percentage is.


 


We can talk here or email or whatever if you're interested.  I won't be much help with art assets though.


               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Innocuous Familiars
« Reply #2 on: July 15, 2015, 08:37:23 pm »


               

I've thought about that too. I have a module variable that I call "DEVELOPMENT" and when it is "on" I branch around with some code. I could add that in to this. HOWEVER - some of the things I'll be doing with NWNX will not work without it anymore because I am working at limiting my reliance on blue prints.


 


Examples:


  • one new change is to put the familiar's base ability scores and the ability that improves on level up in the 2da. This requires nwnx_funcs to work. previously I had been using ability bonuses on the creature properties item. I am now removing those ability bonuses from the property item, and looking to remove some of those creature property blueprints to cut out cruft.

  • I'm also now setting base HP per evel in the 2da. The defaut is 4hp per level, but now this can be more diverse. Without nwnx it will stick to 4hp/level.

 


Features that do not require NWNX however will remain untouched. I don't feel like breaking what can not be improved with NWNX.



               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
Innocuous Familiars
« Reply #3 on: July 15, 2015, 08:57:39 pm »


               

That could work. I'll probable end up massaging the integration bits anyway to fit with the way I have things architected anyway. What I do is wrap all the actual NWNx calls in a nwnx_include file. There I implement the check for NWNX support and pass the call along or do whatever workaround is available. The init DB routine for NWNX in aps_include simply sets a HAVE_NWNX variable on the module.   That's for the funcs and such.


 


All the database stuff goes through a persistence API that can be set to aps or dummy (or bioware or ndbe but I never use those anymore). So all the code looks the same (SetPersistentInt(object, name, value) etc). Presumably there is some persistence in addition to using some of the nwnx_funcs? I'll have to tweak that anyway.


 


I'm out of town starting tomorrow evening so I may not do anything for a couple weeks. But when I get back I'd be happy to see what you've got.


               
               

               
            

Legacy_The Mad Poet

  • Hero Member
  • *****
  • Posts: 715
  • Karma: +0/-0
Innocuous Familiars
« Reply #4 on: July 15, 2015, 09:09:53 pm »


               

Ever thought of possibly creating an 'Improved Familiar' feat? Something that you can take that boosts the stats on your familiar. Not exactly like PnP, but it would be close.



               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
Innocuous Familiars
« Reply #5 on: July 15, 2015, 09:21:47 pm »


               

@henesua, sure makes sense. I don't care about it being fully functional in SP. As long as it basically works so that after I pull this in I can still test in SP.  Presumably the application of those changes (stats, Hit die) would map to no-ops then and you'd end up with the base critter. Works for me.


 


I just took a look at the existing stuff where I have it in my staging area. Now I recall why I have been putting it off '<img'>  It'll require some serious merge efforts to work with my current 2das and spell/feat system.  And it touches a lot of places.


 


@Poet, speaking for myself, yes, I have such a thing now. I think it came from the NWNE stuff I pulled in.  That'll be one the merge points '<img'>



               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
Innocuous Familiars
« Reply #6 on: July 15, 2015, 09:24:19 pm »


               

Also, out of curiosity and a desire not to do things more than once, are your current tweaks and planned nwnx extension changing the normal 2das from what you've already released? That is, appearances, spells, feats, iprp_* etc...



               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Innocuous Familiars
« Reply #7 on: July 15, 2015, 09:55:06 pm »


               

The only 2da I have touched is the one for the familiars. I'll be changing both of those. As far as appearances, spells, feats and so on goes I was not planning on touching them.


 


An improved familiar feat is possible, but in a way I have already implemented the PNP version of that. This system is built around the idea of targetting a creature in game with the Bind Familiar spell and making it your familiar. You have to have the familiar in the 2da for all of these custom familiars, but otherwise it works. For example, the system I have uploaded now has an Imp familiar which is much more powerful than the standard ones I provided. So what I am saying is, as a builder you can provide powerful familiars that a player can find in game and bind to them.


 


All that said, I will look into the idea of the feat improved familiar and consider what that would do. Perhaps you are more capable of binding a familiar when you cast the spell. Or perhaps all familiars you bind get stat boosts as you suggest.


 


For what it is worth: I will also be gone until August. So this is going to take awhile to complete.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Innocuous Familiars
« Reply #8 on: July 16, 2015, 10:22:20 am »


               

I found them too squishy to use in a module focused on action which is what I am building (or not). I know its pnp and I like some of the features like pass under doors but other than that they doesn't suit my module.


 


As for features. Why would you want to provide HP / Ability per lvl via 2da when module can easily modify the blueprints *if* he would want to do this?



               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
Innocuous Familiars
« Reply #9 on: July 16, 2015, 01:17:30 pm »


               


The only 2da I have touched is the one for the familiars. I'll be changing both of those. As far as appearances, spells, feats and so on goes I was not planning on touching them.


...


For what it is worth: I will also be gone until August. So this is going to take awhile to complete.




Cool. I'll work on getting all those 2das merged first then. Couple more questions in that area: You point to the birds update for example. Does the appearances.2da have all those lines or is a separate merge needed (I suppose I could just look '<img'>?  Do you happen to know off hand if any of that is already in CEP or Q? Also will you be okay with my pulling the hak bits into my haks?


 


As to the coding and nwnx, write it however it works for you, of course. I'm going to have to adjust all the integration points anyway.


               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Innocuous Familiars
« Reply #10 on: July 16, 2015, 03:00:28 pm »


               

Meaglyn, let me take back that about appearance.  I was going to add some models so that I could release this with more pre-set familiars. If you would prefer to make your own familiars then don't sweat this. But if you plan on using my pre-sets then hold off on a merge of appearance and hen_familiar.


 


Another addition I plan to share are Rolo's mounted familiar VFX's. I'll need to get his approval of course, but I'd like to do a proper integration that shows those in action.


 


I have no problem with you merging HAK content at all. Feel free. I will likely be using the models I shared to round out the familiars.


 


 


Shadooow, you don't need to apologize. I understand that the familiars as offered are probably not to everyone's taste. You could however easily make your own familiars, and make them all more powerful. This system is not restricted to weak familiars. Its very customizable. And with this NWNX change it will be much less work to construct familiars with more hitpoints.


 


With regards to your question about editing blueprints instead of a 2DA. I think you have misunderstood how this system works. The idea is to enable the familiars to be dynamic. You have one set of creature blueprints for all familiars, and never have to touch these ever. Instead the familiar is generated programatically from templates described in the 2DA. This allows the Bind Familiar spell to work. A wizard can change their familiar in the middle of play whenever they successfully bind a new target.


 


With the changes I made yesterday using nwnx_funcs, this system will no longer rely on the familiar's blueprint for adjusting hitpoints. This was one of the weaknesses of the original version. Since I relied on creature skins to implement most of the familiar customization and only had one familiar blueprint (creature) for all familiars, I was only able to adjust hitpoints with CON bonuses and TOUGHNESS feats. Now you can set hitpoints per level and have a wide range of hitpoints by familiar type.


 


Other changes with nwnx_funcs allow the dynamic adjustment of skill ranks on the creature rather than applying skill bonuses to the skin. This means that I can add the Open Lock skill as an option without giving at least 1 skill point in Open Locks to all familiars (which would enable them all to Open Locks regardless if whetehr you wanted them too or not).


 


The ability scores are now also better too since they are no longer applied as bonuses on the skin.


 


 


All that said though... I am tempted to entirely scrap the old system and rethink it with NWNX. I could potentially do away with a lot of the 2DA, and just store whatever creature the player binds in a database, and then use SCORCO to recall it when it is summoned. That would be awesome! Would take a lot of work to rethink this entire system, but getting rid of all of those damn familiar blueprints entirely would be really great.



               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
Innocuous Familiars
« Reply #11 on: July 16, 2015, 06:43:55 pm »


               

What 2da set are you starting from? Are these based on stock 1.69? CPP?  Using my spiffy diff utility it's trivial to see what you've done but it does help to know the starting point.


 


Going whole hog to NWNX would preclude doing much of anything with it w/o having a server setup. But given you can change the script set appropriately it could be pretty cool. But, let me know of you go that route and I'll try to grab a copy right before that '<img'>


               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Innocuous Familiars
« Reply #12 on: July 16, 2015, 06:56:26 pm »


               

The first draft is about perfect for a non-server setup. All I need to do is add a bunch of prefab familiars in the 2da and the custom content linked to them. I should just update the original and do that.


 


If I am able to pull of the NWNX version the way I want, I will be rewriting a lot of this. The goal is to eliminate special blueprints for familiars and just use normal creature blueprints.


 


Anyway, I am about to leave on vacation for two weeks, this is just talk now. I've already put the NWNX hooks into the original where the original was a little kludgey, and it works nicely. But the idea of a complete rewrite to take advantage of NWNX fully is very appealing right now. I think it would be fun to make work. As would expanding this to include animal companions.... and an animal friendship spell or something.



               
               

               
            

Legacy_PLUSH HYENA of DOOM

  • Hero Member
  • *****
  • Posts: 995
  • Karma: +0/-0
Innocuous Familiars
« Reply #13 on: July 20, 2015, 10:13:57 pm »


               

"Innocuous" and "PHoD" somehow don't seem likely in the same sentence, but...


 


What required art assets were you referring to in the first post? I hardly imagine you want filthy great Giant Killer Death Spleen familiars. As has probably been manifestly evident over the last eight, nine years, I don't do subtlety.


But if there IS anything I can hit with a brick in an efficacious manner for you...?



               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Innocuous Familiars
« Reply #14 on: August 04, 2015, 06:15:08 am »


               

Sorry I missed this PHoD. I was two or so hours into a two week road trip when you posted this.


 


Any of the following would be really great, and I am not posting this as a request just to you but a broad request of nice to haves that I would be greatly appreciative of should anyone choose to do any.


 


CREATURES


 


ICONS


  • new spell, scroll, feat and radial icons for familiars. the spell is called "Bind Familiar" and is necromantic so while the existing icon works, a new icon could be great

  • new radial icons for familiar abilities. I had made icons for pass door, flying, and familiar spells etc... but perhaps others could do these better than I did.

  • feat and radial menu icon for scent ability

  • spell, scroll, feat and radial for spider climb

  • 1x1 item icons for different kinds of spell foci. (things that would represent something gathered to denote a place - pinch of dirt, rock, splinters of wood etc... - and things you can gather off of an individual - hair, scrap of clothing, scales, skin etc...

 


VFX


  • more mounted familiar VFXs including but not limited to Imps, Pixies, Pseudo-Dragons, Frogs, Lizards, Rabbits, Mice (Rolo did the first set of these and they are awesome)

  • new spell VFX for bind familiar

  • spell sharing VFX (when the master casts a buff on self the spell is also cast on familiar. a beam VFX for this which shows the master and familiar linked magically or spell powers transferring would be cool)

 


ANIMATIONS


  • More animations like OTR's dog peeing animation would be great (I also lost this anim and would like to have a copy of it again) as applied to other animals like cats, rats etc....

 


EXTRA CREDIT STUFF THAT I AM NOT YET SURE I WOULD USE FOR THIS BUT WOULD BE REALLY NICE IF I RELEASED A "PETS" SYSTEM


  • new animal companion and wildshape icons would be great, but I have not made a list for these yet.

  • animal friendship spell icon