Skip to content

Commit

Permalink
6.5a6
Browse files Browse the repository at this point in the history
fixed shield bash, grappling, dirty fighting
  • Loading branch information
subtledoctor committed Mar 7, 2023
1 parent 85984d9 commit f9b1df3
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 41 deletions.
59 changes: 35 additions & 24 deletions scales_of_balance/components/123_WPO_combat_skills.tpa
Expand Up @@ -2130,28 +2130,33 @@ COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csp2a.spl~ // grappling eff
LPF ALTER_SPELL_HEADER INT_VAR target = 5 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter1 = 0 parameter2 = 2 timing = 0 duration = 126144000 STR_VAR resource = ~d5csp2a~ END

CREATE EFF ~d5csp2a~
CREATE EFF ~d5csp5a~
WRITE_LONG 0x10 232
WRITE_LONG 0x14 1
WRITE_LONG 0x1c 2
WRITE_LONG 0x20 7
WRITE_LONG 0x24 0
WRITE_LONG 0x28 126144000
WRITE_LONG 0x20 20
WRITE_LONG 0x24 2
WRITE_SHORT 0x2c 100
WRITE_EVALUATED_ASCII 0x30 ~D5CSP2B~ #8
WRITE_ASCII 0x30 ~D5CSP5B~ #8
WRITE_LONG 0x48 102

COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csp2b.spl~ // grappling effect
LPF ALTER_SPELL_HEADER INT_VAR target = 1 range = 255 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 9 parameter1 = 0 parameter2 = 1 timing = 1 STR_VAR resource = ~d5csp2c~ END
LPF ALTER_SPELL_HEADER INT_VAR target = 5 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 1 parameter1 = 0 parameter2 = 1 timing = 1 STR_VAR resource = ~d5csp2x~ END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 1 parameter1 = 0 parameter2 = 1 timing = 1 STR_VAR resource = ~d5csp2c~ END

COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csp2c.spl~ // grappling effect
LPF ALTER_SPELL_HEADER INT_VAR type = 1 target = 1 range = 3 projectile = %d5csp2% END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 45 target = 2 timing = 0 duration = 1 savingthrow = 16 END
LPF ALTER_SPELL_HEADER INT_VAR type = 1 target = 1 projectile = %d5csp2% END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 185 target = 2 parameter1 = 0 parameter2 = 2 timing = 0 duration = 2 savingthrow = 16 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 176 target = 2 parameter2 = 1 timing = 0 duration = 3 savingthrow = 16 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 40 target = 2 timing = 0 duration = 6 savingthrow = 16 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 0 target = 2 parameter1 = (0 - 4) timing = 0 duration = 6 savingthrow = 16 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 278 target = 2 parameter1 = (0 - 4) timing = 0 duration = 6 savingthrow = 16 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 9 parameter1 = 0 parameter2 = 2 timing = 0 duration = 2 savingthrow = 16 STR_VAR resource = ~d5csp2c~ END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 40 target = 2 timing = 0 duration = 3 savingthrow = 16 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 0 target = 2 parameter1 = (0 - 4) timing = 0 duration = 3 savingthrow = 16 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 278 target = 2 parameter1 = (0 - 4) timing = 0 duration = 3 savingthrow = 16 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 50 target = 2 parameter1 = 26368 parameter2 = 2 timing = 0 duration = 3 savingthrow = 16 END

COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csp2x.spl~
WRITE_BYTE 0x1a (THIS BOR 0b00000001)
LPF ALTER_SPELL_HEADER INT_VAR target = 5 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 0 duration = 1 STR_VAR resource = ~d5csp2c~ END

/*
CREATE EFF ~d5csp2c~
Expand All @@ -2162,7 +2167,7 @@ CREATE EFF ~d5csp2c~
WRITE_LONG 0x24 0
WRITE_LONG 0x28 2
WRITE_SHORT 0x2c 100
*/
// or, for testing:
CREATE EFF ~d5csp2c~
WRITE_LONG 0x10 50
WRITE_LONG 0x14 9
Expand All @@ -2172,6 +2177,7 @@ CREATE EFF ~d5csp2c~
WRITE_LONG 0x24 0
WRITE_LONG 0x28 2 // 126144000
WRITE_SHORT 0x2c 100
*/

//__________________________________________________________________________________

Expand Down Expand Up @@ -2228,19 +2234,19 @@ COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csp5a.spl~ // dirty fightin
LPF ALTER_SPELL_HEADER INT_VAR target = 5 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 1 parameter1 = 0 parameter2 = 2 timing = 0 duration = 126144000 STR_VAR resource = ~d5csp5a~ END

CREATE EFF ~d5csp5a~
CREATE EFF ~d5csp5a~
WRITE_LONG 0x10 232
WRITE_LONG 0x14 1
WRITE_LONG 0x1c 2
WRITE_LONG 0x20 7
WRITE_LONG 0x24 0
WRITE_LONG 0x28 126144000
WRITE_LONG 0x20 20
WRITE_LONG 0x24 2
WRITE_SHORT 0x2c 100
WRITE_EVALUATED_ASCII 0x30 ~D5CSP5B~ #8
WRITE_ASCII 0x30 ~D5CSP5B~ #8
WRITE_LONG 0x48 102

COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csp5b.spl~
LPF ALTER_SPELL_HEADER INT_VAR target = 1 range = 255 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 9 parameter1 = 0 parameter2 = 1 timing = 1 STR_VAR resource = ~d5csp5c~ END
LPF ALTER_SPELL_HEADER INT_VAR target = 5 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 1 parameter1 = 0 parameter2 = 1 timing = 1 STR_VAR resource = ~d5csp5x~ END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 146 target = 1 parameter1 = 0 parameter2 = 1 timing = 1 STR_VAR resource = ~d5csp5c~ END

COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csp5c.spl~ // dirty fighting effects
LPF ALTER_SPELL_HEADER INT_VAR type = 1 target = 1 range = 3 projectile = %d5csp2% END
Expand All @@ -2251,7 +2257,12 @@ COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csp5c.spl~ // dirty fightin
LPF ADD_SPELL_EFFECT INT_VAR opcode = 283 target = 2 parameter1 = 0 parameter2 = 2 timing = 0 duration = 6 probability1 = 100 probability2 = 67 savingthrow = 16 STR_VAR resource = ~d5csp5h~ END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 283 target = 2 parameter1 = 0 parameter2 = 2 timing = 0 duration = 6 probability1 = 100 probability2 = 67 savingthrow = 16 STR_VAR resource = ~d5csp5i~ END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 177 target = 2 parameter1 = 0 parameter2 = 2 timing = 0 duration = 2 savingthrow = 16 STR_VAR resource = ~d5csp5j~ END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 2 parameter1 = (0 - 1) timing = 0 duration = 7 savingthrow = 16 STR_VAR resource = ~d5csp5b~ END
// LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 2 parameter1 = (0 - 1) timing = 0 duration = 7 savingthrow = 16 STR_VAR resource = ~d5csp5b~ END

COPY ~%MOD_FOLDER%/lib/d5_base.spl~ ~override/d5csp5x.spl~
WRITE_BYTE 0x1a (THIS BOR 0b00000001)
LPF ALTER_SPELL_HEADER INT_VAR target = 5 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 0 duration = 1 STR_VAR resource = ~d5csp5c~ END

CREATE EFF ~d5csp5d~
WRITE_LONG 0x10 74
Expand Down
27 changes: 26 additions & 1 deletion scales_of_balance/components/124_WPO_styles.tpa
Expand Up @@ -819,7 +819,7 @@ END

*/

APPEND ~splprot.2da~ ~D5_SPEC_SNS%TAB%112%TAB%2%TAB%4~
APPEND ~splprot.2da~ ~D5_SPEC_SNS%TAB%112%TAB%2%TAB%8~

COPY_EXISTING ~splprot.2da~ ~override~
COUNT_2DA_COLS cols
Expand All @@ -833,6 +833,30 @@ COPY_EXISTING ~splprot.2da~ ~override~
BUT_ONLY

ADD_PROJECTILE ~scales_of_balance/profs/d5_sns.pro~
CREATE EFF ~d5_sns~
WRITE_LONG 0x10 232
WRITE_LONG 0x14 1
WRITE_LONG 0x20 20
WRITE_LONG 0x24 2
WRITE_SHORT 0x2c 100
WRITE_ASCII 0x30 ~D5_SNS1~ #8
WRITE_LONG 0x48 102
COPY ~scales_of_balance/lib/d5_base.spl~ ~override/d5_sns1.spl~ // cast sns2 if spec.
CREATE SPL ~d5_sns1~
COPY_EXISTING ~d5_sns1.spl~ ~override~
LPF QD_ADD_EMPTY_SPELL_HEADER INT_VAR type = 1 location = 4 target = 5 required_level = 1 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 326 target = 1 parameter2 = %sns_spec% timing = 1 STR_VAR resource = ~d5_sns3~ END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 326 target = 1 parameter2 = %sns_spec% timing = 1 STR_VAR resource = ~d5_sns2~ END
CREATE SPL ~d5_sns3~
COPY_EXISTING ~d5_sns3.spl~ ~override~
WRITE_BYTE 0x1a (THIS BOR 0b00000001)
LPF QD_ADD_EMPTY_SPELL_HEADER INT_VAR type = 1 location = 4 target = 5 required_level = 1 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 0 duration = 1 STR_VAR resource = ~d5_sns2~ END
COPY ~scales_of_balance/profs/d5_sns2.spl~ ~override~ // knockback/damage/etc.
LPF ALTER_SPELL_HEADER INT_VAR projectile = %d5_sns% END
LPF ADD_SPELL_EFFECT INT_VAR insert_point = 0 opcode = 318 target = 2 parameter1 = 205 parameter2 = 105 timing = 0 duration = 1 STR_VAR resource = ~d5_sns2~ END

/* old
COPY ~scales_of_balance/profs/d5_sns.eff~ ~override~ // cast sns when attacked
COPY ~scales_of_balance/profs/d5_sns1.spl~ ~override~ // cast sns2 if spec.
LPF ALTER_EFFECT INT_VAR silent = 1 match_opcode = 326 parameter1 = 0 parameter2 = %sns_spec% END
Expand All @@ -858,6 +882,7 @@ ACTION_PHP_EACH d5_sns_thieves AS lemon => lime BEGIN
END
END
END
*/

COPY_EXISTING_REGEXP GLOB ~^.+\.itm$~ ~override~
PATCH_IF (~%SOURCE_SIZE%~ > ~0x71~) BEGIN
Expand Down
Binary file modified scales_of_balance/csp/d5csp2.pro
Binary file not shown.
2 changes: 1 addition & 1 deletion scales_of_balance/language/en_US/setup.tra
Expand Up @@ -588,7 +588,7 @@ Each rank in this proficiency will allow one attempt per day to set a trap.
- Precise Strike (increased chance of critical hits)
- Reckless Attack (increased APR but worse thac0)
- Fighting Dirty (trip, blind, or weaken nearby opponents)
- Parrying (%0% chance to block one attack each round)
- Parrying (50% chance to block one attack each round)
- Missile Snaring (block one missile attack each round)
- Spell Evasion (save to avoid effects of spell projectiles)

Expand Down
Binary file modified scales_of_balance/profs/d5_sns.pro
Binary file not shown.
43 changes: 28 additions & 15 deletions scales_of_balance/scales_of_balance.tp2
@@ -1,7 +1,7 @@
BACKUP ~weidu_external/backup/scales_of_balance~
AUTHOR ~SubtleD~

VERSION ~v6.5a5~
VERSION ~v6.5a6~

//README ~scales_of_balance/readme-SoB.html~

Expand Down Expand Up @@ -351,22 +351,35 @@ DESIGNATED 2013
LABEL ~D5_SBO_5E_CASTING_SLOTS_ONLY_~
SUBCOMPONENT @2011

ACTION_IF (FILE_EXISTS_IN_GAME ~d5zzini.spl~) AND (MOD_IS_INSTALLED ~scales_of_balance.tp2~ ~201~) BEGIN
INCLUDE ~%MOD_FOLDER%/lib/semi_spontaneous.tpa~

INCLUDE ~scales_of_balance/components/201_SBO_bonus_spells.tpa~

ACTION_IF (FILE_EXISTS_IN_GAME ~d5__5E_casting_arcane.d5~) BEGIN
OUTER_SET 5e_int_bonus_memorization = 0
LAM semi_int_slots
END
INCLUDE ~%MOD_FOLDER%/lib/semi_spontaneous.tpa~

ACTION_IF (FILE_EXISTS_IN_GAME ~d5__5E_casting_divine.d5~) BEGIN
OUTER_SET 5e_wis_bonus_casting = 1
LAM semi_wis_slots
LAF 5e_no_priest_mem_bonus END
END
ACTION_IF (MOD_IS_INSTALLED ~scales_of_balance.tp2~ ~201~) BEGIN
ACTION_IF (FILE_EXISTS_IN_GAME ~d5zzini.spl~) BEGIN
INCLUDE ~scales_of_balance/components/201_SBO_bonus_spells.tpa~
ACTION_IF (FILE_EXISTS_IN_GAME ~d5__5E_casting_arcane.d5~) BEGIN
OUTER_SET 5e_int_bonus_memorization = 0
LAM semi_int_slots
END
ACTION_IF (FILE_EXISTS_IN_GAME ~d5__5E_casting_divine.d5~) BEGIN
OUTER_SET 5e_wis_bonus_casting = 1
LAM semi_wis_slots
LAF 5e_no_priest_mem_bonus END
END
END
END

ACTION_IF !(MOD_IS_INSTALLED ~scales_of_balance.tp2~ ~201~) BEGIN
ACTION_IF (FILE_EXISTS_IN_GAME ~d5zzini.spl~) BEGIN
ACTION_IF (FILE_EXISTS_IN_GAME ~d5__5E_casting_arcane.d5~) BEGIN
OUTER_SET 5e_int_bonus_memorization = 0
LAM semi_int_slots
END
ACTION_IF (FILE_EXISTS_IN_GAME ~d5__5E_casting_divine.d5~) BEGIN
OUTER_SET 5e_wis_bonus_casting = 1
LAM semi_wis_slots
COPY ~scales_of_balance/stats/mxsplwis_0.2da~ ~override/mxsplwis.2da~
END
END
END
//__________________________________________________________________________________

Expand Down

0 comments on commit f9b1df3

Please sign in to comment.