Skip to content
This repository has been archived by the owner on Jun 28, 2024. It is now read-only.

Commit

Permalink
0.9.7
Browse files Browse the repository at this point in the history
semi_spont update
projected simulacrum on enemies
markers
  • Loading branch information
subtledoctor committed Mar 17, 2021
1 parent fd7793c commit 62fe546
Show file tree
Hide file tree
Showing 15 changed files with 338 additions and 236 deletions.
4 changes: 3 additions & 1 deletion TomeAndBlood/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ This component defines specialists by what they can do, instead of by what they
- Necromancer: you can innately use a modal ability to slow or control nearby undead. Also, the Chill Touch, Ghoul Touch, and Vampiric Touch spells are improved to have special effects against undead, and they are changed into innate abilities only learnable by necromancers.
- Transmuter: you get the innate ability to temporarily create and control a golem.

DO NOT install this component if you are going to use the 5E Spellcasting mod.
*DO NOT* install this component if you are going to use the broader 5E Spellcasting mod.

COMPONENT 45: Arcane Crafting

Expand Down Expand Up @@ -170,6 +170,8 @@ This is a wizard kit that prepares and casts spells according to the D&D 5E rule

The Arcanist's preparation slots are governed by MXSPLWIZ.2da; any changes you make to the standard wizard spell table will affect how many spells an Arcanist can prepare. The Arcanist's spellcasting slots are set to match the unmodded spell slots of a Dragon Disciple. If you want to change this, you can modify "TomeandBlood/data/arcanist/D5CSTARC.2da" BEFORE installing the mod.

*DO NOT* install this component if you are going to use the broader 5E Spellcasting mod.

COMPONENT 80: Mana Sorcerer

This component gives sorcerers (only unkitted sorcerers, for now) an innate ability to use mana points to cast spells instead of spell-level-based casting slots. Your known spells will be the same (you must choose them manually from an item ability) but you will have a pool of mana points instead of spell slots. Casting a spell costs as many points as its spell level; you will start with ~2 mana points and can progress to as many as 120, at level 25. While more flexible, this is generally less firepower than a normal sorcerer has if you tally up their spell slots; so the Mana Sorcerer has a Restorative Meditation innate ability that can be used between fights, which will restore one half of the points you recently spent, rounded down.
Expand Down
8 changes: 5 additions & 3 deletions TomeAndBlood/TomeAndBlood.tp2
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BACKUP ~TomeAndBlood/backup~
AUTHOR ~aquadrizzt~
VERSION ~0.9.6~
VERSION ~0.9.7~

ALWAYS

Expand Down Expand Up @@ -47,7 +47,7 @@ INCLUDE ~TomeAndBlood/comp/setup_spell_schools.tpa~

LAF spell_schools END


/*
// -----------------------------
// 12: SPELL TWEAKS: GENERAL CHANGES (Subtledoctor)
// -----------------------------
Expand All @@ -62,7 +62,7 @@ COPY_EXISTING ~sw1h01.itm~ ~override/qdtnb_spelltweaks_gen.qd~ //detection for t
INCLUDE ~TomeAndBlood/comp/setup_spell_tweaks.tpa~

LAF general_spell_tweaks END

*/

// -----------------------------
// 13: SPELL TWEAKS: CLONE CHANGES (Subtledoctor)
Expand Down Expand Up @@ -532,6 +532,8 @@ INCLUDE ~TomeAndBlood/comp/setup_arcanist.tpa~

LAF add_arcanist END

COPY ~%MOD_FOLDER%/lib/semi_spont/d5_marker.d5~ ~override/d5__5E_casting_arcane.d5~


// -----------------------------
// 85: MANA SORCERER(S)
Expand Down
7 changes: 6 additions & 1 deletion TomeAndBlood/comp/setup_familiars.tpa
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@ COPY_EXISTING ~kitlist.2da~ ~override~
BUT_ONLY

//Remove Find Familiar from Spell Selection menu
APPEND ~HIDESPL.2da~ ~SPWI123 1 0~
ACTION_IF (FILE_EXISTS_IN_GAME ~hidespl.2da~) AND (GAME_IS ~iwdee~) BEGIN
APPEND ~hidespl.2da~ ~SPWI123 1 0~
END
ACTION_IF (FILE_EXISTS_IN_GAME ~hidespl.2da~) AND !(GAME_IS ~iwdee~) BEGIN
APPEND ~hidespl.2da~ ~SPWI123 1 0 0~
END

//Replace Scrolls of Find Familiar with Scrolls of Magic Missile.
COPY_EXISTING ~scrl77.itm~ ~override/scrl6d.itm~
Expand Down
45 changes: 32 additions & 13 deletions TomeAndBlood/comp/setup_multiclass_sorcerers.tpa
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,29 @@ OUTER_SET fighter_sorcerer_code = (0x4000 + %D5_FIGHTER_SORCERER%)
OUTER_SET sorcerer_cleric_code = (0x4000 + %D5_SORCERER_CLERIC%)
OUTER_SET sorcerer_thief_code = (0x4000 + %D5_SORCERER_THIEF%)

//5E CASTING COMPAT___________________________________________________________________
// add 318 effects to exempt multisorc from 5E casting
APPEND ~splprot.2da~ ~D5_KIT_IS%TAB%152%TAB%-1%TAB%1~ UNLESS ~D5_KIT_IS~
COPY_EXISTING ~splprot.2da~ ~override~
COUNT_2DA_COLS cols
READ_2DA_ENTRIES_NOW rows cols
FOR (row = 1; row < rows; ++row) BEGIN
READ_2DA_ENTRY_FORMER rows row 0 ~stat~
PATCH_IF ~%stat%~ STRING_EQUAL_CASE ~D5_KIT_IS~ BEGIN
SET kit_is_row = %row%
END
END
BUT_ONLY
ACTION_FOR_EACH 5e_spl IN ~d5zz000~ ~d5zzini~ /*~d5zlots~*/ ~d5zltwz~ BEGIN
ACTION_IF (FILE_EXISTS_IN_GAME ~%5e_spl%.spl~) BEGIN
COPY_EXISTING ~%5e_spl%.spl~ ~override~
LPF ADD_SPELL_EFFECT INT_VAR insert_point = 0 opcode = 318 target = 1 parameter1 = %fighter_sorcerer_code% parameter2 = %kit_is_row% timing = 0 duration = 1 STR_VAR resource = EVAL ~%5e_spl%~ END
LPF ADD_SPELL_EFFECT INT_VAR insert_point = 0 opcode = 318 target = 1 parameter1 = %sorcerer_cleric_code% parameter2 = %kit_is_row% timing = 0 duration = 1 STR_VAR resource = EVAL ~%5e_spl%~ END
LPF ADD_SPELL_EFFECT INT_VAR insert_point = 0 opcode = 318 target = 1 parameter1 = %sorcerer_thief_code% parameter2 = %kit_is_row% timing = 0 duration = 1 STR_VAR resource = EVAL ~%5e_spl%~ END
BUT_ONLY
END
END

/*
COPY_EXISTING ~kit.ids~ ~override~
COUNT_2DA_COLS cols
Expand Down Expand Up @@ -555,63 +578,63 @@ COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5ssplz.spl~
// level 9 = (108 << 24) // 109 << 28
//
ACTION_IF NOT FILE_EXISTS_IN_GAME ~d5src1a.spl~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ ~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ /*~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~*/ BEGIN
COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5src1%let%.spl~
LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = (1 << 4) parameter2 = (108 + (0x10000 * 1)) timing = 9 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = EVAL ~d5src1%let%~ END
END
END
ACTION_IF NOT FILE_EXISTS_IN_GAME ~d5src2a.spl~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ ~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ /*~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~*/ BEGIN
COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5src2%let%.spl~
LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = (1 << 8) parameter2 = (108 + (0x10000 * 1)) timing = 9 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = EVAL ~d5src2%let%~ END
END
END
ACTION_IF NOT FILE_EXISTS_IN_GAME ~d5src3a.spl~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ ~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ /*~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~*/ BEGIN
COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5src3%let%.spl~
LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = (1 << 12) parameter2 = (108 + (0x10000 * 1)) timing = 9 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = EVAL ~d5src3%let%~ END
END
END
ACTION_IF NOT FILE_EXISTS_IN_GAME ~d5src4a.spl~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ ~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ /*~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~*/ BEGIN
COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5src4%let%.spl~
LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = (1 << 16) parameter2 = (108 + (0x10000 * 1)) timing = 9 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = EVAL ~d5src4%let%~ END
END
END
ACTION_IF NOT FILE_EXISTS_IN_GAME ~d5src5a.spl~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ ~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ /*~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~*/ BEGIN
COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5src5%let%.spl~
LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = (1 << 20) parameter2 = (108 + (0x10000 * 1)) timing = 9 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = EVAL ~d5src5%let%~ END
END
END
ACTION_IF NOT FILE_EXISTS_IN_GAME ~d5src6a.spl~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ ~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ /*~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~*/ BEGIN
COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5src6%let%.spl~
LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = (1 << 24) parameter2 = (108 + (0x10000 * 1)) timing = 9 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = EVAL ~d5src6%let%~ END
END
END
ACTION_IF NOT FILE_EXISTS_IN_GAME ~d5src7a.spl~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ ~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ /*~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~*/ BEGIN
COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5src7%let%.spl~
LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = (1 << 28) parameter2 = (108 + (0x10000 * 1)) timing = 9 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = EVAL ~d5src7%let%~ END
END
END
ACTION_IF NOT FILE_EXISTS_IN_GAME ~d5src8a.spl~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ ~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ /*~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~*/ BEGIN
COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5src8%let%.spl~
LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = (1 << 24) parameter2 = (109 + (0x10000 * 1)) timing = 9 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = EVAL ~d5src8%let%~ END
END
END
ACTION_IF NOT FILE_EXISTS_IN_GAME ~d5src9a.spl~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ ~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~ BEGIN
ACTION_FOR_EACH let IN ~a~ ~b~ ~c~ /*~d~ ~e~ ~f~ ~g~ ~h~ ~i~ ~j~ ~k~ ~l~ ~m~ ~n~ ~o~ ~p~ ~q~ ~r~ ~s~ ~t~*/ BEGIN
COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5src9%let%.spl~
LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = (1 << 28) parameter2 = (109 + (0x10000 * 1)) timing = 9 END
LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 parameter1 = (0 - 1) timing = 9 STR_VAR resource = EVAL ~d5src9%let%~ END
Expand Down Expand Up @@ -655,10 +678,6 @@ ACTION_IF NOT FILE_EXISTS_IN_GAME ~d5src-9.spl~ BEGIN
LPF ADD_SPELL_EFFECT INT_VAR opcode = 233 target = 1 parameter1 = ((0 - 1) << 28) parameter2 = (109 + (0x10000 * 1)) timing = 1 END
END

COPY ~tomeandblood/data/arcanist/d5cstarc.2da~ ~override~
LPF arcane_casting_slots STR_VAR table_spl = ~d5zltac~ END
BUT_ONLY

COPY_EXISTING ~mxsplsrc.2da~ ~override~
LPF arcane_casting_slots STR_VAR table_spl = ~d5srslt~ END
BUT_ONLY
Expand Down
3 changes: 2 additions & 1 deletion TomeAndBlood/comp/setup_spell_switching.tpa
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,8 @@ COMPILE ~weidu_external/tomeandblood/d5swtch.baf~

//make .spl, .cre, etc._______________________________________________________________
//
COPY ~tomeandblood/lib/semi_spont/d5zgren.bam~ ~override/d5swtch.bam~
//COPY ~tomeandblood/lib/semi_spont/d5zgren.bam~ ~override/d5swtch.bam~
COPY ~%MOD_FOLDER%/lib/semi_spont/d5zpurp.bam~ ~override/d5swtch.bam~

COPY ~tomeandblood/lib/d5_base.spl~ ~override/d5swtch.spl~
SAY NAME1 ~Change known spell~
Expand Down
Loading

0 comments on commit 62fe546

Please sign in to comment.