Sunday, June 1, 2025

Fantasygrounds Unity: Importing an NPC from a text stat block.

 Fantasygrounds has been my primary VTT of choice for many years now. For most of that time I have been running games using official WoTC D&D 5e campaigns. Recently, I have been working on a conversion of the classic D&D modules T1 - 4 The Temple of Elemental Evil which I purchased a number of years ago from DMsGuild

How I manage the conversion

In FantasyGrounds I create a new campaign to hold all the information from the original module and any additions I deem necessary and then export the campaign contents as a module to reference in the active campaign. I will not go into the details of this here, though if people are interested, they can let me know in the comments. 

There are some videos that cover this and many more topics here

This post is primarily for my benefit, to remind me of my process and in particular to let me remember, how I approached this, and some of the issues I had in the process and how I troubleshot those issues. 

The NPC character sheet in FantasyGrounds

The basic info on the NPC character sheet on FantasyGrounds Unity can be found here 5E NPCs and Encounters - Fantasy Grounds Customer Portal - Fantasy Grounds and pretty good introduction to text import of NPCs can be found here Using the NPC Importer

Some further information here Generating NPCs and Content for RPGs with AI Toolshttps://static.wixstatic.com/media/33b97f_7b4f32f552d54bc5b0ba0fd9459dcf15~mv2.png

I have a number of sources of NPC information, I can copy existing NPC statblocks and modify them and I can create an NPC from scratch by filling in the information directly into the NPC character sheet in FantasyGrounds or I can import text statblocks from D&DBeyond or other websites or pdfs I have purchased or that are freely available on the internet. 

A text NPC statblock can look like:

"Fred
Medium humanoid (human), Chaotic Good
AC 20
HP 30
Speed 30 ft.
Str DEX ........    etc"

Instructions for using the NPC importer can be found in the video linked under "Using the NPC Importer" which gives a very good overview of the process. The problems arise when this process does not work to produce a complete statblock.
These issues arise from the formatting of the statblock presented for import and how it deviates from what the import parser expects. 
There are 3 formats currently supported: "024 Core Rules " the expected default, the ""024 D&DBeyond" format and the ""022 Monsters of the Multiverse" format. I am not sure how the D&DBeyond format differs from the "Core Rules" version. 

The NPC stat block Import tool





The issue in that often any given third party statblock may not follow that format exactly.

One of the sources I was using for NPC statblocks is a conversion guide available from DMsGuild called "The Temple of Elemental Evil conversion guide with maps by Andrew James Woodyard and Eric Noa"

From the picture above one can see an example of an NPC statblock for import. Things to note for 2024 Core Rules the Armor Class is expected to be AC and Hit Points as HP followed by the number and so on. The issue I was having was that initially I had "Armor Class" and "Hit Points" and the initial sections were not parsing. 

The two panes in the tool are on the left the base statblock and on the right any world building or DM notes in the NPC.

Once I changed it worked until the parser got to the ability scores and then it failed, initially completely and then after some searching it would convert Str but nothing until traits.

An NPC character sheet that did not import correctly
A failed attempt to import. 

In this iteration I was getting as far as Dex before the parser failed. As one can see the Stats for Con, Wis and Cha are all 0

 
What I discovered that if one viewed the notes tab of the FantasyGrounds NPC Statblock it appends the Statblock to the Notes. 
See the image below. 
NPC Character Sheet with Notes Tab shown with an arrow.
NPC Character Sheet







Switching to the Notes table reveals that the Dex save shown on the right is the default derived from the Dexterity ability (12) of +1 and not the actual save in the original ability section from the text source.

This can be seen in the image of the notes section on the right, captioned "Elmo Notes".

Elmo Notes
Here the save modifier for Dex save is blank and that indicated that there are too many spaces in the ability scores block between the Dex modifier and the save modifier. 

Incorrect formatting in this section can result in a complete failure to import most of the statblock. An NPC record will be created but most of the information past the point of failure may not be imported.

What I have noticed is, it is very easy to get the ability score formatting wrong, and nothing gets imported or it skips the ability scores and the skills, senses and other parts of the NPC information between the ability scores and the traits section.

It is a matter of trial and error to correct this. Just delete the failed imported NPC records in Fantasygrounds. 

It is probably a good idea to set the NPC Group to "Uncategorized" when initially importing and then move the final version to the category it should properly occupy at the end. By initially importing into a category that is unpopulated or has a low population makes it easy to find the record that was imported. 

Keyword ordering is also important, for instance, my imports were not bringing in the XP value of the nps. Again, looking at the Notes tab version of the statblock makes this more obvious. Since I can see an XP entry but one with no value and then realized that the 2024 version places the numerical value at XP not before. 

 


Monday, December 16, 2024

Should you buy the new (2024) D&D Player’s Handbook?


D&D Party in combat, gold dragon in the background and red dragon in the foreground
    The new edition of Dungeons and Dragons is out, and you may be wondering if it is for you. I hope to provide some enlightenment. I cannot really know your wants and needs, but my first impression of the new Players Handbook for D&D (2024) is that it is one of the best ever. I believe that it is easier to read, more digestible and possibly easier to reference at the table than any other version. That said, I have not read every Player’s Handbook ever, even though I have been playing since the mid nineteen eighties, I stated with Basic D&D but my first actual Player’s Handbook was the third edition one from Wizards of the Coast The last one is rated as a “possibly” since I have not really used the printed book at the table, mostly because I play online and referencing material digitally is a different experience and the tools for online access can cover up a lot of issues one may have with a printed book.

Note: I have now managed to get my hands on a physical copy of the Player’s Handbook (I wanted to support a local store) and I am impressed. The font size is good, clear and legible. Most things should be easy to find at the table. The index is in a larger font also. The one quibble in that conditions are not described together, they are individually listed in the index and if I was using this at the table, I would bookmark page 363 of the glossary (where conditions are listed and enter the page numbers for each one by the listing.


    If one is a new player and do not have the existing books then it is pretty much a no brainer, this is the version if one wants to play official D&D, there are alternatives like Tales of the Valiant from Kobold Press or Advanced Level UP 5e from EnWorld Publishing. I would also be of the opinion that that the classes from the 2014 version of the PHB (Player’s Handbook) would work mechanically alongside their 2024 counterparts, though a player playing a 2014 version of a class alongside a 2024 version of the same class may feel that the older class is not as competitive or flexible as the newer class. This is especially true of martial classes and the new martial feature of weapon masteries.

What is included and how does it compare to the 2014 version?

    The 2024 Players Handbook (PHB 2024) gives roughly the same information as the 2014 version and in a similar order, its style is a lot terser, and the order of some elements are changed and are more complete in the order they are presented. For example, in the 2014 PHB the introduction has a short couple of paragraphs describing the basic game play loop: the DM describes the scene, the players state their intentions, actions are resolved and results narrated. The rules for this in the 2014 PHB are referenced later and spread over 3 chapters.

    In contrast, while the 2024 PHB opens similarly with a brief reference to the origins of D&D and then launches into a description of what you need to play, how the book is structured, a quick reference to the broader published D&D multiverse and what is new in this book. It then covers how to play the game, covering the basic concepts and terms with a note to reference the Glossary at the back for more information. The remaining chapters cover, Class descriptions, Origins (species and background), Feats (special abilities) and Spells in that order. The whole this is pretty tersely written and while the basic flow is clear enough, there are places where a group (or DM) is going to read the rules and when they are putting it all together, find that the rules appear to allow some interactions that they may have trouble justifying in the fiction. Then they are going to have to make a judgement call as to how to interpret that or even rule out certain outcomes. There are a few places where I feel a few more words in the description of something would have made this a bit clearer.

    These are not rules that can be blindly followed and have a satisfactory experience. I am not even sure that its possible to write rules to a game as complex as D&D and achieve such a thing but there have been editions that made the attempt. I think that this make the learning experience better and simpler than before and most thing are in one or two places, the relevant chapter or in the Rules Glossary. One example of the ease of use is that spell lists specific to classes are now in the class descriptions. In 2014 the spells that a class had were in the spells section. One of the downsides of this, is that conditions (usually debilitating effects that characters can suffer, like “stunned” are defined in the glossary section and are not listed separately. I would advise that that if playing from the physical books to make a cheat sheet listing the common conditions. 

    There are no default gods listed, and the book has been stripped of most anything that could be construed as a default background. It would appear to be Wizards of the Coast’s policy now to make setting separate from the players handbook. It will be interesting to see how Wizards handle this going forward. Will they do setting books or will they add more setting material to adventure books.

Thoughts

    Overall, I believe that this is one of the best versions of the Player’s Handbook ever, clear, concise and everything should be easy to reference and find at the table. With the exceptions I have noticed for some rules interactions and things that one might reference often like the conditions. I think that the power level of the classes is higher than the 2014 average but that many groups could play with both versions without much issue. Old adventures should run satisfactorily though the DM may want to change the boss fights to account for new abilities. It will be interesting to see what the new Monster Manual brings to the table. 

    One of the areas where I have a real issue with the new book is in the backgrounds section. I believe the given list of backgrounds is limited, in part because not all origin feats are of equal utility. Some are much better to have than others, depending on the campaign. I believe that the game would be much better if it allowed custom backgrounds explicitly in the Players Handbook instead of an option tucked away in the Dungeon Master Guide. There are explicit instructions on how to use backgrounds from other books in chapter 2 and this is referenced in the backgrounds chapter. It is easy to infer how to create a custom background and I think it should be the default but consult with your Dungeon Master. 

    One sidebar that I feel is missing is an explicit callout to subclasses. Each Class features list as a sentence at the end of the Level 3 Subclass feature that says (for the barbarian class), “For the rest of your career, you gain each of your subclass’s features that are of your Barbarian level or lower”. This is the only reference to allowing older subclasses to be used in the game. I think it could have used a more explicit call out. There are also a few rules interaction that if taken too literally can lead to some rather silly places, the stealth rules are a particular example of this. There are also a few spells that are open to broken exploits I would refer the reader to Treantmonk’s Temple on YouTube for more details.


Overall

    If you are perfectly happy with the existing rules there is little reason to change here. This is a variant of the existing game not a new version. If you are new to D&D I have no hesitation in recommending this book. If you want to refresh and add something new to the exiting rules this could be worth checking out. But you can look before you buy as can check out the free rules on D&DBeyond and there will be an open source SRD in 2025.


Sunday, November 10, 2024

Is Conjure Elementals Really Broken


Does Conjure Minor Elementals damage apply to multi target cantrips like Eldritch Blast?


Hi all,

Treantmonk a prominent YouTuber recently did a video (recent as in the last 3 months 😊) on how the spell Conjure Minor Elementals breaks the game of D&D. I think he may be interpreting the rules incorrectly.

Now the basis of his argument centres around the example of a valor bard build with a one level dip in warlock.

The Warlock dip is to access Eldritch Blast cantrip and the Valor Bard is because Conjure Minor Elements is not natively on the bard spell list, but they can grab it at level 10 with the Magical Secrets feature, and they get the cantrip Shillelagh also. The valor subclass can also, at level 6, if they take the attack action, they can swap out an attack from the Extra Attack feature with a cantrip.

To set up the whole thing, the bard is using the cantrip Shillelagh to make their attacks and then swap out an extra attack to cast Eldritch Blast, and since their initial attack (using shillelagh) uses a club, which is a light weapon, that allows an extra off hand attack with the bonus action, with another light weapon.

At the end of all of this, at level 11, the Valor Bard 10/Warlock 1 gets 6 attacks per turn and with Conjure Minor Elementals up and running (Plus 4d8 extra damage) they get six attacks per turn.

• 3 from Eldritch Blast
• 1 from the club attack via Shillelagh
• and 1 from the light weapon bonus attack

Or do they?

My argument is that that bard/Warlocks only gets 3 attacks, they make 6 attack rolls but only 3 attacks.

That is, Eldritch Blast as a cantrip give one attack within the meaning of the rules even as it gives multiple attack rolls. There is a reason that the rules glossary distinguishes between an attack and an attack roll.

First let’s look at the relevant text of the spells in question:

"Shillelagh

Transmutation Cantrip (Druid)
Casting Time: Bonus Action
Range: Self
Components: V, S, M (mistletoe)
Duration: 1 minute

A Club or Quarterstaff you are holding is imbued with nature’s power. For the duration, you can use your spellcasting ability instead of Strength for the attack and damage rolls of melee attacks using that weapon, and the weapon’s damage die becomes a d8. If the attack deals damage, it can be Force damage or the weapon’s normal damage type (your choice).

The spell ends early if you cast it again or if you let go of the weapon.

Cantrip Upgrade. The damage die changes when you reach levels 5 (d10), 11 (d12), and 17 (2d6).
"

Ok, this seems to be ok and allows the Attack Action to be conducted using Shillelagh and since the character has Extra Attack, they can make 2 attacks in a turn plus a bonus attack with a light weapon on turns other than the one they cast Shillelagh.

So far, so good, what about Eldritch Blast?

"Eldritch Blast

Evocation Cantrip (Warlock)
Casting Time: Action
Range: 120 feet
Components: V, S
Duration: Instantaneous

You hurl a beam of crackling energy. Make a ranged spell attack against one creature or object in range. On a hit, the target takes 1d10 Force damage.

Cantrip Upgrade. The spell creates two beams at level 5, three beams at level 11, and four beams at level 17. You can direct the beams at the same target or at different ones. Make a separate attack roll for each beam.

"


Here there is some interesting wording. The Casting time is one action but not terribly relevant since the level six Extra attack feature allows the substitution of a cantrip for one of these attacks.

Eldritch Blast however in the main body refers to the cantrip making a ranged spell attack as the effect of the spell but the extra beams are not referred to as separate attacks but as attack rolls. My view is that the cantrip only counts as a single attack, even if directed at multiple targets.

Now looking at Conjure Minor Elementals and the glossary definitions of Attack and Attack Rolls:


CONJURE MINOR ELEMENTALS

Level 4 Conjuration (Druid, Wizard)
….
You conjure spirits from the Elemental Planes that flit around you in a 15-foot Emanation for the duration. Until the spell ends, any attack you make deals an extra 2d8 damage when you hit a creature in the Emanation. This damage is Acid, Cold, Fire, or Lightning (your choice when you make the attack).
…..”

The relevant section of this spell is bolded, it adds the damage to any attack.

Now for the rules of the attack action and attack roll.

When you take the Attack action, you can make one attack roll with a weapon or an Unarmed Strike. …….

An attack roll is a D20 Test that represents making an attack with a weapon, an Unarmed Strike, or a spell. See also chapter 1 (“D20 Tests”).”

There is distinction drawn between Attack and Attack Rolls, what does the general rules say about making an attack.

"Making an Attack

When you take the Attack action, you make an attack. Some other actions, Bonus Actions, and Reactions also let you make an attack. Whether you strike with a Melee weapon, fire a Ranged weapon, or make an attack roll as part of a spell, an attack has the following structure: ….."

This would seem to imply that a spell that makes an attack roll is an attack for the purposes of the general procedures of the game. So Eldritch Blast is an Attack for the purposes of CME but what about the beams?

it also implies that the Extra Attack feature confers an attack.

Well, here I want to look at what Hunter’s Mark and Hex have to say – Which was what triggered my thoughts on this matter).

"Hunter’s Mark

Level 1 Divination (Ranger)….You magically mark one creature you can see within range as your quarry. Until the spell ends, you deal an extra 1d6 Force damage to the target whenever you hit it with an attack roll. You also have Advantage on any Wisdom (Perception or Survival) check you make to find it….

Hex

……You place a curse on a creature that you can see within range. Until the spell ends, you deal an extra 1d6 Necrotic damage to the target whenever you hit it with an attack roll. Also, choose one ability when you cast the spell. The target has Disadvantage on ability checks made with the chosen ability……"

These spells specifically call out attack rolls, so the would apply to a spell like Eldritch blast but they do not use the word attack like Conjure Minor Elementals does.

With all of this considered I believe that Conjure Minor Elementals only adds damage to an attack and that Eldritch Blast or any other multi-target cantrip is only a single attack for the purposes of this spell. Otherwise, why make the distinction in the Eldritch Blast spell between the Attack in the body of the spell but refer to the extra beams as “Attack Rolls” and to refer to the damage in Hunter’s Mark and in Hex as applying to the “Attack Rolls”.

So, in the linked video, at 9 minutes in the CME damage was calculated at 90, 5 attacks with an additional 4d8 => 4.5*5= 18 per attack for a total of 90 extra damage.

My argument is that this damage should be only added 3 times.

Once for the cantrip, once for the club attack and once for the bonus light weapon attack.

For a total of 54 which is still very good but not as broken as the 90 and it is only going to scale with the level slot used to cast the spell, not with that and the number of beams supplied by Eldritch Blast.

What do people think? is my reasoning too convoluted? Have I completely missed the point.

Let me know in the comments.

Even if you do not agree that my interpretation is correct "Rules as written", I think it would a good ruling to make before trying out other nerfs.

Saturday, November 9, 2024

 

Change of topics

Greeting all,

This blog was a place where I used to keep some lessons learned from various task that gave some trouble in my software career.

Now, I am retired from that, and I want to write something about games and Dungeons and Dragons.

So I will be mostly posting on that an other gaming topics that I want to get off my chest.

UngainlyTitan

Thursday, October 7, 2010

A look at Entity Framework

What I have been doing since.

Been a while since I posted here. Blame real life and some computer issues. Purchased a new laptop as spring with the intension of it being my new development machine and that I would make more use of virtual machines and such tricks.
For the last month it has been unavailable to me as it was randomly crashing. I have been on the phone with Dell tech support several times for hours on end the issue is still unresolved but meanwhile I returned to my old  machine which in spite of making the occasional funny fan noise it is still soldiering on. I rebuilt my database server on another machine and need to look into backup solutions as my 1TB NAS disk is filling up faster than I would like.

Exploration of Entity Framework

One of the things I have been researching recently is Entity Framework, this is mainly because i have been considering of applying it to a project i have been working on. However, I have noticed a couple of things on my explorations on the web; most of the code is in C# and the examples are either, trivial or very complex. So after some research I have decided to purchase a book. In general I think to learn better from books if I need more in-depth knowledge. So I choose “Entity Framework 4.0 Recipes – A problem-Solution Approach” by Larry Tenny and Zeeshan Hirani. Of course it is written in C#, one wonders is there a deliberate policy of deprecating vb.net or do they simply consider that all serious programmers are using C#. Anyway I decide it would be fun for me to rewrite all the listings in vb.net. This would serve two purposes; it would consolidate my knowledge of C# and learn some new tricks in vb.net. I even emailed Apress asking permission to list here, the vb.net translations of the code listings in the book (Never heard anything back – so I guess I won’t go there).
So far I have just completed chapter 2 which covers various scenarios concerning the way different database table structures could be modelled in the Entity Framework. Chapter 2 covers the following scenarios:
  • Creating a simple model
  • Creating a model from an Existing database
  • Modelling a Many to Many relationship with no payload
  • Modelling a Many to Many Relationship with a payload
  • Modelling a Self-Referencing Relationship
  • Splitting a Entity across multiple Tables
  • Splitting a Table across multiple Entities
  • Modelling Table per Type inheritance
  • Using Conditions to filter an ObjectSet
  • Modelling Table per Hierarchy inheritance
  • Modelling Is-a and Has-a relationships between two Entities
  • Creating, Modifying and Mapping Complex Types.
One tool that I have found invaluable is a C# to VB convertor. The content is pretty clear and gives the step by step instructions to complete the tasks. All the code examples are console applications and so far the code to write data to the database and retrieve the data and display the returned data in the console, are given in the listing for each section.
Now I am not going to create tutorials on Entity Framework. I don’t yet know enough about the topic and the basics are well covered on MSDN, what I intend to do in this and future posts is create a guide to the “Entity Framework Recipes” book mentioned above. So basically I’ll list the topics covered in a chapter and include some code, the original C# listing and my vb.net translation.
So if we take the data tables shown in  below.Tables used in example
So the business table is a base set of information and the Retail and eCommerce tables hold additional information that relate to that type of business.



When you initially create a new Entity Framework mapping you get a similar set of entities.
Initial Entity Framework mapping

Here we have the same tables as Entities in the Entity Framework mapping created by default. The relationships will be edited  and replaced by inheritance relationships.
Delete the existing relationships and replace with inheritance relationships. Also remove the primary key entries in the inherited entities and then check that the mappings are still correct.



The final version of the used in the application looks like this.
Entity Framework Final Mapping
The C# code listing to write the data to the database and then retrieve it and display it to the console looks like the following code.
          using (var context = new EFRecipesEntities())
            {
                var business = new Business
                {
                    Name = "Corner Dry Cleaning",
                    LicenseNumber = "100x1"
                };
                context.Businesses.AddObject(business);
                var retail = new Retail
                {
                    Name = "Shop and Save",
                    LicenseNumber = "200C",
                    Address = "101 Main",
                    City = "Anytown",
                    State = "TX",
                    ZIPCode = "76106"
                };
                context.Businesses.AddObject(retail);
                var web = new eCommerce
                {
                    Name = "BuyNow.com",
                    LicenseNumber = "300AB",
                    URL = "www.buynow.com"
                };
                context.Businesses.AddObject(web);
                context.SaveChanges();

            }
            using (var context = new EFRecipesEntities())
            {
                Console.WriteLine("\n--- All Businesses ---");
                foreach (var b in context.Businesses)
                {
                    Console.WriteLine("{0} (#{1})", b.Name, b.LicenseNumber);

                }
                Console.WriteLine("\n--- Retail Businesses ---");
                foreach (var r in context.Businesses.OfType<Retail>)
                {
                    Console.WriteLine("{0} (#{1})", r.Name, r.LicenseNumber);
                    Console.WriteLine("{0}", r.Address);
                    Console.WriteLine("{0}, {1} {2}", r.City, r.State, r.ZIPCode);

                }
                Console.WriteLine("\n--- eCommerce Businesses ---");
                foreach (var e in context.Businesses.OfType<eCommerce>)
                {
                    Console.WriteLine("{0} (#{1})", e.Name, e.LicenseNumber);
                    Console.WriteLine("Online address is: {0}", e.URL);
                }
            }
        



The same code in VB.Net



  Using context As New EFRecipesEntities
            Dim business = New  Business  With {.Name = "Corner Dry Cleaning", _
                                              .LicenseNumber = "100x1"}
            context.Businesses.AddObject(business)
            Dim retail = New  Retail  With {.Name = "Shop and Save", _
                                          .LicenseNumber = "200C", _
                                          .Address = "101 Main", _
                                          .City = "Anytown", .State = "TX" _
                                         , .ZIPCode = "76106"}
            context.Businesses.AddObject(retail)
            Dim  web = New  eCommerce  With {.Name = "BuyNow.com", _
                                          .LicenseNumber = "300AB", _
                                          .URL = "www.buynow.com"}
            context.Businesses.AddObject(web)
            context.SaveChanges()

        End Using
        Using  context = New  EFRecipesEntities
            Console.WriteLine(ControlChars.Lf & "--- All Business ---")
            For Each b In context.Businesses
                Console.WriteLine("{0} (#{1})", b.Name, b.LicenseNumber)

            Next
            Console.WriteLine(ControlChars.Lf & "--- Retail Business ---")
            For Each r In context.Businesses.OfType(Of Retail)()
                Console.WriteLine("{0} (#{1})", r.Name, r.LicenseNumber)
                Console.WriteLine("{0}", r.Address)
                Console.WriteLine("{0}, {1} {2}", r.City, r.State, r.ZIPCode)
            Next
            Console.WriteLine(ControlChars.Lf & "--- eCommerce Business ---")
            For Each e In context.Businesses.OfType(Of eCommerce)()
                Console.WriteLine("{0} (#{1})", e.Name, e.LicenseNumber)
                Console.WriteLine("Online address is: {0}", e.URL)
            Next
        End Using
  

Thursday, June 24, 2010

A funny thing about Web Services in Visual Studio 2010

As mentioned in my profile, my primary activity these days is caring for mother but I have a couple of projects on the go as well when I get the chance to code. One of these project is porting a previous project to VB.NET 2010, party to learn 2010, partly to take advantage of some of the .NET 4.0 technologies to make the application more maintainable and efficient.

So far I have managed to port over all the source code and the existing NUnit tests, converting the NUnit tests to MSUnit Test as I go. So I had all my unit test running (or so I thought, it turns out I had missed some) and I tried running the application. So splash screen appears and login then I select one of the user screen from the main menu and bang! the application crashes.

The application has a dependency on Adobe Reader in several screens and Adobe does not  play well in 64bit environments. So then I get that working by setting the target CPU to x86 and now I can open the application view the screens but now there is no data on several. It turns out that the Web Services are throwing errors.

WebServiceError

So I googled the error and got a lot of info on checking that the .asmx file markup refers to the correct namespace and the code behind class is correctly named, also that the namespaces match. All of this I played around to no effect but of the 3 services one was working.

To no avail, it turns out that the code behind should be in an App_Code folder, even though Visual Studio did not create one when I created the .asmx file.

Must play around with this  some more.

Wednesday, June 9, 2010

For the Next Time I am moving a SQL Database to another server

Not a lot to comment on this; there is a good discussion here but the key bits to lookup on Books Online are:

The stored proceedure sp_change_users_login, look up the topic Troubleshooting Orphaned Users and the proceedure sp_validatelogins. That should be enough to get it all working when I need to to do it about 2 to 3 years as that seems to be the pattern of these things.

Fantasygrounds Unity: Importing an NPC from a text stat block.

  Fantasygrounds has been my primary VTT of choice for many years now. For most of that time I have been running games using official WoTC ...