Jump to content
Sign in to follow this  
Musha Shukou

Strange Eons Investigator Special Text

Recommended Posts

Is there a way to edit the special text on a custom investigator sheet marked by an *? For example, Luke Robinson starts in the Dreamlands and has special text to describe this.  I am trying to create an investigator that starts in an other world location and thus needs special text.  Can somebody please help me with this?

Share this post


Link to post
Share on other sites

 Create a new investigator and choose an other world as home location. Then open the Quickscript plug-in and paste and run the following script:

Patch.card( Component, "footnote4-text", "<name> begins the game upside-down." );
Editor.forceRerender();
 

Cheers,
Chris

Share this post


Link to post
Share on other sites

I'm also noticing that the expansion symbols don't appear in SE as they do on the actual cards.  For example, the Black Goat of the Woods icon on the cards has a white border so it stands out from the dark sections of the card (like a mythos card), but this icon actually becomes almost entirely invisible on a mythos card due to the lack of this white border.  Is there a toggle for this somewhere?  Does it need to be scripted somehow?  Thank you.

Share this post


Link to post
Share on other sites

Create a new home location by clicking the star icon just to the right of the Home drop-down list. Make sure to specify that it is an other world if you want the footnote.

As for the problem with the icon, please file a bug report here and I'll look into it after I've submitted my dissertation. Note that this site is not public yet; don't bother creating an account or editing anything.

Cheers,
Chris

Share this post


Link to post
Share on other sites

I don't know why I'm not able to edit my posts, but oh well... another new reply...

So I've been trying to figure something out in SE for months now and nothing seems to work for me (probably due to my lack of knowledge of ANYTHING java).  On the mythos card, you can blank out the gate location and monster movement icons and the text on the card will adjust to fill out the missing space, and when you add a gate location or monster movement icon back into that space, the text will readjust itself again to compensate.  But on my card, when i add a pic or icon to the card, it shares the space with the text, so the text of the card is written over the pic.  Can you please help me with this?  Thank you!

Share this post


Link to post
Share on other sites

 Instead of choosing Other World for the type of the custom location, choose Special, which also produces a footnote. Then change footnote5-text on the component instead of footnote4-text.

As for the second question, I'm not sure I understand what you're talking about. Could you perhaps post an image or a better explanation?

Cheers,
Chris

Share this post


Link to post
Share on other sites

You bet i can!

2pquiye.pngkb668i.png

If you notice, they are BOTH using the Mythos card template, but the 2nd one (the one on the bottom) has the gate location and monster movement icons disabled and the text has been adjusted to fill the empty space.  I'm trying to create a DiY component that has the very same functionality:

b4euzd.png

I haven't figured out how to toggle the icon yet, although I have the check box in my UI, nor have I figured out how to move the icon to the upper left of the card... but one step at a time.  Actually, if you could show me how to do those things as well, I'd be VERY obliged.

I would like to have this icon in the upper left, have it toggle enabled like the Mythos card's gate location and monster movement, and when toggled on, have it displace the text to the right, and when toggled off, have the text be restored to fill the card again.  Thank you so much!!

Share this post


Link to post
Share on other sites

Another thing, please. On a unique item, can you show me how to decrease the spacing between the class and the text? So like, between where it says Tome and the actual card text?  I would like to simply move the card text up a bit to give myself some more room to match some of the game cards.

Share this post


Link to post
Share on other sites

The following should get you started. Adapted from the Plot Card example in the plug-in authoring kit. For more complex layout examples, look at the Talisman and page shape examples.

 

uselibrary( "diy" );
uselibrary( "ui" );
uselibrary( "markup" );
uselibrary( "imageutils" );

function create( diy ) {
    diy.cardVersion = 1;
    diy.extensionName = "ForumExample.seext";
    diy.faceStyle = FaceStyle.PLAIN_BACK;
    diy.frontTemplateKey = "mythos-front-sheet";
    diy.backTemplateKey = "mythos-back-sheet";

    diy.name = "Shaping Young Minds";
    diy.comment = "";
    $Content = "Cultists have converted a popular and influential "
        + "professor to their cause."
        + "Clue tokens may not be gained by any means at any Miskatonic "
        + "U. location. If the terror level reaches 4, immediately open a "
        + "gate at the Science Building as if a gate burst had occurred there."
        + "Instead of having an encounter at the Administration Building, "
        + "you may make a <b>Will< >(-2)</b> check to see the Dean. If you "
        + "pass, discard 5 Clue tokens to convince him that the professor is "
        + "dangerously insane and should be hospitalized. If no gate is open "
        + "on the Science Building, seal it using a token from the doom track.";
    $Octopus = "yes";
}

function createInterface( diy, editor ) {
    var container = new Grid( "fillx" );
    var bindings = new Bindings( editor, diy );

    var nameField = textField( "", 30 );
    var contentField = textArea( "", 4, 30, true );
    var octopusBox = checkBox( "Octopus!", true );

    container.place(
        "Title", "split", nameField, "growx, wrap",
        "Content:", "wrap",
        contentField, "gap i, growx, wrap",
        octopusBox, "wrap"
    );
    container.setTitle( "Forum Example" );

    diy.setNameField( nameField );
    bindings.add( "Content", contentField, [0] );
    bindings.add( "Octopus", octopusBox, [0] );

    container.addToEditor( editor, "Content", null, null, 0 );
    bindings.bind();
}

var contentBox;

// text region without image
var contentRegion = new Region( 55, 56, 226, 390 );
// text region with image
var octopusContentRegion = new Region( 55, 160, 226, 286 );

var octopusImage = Image.fetchImageResource( "icons/octopus.png", true );

function createFrontPainter( diy, sheet ) {
    contentBox = markupBox( sheet );
    contentBox.alignment = LAYOUT_CENTER | LAYOUT_MIDDLE;
    contentBox.textFitting = FIT_BOTH;
}

function paintFront( g, diy, sheet ) {
    sheet.paintTemplateImage( g );
    g.setPaint( Color.BLACK );

    // will be set to the region to use for the text
    // depending on whether the image is being drawn
    var region;

    if( $Octopus == "yes" ) {
        g.drawImage( octopusImage, 70, 45, null );
        region = octopusContentRegion;
    } else {
        region = contentRegion;
    }

    contentBox.markupText = "<h1>" + diy.name + "</h1>" + $Content;
    contentBox.draw( g, region );
}

function createBackPainter( diy, sheet ) {
}

function paintBack( g, diy, sheet ) {
}

function onClear( diy ) {
    $Content = "";
    $Octopus = "yes";
}

function onRead( diy, ois ) {
}

function onWrite( diy, oos ) {
}

testDIYScript();

Share this post


Link to post
Share on other sites

Musha Shukou said:

Another thing, please. On a unique item, can you show me how to decrease the spacing between the class and the text? So like, between where it says Tome and the actual card text?  I would like to simply move the card text up a bit to give myself some more room to match some of the game cards.

Instead of setting a class explicitly, leave it blank and fill in the class as part of the item description. E.g.:

<size 9><b><i>Tome</i></b></size><size 10%>

</size>+1 to an <b>Anger Management</b>
<i>(Discard after use)</i>

 

Changing the 10% value will adjust the space.

Cheers,
Chris

Share this post


Link to post
Share on other sites

HAHA!!  That's awesome!  That worked perfectly; exactly what I was looking for!  Thank you so much!  Now, if you'd be so kind... I have ONE MORE issue/question and then I'll be done.  Is there a way to create a polygon region or to combine 2 different rectangular regions into one so that the text would use them as one region?  Using photoshop, I've displayed what I'm trying to accomplish below:

206n5sg.jpg

I got the toggle to work perfectly and even have it change the regions when it is toggled on, but I'd like the toggled ON region to look like the above so that it acts as a single region for purposes of text wrapping.  Is that even possible?  Again, I really appreciate your help.

Share this post


Link to post
Share on other sites

Thank you for showing that to me, Chris.  But I have already looked at that, and while I can partially understand how that works and can see that the key code in all that is:

new PageShape.CupShape( 100, 0, referenceRegion.y + 100, 0, 0 ),  (yes, its altered around a bit from me tinkering with it..)

I just can't figure out how to integrate it from the combobox code to my checkbox/if code... Also, the demo has the makeWaveShape function.. do I need that, too?  and the createShape function?  or can all that be simplified since i just have a single variable with my checkbox?  I'm sorry to keep bugging you with this.... I am such a noob at this.

Share this post


Link to post
Share on other sites

 

No, you don't need those functions since you won't be calling them. They are examples that create custom shapes. The shape you want, CupShape is built in.

To set a shape on a markup box, you use the box's pageShape property:

myMarkupBox.pageShape = myPageShape;
myMarkupBox.draw( g, myTextRegion );

In your case, the shape will either be PageShape.RECTANGLE_SHAPE  (a special shape that produces the standard non-indented result) or a CupShape that you will create ahead of time in createFrontPainter and store in a global variable (just like you do with the markup boxes).

In the part of the if statement that is executed when the image is shown, you will set the cup shape to flow the text around the image. In the part of the if statement that is executed when the image is not shown, you'll use RECTANGLE_SHAPE to get the standard text flow. For this card,, the actual region that the text is drawn in will be the same (the large rectangle from just under the title to the bottom of the card). Only the shape changes.

CupShapes are defined using 5 values:

flowAroundImageShape = new PageShape.CupShape( leftInset1, rightInset1, y, leftInset2, rightInset2 );

leftInset1, rightInset1 are the amounts that the margins in the top part of the shape will be reduced by
leftInset2, rightInset2 are the amounts that the margins in the bottom part of the shape will be reduced by
y is the point at which to switch from the top set of insets to the bottom set of insets

All you want to indent is the top left corner, so your values will be:

( indentAmount, 0, y, 0, 0 )

where:
    indentAmount is the width of the area where the images are displayed
    y is a y-position just under the bottom of the images

Cheers,
Chris

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...