Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. how to inject notifies through code
  2.  
  3. static function UpdateAnimations(out array<AnimSet> CustomAnimSets, XComGameState_Unit UnitState, XComUnitPawn Pawn)
  4. {
  5.     local AnimSet Set;
  6.     local AnimSequence Sequence;
  7.     local AnimNotifyEvent NotifyEvent;
  8.     local AnimNotify_FireWeaponVolley TestNotify;
  9.     local int i;
  10.  
  11.     foreach Pawn.Mesh.AnimSets(Set)
  12.     {
  13.         foreach Set.Sequences(Sequence)
  14.         {
  15.             if (InStr(Sequence.SequenceName, "HL_Psi_SelfCast") != INDEX_NONE)
  16.             {
  17.                 `log(`showvar(Sequence.SequenceName));
  18.                 for (i = 0; i<Sequence.Notifies.Length; i++)
  19.                 {
  20.                     TestNotify = AnimNotify_FireWeaponVolley(Sequence.Notifies[i].Notify);
  21.                     if (TestNotify==none) continue;
  22.                     if (TestNotify!=none && TestNotify.PerkAbilityName == "MCDetonate") return;
  23.                     if (TestNotify!=none && TestNotify.PerkAbilityName == "Fuse")
  24.                     {
  25.                         `log(`showvar(TestNotify.PerkAbilityName));
  26.                         `log(`showvar(TestNotify.bPerkVolley));
  27.                         NotifyEvent.Time = Sequence.Notifies[i].Time;
  28.                         NotifyEvent.Notify = new class'AnimNotify_FireWeaponVolley'(TestNotify);
  29.                         AnimNotify_FireWeaponVolley(NotifyEvent.Notify).PerkAbilityName = "MCDetonate";
  30.                         `log(`showvar(AnimNotify_FireWeaponVolley(NotifyEvent.Notify).bPerkVolley));
  31.                         Sequence.Notifies.InsertItem(i++, NotifyEvent);
  32.                         //break;
  33.                     }
  34.                 }
  35.             }
  36.         }
  37.     }
  38. }
  39.  
  40. static function UpdateAnimations(out array<AnimSet> CustomAnimSets, XComGameState_Unit UnitState, XComUnitPawn Pawn)
  41. {
  42.     local AnimSet Set;
  43.     local AnimSequence Sequence;
  44.     local XComAnimNotify_Aim TestNotify;
  45.     local int i;
  46.  
  47.     if (!UnitState.IsSoldier())
  48.     {
  49.         return;
  50.     }
  51.  
  52.     foreach Pawn.Mesh.AnimSets(Set)
  53.     {
  54.         foreach Set.Sequences(Sequence)
  55.         {
  56.             if (InStr(Sequence.SequenceName, "MV_WalkFwdA") != INDEX_NONE ||
  57.                 InStr(Sequence.SequenceName, "MV_WalkFwdYellowAlertA") != INDEX_NONE)
  58.             {
  59.                 //`log(GetFuncName() @ `showvar(Sequence.SequenceName),, 'TrueStealth');
  60.                 for (i = 0; i<Sequence.Notifies.Length; i++)
  61.                 {
  62.                     TestNotify = XComAnimNotify_Aim(Sequence.Notifies[i].Notify);
  63.                     if (TestNotify==none) continue;
  64.                     if (TestNotify!=none && TestNotify.Enable)
  65.                     {
  66.                         `log(GetFuncName() @ UnitState.SummaryString @ "Disabling" @ `showvar(TestNotify),, 'TrueStealth');
  67.                         TestNotify.Enable = false;
  68.                         //break;
  69.                     }
  70.                 }
  71.             }
  72.         }
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement