Skip to content

Commit

Permalink
Merge pull request #3 from 11jo/master
Browse files Browse the repository at this point in the history
Magic resistance fix
  • Loading branch information
Gitjas committed Jan 19, 2023
2 parents 68f5eef + 2d795a7 commit 7a492fa
Show file tree
Hide file tree
Showing 7 changed files with 143 additions and 27 deletions.
14 changes: 7 additions & 7 deletions c#solaufein/2da/c#sodrow.2da
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
2DA V1.0
****
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
ABILITY1 **** **** **** **** **** **** **** **** **** **** **** **** AP_c#somar2 AP_c#somar2 AP_c#somar2 AP_c#somar2 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
ABILITY2 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
ABILITY3 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
ABILITY4 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
ABILITY5 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
ABILITY6 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
ABILITY1 **** **** **** **** **** **** **** **** **** **** **** **** AP_c#somar2 AP_c#somar3 AP_c#somar4 AP_c#somar5 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
ABILITY2 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
ABILITY3 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
ABILITY4 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
ABILITY5 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
ABILITY6 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
3 changes: 3 additions & 0 deletions c#solaufein/c#solaufein.tp2
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,9 @@ LAF fl#add_kit_ee STR_VAR kit_name = C#SoDrow END
COPY ~C#Solaufein/spells/c#soblin.spl~ ~override/c#soblin.spl~
COPY ~C#Solaufein/spells/c#sobrec.spl~ ~override/c#sobrec.spl~
COPY ~C#Solaufein/spells/c#somar2.spl~ ~override/c#somar2.spl~
COPY ~C#Solaufein/spells/c#somar3.spl~ ~override/c#somar3.spl~
COPY ~C#Solaufein/spells/c#somar4.spl~ ~override/c#somar4.spl~
COPY ~C#Solaufein/spells/c#somar5.spl~ ~override/c#somar5.spl~


COPY ~C#Solaufein/spells/c#sofeen.spl~ ~override/c#sofeen.spl~
Expand Down
153 changes: 133 additions & 20 deletions c#solaufein/lib/fl#add_kit_ee.tpa
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/*
* fl#add_kit_ee - An ADD_KIT supplement for EE-type games
* Author: Fredrik Lindgren, a.k.a., Wisp
* Authors: Fredrik Lindgren (Wisp), Argent77
* Licence: public domain
* Date: 2016-04-17
* Date: 2017-10-21
*/

OUTER_SPRINT fl#add_kit_ee#version "1.1.3"
OUTER_SPRINT fl#add_kit_ee#version "1.1.5"

DEFINE_ACTION_FUNCTION fl#add_kit_ee#get_row
STR_VAR
Expand Down Expand Up @@ -100,6 +100,47 @@ BEGIN
END
END

DEFINE_ACTION_FUNCTION fl#add_kit_ee#swap_columns
STR_VAR
file = ""
column_name1 = ""
column_name2 = ""
BEGIN
ACTION_IF NOT "%column_name1%" STR_EQ "" &&
NOT "%column_name1%" STR_EQ "%column_name2%" BEGIN
COPY_EXISTING "%file%.2da" override
COUNT_2DA_COLS num_col
READ_2DA_ENTRIES_NOW file num_col - 1
SET col1 = "-1"
SET col2 = "-1"
FOR (i = 0; i < num_col - 1; ++i) BEGIN
READ_2DA_ENTRY_FORMER file 0 i label
PATCH_IF "%label%" STR_EQ "%column_name1%" BEGIN
SET col1 = i
END ELSE PATCH_IF "%label%" STR_EQ "%column_name2%" BEGIN
SET col2 = i
END
END
PATCH_IF (col1 >= 0 && col2 >= 0) BEGIN
READ_2DA_ENTRY_FORMER file 0 col1 value1
READ_2DA_ENTRY_FORMER file 0 col2 value2
SET_2DA_ENTRY_LATER file_out 0 col1 ~%value2%~
SET_2DA_ENTRY_LATER file_out 0 col2 ~%value1%~

SET col1 += 1
SET col2 += 1
FOR (j = 1; j < file; ++j) BEGIN
READ_2DA_ENTRY_FORMER file j col1 value1
READ_2DA_ENTRY_FORMER file j col2 value2
SET_2DA_ENTRY_LATER file_out j col1 ~%value2%~
SET_2DA_ENTRY_LATER file_out j col2 ~%value1%~
END
SET_2DA_ENTRIES_NOW file_out num_col - 1
END
BUT_ONLY
END
END

DEFINE_ACTION_FUNCTION fl#add_kit_ee#validate
INT_VAR
kit_number = 0
Expand All @@ -118,18 +159,24 @@ DEFINE_ACTION_FUNCTION fl#add_kit_ee#validate
thiefscl = ""
sneakatt = ""
crippstr = ""
bdstweap = ""
RET
backstab
thiefskl
traplimt
sneakatt
crippstr
BEGIN
ACTION_IF kit_class != 4 AND ("%backstab%" STR_CMP "" OR
"%thiefskl%" STR_CMP "" OR
"%traplimt%" STR_CMP "" OR
"%sneakatt%" STR_CMP "" OR
"%crippstr%" STR_CMP "")
ACTION_IF kit_class != 4 AND
kit_class != 9 AND
kit_class != 10 AND
kit_class != 13 AND
kit_class != 15 AND
("%backstab%" STR_CMP "" OR
"%thiefskl%" STR_CMP "" OR
"%traplimt%" STR_CMP "" OR
"%sneakatt%" STR_CMP "" OR
"%crippstr%" STR_CMP "")
BEGIN
WARN ~WARNING: the arguments for thief-only 2DAs should only be provided for thief kits~
OUTER_SPRINT backstab ""
Expand Down Expand Up @@ -192,7 +239,7 @@ DEFINE_PATCH_MACRO fl#add_kit_ee#validate_kitlist_values BEGIN
END

DEFINE_PATCH_MACRO fl#add_kit_ee#validate_kitids_value BEGIN
PATCH_IF !"%number%" STRING_MATCHES_REGEXP "0x\([0-9]+\)" = 0 BEGIN
PATCH_IF !"%number%" STRING_MATCHES_REGEXP "0x\([0-9a-f]+\)" = 0 BEGIN
PATCH_FAIL ~ERROR: fl#add_kit_ee could not read a valid kit number for %kit_name% from kit.ids~
END
END
Expand Down Expand Up @@ -224,6 +271,7 @@ DEFINE_ACTION_FUNCTION fl#add_kit_ee
thiefscl = ""
sneakatt = ""
crippstr = ""
bdstweap = ""
BEGIN
ACTION_IF FILE_EXISTS_IN_GAME monkfist.2da BEGIN // "Rule" file as-of-yet unique to EE games
PRINT "Doing EE-type kit extensions for kit %kit_name%"
Expand Down Expand Up @@ -264,6 +312,7 @@ BEGIN
thiefscl
sneakatt
crippstr
bdstweap
RET
backstab
thiefskl
Expand All @@ -286,13 +335,14 @@ BEGIN
BUT_ONLY
END
INNER_PATCH_SAVE kitids "%number%" BEGIN
REPLACE_TEXTUALLY "0x\([0-9]+\)" "0x0000\1"
REPLACE_TEXTUALLY "0x\([0-9a-f]+\)" "0x0000\1"
END
SPRINT w "[ %TAB%]+"
SPRINT ow "[ %TAB%]*"
SPRINT d "[0-9]+"
SPRINT h "[0-9x]+"
REPLACE_TEXTUALLY ~\(%d%%w%%kit_name%%w%%d%%w%%d%%w%%d%%w%.+%w%%d%%w%%h%%w%%d%%ow%$\)~ ~\1 %kitids%~
SPRINT h "0x[0-9a-f]+"
REPLACE_TEXTUALLY ~\(%d%%w%%kit_name%%w%%d%%w%%d%%w%%d%%w%.+%w%%d%%w%%h%%w%%d%%ow%$\)~
~\1 %kitids%~
BUT_ONLY

OUTER_PATCH 0 BEGIN
Expand All @@ -302,7 +352,9 @@ BEGIN
ACTION_IF biography < "-1" OR briefdesc < "-1" OR fallen_notice < "-1" BEGIN
COPY_EXISTING clastext.2da override
PATCH_FOR_EACH column IN biography briefdesc fallen_notice BEGIN
PATCH_IF EVAL "%column%" < "-1" AND FILE_CONTAINS_EVALUATED (clastext.2da "%column%") BEGIN
PATCH_IF EVAL "%column%" < "-1" AND
FILE_CONTAINS_EVALUATED (clastext.2da "%column%")
BEGIN
LPF fl#add_kit_ee#get_2da_value
STR_VAR
row = EVAL "%class%"
Expand All @@ -318,16 +370,52 @@ BEGIN
BUT_ONLY
END

OUTER_SPRINT clastext "%kit_name% %kit_class% %kit_number% %kit_lower% %kit_desc% %kit_mixed% %biography% %fallen% %briefdesc%"
OUTER_SPRINT sod_clastext ""
OUTER_SPRINT sod_stweapon ""
ACTION_IF FILE_EXISTS_IN_GAME ~campaign.2da~ BEGIN
COPY_EXISTING ~campaign.2da~ ~override~
COUNT_2DA_COLS num_col
COUNT_2DA_ROWS num_col num_row
COUNT_2DA_ROWS (num_col - 1) num_row2
PATCH_IF num_row2 > num_row BEGIN
FOR (i = 0; i < num_row; ++i) BEGIN
READ_2DA_ENTRY i 0 num_col name
PATCH_IF ~%name%~ STRING_EQUAL_CASE ~sod~ BEGIN
PATCH_IF num_col > 17 BEGIN
READ_2DA_ENTRY i 17 num_col sod_stweapon
END
PATCH_IF num_col > 30 BEGIN
READ_2DA_ENTRY i 30 num_col sod_clastext
END
SET i = num_row
END
END
END
BUT_ONLY
END

OUTER_SPRINT clastext ""
ACTION_FOR_EACH var IN kit_name
kit_class
kit_number
kit_lower
kit_desc
kit_mixed
biography
fallen
briefdesc
BEGIN
OUTER_SPRINT clastext EVAL "%clastext% %%var%%"
END

ACTION_IF FILE_CONTAINS_EVALUATED (clastext.2da "FALLEN_NOTICE") BEGIN
OUTER_SPRINT clastext "%clastext% %fallen_notice%"
END

APPEND clastext.2da "%clastext%" UNLESS "%kit_name%"
ACTION_IF FILE_EXISTS_IN_GAME ~sodcltxt.2da~ BEGIN
APPEND sodcltxt.2da "%clastext%" UNLESS "%kit_name%"

ACTION_IF FILE_EXISTS_IN_GAME ~%sod_clastext%.2da~ BEGIN
APPEND ~%sod_clastext%.2da~ "%clastext%" UNLESS "%kit_name%"
END

ACTION_DEFINE_ARRAY row_files BEGIN
Expand All @@ -351,7 +439,9 @@ BEGIN

ACTION_PHP_EACH row_files AS _ => item BEGIN
ACTION_IF FILE_EXISTS_IN_GAME "%item%.2da" BEGIN
ACTION_IF FILE_CONTAINS_EVALUATED ("%item%.2da" "^[ %TAB%]*%class%[ %TAB%]+") BEGIN
ACTION_IF FILE_CONTAINS_EVALUATED ("%item%.2da"
"^[ %TAB%]*%class%[ %TAB%]+")
BEGIN
OUTER_SPRINT clone "%class%"
END ELSE BEGIN
OUTER_SPRINT clone ""
Expand All @@ -378,8 +468,31 @@ BEGIN
END
END

ACTION_DEFINE_ARRAY cleanup BEGIN kitlist END
OUTER_SET index = 1
ACTION_IF FILE_EXISTS_IN_GAME ~%sod_stweapon%.2da~ BEGIN
LAF fl#add_kit_ee#add_column
STR_VAR
kit_name
input = EVAL "%bdstweap%"
file = EVAL "%sod_stweapon%"
END
// DEFAULT must be last column!
LAF fl#add_kit_ee#swap_columns
STR_VAR
file = EVAL "%sod_stweapon%"
column_name1 = "DEFAULT"
column_name2 = EVAL "%kit_name%"
END
END

OUTER_SET index = 0
ACTION_FOR_EACH file IN kitlist
clastext
"%sod_clastext%"
"%sod_stweapon%"
BEGIN
OUTER_SPRINT $cleanup("%index%") "%file%"
OUTER_SET ++index
END

ACTION_PHP_EACH row_files AS _ => file BEGIN
OUTER_SPRINT $cleanup("%index%") "%file%"
Expand Down
Binary file modified c#solaufein/spells/c#somar2.spl
Binary file not shown.
Binary file added c#solaufein/spells/c#somar3.spl
Binary file not shown.
Binary file added c#solaufein/spells/c#somar4.spl
Binary file not shown.
Binary file added c#solaufein/spells/c#somar5.spl
Binary file not shown.

0 comments on commit 7a492fa

Please sign in to comment.