Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skynet bot "cannot pick up item" and it's not possible to place items on him via steal skill #95

Closed
WebTiger89 opened this issue Apr 1, 2022 · 15 comments
Assignees

Comments

@WebTiger89
Copy link

Skynet as party member does not behave like other party members. When pressing "G" to command a party member to pickup items does not work. The event display shows "cannot pickup item". Further it's not possible to place items on him via steal skill. I usually abuse the steal skill to place items on my party members to ditch the barter dialog which is anoyying but this does not work for Skynet. I get the message that its capacity is reached.

@Lexx2k
Copy link

Lexx2k commented Apr 2, 2022

Skynet doesn't have a pickup animation and can't pick up stuff from the ground.

@burner1024
Copy link
Member

Party commands are from Party Orders, not UPU.
I didn't know Skynet doesn't have pickup animations, should probably remove it from that order.
As for steal capacity, I think that's how it always worked. It can probably be changed, but I wonder if there's going to be some side effects, affecting other robots?

@Lexx2k
Copy link

Lexx2k commented Apr 2, 2022

Yup, can't steal from robots etc. There was some talk about it in the past, but I can't remember the details and why there was no fix in Sfall.

@WebTiger89
Copy link
Author

My bad. Should I report the issue regarding Skynet and pickup ability in Party Orders or are you aware of it?

@WebTiger89
Copy link
Author

Offtopic question: Are there any instructions about how to contribute? I'm thinking about the modification of the script files

@burner1024
Copy link
Member

burner1024 commented Apr 3, 2022

  • I disabled looting for Skynet for now. (You could check its animations, maybe there's something that can be re-used as looting.)
  • I can't find the talk about stealing from robots that Lexx mentions. You could look for it, or ask again on forums, maybe someone will clarify. Until then, nothing can be done.
  • Regarding contributing, it depends on what do you want to do. For small bugs, can send direct pull requests. For larger problems and/or feature requests, probably better open an issue and discuss first, as there's no guarantee that your pull will be accepted.

@burner1024 burner1024 changed the title Synet bot "cannot pick up item" and it's not possible to place items on him via steal skill Skynet bot "cannot pick up item" and it's not possible to place items on him via steal skill Apr 3, 2022
@burner1024
Copy link
Member

Some extra info:

  • only critters with "biped" body type can be planted items in their inventory by player.
  • body type also affects the default reaction upon using skills on them, or if a critter itself can search healing drugs or weapons in their inventory and use them
  • thus, it's not feasible to change Skynet's body type just for this.
  • however, theoretically it might be possible to switch body type back and forth just when the skill is used, with sfall hooks. Nevertheless, this is not in scope for UPU nor Party Orders.

@Lexx2k
Copy link

Lexx2k commented Apr 3, 2022

I might test this out with the robot in ettu. However, as Skynet can actually carry items (via barter in dialog?), I feel like this might be within scope of the UP.

@Lexx2k
Copy link

Lexx2k commented Apr 3, 2022

This works:

procedure mrhandy_fix begin
   if (get_game_mode bwand INTFACELOOT) then begin
      if (loot_obj == Handy_ptr) then begin
         set_proto_data(obj_pid(Handy_ptr), PROTO_CR_BODY_TYPE, 0);
      end
   end
   else if (get_proto_data(obj_pid(Handy_ptr), PROTO_CR_BODY_TYPE) == 0) then begin
      set_proto_data(obj_pid(Handy_ptr), PROTO_CR_BODY_TYPE, 2);
   end
end

Called in HOOK_GAMEMODECHANGE - in my tests everything was good. There might be a more pretty way to do this, though.
rotators/Fo1in2@2069724

/edit: Apparently Goris has the same issue. Could also be fixed like that.

@burner1024
Copy link
Member

I'm undecided about including it in UPU/RPU. Moreso for Goris, where'd he even put the items? Should this apply to other robots as well, then? Maybe add to FO2tweaks instead.
Anyway, here's a script that should do it for Skynet gl_k_skynet_plant.int.zip.

@burner1024 burner1024 reopened this Apr 3, 2022
@Lexx2k
Copy link

Lexx2k commented Apr 3, 2022

Well, if you can give them items via the dialog/barter interface, then IMO yes, it should be possible. Otherwise you should disable the bartering completely.

The dogs, as example, can't be bartered with even in dialog. So it really seems to be more an oversight that it doesn't work with the other critters.

Considering Fo2 has more such party members, maybe it would be better to check if the party member proto has the barter flag, and if true, switch body type temporarily to human. This way it would automatically work with all party members that by default can be traded with via dialog. (Fo1/ettu doesn't really have that issue, as outside of dogmeat (can't trade by default), and the new MrHandy, everyone is human).

@burner1024
Copy link
Member

You can barter with Goris?

@Lexx2k
Copy link

Lexx2k commented Apr 3, 2022

Yes.
scr00007

@WebTiger89
Copy link
Author

You guys are awesome ❤️ Regarding contribution. I were asking because I would like to be able to

  1. Understand the script file syntax
  2. Do some adjustments, bug fixing and provide a pull request

I guess there is no documentation about this at one place. It would be cumbersome to collect all these informations. So my next question would be, if someone would take time for me to give me an introduction, maybe in a more intuitive way than github, e.g. discord or slack. I guess that would not take much time. Just need some person to ask specific questions.

@burner1024
Copy link
Member

gl_k_plant_fix.int.zip
This should work for Goris also. There's no other party members with this issue, so I think it should be enough for now.

There's an entire forum dedicated to modding. See also some info here.

burner1024 added a commit to BGforgeNet/Fallout2_Restoration_Project that referenced this issue Apr 4, 2022
NovaRain added a commit to sfall-team/sfall that referenced this issue Apr 4, 2022
NovaRain added a commit to sfall-team/sfall that referenced this issue Apr 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants