mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Added the damage type offset of weapon proto to define_extra.h.
Fixed a typo in hookscripts.txt. Added a new example mod gl_autodoors (by Mr.Stalin) to modderspack. #19
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,77 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
Auto Doors mod for Fallout 2 by Mr.Stalin
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
- allows the player to automatically open/walk through unlocked doors when not in combat
|
||||||
|
|
||||||
|
Requires sfall 3.7b or higher
|
||||||
|
|
||||||
|
NOTE: this script requires compiler from sfall modderspack with -s option
|
||||||
|
(short circuit evaluation)
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "..\headers\define.h"
|
||||||
|
#include "..\headers\command.h"
|
||||||
|
#include "..\headers\sfall\sfall.h"
|
||||||
|
#include "..\headers\sfall\define_extra.h"
|
||||||
|
|
||||||
|
procedure start;
|
||||||
|
procedure map_enter_p_proc;
|
||||||
|
procedure set_door_flag(variable state);
|
||||||
|
procedure combatturn_handler;
|
||||||
|
|
||||||
|
#define PORTAL (0)
|
||||||
|
#define DOOR_FLAGS (0x24)
|
||||||
|
|
||||||
|
variable only_once := 0;
|
||||||
|
|
||||||
|
procedure start begin
|
||||||
|
if game_loaded then begin
|
||||||
|
if (sfall_ver_major >= 4) then
|
||||||
|
register_hook_proc(HOOK_COMBATTURN, combatturn_handler);
|
||||||
|
else
|
||||||
|
set_global_script_repeat(60);
|
||||||
|
call map_enter_p_proc;
|
||||||
|
end else begin
|
||||||
|
if (only_once == 1 and combat_is_initialized) then begin
|
||||||
|
only_once := 2;
|
||||||
|
call set_door_flag(false);
|
||||||
|
end else if (only_once == 2 and not(combat_is_initialized)) then begin
|
||||||
|
only_once := 1;
|
||||||
|
if (sfall_ver_major >= 4) then
|
||||||
|
set_global_script_repeat(0);
|
||||||
|
call set_door_flag(FLAG_WALKTHRU);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
procedure map_enter_p_proc begin
|
||||||
|
only_once := 1;
|
||||||
|
call set_door_flag(FLAG_WALKTHRU);
|
||||||
|
end
|
||||||
|
|
||||||
|
procedure set_door_flag(variable state) begin
|
||||||
|
variable objectMap, obj, objPid, arrayPid, i;
|
||||||
|
|
||||||
|
objectMap := list_as_array(LIST_SCENERY);
|
||||||
|
arrayPid := temp_array(1, 0);
|
||||||
|
|
||||||
|
foreach (obj in objectMap) begin
|
||||||
|
objPid := obj_pid(obj);
|
||||||
|
|
||||||
|
if (proto_data(objPid, sc_type) != PORTAL) or is_in_array(objPid, arrayPid) then
|
||||||
|
continue;
|
||||||
|
|
||||||
|
arrayPid[i] := objPid;
|
||||||
|
i++;
|
||||||
|
resize_array(arrayPid, i + 1);
|
||||||
|
set_proto_data(objPid, DOOR_FLAGS, state);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
procedure combatturn_handler begin
|
||||||
|
if (only_once == 1) then
|
||||||
|
set_global_script_repeat(60);
|
||||||
|
end
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
Auto Doors mod for Fallout 2 by Mr.Stalin
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
- allows the player to automatically open/walk through unlocked doors when not in combat
|
||||||
|
|
||||||
|
|
||||||
|
Requires sfall 3.7b or higher.
|
||||||
|
|
||||||
|
To use, copy gl_autodoors.int to your scripts folder.
|
||||||
@@ -89,6 +89,7 @@
|
|||||||
#define PROTO_WP_ANIM (36)
|
#define PROTO_WP_ANIM (36)
|
||||||
#define PROTO_WP_DMG_MIN (40)
|
#define PROTO_WP_DMG_MIN (40)
|
||||||
#define PROTO_WP_DMG_MAX (44)
|
#define PROTO_WP_DMG_MAX (44)
|
||||||
|
#define PROTO_WP_DMG_TYPE (48)
|
||||||
#define PROTO_WP_RANGE_1 (52)
|
#define PROTO_WP_RANGE_1 (52)
|
||||||
#define PROTO_WP_RANGE_2 (56)
|
#define PROTO_WP_RANGE_2 (56)
|
||||||
#define PROTO_WP_PROJ_PID (60)
|
#define PROTO_WP_PROJ_PID (60)
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ Runs when retriving the damage rating of the players used weapon. (Which may be
|
|||||||
|
|
||||||
int arg1 - The default min damage
|
int arg1 - The default min damage
|
||||||
int arg2 - The default max damage
|
int arg2 - The default max damage
|
||||||
Item arg3 - The weapin used. (0 if unarmed)
|
Item arg3 - The weapon used. (0 if unarmed)
|
||||||
Critter arg4 - The critter doing the attacking
|
Critter arg4 - The critter doing the attacking
|
||||||
int arg5 - The type of attack
|
int arg5 - The type of attack
|
||||||
int arg6 - non zero if this is an attack using a melee weapon
|
int arg6 - non zero if this is an attack using a melee weapon
|
||||||
|
|||||||
Reference in New Issue
Block a user