agris said:
Couldn't you force a 'morale break' (not sure what FO calls this)? Whatever function it is that makes towns people run from you when you starting blasting them. It might not force them off the screen, but it gets them away from you.
They call it "flee state" iirc and that is being used, it just don't work all that well. You can only change the distance he will run but he is still limited by action points per turn, and can get stuck if he chose a bad destination hex (iirc he always tries to run away straight from you, and he might just run into a wall and then do nothing). Then you have to script how he behaves outside of combat as well (again if I remember correctly he can't disappear while in combat mode)...
Anyway...
killap, I've been looking into the shi computers a bit...
The devs probably forgot a minus sign in front of the second science skill check (as in it should be -100, not 100).
It makes more sense, since if you are very, very good at science you pass without them knowing. If you are only very good, you get a second chance to pass but they find out someone has been hacking it. If you are not good enough you fail, which at the moment is not possible as you would need a high negative skill. I mean lets say you have -50% science, that would still get you a 50% chance to pass.
Hacking Shi computer terminals:
Code:
procedure NodeHack begin
if (skill_success(dude_obj, SKILL_SCIENCE, -110)) then begin
call Node002;
end else if (skill_success(dude_obj, SKILL_SCIENCE, 100)) then begin
set_shihacked_flag(SHI_TRUE);
call Node002;
end else begin
call Node004;
end
end
That all three terminal scripts have the same bug could be explained by them using one scrip as a template and just editing necessary changes (the bio terminal script is still named "Physics Computer station" in the headline of the script).
It could also be possible they changed it on purpose when they decided to leave out the password paper as a means to access the terminals.
I would like to re-implement the three torn password papers that turn into one full paper to be used with the terminals (it's already in the terminals scripts). Just have to find three good locations on the shi map. For Physics and chemistry there's desks where they could be put. As for the last one maybe add a pot in the small bathroom or put it on the biology scientist (to make it a bit harder)?
Not a good idea to use FIPAPER as a script for the torn pieces because of the too many items bug, but can use the code from it.
The simplest way is probably to add the following to the SFCINA2 map script:
Code:
procedure map_update_p_proc
begin
variable LVar0 := 0;
if (elevation(dude_obj) == 2) then begin
set_light_level(40);
end
else begin
set_light_level(90);
end
if (not(obj_carrying_pid_obj(dude_obj, 453))) then begin
if (obj_carrying_pid_obj(dude_obj, 450) and obj_carrying_pid_obj(dude_obj, 451) and obj_carrying_pid_obj(dude_obj, 452)) then begin
add_obj_to_inven(dude_obj, create_object_sid(453, tile_num(dude_obj), elevation(dude_obj), -1));
LVar0 := obj_carrying_pid_obj(dude_obj, 450);
if (LVar0 != self_obj) then begin
rm_obj_from_inven(dude_obj, LVar0);
destroy_object(LVar0);
end
LVar0 := obj_carrying_pid_obj(dude_obj, 451);
if (LVar0 != self_obj) then begin
rm_obj_from_inven(dude_obj, LVar0);
destroy_object(LVar0);
end
LVar0 := obj_carrying_pid_obj(dude_obj, 452);
if (LVar0 != self_obj) then begin
rm_obj_from_inven(dude_obj, LVar0);
destroy_object(LVar0);
end
rm_obj_from_inven(dude_obj, self_obj);
destroy_object(self_obj);
end
end
end
It works fine, though a bit slow with changing the 3 papers into 1 new, but so was the original script.