Bay 12 Games Forum

Dwarf Fortress => DF Dwarf Mode Discussion => Topic started by: oldmansutton on August 11, 2017, 07:21:36 am

Title: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 11, 2017, 07:21:36 am
So as I've posted elsewhere, I have a visitor to my current fortress, who is a gorlak dancer.  He's been hanging out for a bit over a year now, and the longer he's here, the more fond of him I've grown.  I really want him to stay, but have yet to see a petition from him.  His graceful dancing heals the souls of all who witness his gyrations and nuanced movements.  Or something.

I'm wondering if there's a way, probably through dfhack, to force him to petition or just outright claim him as a member of our civilization.  I tried "tweak makeown" based on the dfhack plugin documentation, but that doesn't really seem to have the effect described.  Does anybody know of a way to make this happen?
Title: Re: Gorlak Dancer, Please Join Us
Post by: PatrikLundell on August 11, 2017, 08:28:09 am
I don't know, but it ought to be possible. However, I haven't found any info on where the visit goal is stored. For a petitioner, you can unblock meetings by removing ALL the meeting references, and DF will rebuild the info to set up the meeting with the right noble, but the underlying info driving that is unknown to me.

Anyway, it would be nice to hear if it's successful (in particular through the petitioning path).

As far as I know, petitioners will reveal their intention to petition the first time they speak with a member of your fortress (and non petitioners will reveal their intentions at the corresponding time as well). This can take quite some time if they go directly to the tavern and yak away with other visitors only...
The only time I've had petitioners take a huge amount of time to petition is when I had dedicated temples, at which time most visitors spent half a year or more catching up a lifetime's worth of absent praying before going on to do what they actually came to the fortress to do (research, relax, petition, etc.).
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 11, 2017, 09:26:49 am
While I AM a programmer, I've never actually dived in to working behind the scenes with dfhack, so am unfamiliar with how to do anything not already built in, nor with the data structures of dwarf fortress itself.  Kind of hoping somebody can answer it.  It doesn't have to be via petition, just making this one unit a member of the civ itself would be fine too.
Title: Re: Gorlak Dancer, Please Join Us
Post by: Fleeting Frames on August 11, 2017, 09:39:02 am
While doable, problem is that if it is not done via petition they won't generate preferences. Visitors have no preferences until then.

Otherwise, one had to set their civ_id and population_id (via viewing them and calling gui/gm-editor) to same as one found on your dwarves', flags2.visitor to false and...I think something else as well that I'm forgetting to reassign labours, though obviously this does not matter for a dancer.
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 11, 2017, 09:44:25 am
I'll have to dive into this more after work.  I'll have all weekend to explore this.  Thanks, guys, I'll keep you updated on what I find, and if anybody else finds out anything, post here! 
Title: Re: Gorlak Dancer, Please Join Us
Post by: Staalo on August 11, 2017, 09:52:28 am
Are you getting any petitions at all? If not, you might be affected by a bug where petition processing queue gets stuck, probably when your mayor or other noble was changed when one petitioner was waiting for an audience.

As a workaround, you could try the following: find the oldest visitor in your fortress... and kill him. He (or she) should be the last person with Visitor status on your (u)nit/Other list, the nearest to the bottom of the list. That one's most likely the one whose petition got stuck in the fortress bureaucracy and is just waiting for his audience indefinitely. Just sic your militia at him and with any luck petition processing should resume as if nothing had happened.
Title: Re: Gorlak Dancer, Please Join Us
Post by: Fleeting Frames on August 11, 2017, 10:06:19 am
Or try PatrikLundell's DFHack script: unblockmeetings (http://www.bay12forums.com/smf/index.php?topic=164903.0), if that's too bloody. Still, not everyone petitions.

(Also, the above advice may result in loyalty cascade due friendships.)
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 11, 2017, 10:33:16 am
I'm getting petitions, I'm just hoping for one from this one unit, as I really want a Gorlak dancer fulltime.
Title: Re: Gorlak Dancer, Please Join Us
Post by: Staalo on August 11, 2017, 10:54:19 am
Or try PatrikLundell's DFHack script: unblockmeetings (http://www.bay12forums.com/smf/index.php?topic=164903.0), if that's too bloody. Still, not everyone petitions.

(Also, the above advice may result in loyalty cascade due friendships.)

Ah, looks like I've been doing it the hard way all along. Although I've never had a cascade from intentionally roughing up visitors; instead I get them from completely unexplainable situations like caravan guards suddenly deciding to murder everyone near the depot.
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 11, 2017, 12:42:34 pm
I've spent a ridiculous amount of time today reading source code for both dfhack, and various scripts that target areas I think are likely to have the information I'm looking for.  I just wish this work day would end so that I can actually start looking into forcing a petition.  Not that I'm doing much work (I'm already halfway done with next weeks work), but maaaan.

The reference to Patrick's meeting script was helpful, as are a lot of whoever Putnam3145 on github is.

Further bulletins as events warrant.
Title: Re: Gorlak Dancer, Please Join Us
Post by: PatrikLundell on August 11, 2017, 12:47:14 pm
As I said above, I don't think the unblockmeetings script is helpful when it comes to generating "fresh" petitions, as that's caused by some state deeper down, possibly or probably unmapped by DFHack. I wouldn't mind being proven wrong, though.
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 11, 2017, 01:26:39 pm
As I said above, I don't think the unblockmeetings script is helpful when it comes to generating "fresh" petitions, as that's caused by some state deeper down, possibly or probably unmapped by DFHack. I wouldn't mind being proven wrong, though.

No, but it gives me something to hopefully look for when a petition is made, or at least a general neighborhood of where the information gets set.  I really will know more in about 3 hours.... although having a current memory map, of both what IS and ISN'T mapped so far would be beyond helpful.

Edit:  Which I've found (at least in terms of units)
Title: Re: Gorlak Dancer, Please Join Us
Post by: Nolimit on August 11, 2017, 02:19:08 pm
I just recently had similar problem, and I found a solution! I tried to add wild caveswallow man as my citizen. At first I tried ‘tweak makeown’ command and it kinda worked, but not really. Caveswallow man became some sort of long-term resident, which means that I couldn't turn on any labors for him. Oh, man, how long I was looking for a solution, and it end up being rather simple one. I used gui/gm-editor on unit in question (press 'v' to select unit, then type gui/gm-editor in dfhack). First, his civ_id should match you fortress civilization id (you could look it up from one of your citizens).
Spoiler (click to show/hide)
Also, you should uncheck some flags: flags2.visitor, flags3.unk31 definitely should be false (unk31 is scolar, some other unks are probably responsible for other types of visitors. To be sure, check one of your dwarfs and set all flags the same way), for invaders other flags should be unchecked, but it still didn't work (while invader became fully controllable, they remained hostile)
Spoiler (click to show/hide)
Spoiler (click to show/hide)
Your soon to be a citizen also should be a historical figure, it's not a problem for visitors, they always are, but for wild animal people you have to make them historical figures (being involved in combat, killing someone etc.). For next step find hist_figure_id or hist_figure_id2. To open hist_figure entry highlight it and press 'i' and in a list choose 'historical_figure' (would be first in a list).
Spoiler (click to show/hide)
There go to entity_links, you will see links to all of the entities.
Spoiler (click to show/hide)
To add another link press alt-i then write histfig_entity_link_memberst and enter.
Spoiler (click to show/hide)
New entry will appear at the bottom, go into it, there would be two values. For id write your civ_id, for strength - 100.
Spoiler (click to show/hide)
Now go back to entity_links and add another histfig_entity_link_memberst. For this one you have to look up the id of your local government. To do this just find it in entity_links of your citizen. Use this id for new citizen and strength to 100.
Spoiler (click to show/hide)
This way you should get fully controllable citizen
Spoiler (click to show/hide)
The most important thing in all of this is him being a member of you local government entity as well as having civ_id set to you civ id. (some flags may also mess up him being controllable)
You could also add id of your historical figure to both historical_entity's in histfig_ids and hist_figures but last time I tried, I skipped this and it worked fine.
Somebody with lua knowledge could probably make script for all of this. (I could do it myself, but it will require me learning lua, and I'm not a programmer at all).
Preferences were not a big deal for me, and that's probably the simpliest method of making someone controllabe.

Ps. Sorry for my English, haven’t properly checked for mistakes.


Edit: I have to confess, I haven't read whole thread when I posted. From what I'm understanding now, you want him to undergo whole process of petitioning, not just make him controllable. Would love to see your results.
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 11, 2017, 03:16:13 pm
Edit: I have to confess, I haven't read whole thread when I posted. From what I'm understanding now, you want him to undergo whole process of petitioning, not just make him controllable. Would love to see your results.

Yeah, but failing being able to do that, what you just posted is the next best thing.  So no matter what, I'll have a gorlak dancer before the night is over.  Still going to try some detective work in unmapped memory areas to see if I can find a flag/timer for petitions.
Title: Re: Gorlak Dancer, Please Join Us
Post by: Fleeting Frames on August 11, 2017, 03:38:44 pm
@Nolimit. Nice work! Yeah, wouldn't be hard to make that a lua script, but petition would be better.

On that note, unk_29 is not visitor flag, but "Marked for gelding". Used it yesterday to geld visitors (had to make them my civ first), then send them off to figure out what flags histfigs use to mark for gelding (I'd tentatively say hfunit.info.wounds.anon3 being 1 (0 seems dead, I guess). hfunit.unk_v4019_1 also gets a number (seems to be smaller nearer to start of embark), buuut I had at least one unit have that set with wounds being nil.)
Title: Re: Gorlak Dancer, Please Join Us
Post by: Ianflow on August 11, 2017, 04:37:09 pm
I really want a Gorlak dancer fulltime.

I love this out of context.  All the pictures I've seen of this species seem to be just 90% head  and spindly short legs.
Title: Re: Gorlak Dancer, Please Join Us
Post by: KittyTac on August 11, 2017, 08:55:16 pm
So as I've posted elsewhere, I have a visitor to my current fortress, who is a gorlak dancer.  He's been hanging out for a bit over a year now, and the longer he's here, the more fond of him I've grown.  I really want him to stay, but have yet to see a petition from him.  His graceful dancing heals the souls of all who witness his gyrations and nuanced movements.  Or something.

I'm wondering if there's a way, probably through dfhack, to force him to petition or just outright claim him as a member of our civilization.  I tried "tweak makeown" based on the dfhack plugin documentation, but that doesn't really seem to have the effect described.  Does anybody know of a way to make this happen?

Simple. Build a bedroom, then press "assign location", select the tavern name, then wait. You'll get a petition.
Title: Re: Gorlak Dancer, Please Join Us
Post by: Thisfox on August 11, 2017, 09:07:13 pm
So as I've posted elsewhere, I have a visitor to my current fortress, who is a gorlak dancer.  He's been hanging out for a bit over a year now, and the longer he's here, the more fond of him I've grown.  I really want him to stay, but have yet to see a petition from him.  His graceful dancing heals the souls of all who witness his gyrations and nuanced movements.  Or something.

I'm wondering if there's a way, probably through dfhack, to force him to petition or just outright claim him as a member of our civilization.  I tried "tweak makeown" based on the dfhack plugin documentation, but that doesn't really seem to have the effect described.  Does anybody know of a way to make this happen?

Simple. Build a bedroom, then press "assign location", select the tavern name, then wait. You'll get a petition.

It's not that there are no petitions: It's that the particular petition desired isn't happening. Similar visitors are petitioning, but not the gorlak dancer.
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 12, 2017, 09:27:34 am
It seems like flags4.unk2 and flags3.unk23 might have something to do with visitors, as I'm noticing differences there between fort dwarfs, and visitors


New visitor came in with flags4.unk2 set to false, and flags3.unk23 set to true.

Gorlak dancer had these reversed.

Fort dwarves seem to have these both set to false.

I flipped unk2 and unk23 to match the incoming visitor's flags.  Now, he still shows as a guest, because .visitor is still true, but he doesn't have the usual guest information when I "V"iew him.  Going to keep playing with unknown flags amongst visitors.  I'll probably have to manually set the gorlak dancer using the method described by nolimit, as I think I've kind of screwed him up now, but I'm going to keep doing visitor research, since there's hardly any dfhack info out there for them.

Edit: Redacting about my assumptions on unk23.  Fort dwarves use this too.

Edit2:  After further research, flags3.unk31 appears to determine if a visitor is a guest or not.  If I flip it off, the Gorlak Dancer shows in the other units screen as a "Visitor", and there is none of the guest information.  If I flip it back to true, he shows up as a guest/activity like most fortress visitors coming to check out a location.
Title: Re: Gorlak Dancer, Please Join Us
Post by: escondida on August 12, 2017, 04:27:23 pm
oldmansutton, given that those are still listed as "unknown" by dfhack, it would probably help dfhack folks to tell them your discovery! Props for that research.
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 12, 2017, 05:29:03 pm
Good call, posting about this now to dfhack, thanks!~
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 12, 2017, 08:47:50 pm
Ok, I think I have more info now.

Anybody visiting your fort who doesn't plan on petitioning, will enter the map with unit.meetings.target_entity = -1 and unit.meetings.target_role = -1

Anybody who will eventually petition, will have the unit.meetings.target_entity = XXX, in my fort, this is set to 528, which some way identifies the mayor.  It's not the mayor's id, hist_figure_id or hist_figure_id2.  I know that much.  I don't know if 528 is the mayoral position or what, but every visitor to my fort that has petitioned has had the target_entity set to this number upon entering the map.

Next: unit.meetings.target_role = 3 
You can actually select this enum, which is MEET_WORKERS.

I had my civ's lord consort come onto the map.  I set his unit.meetings.state = 2 (attend meeting)

It would show up as his current activity briefly, then cancel.  However, I think somebody else was petitioning at the time.  After that person was done petitioning, the lord consort immediately tracked down the mayor, and petitioned.

About to test again with the gorlak dancer..... who, shit, is leaving.... his idle_area_type keeps changing to 27 (HeadForEdge)   (might be a better option than the .Forest flag, PatrikLundell, for your getlost script?)

....now to figure out what state is their "I wanna leave" state before he gets away.... ugh

His activity shows attend meeting, but the headforedge is overriding it. annnnd.... couldn't figure it out... but used Nolimit's method to force him into civ.

Tested my method above to force petitioning on a visiting baroness consort, she came right off the map edge, and headed immediately to attend meeting, and petitioned. 

Solved.

EDIT:

The 528 number is my local government id.  Super solved.

EDIT2:
----------------------------------
tl;dr

select unit
dfhack
gui/gm-editor
meeting
target_entity = local government id
target_role = 3
state = 2


Title: Re: Gorlak Dancer, Please Join Us
Post by: Nolimit on August 13, 2017, 01:59:02 am
select unit
dfhack
gui/gm-editor
meeting
target_entity = local government id
target_role = 3
state = 2
I actually tried it before (but i probably set state to 1) and it didn't work as intendent for me, that's why I didn't post it here. In my case visitor showed 'attend meeting' activity, but stayed in a tavern and mayor was doing nothing. I guess it was because I set state value to 1 and not to 2.

Edit: It still doesn't work for me. There is more stuff going on than just unit.meeting. For a visitor who's going to petition in my case unit.meeting.state is 2, unit.meeting.target_entity - my local gov id, unit.meeting.target_role - 3. Also unit.idle_area_type is 18, which is MeetingLocation. And unit.specific_refs contains specific_ref vector

specific_ref vector:
type - 4 (activity)
object - nothing
unit - nothing
activity - activity_info vector
vermin - nothing
effect - effect_info vector
job - nothing
arg2.wrestle - nil

activity_info vector:
id - some id
unit_actor - unit vector of a visitor
unit_noble - unit vector of a mayor
place - at the beginning it was nil, when mayor got job 'conduct meeting' it changed to  a place with reference to a chair in his office
flags - add delay is true everything else is false
unk3 - 3
delay - 0
tree_quota - -1

For mayor unit.idle_area_type is 19 (meetingLocationBuilding) and specific_ref vector is pretty much the same
Thats my findings for now
Title: Re: Gorlak Dancer, Please Join Us
Post by: PatrikLundell on August 13, 2017, 03:40:47 am
I'm afraid I don't think the case is solved. When you have multiple petitioners waiting (e.g. because of a stalled meeting "queue") none of them show they're heading for a meeting. This information is set up only at the time a meeting is actually scheduled, so it's set only for the one currently active. I've looked at this on visitors appearing at the edge (to see if petitioners could be identified), and they've shown up without this info even if they may get it later.

It may be oldmansutton's lord consort actually intended to petition "naturally", so to call it a success would require several successful cases (or better still, cases where visitors known NOT to intend to petition (i.e. claiming to visit to relax/perform/research) being nudged to change their mind).
Nolimit's experience indicates there's more to it than just playing with the meeting stuff, and it matches my experience.

A bit late now, but for the gorlak case I would have made a copy of the save and played around with things to restore the save to implement the solution (provided lost general fortress progress was worth less than the capture of a head banging Gorlak dancer).

I think I've tried HeadForEdge to get rid of camping visitors, but I'll try it again.
Title: Re: Gorlak Dancer, Please Join Us
Post by: Nolimit on August 13, 2017, 04:30:06 am
There are definitely some unknown triggers that causes visitors to change their meeting state. I thought about forcing them to go for a meeting by changing all of the parameters involved. That also means at least adding specific_ref to a visitor and a mayor, and, maybe, there are some other things.
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 13, 2017, 07:09:25 am
Interesting, my baroness consort didn't have the meeting already set when he appeared on the edge of the map to visit, and manually setting it worked for me.  And somebody else was already petitioning at the time I set it, so the consort just waited until they were done, made his way to the tavern first, then immediately left the tavern to get the mayor and drag him to the mayor's study to attend meeting.

I didn't mess with the pathing or idle area, but I have noticed that the attend meeting seems to use idle location 28, rather than 18, and the threshold usually seems to be 2.

I'll keep going, as more interesting experiments visitors appear.

Edit:  I agree there's hidden stuff, but I'd say the hidden stuff takes care of flipping the meeting.state, and the meeting type is preset when they enter the map if they'll petition or not.  There still are definitely flags hiding pertaining to what the visitor is doing and what initiates the meeting state to flip.  I couldn't find the flag that convinces the guest it's time to leave, for instance.

Edit2:  I do have a prior save before the gorlak tried to leave as well.
Title: Re: Gorlak Dancer, Please Join Us
Post by: Nolimit on August 13, 2017, 12:51:48 pm
If your visitor entered with everything in the meeting set up except state, then i would assume that everything else required for petitioning was also set up. Look for specific_refs with type 4 (activity), if it is there when your visitor entered, then it seems like he had been set up for petitioning by a game. I tried adding same specific_refs for both mayor and visitor and it still didn't work. But i'll post my script anyway:
Spoiler (click to show/hide)
This script changes meeting state for visitor (and everything else in meeting), adds specific_ref and activity to both mayor and visitor. Visitor would be 'attending meeting', but wouldn't really do anything. On a side note, I used df.global.activity_next_id for next id when created activity for specific_ref, but i’m not sure if it’s right id, I think that one used for activity_entrys. Also I almost never coded and that’s my first attempt at lua, so I am open to hear what I’ve done wrong in this script.

Other things that I found: When visitor is looking for meeting, in df.global.ui.meeting_requests will appear some value (I think it's some sort of id for meeting request, though gm-editor doesn't have a list of meeting requests). When visitor and mayor met and petition appeared, in df.global.ui.petitions will appear another entry (again, I think it's an id for petition). It would be great if it was possible just to add petition itself, but at this point I don't think it's possible.
Some visitors also petition not just for themselves, but for a troup, and this information also have to be somewhere (my guess that it's stored in meeting requests and later in petitions, but df.global.ui only lists their ids).
So it’s easier just to add them by my first method, I’m pretty sure that stuff required to force visitors to petition is not indexed by dfhack yet.
Title: Re: Gorlak Dancer, Please Join Us
Post by: PatrikLundell on August 13, 2017, 01:15:00 pm
No, the specific ref activity is set up as the meeting is set up. It's not present on visitors entering, but set up later. The stuff in df.global.ui.meeting_requests is likewise set up as the meeting is scheduled (and is messed up on blocked meetings). The df.global.ui.petitions list has been empty when I have looked at it, but I have assumed it is populated as a meeting has been conducted (i.e. contains the stuff that go into the P menu).
I think looking at the unblockmeetings script
Spoiler (click to show/hide)
should give you an idea of the territory I've covered.
Title: Re: Gorlak Dancer, Please Join Us
Post by: Nolimit on August 13, 2017, 02:42:05 pm
I looked at unblockmeetings before. That's where i got a feeling that only changing meeting state won't cause a proper meeting. What I was trying to say is that specific ref isn't set up because of meeting state change. They both change at the same time by some other triggers (in my previous post I just thought that those changes applied not at the same time, but I was wrong). And, yeah, you're right, meeting_request appears when visitor 'attends meeting', and petitions appear after meeting is conducted. I would really love to understand what role those entries are playing.
The best solution would be to find what triggers the change of meeting state and addition of specific_refs. Second best would be to find all of the changes those triggers cause, and try to apply them manually. Only changing meeting and adding specific_refs doesn't seem enough to cause petitioning unfortunately.
Title: Re: Gorlak Dancer, Please Join Us
Post by: PatrikLundell on August 13, 2017, 05:33:09 pm
I agree there should be some lower level state that keeps track of why a visitor has come to the fortress, and on top of that there should be some flag that keeps track of whether the visitor has spoken with a fortress member yet (and thus made that info available for presentation when the visitor is examined).
I suspect trying to set up the secondary effects manually won't cut it, as my guess is that the primary condition is checked when evaluating the results of the secondaries, so telling someone their petition has been accepted when they haven't petitioned will just do nothing, but that's not based on any evidence: I wouldn't mind being proven wrong.
Title: Re: Gorlak Dancer, Please Join Us
Post by: Nolimit on August 13, 2017, 06:40:03 pm
Even if it's possible, we don't really know all of the secondary changes and I don't really know how to find them.
Because of that I made a script just to add units to controllable citizens, without petitioning process. It's probably isn't perfect, it won't work for hostile creatures, I'm not sure how it would work for merchants, caravan guards and diplomats, but it works fine for visitors (and probably for wild animal people). If you'll use it on a visitor who already decided to petition, even if he's not indicating it in any way, then he still going to petition eventually. In that case, it's better to reject him to avoid any mess. Here's the script:
Spoiler (click to show/hide)
I will probably try to improve it later.
Title: Re: Gorlak Dancer, Please Join Us
Post by: oldmansutton on August 14, 2017, 12:13:04 pm
Ok, I can now concur that there is definitely some other unfound flagging somewhere of whether a visitor will petition besides the meeting information.  While I've been able to force visitors to petition who have entered the map without any meeting infromation set, by setting said information, I've now ran into several visitors who would not petition by setting meeting states.  I'd assume wherever the flags that control the visitor wanting to leave also house the intent to petition.  I know there's got to be some flags SOMEWHERE, but so far I've not been able to find anything based on what is currently in gui/gm-editor.

That said, if the visitor WILL petition at some point, my method will speed up the process. 

The gorlak dancer I had made my own using nolimit's method, was no longer in my fort after reloading.  Not sure what happened there.

Unfortunately, the fortress I'm testing is getting its 3rd goblin siege, and the weapon/armor break bug has brought this fortress to a close.  Unless I exterminate all the goblins coming in, this siege is a guaranteed crash.  New fortress started day 1 with rains of elf blood and undead ravens.  It's going to be a little bit before I get to a point where I can accept visitors again.
Title: Re: Gorlak Dancer, Please Join Us
Post by: Ianflow on August 14, 2017, 04:41:18 pm
Is it ok to ask for a recap on what we know so far? I tend not to use dfhack, but I'd love a more summarized look at the varying bugs and methods lol, tho at the same time that makes me think of how great it would be if stuff like this was on the wiki
Title: Re: Gorlak Dancer, Please Join Us
Post by: UselessMcMiner on August 18, 2017, 02:42:52 pm
I think that you should try to control the gorlak dancer in adventure mode and then have him join the fort by talking to the mayor and asking to become a performer. This worked for me when I controlled a satyr wrestler to marry my male teddy wrestler for adventures in tick smashing and baby-making
Title: Re: Gorlak Dancer, Please Join Us
Post by: FantasticDorf on March 02, 2020, 05:18:13 am
Poking this thread for some 'Science' but observationally since this last post i 47.03/47.04, you can fufill the needs of visitors more precisely, and also quite accurately pre-empt what a visitor wants to do now, since people with a interest have a mission objective of 'soldiering' 'the place to perform' & 'to do research' and these seem to be the groups to pander to outside of people being interested in your site.
Having multiple organized religion temples seems to overlap the visitor interest when coming to pray, as they'll mix both their needs to worship & relax together with their association to a church. I have no idea if more fufilled needs of letting them pray or recieve quality entertainment in the tavern increases your location reputation or makes them more likely to join but a well run site i had functioned very well.