Page 1 of 1

Spell Mod

Posted: Wed Mar 26, 2014 12:50 pm
by syntax
Author: Demosthenes and Syntax
Created: 8/9/2004
Base Mud Version: v1.11o
Description--
** The one thing we have noticed thus far is that some of these spells that are upgraded are casted by monsters. That would include (but not limited to) manscorps, crimson priests, raks, stone giant shamans, etc. So you may want to tone down the cast levels on those monsters so they aren't getting an upgrade too. It's not too critical however that this be done.

** For mages we changed the detect magic spell from a worthless spellbook slot to a somewhat useful magic resistance spell. This spell is called 'protective aura' (prot) and uses one of the druids blesses for its status message (wont conflict and no new message to import). You will need to either import the included scroll (a renamed scroll of detect magic) or change the name manually to scroll of protective aura.

SEE UPDATED VERSION BELOW

Details of spell changes in attached Spell Mod v1.0.htm

Re: Spell Mod

Posted: Wed Mar 26, 2014 1:01 pm
by syntax
Author: Kraklaha (wanderingfury at yahoo.com)
Created: 3/8/2013
Base Mud Version: v1.11p
Description--
The spell mod listed before alters spells that players use. Some monsters use the same spell, and therein become more powerful due to the mod. I created this patch to fix the monsters to cast the original spell instead of the altered one.

Re: Spell Mod

Posted: Sun Aug 08, 2021 3:47 pm
by syntax
On the 1-day shy 17-year anniversary of the original mod, I have combined the original mod with the update from Kraklaha into one package. Kraklaha's package also included every stock monster in the export and missed 2 monsters and 3 spells to update. This package includes the 3 new spells (spell #s 5040 to 5042) and only includes the 110 monsters that cast the effected spells to hopefully cause the least amount of overwrite when imported to various realms.

Re: Spell Mod

Posted: Sun Aug 08, 2021 7:31 pm
by syntax
If you've done a bunch of edits to your realm and just want to fix the spells your mobs cast while risking the least amount of work fixing edits, you can use this procedure to only fix the spell record numbers.

This does require the use of Microsoft Access.
  1. Export all of your mobs to an export file - NOTE: you can choose NOT to enable the option on the NMR export screen regarding resetting various fields. This is irrelevant if you are properly applying your updates via update files. But if you aren't, and are editing the dats directly, then you will not want that option enabled.
  2. Open the file in Microsoft access
  3. Go to the "database tools" tab and click on the "visual basic" button.
  4. Go to insert -> module
  5. Open the attached sql.txt file linked below and select everything and copy it.
  6. Paste the copied text below the "Option Compare Database" in the new module in access
  7. Click the play button on the toolbar
  8. you should get a message, "done spellmod fix" to know it completed all of the commands
  9. right-click on the "Module1" that you added on the left-hand side and click "Remove Module1"
  10. on the prompt to save, answer No.
  11. close the visual basic window.
  12. close access.
  13. back in NMR, import your file back into your dats.
  14. MAKE SURE YOU HAVE SPELLS 5000 THROUGH 5042 IN YOUR DATS. If you don't have them, you can import them from the SpellMod_v2.1.zip attached above.
  15. note again the above note. You most likely do not have spells 5040 through 5042 because I just created them today before posting this. so import those 3 spells, at minimum.
  16. compile and update file, etc.
If you then want to verify/see the monsters that have been changed (you can do this before too and then comare)...

In microsoft access, open the export file, then go to the create tab => choose "query design" from the toolbar => close the show table pop-up => right-click on the black area in the query and choose "SQL View" => delete everything out and then paste this:

Code: Select all

SELECT Monsters.[Number], Monsters.[Name], Monsters.[Group], Monsters.[Index], Monsters.[Weapon Number], Monsters.[AC], Monsters.[DR], Monsters.[Follow], Monsters.[MR], Monsters.[Experience], Monsters.[Exp Multiplier], Monsters.[Hit Points], Monsters.[HP Regen], Monsters.[Energy], Monsters.[Game Limit], Monsters.[Charm LvL], Monsters.[Charm RES], Monsters.[BS Defense], Monsters.[Active], Monsters.[Type], Monsters.[Undead], Monsters.[Alignment], Monsters.[Gender], Monsters.[Regen Time], Monsters.[Date Killed], Monsters.[Time Killed], Monsters.[Runic], Monsters.[Platinum], Monsters.[Gold], Monsters.[Silver], Monsters.[Copper], Monsters.[Move Msg], Monsters.[Death Msg], Monsters.[Greet Txt], Monsters.[Desc Txt], Monsters.[Talk Txt], Monsters.[Death Spell], Monsters.[Create Spell], Monsters.[Desc 1], Monsters.[Desc 2], Monsters.[Desc 3], Monsters.[Desc 4], Monsters.[Attack Type 0], Monsters.[Attack Accu/Spell 0], Monsters.[Attack % 0], Monsters.[Attack Min Hit/Cast % 0], Monsters.[Attack Max Hit/Cast LVL 0], Monsters.[Attack Hit Msg 0], Monsters.[Attack Dodge Msg 0], Monsters.[Attack Miss Msg 0], Monsters.[Attack Energy 0], Monsters.[Attack Hit Spell 0], Monsters.[Spell Number 0], Monsters.[Spell Cast % 0], Monsters.[Spell Cast LVL 0], Monsters.[Attack Type 1], Monsters.[Attack Accu/Spell 1], Monsters.[Attack % 1], Monsters.[Attack Min Hit/Cast % 1], Monsters.[Attack Max Hit/Cast LVL 1], Monsters.[Attack Hit Msg 1], Monsters.[Attack Dodge Msg 1], Monsters.[Attack Miss Msg 1], Monsters.[Attack Energy 1], Monsters.[Attack Hit Spell 1], Monsters.[Spell Number 1], Monsters.[Spell Cast % 1], Monsters.[Spell Cast LVL 1], Monsters.[Attack Type 2], Monsters.[Attack Accu/Spell 2], Monsters.[Attack % 2], Monsters.[Attack Min Hit/Cast % 2], Monsters.[Attack Max Hit/Cast LVL 2], Monsters.[Attack Hit Msg 2], Monsters.[Attack Dodge Msg 2], Monsters.[Attack Miss Msg 2], Monsters.[Attack Energy 2], Monsters.[Attack Hit Spell 2], Monsters.[Spell Number 2], Monsters.[Spell Cast % 2], Monsters.[Spell Cast LVL 2], Monsters.[Attack Type 3], Monsters.[Attack Accu/Spell 3], Monsters.[Attack % 3], Monsters.[Attack Min Hit/Cast % 3], Monsters.[Attack Max Hit/Cast LVL 3], Monsters.[Attack Hit Msg 3], Monsters.[Attack Dodge Msg 3], Monsters.[Attack Miss Msg 3], Monsters.[Attack Energy 3], Monsters.[Attack Hit Spell 3], Monsters.[Spell Number 3], Monsters.[Spell Cast % 3], Monsters.[Spell Cast LVL 3], Monsters.[Attack Type 4], Monsters.[Attack Accu/Spell 4], Monsters.[Attack % 4], Monsters.[Attack Min Hit/Cast % 4], Monsters.[Attack Max Hit/Cast LVL 4], Monsters.[Attack Hit Msg 4], Monsters.[Attack Dodge Msg 4], Monsters.[Attack Miss Msg 4], Monsters.[Attack Energy 4], Monsters.[Attack Hit Spell 4], Monsters.[Spell Number 4], Monsters.[Spell Cast % 4], Monsters.[Spell Cast LVL 4], Monsters.[Item Number 0], Monsters.[Item Uses 0], Monsters.[Item Drop % 0], Monsters.[Item Number 1], Monsters.[Item Uses 1], Monsters.[Item Drop % 1], Monsters.[Item Number 2], Monsters.[Item Uses 2], Monsters.[Item Drop % 2], Monsters.[Item Number 3], Monsters.[Item Uses 3], Monsters.[Item Drop % 3], Monsters.[Item Number 4], Monsters.[Item Uses 4], Monsters.[Item Drop % 4], Monsters.[Item Number 5], Monsters.[Item Uses 5], Monsters.[Item Drop % 5], Monsters.[Item Number 6], Monsters.[Item Uses 6], Monsters.[Item Drop % 6], Monsters.[Item Number 7], Monsters.[Item Uses 7], Monsters.[Item Drop % 7], Monsters.[Item Number 8], Monsters.[Item Uses 8], Monsters.[Item Drop % 8], Monsters.[Item Number 9], Monsters.[Item Uses 9], Monsters.[Item Drop % 9], Monsters.[Ability 0], Monsters.[Ability Value 0], Monsters.[Ability 1], Monsters.[Ability Value 1], Monsters.[Ability 2], Monsters.[Ability Value 2], Monsters.[Ability 3], Monsters.[Ability Value 3], Monsters.[Ability 4], Monsters.[Ability Value 4], Monsters.[Ability 5], Monsters.[Ability Value 5], Monsters.[Ability 6], Monsters.[Ability Value 6], Monsters.[Ability 7], Monsters.[Ability Value 7], Monsters.[Ability 8], Monsters.[Ability Value 8], Monsters.[Ability 9], Monsters.[Ability Value 9]
FROM Monsters
WHERE (
	(((Monsters.[Attack Type 0])=2) AND ((Monsters.[Attack Accu/Spell 0])>=5000 And (Monsters.[Attack Accu/Spell 0])<=5042))
	OR (((Monsters.[Attack Type 1])=2) AND ((Monsters.[Attack Accu/Spell 1])>=5000 And (Monsters.[Attack Accu/Spell 1])<=5042))
	OR (((Monsters.[Attack Type 2])=2) AND ((Monsters.[Attack Accu/Spell 2])>=5000 And (Monsters.[Attack Accu/Spell 2])<=5042))
	OR (((Monsters.[Attack Type 3])=2) AND ((Monsters.[Attack Accu/Spell 3])>=5000 And (Monsters.[Attack Accu/Spell 3])<=5042))
	OR (((Monsters.[Attack Type 4])=2) AND ((Monsters.[Attack Accu/Spell 4])>=5000 And (Monsters.[Attack Accu/Spell 4])<=5042))
);
... then click the datasheet view button in the upper-left-hand corner. The resulting mobs will be all of the ones that have a spell they cast in the 5000 to 5042 spell number range.

Re: Spell Mod

Posted: Sun Aug 08, 2021 8:14 pm
by syntax
Also, for posterity, here are the spells that have been recreated in the v2.1 with their original spell number (users) and their equivalent replacement (for the mobs):

5 => 5030
8 => 5029
12 => 5039
16 => 5038
56 => 5028
95 => 5013
110 => 5037
122 => 5036
135 => 5027
136 => 5026
210 => 5040
211 => 5033
216 => 5018
239 => 5006
240 => 5007
241 => 5008
242 => 5009
254 => 5022
267 => 5035
285 => 5025
287 => 5024
288 => 5023
293 => 5012
295 => 5011
296 => 5010
706 => 5021
721 => 5034
771 => 5019
802 => 5017
805 => 5005
1003 => 5002
1005 => 5031
1007 => 5041
1018 => 5014
1041 => 5015
1047 => 5000
1048 => 5003
1057 => 5016
1058 => 5020
1080 => 5042
1081 => 5032