Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2]

Author Topic: King is a serial killer?  (Read 3544 times)

TruePikachu

  • Bay Watcher
  • Accomplished System Administrator
    • View Profile
    • cDusto (my personal server)
Re: King is a serial killer?
« Reply #15 on: October 31, 2015, 07:58:44 pm »

Creatures indeed have a way to be part of multiple different civs, but they also have a primary civ. Specifically, figure.entity_links is a list of entries, of which each entry is an entity ID, and the strength of the link. However, the "primary civ" is seen in various places, like at figure.civ_id.

Ethics are stored as part of the civilization (global.world.entities.all[civ_id]), not on an individual basis. Each civ has at least two copies of the ethics (entity.resources.ethic and entity.entity_raw.ethic), but they are both identical to my local raws, so I don't know if it is possible for a civ to adjust it's ethics themselves.

I do not know if the ethics a figure uses are the ones from the primary civ, selected from one of the entity_links, or somehow computed across all of the entity_links. I would think they are from the primary civ exclusively.

It is likely that the primary civ is the entity_links entry with the greatest link_strength, but I haven't done a full analyses of my world's figures to confirm this.
Logged
He likes Pokémon, composing ≡«☼characters☼»≡, Windows for its compatability, Linux for its security, and Pikachu for its electric capabilities. When possible, he prefers to consume pasta. He absolutely detests Apple.

TheFlame52

  • Bay Watcher
  • Certified geezer & only man to win 0.40.24
    • View Profile
Re: King is a serial killer?
« Reply #16 on: October 31, 2015, 08:12:25 pm »

Where can I find 'figure'? What headers is it under? I'd like to see if I can fix my rocs' little loyalty problem.

omega_dwarf

  • Bay Watcher
  • Adequate Architect, Dabbling Modder
    • View Profile
Re: King is a serial killer?
« Reply #17 on: November 01, 2015, 01:44:19 am »

Where can I find 'figure'? What headers is it under? I'd like to see if I can fix my rocs' little loyalty problem.

That doesn't sound like a "little" problem :P

TruePikachu

  • Bay Watcher
  • Accomplished System Administrator
    • View Profile
    • cDusto (my personal server)
Re: King is a serial killer?
« Reply #18 on: November 01, 2015, 02:33:42 am »

Where can I find 'figure'? What headers is it under? I'd like to see if I can fix my rocs' little loyalty problem.
I'm saying things from the game's internal structures, not from any specific file or part of Legends.

figure would be some entry in the vector<historical_figure*> df.global.world.history.figures. You can mess around in there with Lua in DFHack, but it is probably going to be hard to locate an individual without getting their historical figure ID somehow.
Logged
He likes Pokémon, composing ≡«☼characters☼»≡, Windows for its compatability, Linux for its security, and Pikachu for its electric capabilities. When possible, he prefers to consume pasta. He absolutely detests Apple.

TheFlame52

  • Bay Watcher
  • Certified geezer & only man to win 0.40.24
    • View Profile
Re: King is a serial killer?
« Reply #19 on: November 01, 2015, 11:27:18 am »

I know that, and thanks for the help. I hope this works!

TruePikachu

  • Bay Watcher
  • Accomplished System Administrator
    • View Profile
    • cDusto (my personal server)
Re: King is a serial killer?
« Reply #20 on: November 01, 2015, 06:41:12 pm »

Just did some scanning, it looks like civs can, in fact, change their own ethics. entity.entity_raw.ethic is information from the world's RAWs, while entity.resources.ethic is what the civ actually uses.

If you run the following script:
Spoiler (click to show/hide)
You can get nice-looking output like the following:
Code: [Select]
[DFHack]# index-ethics
civ_id=326      Ongetodur       Ethics don't match!
 [ENTITY:MOUNTAIN]
  [ETHIC:KILL_NEUTRAL:REQUIRED]
    RAWs say ONLY_IF_SANCTIONED
  [ETHIC:KILL_ENEMY:REQUIRED]
    RAWs say ACCEPTABLE
civ_id=393      Kimenemmun      Ethics don't match!
 [ENTITY:PLAINS]
  [ETHIC:KILL_NEUTRAL:REQUIRED]
    RAWs say JUSTIFIED_IF_NO_REPERCUSSIONS
  [ETHIC:KILL_ENEMY:REQUIRED]
    RAWs say ACCEPTABLE
civ_id=402      Gusilgadan      Ethics don't match!
 [ENTITY:MOUNTAIN]
  [ETHIC:KILL_NEUTRAL:REQUIRED]
    RAWs say ONLY_IF_SANCTIONED
  [ETHIC:KILL_ENEMY:REQUIRED]
    RAWs say ACCEPTABLE
civ_id=413      Kalsiibu        Ethics don't match!
 [ENTITY:PLAINS]
  [ETHIC:KILL_NEUTRAL:REQUIRED]
    RAWs say JUSTIFIED_IF_NO_REPERCUSSIONS
  [ETHIC:KILL_ENEMY:REQUIRED]
    RAWs say ACCEPTABLE
civ_id=775      Ave Apalě       Ethics don't match!
 [ENTITY:FOREST]
  [ETHIC:KILL_NEUTRAL:REQUIRED]
    RAWs say ACCEPTABLE
Here, you can see that all five of these civs are now REQUIRED to KILL_NEUTRAL, while the former four also are REQUIRED to KILL_ENEMY.

I just did a quick mod so that civilization names are printed, so people can do research in Legends to see what had happened to cause such a change. Meanwhile, civilization IDs are also printed so that it is easier to locate them when hacking.
Logged
He likes Pokémon, composing ≡«☼characters☼»≡, Windows for its compatability, Linux for its security, and Pikachu for its electric capabilities. When possible, he prefers to consume pasta. He absolutely detests Apple.

Edmus

  • Bay Watcher
  • Powerful toasting since 1893!
    • View Profile
Re: King is a serial killer?
« Reply #21 on: November 04, 2015, 07:44:47 pm »

 I just had my monarch arrive in my game.
Spoiler (click to show/hide)
She too was a goblin citizen elevated to monarch for some reason.
Logged

Sutremaine

  • Bay Watcher
  • [ETHIC:ATROCITY: PERSONAL_MATTER]
    • View Profile
Re: King is a serial killer?
« Reply #22 on: November 04, 2015, 08:52:31 pm »

Seeing goblin personality traits laid out like that makes me wonder if goblins are actually the calmest and most stable race in DF. Despite the lot of them having no self-control, no concept of honesty, etc., they still manage to form civs that don't implode even though their ruler can't keep an eye on all of them, all the time. They might say they freely cheat each other at any time, but if they came across a dwarven personality with the 'freely cheating' trait, would they simply find it too much to handle? Perhaps goblins treat each other like the sort of friend you can talk to in a way that a stranger would find shocking, and a dwarven cheat would make them go 'holy crap, you'd actually do that to, like, even another dwarf? I thought you were supposed to be the honest ones'.

This doesn't account for all the murder, though. I just think it's weird that every goblin is a selfish raging asshole surrounded by selfish raging assholes, and yet they still have specialised professionals who contribute to goblin society and rely on contributions from others outside their profession.
Logged
I am trying to make chickens lay bees as eggs. So far it only produces a single "Tame Small Creature" when a hen lays bees.
Honestly at the time, I didn't see what could go wrong with crowding 80 military Dwarves into a small room with a necromancer for the purpose of making bacon.

miauw62

  • Bay Watcher
  • Every time you get ahead / it's just another hit
    • View Profile
Re: King is a serial killer?
« Reply #23 on: November 04, 2015, 09:03:08 pm »

Orks?
Logged

Quote from: NW_Kohaku
they wouldn't be able to tell the difference between the raving confessions of a mass murdering cannibal from a recipe to bake a pie.
Knowing Belgium, everyone will vote for themselves out of mistrust for anyone else, and some kind of weird direct democracy coalition will need to be formed from 11 million or so individuals.
Pages: 1 [2]