Unknown macro %ct

Discuss Daggerfall Unity and Daggerfall Tools for Unity.
Post Reply
User avatar
Hazelnut
Posts: 3015
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Unknown macro %ct

Post by Hazelnut »

Just found a new macro in the text.rsc lines for holidays... this is what I think it is from the context it's used i.

{ "%ct", null }, // City type? e.g city, town, village?

Maybe someone can check in classic see what it says? Anyway,I got the following holiday text:
The 15th of Morning Star is a holiday taken very seriously in Daggerfall, where they call it South Wind's Prayer, a plea by all the religions of Tamriel for a good planting season. Citizens with every affliction known in Tamriel flock to services in the %ct's temples, as the clergy is known to perform free healings on this day. Only a few will be judged worthy of this service, but few can afford the temples usual price...

cn = Daggerfall
ct = city?

If I am right, where can I get this info from?
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

User avatar
Jay_H
Posts: 4061
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Unknown macro %ct

Post by Jay_H »

I tried bringing out a few holidays on my Daggerfall but for some reason they're not displaying in my game.

All I can offer is that it is the city type. Daggerfall's civilized locations are divided into various types:

city
hamlet
village

For the largest towns, they'll be cities. That's the extent of what I can give.

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Unknown macro %ct

Post by Interkarma »

I think you're right. Looking at this in context, "city type" is the best answer I can come up with for that context macro as well.

Here's a fast way to grab the location type (it's just a dictionary lookup).

Code: Select all

// Get the player's current map pixel
DFPosition mapPixelPos = DaggerfallUnity.Instance.PlayerGPS.CurrentMapPixel;

// Test for a location at this map pixel
ContentReader.MapSummary summary;
if (DaggerfallUnity.ContentReader.HasLocation(mapPixelPos.X, mapPixelPos.Y, out summary))
{
    DFRegion.LocationTypes type = summary.LocationType;
}
Here's the DFRegion.LocationTypes enum. There are multiple subtypes, but they basically collapse into a few broad groups.

Code: Select all

/// <summary>
/// Describes location types that appear on the automap.
/// </summary>
public enum LocationTypes
{
    /// <summary>Large dungeon.</summary>
    DungeonLabyrinth = 132,
    /// <summary>Medium dungeon.</summary>
    DungeonKeep = 135,
    /// <summary>Small dungeon.</summary>
    DungeonRuin = 138,

    /// <summary>Graveyard visible.</summary>
    GraveyardCommon = 172,
    /// <summary>Graveyard hidden.</summary>
    GraveyardForgotten = 140,

    /// <summary>Coven.</summary>
    Coven = 141,

    /// <summary>Farmhouse.</summary>
    HomeFarms = 163,
    /// <summary>Wealthy home.</summary>
    HomeWealthy = 168,
    /// <summary>Poor home.</summary>
    HomePoor = 171,
    /// <summary>Player ship.</summary>
    HomeYourShips = 174,

    /// <summary>Tavern</summary>
    Tavern = 166,

    /// <summary>Temple.</summary>
    ReligionTemple = 165,
    /// <summary>Cult.</summary>
    ReligionCult = 169,

    /// <summary>Large settlement.</summary>
    TownCity = 160,
    /// <summary>Medium settlement.</summary>
    TownHamlet = 161,
    /// <summary>Small settlement.</summary>
    TownVillage = 162,
}
And looking at the hard strings I've extracted from fall.exe, these could be the results mapped by %ct against location type. This is just a guess however (and probably wrong). The casing is obviously a problem.

Code: Select all

1741836	Town
1741841	Village
1741849	Community
1741859	Farm
1741864	Dungeon Entrance
1741881	Manor
1741887	Shrine
1741894	Ruins
1741900	Shack
1741906	Graveyard
1741916	Witches Coven
If someone could screenshot a holiday message in classic using %ct properly, we could narrow it down quickly.

User avatar
Channel1
Posts: 87
Joined: Mon Sep 18, 2017 9:16 pm

Re: Unknown macro %ct

Post by Channel1 »

From Daggerfall:Holidays on UESP:
he 15th of Morning Star is a holiday taken very seriously in (city name), where they call it South Wind's Prayer, a plea by all the religions of Tamriel for a good planting season. Citizens with every affliction known in Tamriel flock to services in the (city type)'s temples, as the clergy is known to perform free healings [sic] on this day. Only a few will be judged worthy of this service, but few can afford the temples usual price...

User avatar
Deepfighter
Posts: 138
Joined: Sun Mar 22, 2015 10:24 am
Location: Iliac-Bay
Contact:

Re: Unknown macro %ct

Post by Deepfighter »

I add an ingame-Screenshot of this holiday for confirmation (with the German translation, but no macros are altered!) in front of the doors of Daggerfall (in DF Vanilla):
Spoiler!
Image
"[...] zu den Tempeln von Town [...]"

It seems like Daggerfall is considered a "town".

Hope that helps somehow. :)
Head of the German Daggerfall translation - www.daggerfalldeutsch.de
and German translator for The Elder Scrolls V: Skyrim and Lore-Expert for The Elder Scrolls: Online

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Unknown macro %ct

Post by Interkarma »

Thank you Deepfighter! :)

Post Reply