Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: What causes entities to be hostile with each other?  (Read 2898 times)

Uronym

  • Bay Watcher
    • View Profile
What causes entities to be hostile with each other?
« on: December 22, 2011, 06:18:48 am »

I've been searching for a while and can't seem to find anything about this, so I'd like to ask for the sake of other prospective modders in the future: What causes entities to be hostile with each other?

As in, causing them to have the red dashes (----) in the Neighbors tab of the embark menu, causing them to send sieges and things even if they're not at war, like goblins in vanilla DF. I've found all kinds of conflicting answers all over the place. A few of the supposed causes seemed to be:

  • [BABYSNATCHER] and [ITEM_THIEF] entity tokens
  • Significantly different ethics
  • [CAN_SPEAK], [CAN_LEARN], and [INTELLIGENT] creature tokens

From my limited experience, significantly different ethics only causes the entities to go to war more (War), not actually make them hostile all the time (----). From vanilla evidence, it would appear that [BABYSNATCHER] and [ITEM_THIEF] could cause hostility, since goblins have these tags, but since there aren't many other races to look at in vanilla, so I don't have much to base that theory from; and kobolds have [ITEM_THIEF] but are hostile in a totally different way, perhaps, or perhaps not, due to their [SKULKING] tag.

I've checked the wiki, but even there there doesn't seem to be any solid research or answers about exactly what these different tokens affect as far as hostility.

EDIT: It would appear that goblins don't actually have [ITEM_THIEF], oops; and I'm thinking it would be safe to rule out any of the creature tags being a likely cause of hostility; I'd expect it to be more of an entity issue.

And, I'm pretty sure that in the Kobold Camp thread they talk of goblin sieges, which would go with what I've found so far about entities with [ITEM_THIEF] being friendly to those who also have [ITEM_THIEF], and not to others, and same for [BABYSNATCHER]; meaning that kobolds and goblins are hostile with each other because neither has both [ITEM_THIEF] and [BABYSNATCHER]; this would be indicative of, say, if you wanted to make an entity hostile, you would want to give your hostile entity one of these tags, depending on who you want them to be friendly with, and which kind of thieves you want them to send. This isn't certain, I don't have solid evidence, but looking at the raws, this seems to be one of the main differences between hostile and friendly entity relationships.

Additional hard evidence, logical reasoning and experience would be appreciated.
« Last Edit: December 22, 2011, 06:28:47 am by Uronym »
Logged
What I think we're saying is we need dwarves to riot and break things more often.

Hugo_The_Dwarf

  • Bay Watcher
  • Modding Mentor
    • View Profile
    • Regeneration: Forced Evolution
Re: What causes entities to be hostile with each other?
« Reply #1 on: December 22, 2011, 09:39:10 am »

[BABYSNATCHER] and [ITEM_THIEF]

these two automatically make the civ hostile to everyone because who doesn't hate kidnappers and theives

A civ is hostile if the civ's creatures lacks the [CAN_SPEAK], in this case [UTTERANCES] (not proper spelling) for kobolds, It allows them to have gibberish names and talk but they still can't speak which makes them enemy of teh state because they can't form treaties and such.

[SKULKING] all that I found is that it changes the "An Ambush Curse Them!" to "Skulking Filth Drive Them Out!"

But now with the above said [CAN_SPEAK] tag being missing makes them hostile, that puts [ITEM_THEIF] back into question if it makes them hostile or not.
All my tested [ITEM_THEIF] civ's creatures lack the [CAN_SPEAK], maybe someone can research this and make the effect of [ITEM_THEIF] solid.

But saying this your parent civ (one that trades with you) will never hate you even if you have [BABYSNATCHER] and the other things to make your civ hostile to all.
So playing as Goblins only goblins would trade with you, and everyone would want you dead because nobody loves you (other then your fellow goblins).

And from Kobold Camp if your parent civ has [ITEM_THEIF] you can still trade but the exported wealth will not increase due to the traders "stealing" your stuff. I say "stealing" because it only counts as that, other then that trading is just fine.

So the only thing that is put into question is:
[ITEM_THEIF] does it really make a civ hated by all? (my personal opion, yes but I have no evidence)
[SKULKING] is it just for text cosmetics or does it do something else?

And yes Wars can start with anyone if one civ does not agree with anothers ethics, say if humans find Slavery Acceptable and Dwarfs find it Appaulling, then Dwarves will every now and then wage war on Humans over Slavery.

EDIT:
but wars can end due to peace treaties, only to have them wage war again in the future (I had two civs wage war 32 times over 150 years)

EDIT2:
Added [SKULKING] to list of to be investigated
« Last Edit: December 22, 2011, 09:41:40 am by Hugo_The_Dwarf »
Logged

Ramirez

  • Bay Watcher
    • View Profile
Re: What causes entities to be hostile with each other?
« Reply #2 on: December 22, 2011, 04:00:57 pm »

I seem to remember that skulking in older versions made the severity of that races attacks depend on what they had stolen from you rather than based on your fortresses development. Basically if you were an easy target for the kobold thieves they would send more. No idea if it still works like that though.
Logged

IamanElfCollaborator

  • Bay Watcher
  • Resident Shipper God and Freyjapiller
    • View Profile
Re: What causes entities to be hostile with each other?
« Reply #3 on: December 22, 2011, 07:14:51 pm »

It still does.

Uronym

  • Bay Watcher
    • View Profile
Re: What causes entities to be hostile with each other?
« Reply #4 on: December 22, 2011, 08:00:34 pm »

Quote
I seem to remember that skulking in older versions made the severity of that races attacks depend on what they had stolen from you rather than based on your fortresses development. Basically if you were an easy target for the kobold thieves they would send more. No idea if it still works like that though.
Quote
It still does.

If that is all it does, then I think we can rule that out as causing hostility, necessarily...

I have modded-in an entity (orcs!) and I will test with them. From what I've read, though, [ITEM_THIEF] causes, if you have a fortress of an entity with that tag, to never gain exported wealth, because exports are counted as being "stolen". This would leave the only remaining tag, if lack of exportable wealth were unacceptable to you, to make an entity hostile, be [BABYSNATCHER], which seems like it could be unacceptable too; what if you don't want your hostile race stealing babies and becoming populated by other races (especially elves!!)? Research remains to be done, but perhaps it would be optimal if Toady implemented a new entity tag ([HOSTILE_TO:MOUNTAIN], for example?) for any races you want hostility from but not thieves/baby snatchers? Perhaps something like that could be posted in the suggestions board at a later time.

In the meantime, from the knowledge we have gathered, it would appear that the best compromise would be adding the [BABYSNATCHER] token to your hostile entities, or [ITEM_THIEF] if you don't intend them to ever be [CIV_CONTROLLABLE]? But is it possible that caravans from [ITEM_THIEF] entities that you are not hostile with will experience adverse effects?

Does anyone with experience in this kind of thing have any research to share?

EDIT: As previous research has suggested, [BABYSNATCHER] flips a switch of hostility. Adding it will make the entity hostile to un-modded dwarves.
« Last Edit: December 22, 2011, 08:14:21 pm by Uronym »
Logged
What I think we're saying is we need dwarves to riot and break things more often.

narhiril

  • Bay Watcher
  • [DUTY_BOUND]
    • View Profile
Re: What causes entities to be hostile with each other?
« Reply #5 on: December 22, 2011, 11:42:28 pm »

I've been campaigning for that token for months.  I'm guessing it will get addressed in the army arc...  at least, I hope.
« Last Edit: December 23, 2011, 01:31:01 am by narhiril »
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: What causes entities to be hostile with each other?
« Reply #6 on: December 22, 2011, 11:57:39 pm »

I've been campaigning for that token for months.  I'm guessing it will get addressed in he army arc...  at least, I hope.

The next update will have a creature token--[OPPOSED_TO_LIFE]--that is probably going to make entities of that creature hostile to all others.

Ieb

  • Bay Watcher
  • A Breakdancing Ogre
    • View Profile
Re: What causes entities to be hostile with each other?
« Reply #7 on: December 23, 2011, 08:03:57 am »

Quote
But is it possible that caravans from [ITEM_THIEF] entities that you are not hostile with will experience adverse effects?

If you put ITEM_THIEF in an entity, they will be hostile towards you. Not sure what happens if you throw it in while already playing a world, but as for making a new world, it'll be like that. However, if your own civ also has ITEM_THIEF tag, then you'll be trading buddies with any civ with that tag(assuming they don't have BABYSNATCHER as well which again makes them hostile, or some of their ethics end up causing a war between you and them during worldgen that doesn't end when you start playing).

Downsides to ITEM_THIEF civs being the ones you control, when you trade, you get a load of YOUR TRADE ITEM HAS BEEN STOLEN when the merchants leave and you don't get export values.

Besides ethics, I've seen some wars that were fought over the leader of one civ opposing the religion of another. Can't remember though if the leader was a demon or whatever.
Logged