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

RPU v27 Skynet combat settings issue #238

Closed
ericqzou opened this issue Sep 24, 2023 · 17 comments
Closed

RPU v27 Skynet combat settings issue #238

ericqzou opened this issue Sep 24, 2023 · 17 comments
Assignees

Comments

@ericqzou
Copy link

What happened

Skynet combat settings are mixed up, and can not be saved - reset to messed up state after closing the dialogue

In addition to this I talked to NovaRain and he informed me that he coudn't find this issue on his installation, so I think I may better report it here and see.

What you expected to happen

Settings shall be default skynet settings and can be saved after change.

Screenshot

Screenshot 2023-09-24 133054

Savegame

SLOT01.zip

@NovaRain
Copy link

In your save, Skynet's AI packet is wrong (number 23, AI_KAMAKAZI, the correct range is 113-117), I have no idea how it turns out like that.

@burner1024
Copy link
Member

burner1024 commented Sep 24, 2023

Are you using any other mods? Different sfall?

@ericqzou
Copy link
Author

I shall have only 1 mod and two extract scripts beside everything from RPU. sfall is from RPU package, didn't touch that.

  1. FO2 Tweak
  2. An old script from someone on NMA that makes dead body drop off armor, base on science and repair
  3. NovaRain's script that locks book reading to 5%-point.

Sorry I didn't notice my email notification from github before. If you want me to upload more I shall be happy to.

@burner1024
Copy link
Member

Similar to #154. I re-checked ai.txt and aipacket.h, everything appears to be in order.

@marstem
Copy link

marstem commented Sep 26, 2023

I came to this issue a year+ ago, and with help of Mr.Stalin @nuclear-city.com tried to find out rpu and even sfall scripts error. But looks like it is a MAP error, wrong ai somewhere at original skynet location. But I'm not familiar with maps to find and fix it.

Once the game is started it should be easily fixed for current party by just using ingame debugger - right after the skynet is joined, open current state with debugger, find our skynet as robobrain critter and set its ai packet to 117

@burner1024
Copy link
Member

Do you have earlier saves? Can you check them for ai packet?

@NovaRain
Copy link

NovaRain commented Sep 27, 2023

Some other findings:
AI packet value in Skynet's proto (00000079.pro) in your save is AI_SECURITY_BOT (31) instead of default AI_PARTY_ROBOBRAIN_CUSTOM (117) in its base proto in rpu.dat. The value in the proto shouldn't change for the disposition (berserk, aggressive, etc.) you select in the combat control panel. Maybe attach that old lootable armor mod here for checking.

@ericqzou
Copy link
Author

I have an earlier save but I am not sure if it is from this game or from the earlier one (the one I reported for the car vanishing issue). And in that save I haven't yet recruited skynet.
SLOT11.zip

The lootable armor script:
Lootable Armor.zip

I recall the only "settings" I changed, and may have an impact, compared to my previous play of RPU(must bed v24 and earlier) is that I noticed the option in FO2Tweaks:

; party npc level will match player level more closely

I changed it from 1 to 0 in the middle of the game play when I noticed it. So I am thinking either this or the lootable armor can be the cause.

@burner1024
Copy link
Member

I don't see anything related in lootable armor script. Nor fo2tweaks one.
Is it a fresh v27 game or upgraded from v24?

@ericqzou
Copy link
Author

ericqzou commented Oct 3, 2023

It was a fresh v27 install.

Maybe it is not worth of your time to investigate anymore if it is just a random and one time error. I have already deleted the game since I am done with the play for this time. Seems like it needs more proactive and live debugging right before and while this is being triggered.

@burner1024
Copy link
Member

So you were able to play through the fights from another save?

@ericqzou
Copy link
Author

ericqzou commented Oct 3, 2023

I didn't try skynet from another save. I actually just continue the game from the round that I detected skynet issue. The situations is such:

I didn't really "use" skynet as an active team member except the fact that I got it late in the game and went to Mariposa Military Base to fight Melchior and his pets. It was during that fight I noticed skynet's combat settings issue. But it is just annoying in the way that skynet can't really be a combat partner in the way I wanted, nothing else in the game is effected by this. And any fight with this mis-configured skynet is totally doable. Skynet will just act like always has the "Charge !" command and keeps shooting.

That's why if is not because of the Melchior fight I may not even notice the issue.

@burner1024
Copy link
Member

Sorry, posted my comment in the wrong issue =/.

@burner1024
Copy link
Member

The bot critter is created from terminal script:

if (tile_contains_obj_pid(8908,self_elevation,PID_BROKEN_BRAINBOT)) then begin
item:=tile_contains_pid_obj(8908,self_elevation,PID_BROKEN_BRAINBOT);
destroy_object(item);
if (global_var(GVAR_BRAIN_BOT_BRAIN) == BRAIN_CYBERNETIC) then begin
critter:=create_object_sid(PID_BRAINBOT,8908,self_elevation,SCRIPT_WCBRNBOT);
ndebug("Made Cybernetic Robobrain "+obj_pid(critter));
end
else if (global_var(GVAR_BRAIN_BOT_BRAIN) == BRAIN_HUMAN) then begin
critter:=create_object_sid(PID_ROBOBRAIN_HUMAN,8908,self_elevation,SCRIPT_WCBRNBOT);
ndebug("Made Human Robobrain "+obj_pid(critter));
end
else if (global_var(GVAR_BRAIN_BOT_BRAIN) == BRAIN_CHIMP) then begin
critter:=create_object_sid(PID_ROBOBRAIN_CHIMP,8908,self_elevation,SCRIPT_WCBRNBOT);
ndebug("Made Chimp Robobrain "+obj_pid(critter));
end
else if (global_var(GVAR_BRAIN_BOT_BRAIN) == BRAIN_ABNORMAL) then begin
critter:=create_object_sid(PID_ROBOBRAIN_ABNORMAL,8908,self_elevation,SCRIPT_WCBRNBOT);
ndebug("Made Abnormal Robobrain "+obj_pid(critter));
end
end

It is not saved in the initial map, and thus no errors should stem from it.

If anyone else stumbles upon this issue, please provide a save right before final Skynet assembly.

@burner1024 burner1024 added the can't reproduce Unable to reproduce label Mar 1, 2024
@DondeEstaTuHallPass
Copy link

I have the same issue. sfall 4.4.3.1.
save file is right before assembling(that is, putting all the parts to broken robot thingy) skynet.
SLOT07.zip

@burner1024 burner1024 reopened this Apr 27, 2024
@burner1024
Copy link
Member

@DondeEstaTuHallPass
Please attach a ZAX debug package.

@NovaRain
Copy link

NovaRain commented Apr 27, 2024

The cause is epax.map (EPA ground/utility/robot maintenance levels) because there's a brainbot that erroneously uses Skynet's proto, thus "sharing" data with it. If players enter epax.map before getting Skynet in SAD, Skynet's default AI packet will be changed to AI_SECURITY_BOT and triggers the issue.

For now, you can try this fix script: gl_skynet_tmpfix.zip

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

5 participants