Skynet as a sentrybot - Now for the RP

Discussion in 'Fallout General Modding' started by Darek, Jun 13, 2016.

  1. Darek

    Darek is currently unavailable

    Jan 7, 2008
    Since this has been requested I thought it would be fun to try and make this without adding/editing protos, and instead only use scripting and sfall.

    So here it is.

    He works exactly the same as before, only cybernetic brain and human brain can use weapons. Instead of small guns skill, his best skill is now Big guns and he is almost equally good with energy weapons.

    The versions of Skynet that can use weapons will come equipped with a built in robot rocket launcher and some rockets (you can't see them in his inventory but they are there). When the robot rocket launcher runs out of ammo (robo rockets) it can use normal rockets instead.
    He also starts with a minigun and some AP ammo. He can also use the Avenger, Vindicator and Gatling laser gun if you give them to him, though he seems to favor his rocket launcher over all the miniguns (except the Vindicator) as long as he has rockets. He is pre-set to use unarmed (original setup, not my doing) in his combat disposition, so don't forget to change that to ranged or ranged then melee, or he won't be using any of his guns.

    His stats are all the same as the original Skynet except that on his last level he now gets power armor dr/dt instead of the brotherhood armor dr/dt he had before.

    To install it just unrar the file, open the folder and copy/overwrite the DATA folder into your Fallout2 install folder.
    Then in-game play as normal to get Skynet (add biogel, motivator and brain to the brainbot shell), and when you use the terminal to activate the robot an option will come up that lets you choose if you want to use a sentry bot body instead (you can choose to stick with the normal Skynet if you rather want to).

    As stated in the thread title, this is for the Restoration Project. I can't remember what sfall version came with RP 2.3.3 but it's possible that it needs to be updated (if Skynet's skill in his combat control screen doesn't change from small guns to Big guns, sfall needs updating).
    Just download the latest sfall and replace ddraw.dll but do not replace ddraw.ini in your main fallout folder.

    I don't know if it is compatible with the unofficial patch only, so try it at your own risk. Also pretty sure you need to update sfall then.

    As for what I did, first I this piece of code in the script for the computer you use to activate Skynet.
    Code:
      variable LVar0 := 0;
       variable LVar1 := 0;
       variable LVar2 := 0;
       variable LVar3 := 0;
       variable LVar4 := 0;
       variable LVar5 := 0;
       gfade_out(600);
       gfade_in(600);
       if (tile_contains_obj_pid(8908, elevation(self_obj), 33555662)) then begin
         LVar0 := tile_contains_pid_obj(8908, elevation(self_obj), 33555662);
         destroy_object(LVar0);
         if (global_var(155) == 4) then begin
           LVar1 := create_object_sid(16777295, 8908, elevation(self_obj), 167);
           debug_msg("Made Cybernetic Robobrain " + obj_pid(LVar1));
         end
         else begin
           if (global_var(155) == 3) then begin
             LVar1 := create_object_sid(16777597, 8908, elevation(self_obj), 167);
             debug_msg("Made Human Robobrain " + obj_pid(LVar1));
           end
           else begin
             if (global_var(155) == 2) then begin
               LVar1 := create_object_sid(16777595, 8908, elevation(self_obj), 167);
               debug_msg("Made Chimp Robobrain " + obj_pid(LVar1));
             end
             else begin
               if (global_var(155) == 1) then begin
                 LVar1 := create_object_sid(16777596, 8908, elevation(self_obj), 167);
                 debug_msg("Made Abnormal Robobrain " + obj_pid(LVar1));
               end
             end
           end
         end
         metarule3(107, LVar1, 16777282, 0);
         if (global_var(155) == 3) or (global_var(155) == 4) then begin
          LVar2 := create_object_sid(12, 0, 0, -1);
          LVar3 := create_object_sid(270, 0, 0, -1);
          LVar4 := create_object_sid(274, 0, 0, -1);
          LVar5 := create_object_sid(36, 0, 0, -1);
          add_mult_objs_to_inven(LVar1, LVar2, 1);
          add_mult_objs_to_inven(LVar1, LVar3, 1);
          add_mult_objs_to_inven(LVar1, LVar4, 2);
          add_mult_objs_to_inven(LVar1, LVar5, 2);
         end
       end
    
    The last section changes the art being used for Skynet and sets him up with a Minigun, Robot rocket launcher and some ammo. Just regular scripting for this, no sfall stuff needed.

    Then the following was added to the critter_p_procedure in Skynet's script:
    Code:
      if ((obj_art_fid(self_obj) == 16777282) and (has_skill(self_obj, 0) > (has_skill(self_obj, 1)))) or ((obj_art_fid(self_obj) == 16818242) and (has_skill(self_obj, 0) > (has_skill(self_obj, 1)))) or ((obj_art_fid(self_obj) == 16814146) and (has_skill(self_obj, 0) > (has_skill(self_obj, 1)))) then begin
         if ((has_skill(self_obj, 0) == 100) and (has_skill(self_obj, 1) < 101)) then begin
           set_critter_skill_points(self_obj, 1, 87);
           set_critter_skill_points(self_obj, 2, 86);
         end
         if ((has_skill(self_obj, 0) == 110) and (has_skill(self_obj, 1) < 111)) then begin
           set_critter_skill_points(self_obj, 1, 97);
           set_critter_skill_points(self_obj, 2, 96);
         end
         if ((has_skill(self_obj, 0) == 120) and (has_skill(self_obj, 1) < 121)) then begin
           set_critter_skill_points(self_obj, 1, 107);
           set_critter_skill_points(self_obj, 2, 106);
         end
         if ((has_skill(self_obj, 0) == 130) and (has_skill(self_obj, 1) < 131)) then begin
           set_critter_skill_points(self_obj, 1, 117);
           set_critter_skill_points(self_obj, 2, 116);
         end
         if ((has_skill(self_obj, 0) == 145) and (has_skill(self_obj, 1) < 146)) then begin
           set_critter_skill_points(self_obj, 1, 132);
           set_critter_skill_points(self_obj, 2, 131);
         end
         if ((has_skill(self_obj, 0) == 155) and (has_skill(self_obj, 1) < 156)) then begin
           set_critter_skill_points(self_obj, 1, 142);
           set_critter_skill_points(self_obj, 2, 141);
           set_critter_extra_stat(self_obj, 17, 12);
          set_critter_extra_stat(self_obj, 18, 18);
          set_critter_extra_stat(self_obj, 19, 12);
          set_critter_extra_stat(self_obj, 20, 10);
          set_critter_extra_stat(self_obj, 21, 12);
          set_critter_extra_stat(self_obj, 23, 20);
          set_critter_extra_stat(self_obj, 24, 40);
          set_critter_extra_stat(self_obj, 25, 80);
          set_critter_extra_stat(self_obj, 26, 60);
          set_critter_extra_stat(self_obj, 27, 50);
          set_critter_extra_stat(self_obj, 28, 50);
          set_critter_extra_stat(self_obj, 30, 50);
         end
       end
    
    Since the Sentry bot can't use small guns, I had to raise his Big guns skill instead (and decided to up his energy skill too so he can use the laser gatling gun more effectivly). I also decided to give him better armor stats for his last level as he was a bit wimpy compared to other NPC followers.
    First I check that he is using the sentry bot art before making any changes (so as to not make any changes if you decide to play with the normal Skynet). Here I learned that his art fid number changes depending on if he is unarmed, armed with a minigun or if he's armed with a rocket launcher. So I had to check for all three possibilities. Then I'm checking his current unarmed skill to know what I should set his big guns/energy skill to. Nothing spectacular but just an example of what can be done with sfall.
    And sorry for not using headers and such, but I just can't be bothered.
     
    Last edited: Jun 13, 2016
    • [Like] [Like] x 3
  2. CPL

    CPL Still Mildly Glowing
    Modder

    Mar 16, 2013
    Cool. :cool: I'll definitely check this out.
     
  3. J_Fred

    J_Fred Long time lurker

    Dec 22, 2013
    For anyone wondering, this mod works very well, even on older versions of the RP and sfall (I'm usuing RP 2.3.2 and whatever sfall came with it).

    Awesome mod.
     
  4. Darek

    Darek is currently unavailable

    Jan 7, 2008
    • [Like] [Like] x 1
  5. Juza The Cloud

    Juza The Cloud Nanto Goshasei

    Jun 3, 2015
    That is awesome thank you so much, can't wait to try it out !
     
  6. J_Fred

    J_Fred Long time lurker

    Dec 22, 2013
    It works very, very well. It also a SUPER clean mod that essentially offers a completely new companion, at least in tactics. It's only two files and yet it does so much.

    I can't believe it went unnoticed when it was first released.

    Here's hoping @Darek keeps putting out awesome mods like this!
     
    • [Like] [Like] x 1
  7. valcik

    valcik So Old I'm Losing Radiation Signs

    Dec 20, 2008
    Works fine with sfall 3.3 bundled in RP 2.3.3, nifty small mod.
     
    • [Like] [Like] x 1
  8. wastelanDrifter

    wastelanDrifter First time out of the vault

    Aug 7, 2013
    Can I use this mod with my old savegames? I am in New Reno and never visited Sierra Army Depot.
     
  9. J_Fred

    J_Fred Long time lurker

    Dec 22, 2013
    Though I wouldn't recommended it, that's exactly what I did. I was already through a significant portion of the game (right before going to the Depot), and didn't want to lose out on anything. I did not notice any issues.
     
  10. Borislav4a

    Borislav4a First time out of the vault

    Sep 24, 2018
    Hallo. Link is broken...
     
  11. Risewild

    Risewild Venerable Relic of the Wastes
    Modder Orderite

    Jun 14, 2014
    It seems that site doesn't exist anymore. It also seems that the mod wasn't uploaded anywhere else.

    If I recall correctly, MIB88's Mega Mod has an option to have Skynet in a Sentrybot's body too. I guess that would be the best choice to have it. But the Mega Mod adds a lot of things and has a few bugs, so I don't know if you would be interested in installing that.
     
  12. Borislav4a

    Borislav4a First time out of the vault

    Sep 24, 2018
    Oh yup. Right now i play RP. Mb me next chois gona be mega mod..
     
  13. Darek

    Darek is currently unavailable

    Jan 7, 2008
    Yeah the link is broken thanks to my ISP fucking up and not wanting to fix it.
    I will put up a new link at the end of the week.

    The mod can also be downloaded from the Fallout Database.
    Just go to the "F2_Restoration_Project" folder, then the "Mods for RP" folder and scroll down to the bottom and you'll find it there.
     
    • [Rad] [Rad] x 1
  14. Borislav4a

    Borislav4a First time out of the vault

    Sep 24, 2018
    Wow ! Big thx !! ^^)