Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

In Progress [LP CYOA] Tower

Nevill

Arcane
Joined
Jun 6, 2009
Messages
11,211
Shadorwun: Hong Kong
I am partial to mutability too. But I also want my WIS-based Shaman, so...

Astra of Mina (The Fish) Affinity: Water, mutability
Strength -1, Constitution +1, Intelligence +1, Wisdom +2, Charisma -1

The Bull is also cool. Would be a proper Ox Farmer experience.
 
Joined
May 8, 2018
Messages
3,535
The Archer seems like an easy choice unless we want even more Constitution. In that case something like The Virgin presents a solid, if a bit boring, option.
 

Azira

Arcane
Patron
Joined
Nov 3, 2004
Messages
8,521
Location
Copenhagen, Denmark
Codex 2012
Okay. Not my preferred choice, but I'll roll with it. Seeing as we're taking a hit to charisma already due to our background, I'll stop trying to jockey for that.
Instead, I, like Nevill, want a character with wisdom, to wield astra then.

Preferred choices:
Mina (The Fish)>Dhanusa (The Archer)>Kanya (The Virgin)>Vrscika (The Scorpion)
 

Absinthe

Arcane
Joined
Jan 6, 2012
Messages
4,062
I am partial to mutability too. But I also want my WIS-based Shaman, so...

Astra of Mina (The Fish) Affinity: Water, mutability
Strength -1, Constitution +1, Intelligence +1, Wisdom +2, Charisma -1

The Bull is also cool. Would be a proper Ox Farmer experience.
In that case Archer works too. It's a fire mutability and gives us Strength -1, Constitution -1, Intelligence +2, Wisdom +1, Charisma +1, so our mentals would end as +1 Wisdom, +1 Intelligence, +0 Charisma instead of Fish's +2 Wisdom, +0 Intelligence, -2 Charisma. So we'd not only be wise, we'd also be smart and capable of social situations. Join the balance, Nevill. You know you want to.
 
Last edited:

Nevill

Arcane
Joined
Jun 6, 2009
Messages
11,211
Shadorwun: Hong Kong
No, I know what I want.

I don't have particular love for jack-of-all-trades builds, and I think having a couple stats higher than the rest, and a couple lower, makes for a more interesting character.

I'll post this here for everyone's convenience.

signs.jpg


Of these ones, the Fish, the Bull and the Goat appeal to me. And, hmm... the Virgin also has an interesting statline, and a mutability affinity. Of the "balanced" options, I'd rather choose that one.
 
Last edited:

baud

Arcane
Patron
Joined
Dec 11, 2016
Messages
3,992
Location
Septentrion
RPG Wokedex Strap Yourselves In Steve gets a Kidney but I don't even get a tag. Pathfinder: Wrath I helped put crap in Monomyth
Work you fucking pile of shit.

[X] Test2

Vote Tally : In Progress - [LP CYOA] Tower | Page 6 | rpgcodex > ITZ happening [Posts: 156-156]
##### NetTally 3.1.0
[X] Test2
No. of Votes: 1
[X] baud
Total No. of Voters: 1

Ok, I got something working (did this instead of doing my actual job, though).

I'll figure out how to package the software so that I'm not the only one who can use it.
 

Nevill

Arcane
Joined
Jun 6, 2009
Messages
11,211
Shadorwun: Hong Kong
Excellent! Does it recognize ranked voting too?

Example1:

[1] Mina (The Fish)
[2] Dhanusa (The Archer)
[3] Kanya (The Virgin)
[4] Vrscika (The Scorpion)

And how does it do with blocks?

Example2:

[x] Merchant's Heir
[x] Astra of Mithuna (The Twins)
 

baud

Arcane
Patron
Joined
Dec 11, 2016
Messages
3,992
Location
Septentrion
RPG Wokedex Strap Yourselves In Steve gets a Kidney but I don't even get a tag. Pathfinder: Wrath I helped put crap in Monomyth
Ok, so the zip contains the exe and dll to use.

You might need the other files from the 3.1.0 release
 

Attachments

  • nettallyFixed.zip
    373.6 KB · Views: 112

Baltika9

Arcane
Joined
Jun 27, 2012
Messages
9,611
Of these ones, the Fish, the Bull and the Goat appeal to me.
Actually, I'm warming up to the Bull Hunter. I see him as a simple, burly and quiet man. Not smart, but with a lot of common sense.
What do you guys think?
 

baud

Arcane
Patron
Joined
Dec 11, 2016
Messages
3,992
Location
Septentrion
RPG Wokedex Strap Yourselves In Steve gets a Kidney but I don't even get a tag. Pathfinder: Wrath I helped put crap in Monomyth
Excellent! Does it recognize ranked voting too?

Example1:

[1] Mina (The Fish)
[2] Dhanusa (The Archer)
[3] Kanya (The Virgin)
[4] Vrscika (The Scorpion)

And how does it do with blocks?

Example2:

[x] Merchant's Heir
[x] Astra of Mithuna (The Twins)

Adding to test:

[1] Mina (The Fish)
[3] Dhanusa (The Archer)
[1] Kanya (The Virgin)
[4] Vrscika (The Scorpion)



I got this:


Vote Tally : In Progress - [LP CYOA] Tower | Page 6 | rpgcodex > ITZ happening [Posts: 156-161]
##### NetTally 3.1.0

Ranking: #1
[#] Mina (The Fish)
[X] Dhanusa (The Archer)
[X] Kanya (The Virgin)
[X] Vrscika (The Scorpion)
[X] Merchant's Heir
[X] Astra of Mithuna (The Twins)
No. of Votes: 1
[1] Nevill

Ranking: #2
[#] Mina (The Fish)
[X] Dhanusa (The Archer)
[X] Kanya (The Virgin)
[X] Vrscika (The Scorpion)
No. of Votes: 1
[1] baud


<==========================================================>

Total No. of Voters: 2

Not sure if it's what you want.
 

Nevill

Arcane
Joined
Jun 6, 2009
Messages
11,211
Shadorwun: Hong Kong
It is. You just have to partition them by block.
Vote Tally : In Progress - [LP CYOA] Tower | Page 7 | rpgcodex > ITZ happening [Posts: 156-161]
##### NetTally 3.1.0

Ranking: #1
[#] Mina (The Fish)
No. of Votes: 2
[1] baud
[1] Nevill

Ranking: #2
[#] Kanya (The Virgin)
No. of Votes: 2
[1] baud
[3] Nevill

Ranking: #3
[#] Dhanusa (The Archer)
No. of Votes: 2
[2] Nevill
[3] baud

Ranking: #4
[#] Vrscika (The Scorpion)
No. of Votes: 2
[4] baud
[4] Nevill
See, there is a clear favorite, a clear outsider, and the 2nd and 3rd place are calculated correctly.

It works!

...but of course it can only be used to count votes if everyone uses the format.
 
Joined
May 8, 2018
Messages
3,535
I'd say my priorities are Wisdom and mutability.

The reason I skipped The Fish is because I presumed the prologue could reduce our Charisma to below 3.

Am I wrong? I haven't played this before, I'm not really sure how the prologue works.
 

Nevill

Arcane
Joined
Jun 6, 2009
Messages
11,211
Shadorwun: Hong Kong
There may be further stat adjustments that define our hero, yes. If we go by Legend standards, usually it's skills, and maybe an occasional stat point.

It was pretty minor compared to chargen, which makes sense. It was also always by choice, unless it was some kind of punishment. Since a few people expressed their unwillingness to dip below 3 in any stat, I think we are safe on that front.
 

Absinthe

Arcane
Joined
Jan 6, 2012
Messages
4,062
There isn't much difference between -2 and -3 if the plan is to treat that stat as a dump stat and avoid content associated with it. The real unwillingness is that we don't want to automatically suck and have to avoid content associated with it, not that -3 is a magic number. Now if we go with a -2 starting stat for astra purposes and then invest effort into raising those stats, that's another thing. But if you're thinking "let's dump a stat to -2 but not -3 because that's too much dumping" then you're just being silly and you're not going to find a whole lot of other people on that train.
 

baud

Arcane
Patron
Joined
Dec 11, 2016
Messages
3,992
Location
Septentrion
RPG Wokedex Strap Yourselves In Steve gets a Kidney but I don't even get a tag. Pathfinder: Wrath I helped put crap in Monomyth
I'll vote Twins > Virgin

Also, the changes I've made so that nettally can work here
(so that everyone can see fugly hacks I did to fix the issues and to keep them if I ever need them again)

Code:
diff --git a/NetTally.Core/Input/Forums/Adapters2/XenForo1Adapter2.cs b/NetTally.Core/Input/Forums/Adapters2/XenForo1Adapter2.cs
index f27f6cab..fa7e2432 100644
--- a/NetTally.Core/Input/Forums/Adapters2/XenForo1Adapter2.cs
+++ b/NetTally.Core/Input/Forums/Adapters2/XenForo1Adapter2.cs
@@ -491,11 +491,17 @@ namespace NetTally.Forums.Adapters2

         private string GetPostText(HtmlNode li, IQuest quest)
         {
+            string a = li.InnerHtml;
+
+            HtmlDocument htmlDoc = new HtmlDocument();
+            htmlDoc.LoadHtml("<!DOCTYPE html><html><body> " + a + "</body></html>");
+            HtmlNode heu = htmlDoc.DocumentNode;
             // Get the primary content of the list item
-            HtmlNode? primaryContent = li.GetChildWithClass("primaryContent");
+         
+            HtmlNode? primaryContent = heu.GetDescendantWithClass("primaryContent");

             // On one branch, we can get the post text
-            HtmlNode? messageContent = primaryContent?.GetChildWithClass("messageContent");
+            HtmlNode ? messageContent = primaryContent?.GetChildWithClass("messageContent");
             HtmlNode? postBlock = messageContent?.Element("article")?.Element("blockquote");

             List<string> excludedClasses = new List<string> { "bbCodeQuote", "messageTextEndMarker","advbbcodebar_encadre",
@@ -514,8 +520,14 @@ namespace NetTally.Forums.Adapters2

         private int GetPostNumber(HtmlNode li)
         {
+            string a = li.InnerHtml;
+
+            HtmlDocument htmlDoc = new HtmlDocument();
+            htmlDoc.LoadHtml("<!DOCTYPE html><html><body> " + a + "</body></html>");
+            HtmlNode heu = htmlDoc.DocumentNode;
             // Get the primary content of the list item
-            HtmlNode? primaryContent = li.GetChildWithClass("primaryContent");
+
+            HtmlNode? primaryContent = heu.GetDescendantWithClass("primaryContent");

             // On another branch of the primary content, we can get the post number.
             HtmlNode? messageMeta = primaryContent?.GetChildWithClass("messageMeta");
@@ -550,28 +562,7 @@ namespace NetTally.Forums.Adapters2
             if (uri == null)
                 throw new ArgumentNullException(nameof(uri));

-            StringBuilder sb = new StringBuilder();
-
-            sb.Append(uri.GetLeftPart(UriPartial.Authority));
-
-            bool foundThreads = false;
-
-            // Add segments up to the thread name.
-            for (int i = 0; i < uri.Segments.Length; i++)
-            {
-                sb.Append(uri.Segments[i]);
-
-                if (foundThreads)
-                    break;
-
-                if (uri.Segments[i] == "threads/")
-                    foundThreads = true;
-            }
-
-            if (sb[sb.Length - 1] != '/')
-                sb.Append('/');
-
-            return sb.ToString();
+            return uri.AbsoluteUri;
         }

         /// <summary>
diff --git a/NetTally.Core/Input/Forums/ForumReader.cs b/NetTally.Core/Input/Forums/ForumReader.cs
index fdc9a75a..1aaa3fe6 100644
--- a/NetTally.Core/Input/Forums/ForumReader.cs
+++ b/NetTally.Core/Input/Forums/ForumReader.cs
@@ -1,13 +1,13 @@
-<EF><BB><BF>using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading;
-using System.Threading.Tasks;
-using HtmlAgilityPack;
+<EF><BB><BF>using HtmlAgilityPack;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
 using NetTally.CustomEventArgs;
 using NetTally.Web;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;

 namespace NetTally.Forums
 {
@@ -345,7 +345,9 @@ namespace NetTally.Forums
                     threadInfo = adapter.GetThreadInfo(page);
                 }

-                postsList.AddRange(adapter.GetPosts(page, quest, pageNumber));
+                IEnumerable<Post> a = adapter.GetPosts(page, quest, pageNumber);
+
+                postsList.AddRange(a);
             }

             if (incomplete)
@@ -399,7 +401,8 @@ namespace NetTally.Forums
         /// <returns>Returns true if the post comes after the start of the tally.</returns>
         private bool PostIsAfterStart(Post post, ThreadRangeInfo rangeInfo)
         {
-            return (rangeInfo.ByNumber && post.Origin.ThreadPostNumber >= rangeInfo.Number) || (!rangeInfo.ByNumber && post.Origin.ID > rangeInfo.ID);
+            bool res =(rangeInfo.ByNumber && post.Origin.ThreadPostNumber >= rangeInfo.Number) || (!rangeInfo.ByNumber && post.Origin.ID > rangeInfo.ID);
+            return res;
         }

         /// <summary>
@@ -411,7 +414,8 @@ namespace NetTally.Forums
         /// <returns>Returns true if the post comes before the end of the tally.</returns>
         private bool PostIsBeforeEnd(Post post, IQuest quest, ThreadRangeInfo rangeInfo)
         {
-            return (quest.ReadToEndOfThread || rangeInfo.IsThreadmarkSearchResult || post.Origin.ThreadPostNumber <= quest.EndPost);
+            bool res= (quest.ReadToEndOfThread || rangeInfo.IsThreadmarkSearchResult || post.Origin.ThreadPostNumber <= quest.EndPost);
+            return res;
         }
         #endregion
     }
diff --git a/NetTally.Core/Input/Web/WebPageProvider.cs b/NetTally.Core/Input/Web/WebPageProvider.cs
index 770f67d5..d62226e7 100644
--- a/NetTally.Core/Input/Web/WebPageProvider.cs
+++ b/NetTally.Core/Input/Web/WebPageProvider.cs
@@ -21,7 +21,7 @@ namespace NetTally.Web
         readonly ILogger<WebPageProvider> logger;

         const int retryLimit = 3;
-        readonly TimeSpan timeout = TimeSpan.FromSeconds(7);
+        readonly TimeSpan timeout = TimeSpan.FromSeconds(40);
         readonly TimeSpan retryDelay = TimeSpan.FromSeconds(4);

         readonly IGeneralInputOptions inputOptions;
 

Nevill

Arcane
Joined
Jun 6, 2009
Messages
11,211
Shadorwun: Hong Kong
Yeah, I somehow mistyped and got it shifted to INT when I made the table. Fixed.
 

Absinthe

Arcane
Joined
Jan 6, 2012
Messages
4,062
Stat points are going to be rare to obtain and we will have to choose carefully what we want to invest those stat boosting opportunities in. Trying to train a single stat up two points is likely going to require a significant investment. So starting stats really matter. We're probably going to have an opportunity to boost our stats once shortly after prologue, but other than that it will be slow pickings, and even then we're probably going to see something like a few options for +1 to two stats and some skills. There's a reason why I prefer for us to begin with all-rounder stats. Making up our deficiencies is going to be expensive and slow, in particular if we have a stat at -2.
 

Esquilax

Arcane
Joined
Dec 7, 2010
Messages
4,833
Stat points are going to be rare to obtain and we will have to choose carefully what we want to invest those stat boosting opportunities in. Trying to train a single stat up two points is likely going to require a significant investment. So starting stats really matter. We're probably going to have an opportunity to boost our stats once shortly after prologue, but other than that it will be slow pickings, and even then we're probably going to see something like a few options for +1 to two stats and some skills. There's a reason why I prefer for us to begin with all-rounder stats. Making up our deficiencies is going to be expensive and slow, in particular if we have a stat at -2.

Well, I base the reluctance on stats being below 3 from this post:

Don't worry about potential future plot points that you can't know at this moment. Just focus on picking a character you think would be attractive to play. As usual, if stats dip below 3 we'll try to have a very obvious effect on the character.

I get making a more jack-of-all trades character who is more of an all-rounder, but I still prefer having clear/apparent strengths with the character. In this case, CON, WIS, and DEX will be our strengths, with CHA as our weakness on account of being a hermit who is more comfortable with animals than they are with human beings. But hey, I kinda dig it - fits with the whole "shaman" theme that I was initially going for.

If my formal vote hasn't yet been counted, scratch one off for Fish Hunter.
 

Absinthe

Arcane
Joined
Jan 6, 2012
Messages
4,062
I feel like clear/apparent strengths look fun in concept but become boring in practice. When we have clear strengths and weaknesses decision-making becomes trivialized since we're strongly incentivized to lean into our limited strengths and avoid our weaknesses. If we go Hunter+Bull for instance we have 8 strength and 9 constitution and we're a severe dumbass, so you can already guess what our approach to our problems is going to be, despite the fact that we don't even know what kinds of situations we'll end up in yet. When we're an all-rounder we always ask ourselves what the best idea is depending on the circumstances, and the problem-solving approach becomes a lot more creative, thoughtful, and interesting.
 
Last edited:

Baltika9

Arcane
Joined
Jun 27, 2012
Messages
9,611
Or, when faced with a particularly challenging problem, we can't do much of anything because we're not really good at anything. Having a niche is good sometimes.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom