View Issue Details

IDProjectCategoryView StatusLast Update
0003870Dwarf FortressCombat -- Generalpublic2011-05-17 01:10
ReporterG D Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version0.31.18 
Summary0003870: BP_RELATION around upperbody have no effect
Description[BP_RELATION:BY_CATEGORY:SHELL:AROUND:BY_CATEGORY:BODY:100]
or
[BP_RELATION:BY_CATEGORY:SHELL:AROUND:BY_TYPE:UPPERBODY:100]
or
[BP_RELATION:BY_CATEGORY:SHELL:AROUND:BY_TOKEN:UB:100]
Have no effect on combat.

But using realtion to other body part works fine. Like
[BP_RELATION:BY_CATEGORY:SHELL:AROUND:BY_CATEGORY:ARM:100] resulted in protection of arm.
Steps To Reproducehttp://www.bay12forums.com/smf/index.php?topic=74480.0 - here some description
Tagsbody parts, BP_RELATION, combat, Intentional/Expected?, raw file

Activities

G D

2011-01-07 02:45

reporter   ~0014820

It looks like that [BP_RELATION:X:around:Y:100] works only if X closer to root part than Y. And because upperbody is root part, there no such X for BP_RELATION for upperbody.

G D

2011-05-17 01:10

reporter   ~0017762

Last edited: 2011-05-17 01:34

Steps To Reproduce:
1)Create two bodyparts
[BODY:HELM_WORKING]
    [BP:HELMW:bone helm:STP][CONTYPE:UPPERBODY][CATEGORY:BHELM]
        [DEFAULT_RELSIZE:2000]

[BODY:HELM_BROKEN]
    [BP:HELMW:bone helm:STP][CONTYPE:HEAD][CATEGORY:BHELM]
        [DEFAULT_RELSIZE:2000]

2)Create body detail plan
[BODY_DETAIL_PLAN:HELM_POSITION]
    [BP_RELATION:BY_CATEGORY:BHELM:AROUND:BY_CATEGORY:HEAD:100]

3)change dwarfs raws
3.1 add :HELM_WORKING to body
[BODY:HUMANOID:2EYES:2EARS:NOSE:2LUNGS:HEART:GUTS:ORGANS:HUMANOID_JOINTS:THROAT:NECK:SPINE:BRAIN:SKULL:5FINGERS:5TOES:MOUTH:FACIAL_FEATURES:TEETH:RIBCAGE:HELM_WORKING]
3.2 add [TISSUE_LAYER:BY_CATEGORY:BHELM:BONE] and [BODY_DETAIL_PLAN:HELM_POSITION] after [BODY_DETAIL_PLAN:STANDARD_TISSUES]

4)start the arena
4.1 create new dwarf
4.2 create his opponent
4.3 wrestle dwarf and strangle his throat until he passes out
4.4 attack dwarf in head
4.5 bonehelm body part will be damaged instead.

So it works now.

5)Change dwarfs raw
replace :HELM_WORKING with :HELM_BROKEN to get this
[BODY:HUMANOID:2EYES:2EARS:NOSE:2LUNGS:HEART:GUTS:ORGANS:HUMANOID_JOINTS:THROAT:NECK:SPINE:BRAIN:SKULL:5FINGERS:5TOES:MOUTH:FACIAL_FEATURES:TEETH:RIBCAGE:HELM_BROKEN]

6)reproduce step 4

Now bonehelm offer no protection. This is wrong.


So [BP_RELATION:X:around:Y:100] works only if X closer to root part than Y. And because upperbody is root part, there no such X for BP_RELATION for upperbody.
And [BP_RELATION:X:around:Y:100] will not work for upperbody.

to test this on upperbody just change [BP_RELATION:BY_CATEGORY:BHELM:AROUND:BY_CATEGORY:HEAD:100] to
[BP_RELATION:BY_CATEGORY:BHELM:AROUND:BY_CATEGORY:BODY_UPPER:100]


Ps.
Step 3 can be expanded by castes like this:
    [CASTE:FEMALE]
[BODY:HUMANOID:2EYES:2EARS:NOSE:2LUNGS:HEART:GUTS:ORGANS:HUMANOID_JOINTS:THROAT:NECK:SPINE:BRAIN:SKULL:5FINGERS:5TOES:MOUTH:FACIAL_FEATURES:TEETH:RIBCAGE:HELM_BROKEN]

    [CASTE:MALE]
[BODY:HUMANOID:2EYES:2EARS:NOSE:2LUNGS:HEART:GUTS:ORGANS:HUMANOID_JOINTS:THROAT:NECK:SPINE:BRAIN:SKULL:5FINGERS:5TOES:MOUTH:FACIAL_FEATURES:TEETH:RIBCAGE:HELM_WORKING]

    [SELECT_CASTE:ALL]

(better to change [CASTE:FEMALE]and[CASTE:MALE]at the end of dorfs raws to [SELECT_CASTE:FEMALE][SELECT_CASTE:MALE]cause we dont want 4 castes)

Having one caste with working helm and one with bugged allows to combine steps 3,5 and 4,6 into two steps instead of four.

Add Note

Note

Issue History

Date Modified Username Field Change
2011-01-05 04:51 G D New Issue
2011-01-05 04:54 G D Tag Attached: body parts
2011-01-05 04:54 G D Tag Attached: combat
2011-01-07 02:45 G D Note Added: 0014820
2011-05-05 22:14 G D Tag Attached: raw file
2011-05-05 22:17 G D Tag Attached: BP_RELATION
2011-05-07 11:12 user6 Tag Attached: Intentional/Expected?
2011-05-17 01:10 G D Note Added: 0017762
2011-05-17 01:11 G D Note Edited: 0017762
2011-05-17 01:34 G D Note Edited: 0017762