--- deliantra/Deliantra/Deliantra.pm 2009/12/15 01:44:06 1.137 +++ deliantra/Deliantra/Deliantra.pm 2009/12/16 17:00:09 1.138 @@ -817,7 +817,7 @@ } my @import = ($root); - + unshift @import, \%Deliantra::Data::DEFAULT_ATTR unless $type == 116; @@ -848,6 +848,20 @@ } } + # remove ignores for "root" type + for (map @{$_->[1]}, # section attributes + [general => ($root->{attr} || [])], + @{$root->{section} || []}) + { + my ($k, $v) = @$_; + # skip fixed attributes, if they are ignored thats fine + next if $v->{type} eq 'fixed'; + + delete $ignore{$k}; # if the attributes are defined explicitly they + # should NOT be ignored. ignore should mainly + # hit imported/inherited attributes. + } + $attr->{section} = [ map !exists $section{$_} ? () : do { my $attr = delete $section{$_}; @@ -859,7 +873,6 @@ @attr_order ] }, - exists $section{$_} ? [$_ => delete $section{$_}] : (), @section_order ];