Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: BP_RELATION  (Read 2715 times)

G D

  • Bay Watcher
    • View Profile
BP_RELATION
« on: January 05, 2011, 05:53:01 am »

I tried to create some sort of shell for one of my monsters. But it doesn’t work. So I tried out some other combinations and figured that shell will not work for UPPERBODY or if it connected to something else then body. I mean [BP_RELATION:BY_CATEGORY:SHELL:AROUND:BY_CATEGORY:BODY:100] will not work.
Also shell bodypart cant work if connected to head [CONTYPE:HEAD] or [CON:HD].

Actually shell on place and it can be targeted. But it will not block attacks to protected part  so BP_RELATION have no effect. But if shell connected to body and bp_relation set to be around something else it works like in next case protecting arm:

BODY
Code: [Select]
[BODY:BASE_HEAD]
[BP:HD:head:STP][CONTYPE:UPPERBODY][HEAD][CATEGORY:WUT]
[DEFAULT_RELSIZE:300]

[BODY:TESTSHELL]
[BP:4SH:shell main part:shell main parts][CON:UB]
[SKELETON][DEFAULT_RELSIZE:3000][CATEGORY:SHELL]

[BODY:TEST_ARM]
[BP:RA:test arm:STP][CON:UB][LIMB][RIGHT][CATEGORY:ARM]
[DEFAULT_RELSIZE:400]

Detail plan
Code: [Select]
[BODY_DETAIL_PLAN:MEGABRAIN_MATERIALS]
[ADD_MATERIAL:BRAIN:BRAIN_TEMPLATE]
[ADD_MATERIAL:SHELL:STONE_TEMPLATE]
[ADD_MATERIAL:BLOOD:BLOOD_TEMPLATE]
[ADD_TISSUE:BRAIN:BRAIN_TEMPLATE]
[ADD_TISSUE:SHELL:SHELL_TEMPLATE]
[BP_RELATION:BY_CATEGORY:SHELL:AROUND:BY_CATEGORY:ARM:100]

Creature:
Code: [Select]
[CREATURE:TESTSUBJECT]
[NAME:test subject:test subjects:test subject]
[CASTE_NAME:test subject:test subjects:test subject]
[DESCRIPTION:For !!SCIENCE!!.]
[CREATURE_TILE:'?'][COLOR:1:3:0]
[LARGE_ROAMING][CARNIVORE]
[FREQUENCY:100][DIFFICULTY:1]

[BODY:BASIC_1PARTBODY:BASE_HEAD:BRAIN:TESTSHELL:TEST_ARM]
[BODY_DETAIL_PLAN:MEGABRAIN_MATERIALS]
[TISSUE_LAYER:BY_CATEGORY:BODY:BRAIN]
[TISSUE_LAYER:BY_CATEGORY:WUT:BRAIN]
[TISSUE_LAYER:BY_CATEGORY:BRAIN:BRAIN]
[TISSUE_LAYER:BY_CATEGORY:SHELL:SHELL]
[TISSUE_LAYER:BY_CATEGORY:ARM:BRAIN]

[HAS_NERVES]
[BLOOD:LOCAL_CREATURE_MAT:BLOOD:LIQUID]
[CREATURE_CLASS:GENERAL_POISON]
[GETS_WOUND_INFECTIONS]
[GETS_INFECTIONS_FROM_ROT]
[USE_MATERIAL_TEMPLATE:PUS:PUS_TEMPLATE]
[PUS:LOCAL_CREATURE_MAT:PUS:LIQUID]

[NOBONES][NOMEAT][NOSKIN][NOSKULL][NOFEAR][NOBREATHE]
[SPEED:3000]

[BODY_SIZE:0:0:500]
[BODY_SIZE:0:30:10000]
[BODY_APPEARANCE_MODIFIER:LENGTH:90:95:98:100:102:105:110]
[BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110]
[BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110]

[MAXAGE:1:2][LITTERSIZE:2:8]
[POPULATION_NUMBER:100:250][CLUSTER_NUMBER:10:25][LOOSE_CLUSTERS]
[ALL_ACTIVE]

[BIOME:ANY_LAND]

[CASTE:FEMALE]
[FEMALE]
[CASTE:MALE]
[MALE]


I think that such behavior is really strange especially considering that skull not connected to body and works fine in standard raws.  In my example if you target arm of test subject you actually first attack shell and only if you crack shell then you can do damage to arm. Thats normal but as i said before i cant do this for body and this is strange. Maybe someone tested this before and know something about BP_RELATION token?

(Test subject is weak so i perform experiment using grandmaster fighter dark gnome without weapons under my control, punches glance away from shell, bite can crack shell)
Logged

rephikul

  • Bay Watcher
  • [CURIOUSBEAST_IDEA]
    • View Profile
Re: BP_RELATION
« Reply #1 on: January 05, 2011, 06:00:41 am »

did you actually add relation to wrap the shell around the brain? I dont see that in your raw.
Logged
Intensifying Mod v0.23 for 0.31.25. Paper tigers are white.
Prepacked Dwarf Fortress with Intensifying mod v.0.23, Phoebus graphics set, DFhack, Dwarf Therapist, Runesmith and a specialized custom worldgen param.

G D

  • Bay Watcher
    • View Profile
Re: BP_RELATION
« Reply #2 on: January 05, 2011, 06:07:09 am »

No my shell protect arm, not brain. And for arm it works pretty fine. But if i try to Change it to Body it will not work.

Ps well actually this creature mostly consist of brain(not as bodypart but as material and tissue layer).
« Last Edit: January 05, 2011, 06:10:47 am by G D »
Logged

rephikul

  • Bay Watcher
  • [CURIOUSBEAST_IDEA]
    • View Profile
Re: BP_RELATION
« Reply #3 on: January 05, 2011, 06:09:49 am »

No my shell protect arm, not brain.
so what's the actual issue? your gnome actually needed to punch the shell away to get to the arm.
Logged
Intensifying Mod v0.23 for 0.31.25. Paper tigers are white.
Prepacked Dwarf Fortress with Intensifying mod v.0.23, Phoebus graphics set, DFhack, Dwarf Therapist, Runesmith and a specialized custom worldgen param.

G D

  • Bay Watcher
    • View Profile
Re: BP_RELATION
« Reply #4 on: January 05, 2011, 06:12:43 am »

Issue is that when i use [BP_RELATION:BY_CATEGORY:SHELL:AROUND:BY_CATEGORY:BODY:100] it not works.

But for [BP_RELATION:BY_CATEGORY:SHELL:AROUND:BY_CATEGORY:ARM:100]
and [BP_RELATION:BY_CATEGORY:SHELL:AROUND:BY_CATEGORY:WUT:100]
it works fine

(WUT - head category)
Logged

rephikul

  • Bay Watcher
  • [CURIOUSBEAST_IDEA]
    • View Profile
Re: BP_RELATION
« Reply #5 on: January 05, 2011, 06:30:26 am »

I see what you meant now, maybe you should report it.
Logged
Intensifying Mod v0.23 for 0.31.25. Paper tigers are white.
Prepacked Dwarf Fortress with Intensifying mod v.0.23, Phoebus graphics set, DFhack, Dwarf Therapist, Runesmith and a specialized custom worldgen param.

G D

  • Bay Watcher
    • View Profile
Re: BP_RELATION
« Reply #6 on: January 05, 2011, 06:38:36 am »

I think i should investigate this some more. And test [internal] [small] [aperture] and other tags with this.

Hmm it looks that shell works well for internal and small organs. Still dont know why it refused to work with upperbody.
« Last Edit: January 05, 2011, 07:14:22 am by G D »
Logged

cartmann

  • Bay Watcher
    • View Profile
Re: BP_RELATION
« Reply #7 on: January 05, 2011, 12:35:19 pm »

It wouldn't be because the shell size is smaller than the body size, and so will not cover it?

rephikul

  • Bay Watcher
  • [CURIOUSBEAST_IDEA]
    • View Profile
Re: BP_RELATION
« Reply #8 on: January 05, 2011, 12:38:17 pm »

It wouldn't be because the shell size is smaller than the body size, and so will not cover it?
the shell he use is 3k, the shell in my personal test was 5k. His body was 2k, mine was 2 bodies of 1k. In both cases, the shell was bigger then the inner body and neither showed deflection.
Logged
Intensifying Mod v0.23 for 0.31.25. Paper tigers are white.
Prepacked Dwarf Fortress with Intensifying mod v.0.23, Phoebus graphics set, DFhack, Dwarf Therapist, Runesmith and a specialized custom worldgen param.

D_E

  • Bay Watcher
    • View Profile
Re: BP_RELATION
« Reply #9 on: January 05, 2011, 06:17:03 pm »

Two things you could try:

1)  Remove the [UPPERBODY] and/or [LOWERBODY] tags from the test creature's body.  These tags might possibly be causing the conflict.  Have you tried it on a nothing-special bodypart (ie, a bodypart which does not have HEAD, LIMB, UPPERBODY, LOWERBODY, etc)?

2)  The shell may not be able to protect the root bodypart for some reason.  Try adding a dummybody or something and using CON or CONTYPE to connect the creature's body to this dummy body.

Also, when you tried to connect the shell to the creature's head, did you try having it protect the body?  Perhaps bodyparts can't protect the bodyparts to which they are connected.

Going further with this, perhaps the shell can only protect bodyparts further down the creature's body plan.  If you attach a shell to a creature's upper arm, can you make the shell protect the lower arm?
Logged
Mods I've done:
Zelda mod-mod, Beta in the Wild DF 47.04
Illithid Empire mod DF 31.25 (update canceled)
Spotter's Guide to Illithids (Genesis mod-mod) genesis 3.19a4 (update canceled)

G D

  • Bay Watcher
    • View Profile
Re: BP_RELATION
« Reply #10 on: January 05, 2011, 11:32:05 pm »

Quote
Also, when you tried to connect the shell to the creature's head, did you try having it protect the body?  Perhaps bodyparts can't protect the bodyparts to which they are connected.

Going further with this, perhaps the shell can only protect bodyparts further down the creature's body plan.  If you attach a shell to a creature's upper arm, can you make the shell protect the lower arm?

Looks like this is right, shell works only on parts further down. And because upperbody is root part shell cant work for it.

In this creature shell has no effect \/

Code: [Select]
[OBJECT:BODY]

[BODY:BASE_HEAD]
[BP:HD:head:STP][CONTYPE:UPPERBODY][HEAD][CATEGORY:WUT]
[DEFAULT_RELSIZE:300]

[BODY:TESTSHELL]
[BP:4SH:shell main part:shell main parts][CON:RA2]
[SKELETON][DEFAULT_RELSIZE:3000][CATEGORY:SHELL]

[BODY:TEST_ARM]
[BP:RA:test arm:STP][CON:UB][LIMB][RIGHT][GRASP][CATEGORY:ARM]
[DEFAULT_RELSIZE:400]
[BP:RA2:test lower arm:STP][CON:RA][LIMB][RIGHT][GRASP][CATEGORY:ARM2]
[DEFAULT_RELSIZE:400]

Code: [Select]
[OBJECT:BODY_DETAIL_PLAN]

[BODY_DETAIL_PLAN:MEGABRAIN_MATERIALS]
[ADD_MATERIAL:BRAIN:BRAIN_TEMPLATE]
[ADD_MATERIAL:SHELL:STONE_TEMPLATE]
[ADD_MATERIAL:BLOOD:BLOOD_TEMPLATE]
[ADD_TISSUE:BRAIN:BRAIN_TEMPLATE]
[ADD_TISSUE:SHELL:SHELL_TEMPLATE]
[BP_RELATION:BY_CATEGORY:SHELL:AROUND:BY_TOKEN:RA:100]

Code: [Select]
[OBJECT:CREATURE]

[CREATURE:TESTSUBJECT]
[NAME:test subject:test subjects:test subject]
[CASTE_NAME:test subject:test subjects:test subject]
[DESCRIPTION:For !!SCIENCE!!.]
[CREATURE_TILE:'?'][COLOR:1:3:0]
[LARGE_ROAMING][CARNIVORE]
[FREQUENCY:100][DIFFICULTY:1]

[BODY:BASIC_1PARTBODY:BASE_HEAD:BRAIN:TEST_ARM:TESTSHELL]
[BODY_DETAIL_PLAN:MEGABRAIN_MATERIALS]
[TISSUE_LAYER:BY_CATEGORY:BODY:BRAIN]
[TISSUE_LAYER:BY_CATEGORY:WUT:BRAIN]
[TISSUE_LAYER:BY_CATEGORY:BRAIN:BRAIN]
[TISSUE_LAYER:BY_CATEGORY:SHELL:SHELL]
[TISSUE_LAYER:BY_CATEGORY:ARM:BRAIN]
[TISSUE_LAYER:BY_CATEGORY:ARM2:BRAIN]

[HAS_NERVES]
[BLOOD:LOCAL_CREATURE_MAT:BLOOD:LIQUID]
[CREATURE_CLASS:GENERAL_POISON]
[GETS_WOUND_INFECTIONS]
[GETS_INFECTIONS_FROM_ROT]
[USE_MATERIAL_TEMPLATE:PUS:PUS_TEMPLATE]
[PUS:LOCAL_CREATURE_MAT:PUS:LIQUID]


[NOBONES][NOMEAT][NOSKIN][NOSKULL][NOFEAR][NOBREATHE]
[SPEED:3000]

[BODY_SIZE:0:0:500]
[BODY_SIZE:0:30:10000]
[BODY_APPEARANCE_MODIFIER:LENGTH:90:95:98:100:102:105:110]
[BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110]
[BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110]

[MAXAGE:1:2][LITTERSIZE:2:8]
[POPULATION_NUMBER:100:250][CLUSTER_NUMBER:10:25][LOOSE_CLUSTERS]
[ALL_ACTIVE]

[BIOME:ANY_LAND]

[CASTE:FEMALE]
[FEMALE]
[CASTE:MALE]
[MALE]

But if shell connected to RA and protects RA2 it works fine.
« Last Edit: January 05, 2011, 11:36:36 pm by G D »
Logged

rephikul

  • Bay Watcher
  • [CURIOUSBEAST_IDEA]
    • View Profile
Re: BP_RELATION
« Reply #11 on: January 06, 2011, 12:28:16 am »

I couldnt get shells to protect lower body even though it's attached to upper body so what shell can cover might be hard coded also.
Logged
Intensifying Mod v0.23 for 0.31.25. Paper tigers are white.
Prepacked Dwarf Fortress with Intensifying mod v.0.23, Phoebus graphics set, DFhack, Dwarf Therapist, Runesmith and a specialized custom worldgen param.

G D

  • Bay Watcher
    • View Profile
Re: BP_RELATION
« Reply #12 on: January 06, 2011, 03:50:38 am »

Hmm it works fine for me with lowerbody. A dont see any effect of bodypart tags, only connections.

Number 3:

Spoiler (click to show/hide)

Spoiler (click to show/hide)

Spoiler (click to show/hide)

This creature have lowerbody connected to right arm and left arm connected to lowerbody. Well it looks strange, but it works. Shell can protect lowerbody.
Logged