Critter Protos:
152 (Grundfigur) Damit funktioniert die Animation.
319 - 324 (Stage 1 - Stage 6) Keine Animation.
Scripts haben dabei anscheinend keine Wirkung.
Wobei der deaktivierte Source auf die Files in der Critter.lst anspielt.
In der Critter.lst steht:
marobe,99
madeth,100
Das sind die Animationen für Goris.
Hier der Code:
Code: Select all
procedure combat_is_starting_p_proc begin
inc_local_var(LVAR_First_Combat);
// if (self_visible) then
// art_change_fid_num(self_obj, 100); Taken out per Jesse
end
procedure combat_is_over_p_proc begin
// if (self_visible) then
// art_change_fid_num(self_obj, 99);
end
procedure combat_p_proc begin
variable fid;
variable over;
if (self_visible) then begin
if (fixed_param == COMBAT_SUBTYPE_TURN) then begin
debug_msg("OCGORIS: umm my turn");
if (Goris_In_Party and has_trait(TRAIT_OBJECT, target_obj, OBJECT_TEAM_NUM) == TEAM_VAULT13) then begin
debug_msg("OCGORIS: Attcking player");
set_self_abandon_party;
self_attack_dude;
set_local_var(LVAR_Hostile, 2);
end
end
end else begin
script_overrides;
end
end
1. mal
Code: Select all
if ( v13 & 1 )
{
if ( v6 )
{
if ( v4 != -1 )
*(_DWORD *)(16 * v4 + dword_510948 + 12) = 0;
}
}
sub_4A3B0C(*(_DWORD *)(v6 + 120), v6, 0);
sub_4A3B34(*(_DWORD *)(v14 + 120), 0);
if ( *(_DWORD *)(v7 + 100) == 16777368)
{
if ( !sub_42DD18(v7) )
v1 = v8;
}
++v4;
v5 += 4;
}
while ( v4 < dword_56D37C );
}
Code: Select all
if ( dword_56D37C > 0 )
{
a1 = 0;
do
{
v9 = *(_DWORD *)(a1 + dword_56D390);
v14 = *(_DWORD *)(a1 + dword_56D390);
*(_DWORD *)(v9 + 64) = 0;
sub_48C2F0(v14, 0, v7);
*(_DWORD *)(v9 + 84) = 0;
sub_4A3B0C(*(_DWORD *)(v9 + 120), v7, 0);
sub_4A3B34(*(_DWORD *)(v9 + 120), 0);
if ( *(_DWORD *)(v9 + 100) == 16777368 )
{
if ( !sub_42DD18(v9) )
{
if ( !sub_47DC60() )
{
v15 = *(_DWORD *)(v9 + 32);
sub_419C88(
(*(_DWORD *)(v9 + 32) & 0xF000000) >> 24,
99,
(*(_DWORD *)(v9 + 32) & 0xF000) >> 12,
(v15 & 0xFF0000) >> 16,
(*(_DWORD *)(v9 + 32) & 0x70000000) >> 28);
sub_413C4C(v9);
sub_413AF4(2, v16);
sub_4149D0(v9, -1, a1);
sub_41518C(v9, a1);
sub_413CCC();
while ( sub_413EC8(v9) )
sub_4C8BDC();
}
}
}
++v8;
a1 += 4;
}
while ( v8 < dword_56D37C );
}
Code: Select all
if ( v4 && v4 != 2 && *(_DWORD *)(v5 + 100) != 16777368 )
{
result = 0;
}
else
{
v7 = 0;
v15 = sub_471B70(v5);
while ( 1 )
{
v8 = sub_472698(v5, 3, (int)&v14);
v10 = v8;
if ( !v8 )
break;
if ( v8 != v15 )
{
if ( !v12 || sub_47905C(v8, v9, (int)&v14) <= *(_DWORD *)(v5 + 64) )
{
if ( sub_4298EC(v5, v10, 2) )
{
if ( sub_478280(v10, 2) != 4 || sub_4786A0(v10, v11) || sub_4292D4(v5, v10, 0) )
v7 = sub_4293BC(v5, v7, v13, v10, v10);
}
}
}
}
result = v7;
}
return result;
}