Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Savage Worlds
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
Endtransmission
Member
 
Join Date: May 2012
Location: Reading, UK
Posts: 79

Old April 11th, 2013, 06:55 AM
Quote:
Originally Posted by zarlor View Post
EDIT: Well, I suppose there is also a 3rd way, which is to simply create the item with a description about what it does and leave it to the player to deal with handling it.
Option 4 is to create them as free Edges instead as Mythos powers use a roll Vs Knowledge(Mythos) rather than the usual casting process. Rather than using power points, they have a modifier on the skill roll

Last edited by Endtransmission; April 11th, 2013 at 07:07 AM.
Endtransmission is offline   #31 Reply With Quote
zarlor
Senior Member
 
Join Date: Nov 2010
Location: Metairie, LA, USA
Posts: 1,819

Old April 11th, 2013, 07:09 AM
I think I'd go with making them a Hindrance, rather than an Edge, simply because Hindrances are a lot easier to add "for free" on the Advance tab. Besides, they cost you Sanity so they must be a Hindrance, right. j/k

Lenny Zimmermann
Metairie, LA, USA

Data files authored (please let me know if you see any issues with any of these if you have/use them):
Official (In the downloader)
50 Fathoms, Deadlands: Hell On Earth, Deadlands: Noir, East Texas University, Necessary Evil (requires Super Powers Companion), Pirates of the Spanish Main, Space 1889 (original file by Erich), Tour of Darkness, Weird War II, Weird Wars: Rome
Coming Eventually
Evernight (LWD has completed their review but I have some fixes to make first... although Pinnacle mentioned this might get an overhaul to SWADE so I may just wait for that first. If you just HAVE to have this now, though, just PM me)
zarlor is offline   #32 Reply With Quote
Endtransmission
Member
 
Join Date: May 2012
Location: Reading, UK
Posts: 79

Old September 18th, 2013, 01:36 PM
Ouch! Has it really been that long since I actually did any work on this data file? Work has been a little hectic recently. Apparently hiring an apprentice to try and ease workload actually doubles it instead. Who'da thunk it?

The recent release of the third Achtung! Cthulhu adventure, and the imminent release of the first of the kickstarter books gave me a boot up the backside to get this finished, sharpish.

So. I'm back on the A!C case and am trying to sort out the Insanity bits that aren't covered in the Realms of Cthulhu dataset before returning to the horror that is the magic. This has me scratching my head... I've sorted all the calculations and if I pump in simple numbers to the Madness trait below, it works nicely... but as soon as I try to call values from another trait it all goes a bit Pete Tong.

I've seen in some other data files that people are calling the value of another trait using #trait[traitName], but when I try this on one of my new traits it returns 0?

In the code below I've created three new traits, trACSanity, trACAngu and trACMad. Sanity is copied straight from the RoC dataset and works; trACAng is populated from injuries and seems to update as injuries are added... but the calculations for Madness do not seem to change at all. As you can see in the example I've bypassed all of the calculations and tried to directly dump trACSanity or trACAngu into the variable. Both return 0. If I put in my own number instead of calling another field, it outputs the correct number... so what am I doing wrong with the call?

Code:
<thing id="trACSanity" name="Sanity" description="Those who face the twisted horrors of the Mythos tend not to remain sane for very long. The Sanity statistic is a trait that lets you monitor your character’s mental health. Sanity is (2 + half Spirit) - Corruption" compset="Trait" uniqueness="unique">
    <fieldval field="trtAbbrev" value="San"/>
    <fieldval field="trtBonus" value="2"/>
    <usesource source="sepActCth"/>
    <tag group="DashTacCon" tag="Basics" name="Basics" abbrev="Basics"/>
    <tag group="DashTacCon" tag="Traits" name="Traits" abbrev="Traits"/>
    <tag group="explicit" tag="5"/>
    <eval phase="Traits" priority="4000" name="Calc Derived Bonus"><![CDATA[
    ~sanity is 2 plus half the character\'s Spirit - Corruption, but we track attributes at
      ~the half value (2-6), so we add Spirit directly; we get the Spirit by using
      ~the "#trait" macro
      ~we subtract the Corruption in the Corruption trait script
      ~Note: We must also handle an overage beyond d12 on a +1 per 2 full points basis.
      ~Note: We ADD the amount in case other effects have already applied adjustments.
      var bonus as number
      bonus = #trait[attrSpi]
      if (bonus >= 6) then
        bonus = 6 + round(hero.child[attrSpi].field[trtRoll].value / 2,0,-1)
      endif
      perform field[trtBonus].modify[+,bonus,"Half Spirit and - Corruption"]]]>
      <before name="Derived trtFinal"/>
      <after name="Calc trtFinal"/>
    </eval>
</thing>

<thing id="trACAngu" name="Anguish" description="Ooooh the anguish! - Anguish is assigned as an Injury" compset="Trait" uniqueness="unique">
	<fieldval field="trtAbbrev" value="Ang"/>
	<usesource source="sepActCth"/>
    <tag group="DashTacCon" tag="Basics" name="Basics" abbrev="Basics"/>
    <tag group="DashTacCon" tag="Traits" name="Traits" abbrev="Traits"/>
    <tag group="explicit" tag="6"/>
</thing>

<thing id="trACMad" name="Madness" description="Your investigator suffers 1 point of madness for every 4 points of mental anguish in excess of their sanity level" compset="Trait" uniqueness="unique">
	<fieldval field="trtAbbrev" value="Mad"/>
	<fieldval field="trtBonus" value="0"/>
	<usesource source="sepActCth"/>
    <tag group="DashTacCon" tag="Basics" name="Basics" abbrev="Basics"/>
    <tag group="DashTacCon" tag="Traits" name="Traits" abbrev="Traits"/>
    <tag group="explicit" tag="7"/>
	<eval phase="Traits" priority="1010" name="Calc Madness"><![CDATA[
	var tmpMadness as number
	var tmpAnguish as number
	var tmpSanity as number
	~tmpAnguish = #trait[trACAngu]
	~tmpSanity = #trait[trACSanity]
	~~~round(((Anguish - Sanity)/4) to 0 decimal places, rounding down) 
	~tmpMadness = ((tmpAnguish-tmpSanity)/4)
	~tmpMadness = round(tmpMadness,0,-1)

tmpMadness = #trait[trACSanity]

	if (tmpMadness > 0) then
~DamagePlus = hero.childfound[attrAgi].field[trtFinal].value - 1
~field[wpDmgBonus].value += DamagePlus
		perform field[trtBonus].modify[+,tmpMadness,"Going mad..."]				
	endif
	]]>	
	</eval>
</thing>
I'm going to kick myself for this one aren't I?
Endtransmission is offline   #33 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old September 18th, 2013, 02:14 PM
Phase & Priority are critical. The script that calculates trtFinal operates at Traits/3000. Before this phase & priority, #trait[] will always return 0, because trtFinal hasn't been calculated yet.
Mathias is online now   #34 Reply With Quote
Endtransmission
Member
 
Join Date: May 2012
Location: Reading, UK
Posts: 79

Old September 18th, 2013, 11:28 PM
Ah ok, thanks. Changing the phase to 6000 now returns values for trACSanity and trACAngu, sadly not the correct values though.

However, looking back at the caluclations, I realised I'd made a slight mistake in the phasing of trACMad. I was running this in the Traits phase, but a lot of the adjustments to Sanity and Anguish were being done in the final phase, which meant it wasn't ever picking up the correct final values. I've now shifted the eval statement for the Madness trait into the Final phase and it's now all correct.

Thank you!
Endtransmission is offline   #35 Reply With Quote
Endtransmission
Member
 
Join Date: May 2012
Location: Reading, UK
Posts: 79

Old December 12th, 2013, 01:22 PM
Whelp. Things went a bit slow there for a while as I decided to call it a day on the data file until the actual A!C rulebooks were released and I'd had a chance to digest their content. I'm still working my way through them, but work has recommenced... at last!

Unfortunately the Sanity/Anguish bits that nearly drove me mad in September has all changed *head/desk*. Thankfully it seems a bit simpler in game terms, but comes back to the age old issue of having to manually add Injuries.

Generating the Sanity value is fine, I have that all sorted. This is (2+(Spirit))-(1 per Knowledge(Mythos)). I've got this one working nicely.

To go with this, they have introduced a Dementia attribute for the characters, which is where my new frustration starts as I would love to be able to do this in a much more graceful manner, rather than rely upon people remembering to add an injury.

- Whenever the character fails a Terror test, or encounters a Mythos creature then gain Dementia points.
- If the number of Dementia points ever equals, or exceeds, the Sanity value, they should (cumulatively) gain an additional permanent -1 to their Sanity.
- Dementia points can be reduced with rest or other such tasks.

For example our investigator, Ted, has a Sanity of 4. He's been in some very sticky situations and has 3 points of Dementia already, when he fails yet another Terror test and gains one more point, equaling his Sanity level of 4. This should then reduce his Sanity to 3. He then rests for a few months until his Dementia levels drop back down to 2. He steps outside the door, fails another Terror test, gains another Dementia point... now equaling his new Sanity level of 3... and gains another point of Sanity loss.

If he were to carry on with the mission and gain more Dementia points, he does not lose another point of Sanity until he drops below his sanity level again (at least that is what it reads like)

At present it looks like a manual process that involves adding and removing injuries for the Dementia as well as injuries for the additional sanity loss over time. Can anyone think of a better way to do this?

Also, when did the Permanent Adjustments bit appear on the Personal tab and how can I bootstrap these things in? This may be a better way of at least tracking the Dementia level if not the additional Sanity losses.

Speaking of Permanent adjustments... I found a bug with one of them. For some reason you are offered the choice to permanently increase your Arcane Powers, even if you can't have any? This throws a nice little error. Ooops!
Endtransmission is offline   #36 Reply With Quote
dartnet
Senior Member
Volunteer Data File Contributor
 
Join Date: Jan 2007
Posts: 591

Old December 12th, 2013, 03:31 PM
BTW I had stared a Achtung! Cthulhu datafile for the Investigator guide. Maybe we could join forces?
dartnet is offline   #37 Reply With Quote
zarlor
Senior Member
 
Join Date: Nov 2010
Location: Metairie, LA, USA
Posts: 1,819

Old December 12th, 2013, 05:55 PM
The problem I see is that you can't really reduce Sanity by some difference between it and Dementia, or even just by one if Dementia => Sanity because your changing the value of something you're using in the formula itself. The process just seems to variable to me, so I would think you would need to just track it the same as any other counter. However, you could probably set up some kind of script in the Setting that gives a warning/notice whenever Dementia => Sanity as a reminder to reduce Sanity by 1 point if it hasn't been done already. Maybe something like that.

Permanent Adjustments have been on the Personal tab for about as long as I can remember. Tracking Sanity modifiers there could be a good way to do it, but I don't know of a way in the Editor to force that to show up there for the player to use (or for it to happen in the Temporary Adjustments on the In-Play tab either, for that matter.) There probably is a way to do it, I just don't know how. But if you figure it out let us know! You may have to dig into the deep, dark depths of the Wiki and see if you can figure it out from there. :/

Lenny Zimmermann
Metairie, LA, USA

Data files authored (please let me know if you see any issues with any of these if you have/use them):
Official (In the downloader)
50 Fathoms, Deadlands: Hell On Earth, Deadlands: Noir, East Texas University, Necessary Evil (requires Super Powers Companion), Pirates of the Spanish Main, Space 1889 (original file by Erich), Tour of Darkness, Weird War II, Weird Wars: Rome
Coming Eventually
Evernight (LWD has completed their review but I have some fixes to make first... although Pinnacle mentioned this might get an overhaul to SWADE so I may just wait for that first. If you just HAVE to have this now, though, just PM me)
zarlor is offline   #38 Reply With Quote
Endtransmission
Member
 
Join Date: May 2012
Location: Reading, UK
Posts: 79

Old December 12th, 2013, 09:53 PM
Quote:
Originally Posted by zarlor View Post
However, you could probably set up some kind of script in the Setting that gives a warning/notice whenever Dementia => Sanity as a reminder to reduce Sanity by 1 point if it hasn't been done already. Maybe something like that.
Glad I'm not the only one that thinks that part is a headache inducing task. I'm not sure the warning would be particularly easy (or useful) to do as you could have your sanity reduced via Dementia multiple times. Trying to identify if the sanity reduction in there is from the last time they exceeded their Sanity level, or from the current occurrence wouldn't be all that easy as there aren't things like data stamps that we can reference in the checks and no counters that we can increment each time we go over.

Quote:
Originally Posted by zarlor View Post
Permanent Adjustments have been on the Personal tab for about as long as I can remember. Tracking Sanity modifiers there could be a good way to do it, but I don't know of a way in the Editor to force that to show up there for the player to use (or for it to happen in the Temporary Adjustments on the In-Play tab either, for that matter.) There probably is a way to do it, I just don't know how. But if you figure it out let us know! You may have to dig into the deep, dark depths of the Wiki and see if you can figure it out from there. :/
It looks like my next fun task is Wiki trawling then. I'm obviously going blind as I've missed that area before. It seems like it could be useful for.... stuff. It's early and my brain isn't awake yet. I will let you know how the wiki hunting goes... otherwise I'm back to using injuries for Dementia and the extra Sanity loss.
Endtransmission is offline   #39 Reply With Quote
zarlor
Senior Member
 
Join Date: Nov 2010
Location: Metairie, LA, USA
Posts: 1,819

Old December 13th, 2013, 03:44 AM
I'll add it to the list of things to look for if I get some time, which it just seems this is the wrong time of year for. I haven't been able to be too much help here lately beyond something I might remember. At any rate, maybe it is possible, if a bit convoluted. Presumably you could set a tag if the condition of Dementia => Sanity is met, but have the tag be the first thing it checks for. So if the tag is set (<> 0) then you would check if Dementia => Sanity, but if the tag is not set you would only check for if Dementia < Sanity, in which case you would unset the tag. Thus you wouldn't be setting something every time Dementia hit the mark, only the first time it did it.

I think that might do it for you. Don't ask me why I didn't think of it earlier.

Lenny Zimmermann
Metairie, LA, USA

Data files authored (please let me know if you see any issues with any of these if you have/use them):
Official (In the downloader)
50 Fathoms, Deadlands: Hell On Earth, Deadlands: Noir, East Texas University, Necessary Evil (requires Super Powers Companion), Pirates of the Spanish Main, Space 1889 (original file by Erich), Tour of Darkness, Weird War II, Weird Wars: Rome
Coming Eventually
Evernight (LWD has completed their review but I have some fixes to make first... although Pinnacle mentioned this might get an overhaul to SWADE so I may just wait for that first. If you just HAVE to have this now, though, just PM me)
zarlor is offline   #40 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 01:18 PM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.