Murlynd's Mods

Discussion in 'General Modification' started by Murlynd, Dec 18, 2013.

Remove all ads!
Thread Status:
Not open for further replies.
  1. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Sounds good, thanks. :)

    One last request - it's best to avoid Phalzyr's proto editor, since it has been known for years now to be sort of anonymously buggy. I don't really know what's wrong with it as I always use WorldBuilder anyway, but that's what the reports maintained. So I'd rather not potentially introduce bugs through the (to me) unknown operations of ProtoEd. The good news is that jumppoint.tab can be edited easily in other regular editors like Notepad.
     
  2. Murlynd

    Murlynd The White Paladin

    Joined:
    Nov 29, 2013
    Messages:
    63
    Likes Received:
    1
    Thanks Gaear for the info on Phalzyr's proto editor!

    I used Notepad to edit jumppoint.tab from:
    SEE ATTACHMENT: jumppoint.tab from Notepad.jpg
    to:
    SEE ATTACHMENT: jumppoint.tab (with 2nd fix).jpg

    I have attached this fix for jumppoint.tab, so everyone, please use this file instead of the one in (Ganna fix v2.0.zip). jumppoint.tab goes into '...\Temple of Elemental Evil\data\rules\'. Do NOT forget to backup your original file!

    I have one future suggestion for Ganna. I think I would be cool to give Ganna daytime animated Waypoints. In the weaver's house, she could move from the fireplace to a loom and then use the "picking lock" animation (if it can be done) and then move to the next loom and spinning wheel and do the same. Just an idea! :roll:
     

    Attached Files:

    Last edited: Jan 26, 2014
  3. Murlynd

    Murlynd The White Paladin

    Joined:
    Nov 29, 2013
    Messages:
    63
    Likes Received:
    1
    Back to some more Mods! :eek:_O:

    I had noticed few problems with Power Word Blind, Power Word Stun, Power Word Kill, and Finger of Death.

    First, Power Word Blind, as NOTED in the SRD, has a component line of "Components: V".
    However, the component lines in this section from 356 - Power Word Blind.txt are:
    Code:
    School: Enchantment
    Subschool: Compulsion
    Descriptor: Mind-Affecting
    Level: Sor 7
    Level: Wiz 7
    Level: War 7
    Component: [COLOR="Pink"]V[/COLOR]
    Component: [COLOR="Yellow"]S[/COLOR]
    Casting Time: 1 action
    The component line should only be "Component: V". :cool:
    Of course, you guessed correctly that Power Word Stun and Power Word Kill have the same component errors! :suprised: :tombstone

    The last problem is with Finger of Death, as NOTED by the SRD. The spell has a line of "If the save is successful, the creature instead takes 3d6 points of damage +1 point per caster level (maximum +25)."
    However, take note of this section from the script for Finger of Death (Spell170 - Finger of Death.py):
    Code:
    def OnSpellEffect ( spell ):
    	print "Finger of Death OnSpellEffect"
    
    	damage_dice = dice_new( "3d6" )
    	damage_dice.[COLOR="Pink"]bonus[/COLOR] = spell.caster.stat_level_get( spell.caster_class )
    
    	target = spell.target_list[0]
    Shouldn't the bonus line be:
    Code:
    def OnSpellEffect ( spell ):
    	print "Finger of Death OnSpellEffect"
    
    	damage_dice = dice_new( "3d6" )
    	damage_dice.[COLOR="Pink"]bonus[/COLOR] = min( [COLOR="Yellow"]25[/COLOR], spell.caster.stat_level_get( spell.caster_class ) )
    
    	target = spell.target_list[0]
    I realize this will have NO impact on the damage bonus with a ToEE Game Level max of 20, but it's for RAW! :thumbsup:

    I am posting rule fixes for Power Word Blind, Power Word Stun, and Power Word Kill. And a script fix for Finger of Death.
    BTW: The script fix for Finger of Death also contains my Instant Death XP fix from this post, here.
    The .txt files go into '...\Temple of Elemental Evil\data\rules\spells\'. and the .py file goes into '...\Temple of Elemental Evil\data\scr\'. Please, do NOT forget to first backup your original files!! If there are any problems, just let me know.

    ENJOY! :icon_chuc
     

    Attached Files:

  4. Murlynd

    Murlynd The White Paladin

    Joined:
    Nov 29, 2013
    Messages:
    63
    Likes Received:
    1
    More for the list! :bored:

    I noticed two problems, one with Hide from Undead (definitely) and one with Sleet Storm (maybe!).

    First, Hide from Undead, as NOTED in the SRD, has a component line of "Components: V, S, DF".
    However, the component line in this section from the rule for Hide from Undead (257 - Invisibility to Undead.txt) is:
    Code:
    School: Abjuration
    Level: Clr 1
    Level: Trickery 1
    Component: [COLOR="Pink"]S[/COLOR]
    Casting Time: 1 action
    Range: Touch
    Shouldn't the component lines be:
    Code:
    School: Abjuration
    Level: Clr 1
    Level: Trickery 1
    Component: [COLOR="Yellow"]V[/COLOR]
    Component: [COLOR="Pink"]S[/COLOR]
    Casting Time: 1 action
    Range: Touch
    The second problem is with Sleet Storm, as NOTED by the SRD. The spell has an area of "Cylinder (40-ft. radius, 20 ft. high)". However, take note of this section from the rule for Sleet Storm (439 - Sleet Storm.txt):
    Code:
    exc_flags_Target: Dead
    exc_flags_Target: Non-critter
    mode_Target: Area
    radius_Target: [COLOR="Yellow"]30[/COLOR]
    ai_type: ai_action_offensive
    Shouldn't the radius_Target value be 40?

    This might have been changed for a fix in the The Atari Buglist, (see #180, here).
    See also: Circle of Eight Modpack 8.0.1 - Release Notes.txt, check the following line from the section "Co8 4.0.0 and revisions":

    - Sleet Storm now does cold damage to those wearing metal armor. Sleet Storm also causes a reflex save. Failure causes you to slip on the ice. Spell graphics have been changed. (Sleet Storm was a broken spell. It would cause NPCs and PCs to get endless AoOs when a prone character would stand. Invisibility plus any AoO other than moving through a threatened space causes a huge bug. This spell was a disaster.)

    If the radius_Target value was deliberately changed for this fix, please ignore my post for Sleet Storm.

    I am posting rule fixes for Hide from Undead and Sleet Storm (if needed).
    The .txt files go into '...\Temple of Elemental Evil\data\rules\spells\'. Please, do NOT forget to first backup your original files!! You should only have to backup 439 - Sleet Storm.txt, but check just in case! If there are any problems, just let me know.

    ENJOY! :p
     

    Attached Files:

  5. Salk

    Salk Established Member

    Joined:
    Jan 2, 2006
    Messages:
    258
    Likes Received:
    0
    Since you seem to be pretty active in trying to make things be more consistent, I would like to point out the discrepancy between the real weight of Potions (0) and their stated weight in the description (1). It doesn't make much sense that potion weigh nothing at all, in my opinion so perhaps it'd be best to change the items to match description?
     
  6. Murlynd

    Murlynd The White Paladin

    Joined:
    Nov 29, 2013
    Messages:
    63
    Likes Received:
    1
    I have to post an update for Otello's fix from this post, here! :no:
    Salk had noticed a problem with Otello's daytime location in the exterior Hommlet map! THANK YOU! :yes:
    I have a correction for this, however:

    NOTE: This fix is for testing ONLY and is NOT a permanent fix!!

    I am also posting an updated correction for Ganna's fix that combines Gaear's suggestions from here and here. (Just to make it easier to use one file!)

    NOTE: This fix too is for testing ONLY, however I have not noticed any problems.

    Both Otello's fix (Otello fix v1.1.zip) and Ganna's fix (Ganna fix v2.1.zip) need to be extracted in your main ToEE folder, '...\Temple of Elemental Evil\'.
    Please, do NOT forget to first backup your original files! If there are any problems, just let me know.

    ENJOY! :hahano:
     

    Attached Files:

  7. Salk

    Salk Established Member

    Joined:
    Jan 2, 2006
    Messages:
    258
    Likes Received:
    0
    Great job, as usual, Murlynd! :thumbsup:

    The otello's fix of yours is not the ultimate solution to the problem but it's by far better than what happens with the 8.0.0 (and 8.0.1) Modpack!

    As discussed privately, the Otello bug is not present in the non modded version of the game and I believe it's been introduced after version 5 of the Modpack because I don't remember having noted this in my old playthrough several years ago.

    Now, if anyone on the team could sheer some light on this, I'd be nice.
     
  8. Murlynd

    Murlynd The White Paladin

    Joined:
    Nov 29, 2013
    Messages:
    63
    Likes Received:
    1
    I have been searching the forum and I found several postings concerning Searing Light. :flamed:
    Check nightwyrm's post, here, AND Forgalz's post, here, AND Blair's post, here!!
    In my testing, I found that they are all correct about Searing Light having a problem!

    Searing Light, as NOTED in the SRD, has a line of "An undead creature takes 1d6 points of damage per caster level (maximum 10d6), and an undead creature particularly vulnerable to bright light takes 1d8 points of damage per caster level (maximum 10d8).".

    From the script for Searing Light, Spell412 - Searing Light.py, take note of the undead max damage as it is now:
    Code:
    	damage_dice = dice_new( '1d8' )
    	[COLOR="Plum"]damage_dice.number = min( 5, spell.caster_level / 2 )[/COLOR]
    
    	spell.duration = 0
    
    	game.particles_end( projectile.obj_get_int( obj_f_projectile_part_sys_id ) )
    	target_item = spell.target_list[0]
    
    	npc = spell.caster
    	if npc.name == 20003:
    		for obj in game.party[0].group_list():
    			if obj.name == 8072 and obj.leader_get() != OBJ_HANDLE_NULL:
    				curr = obj.stat_level_get( stat_hp_current )
    				if curr >= -9: 
    					target_item.obj = obj
    
    	####################################################
    	# WF Ray fix added by Shiningted (& two lines below)
    	####################################################
    
    	has_it = 0
    	x = 0
    	y = 0
    
    	if spell.caster.has_feat(feat_weapon_focus_ray):
    		# game.particles( "sp-summon monster I", game.party[0] )
    		has_it = 1
    		x = spell.caster.stat_level_get(stat_dexterity)
    		y = x + 2
    		if spell.caster.has_feat(feat_greater_weapon_focus_ray):
    			y = y + 2
    		spell.caster.stat_base_set(stat_dexterity, y)
    
    	####################################################
    
    	attack_successful = spell.caster.perform_touch_attack( target_item.obj )
    
    	if attack_successful == 1:
    
    		game.particles( 'sp-Searing Light-Hit', target_item.obj )
    
    		# [COLOR="PaleGreen"]hit[/COLOR]
    		if (target_item.obj.is_category_type( mc_type_undead )):
    			[COLOR="Pink"]damage_dice.size = 6[/COLOR]
    			target_item.obj.spell_damage( spell.caster, D20DT_POSITIVE_ENERGY, damage_dice, D20DAP_UNSPECIFIED, D20A_CAST_SPELL, spell.id )
    		else:
    			if (target_item.obj.is_category_type( mc_type_construct )):
    				damage_dice.size = 6
    			target_item.obj.spell_damage( spell.caster, D20DT_POSITIVE_ENERGY, damage_dice, D20DAP_UNSPECIFIED, D20A_CAST_SPELL, spell.id )
    
    	elif attack_successful == 2:
    
    		game.particles( 'sp-Searing Light-Hit', target_item.obj )
    
    		# [COLOR="Red"]critical hit[/COLOR]
    		if (target_item.obj.is_category_type( mc_type_undead )):
    			[COLOR="Pink"]damage_dice.size = 6[/COLOR]
    			[COLOR="Yellow"]damage_dice.number = min( 10, spell.caster_level )[/COLOR] [COLOR="Red"]* 2[/COLOR]
    			#damage_dice.number = min( 10, spell.caster_level )
    			target_item.obj.spell_damage( spell.caster, D20DT_POSITIVE_ENERGY, damage_dice, D20DAP_UNSPECIFIED, D20A_CAST_SPELL, spell.id )
    		else:
    			damage_dice.number = damage_dice.number * 2
    			if (target_item.obj.is_category_type( mc_type_construct )):
    				damage_dice.size = 6
    			target_item.obj.spell_damage( spell.caster, D20DT_POSITIVE_ENERGY, damage_dice, D20DAP_UNSPECIFIED, D20A_CAST_SPELL, spell.id )
    
    The non-critical hit is missing a line of "damage_dice.number = min( 10, spell.caster_level )".
    It is weird that the critical hit has the correct max damage!! :dizzy:

    I also made a change to allow for "an undead creature particularly vulnerable to bright light takes 1d8 points of damage per caster level (maximum 10d8)". In ToEE, there are ONLY 2 undead that are vulnerable to bright light: Bodak and Nightwalker
    I added both to a list, so that they take 1d8 (not 1d6) points of damage per caster level. (This list can be updated!)
    BTW: About a Nightwalker (highlight to view): :point:
    Good luck in overcoming a Nightwalker's spell resistance!

    I am posting a script fix for Searing Light.
    The file goes into '...\Temple of Elemental Evil\data\scr\'. Please, do NOT forget to first backup your original file! If there are any problems, just let me know.

    ENJOY! :angry:
     

    Attached Files:

  9. Salk

    Salk Established Member

    Joined:
    Jan 2, 2006
    Messages:
    258
    Likes Received:
    0
    Otello's Bug

    Unfortunately the fix does not work. Once the Stealing Farmer quest starts, Otello is not found snooping around Filliken's barn as he should but he is to be seen on the island east of Fruella's house.

    It's a curse!
     
  10. Murlynd

    Murlynd The White Paladin

    Joined:
    Nov 29, 2013
    Messages:
    63
    Likes Received:
    1
    I have been looking at several spells to see if they conform to RAW. :wyatt:
    I noticed that the four Cleric Domain Level 4 spells of Holy Smite, Unholy Blight, Order's Wrath, and Chaos Hammer had quite a few nonconformities. :thumbsdow

    First, Holy Smite, as NOTED in the SRD, has a saving throw line of "Saving Throw: Will partial; see text" and a line of "The spell deals 1d8 points of damage per two caster levels (maximum 5d8) to each evil creature in the area (or 1d6 points of damage per caster level, maximum 10d6, to an evil outsider) and causes it to become blinded for 1 round. A successful Will saving throw reduces damage to half and negates the blinded effect."

    However, from the script for Holy Smite, Spell231 - Holy Smite.py, take note of the saving throw (And damage type for later!) as it is now:
    Code:
    # allow [COLOR="Yellow"]Reflex[/COLOR] saving throw for half
    if target_item.obj.saving_throw_spell( spell.dc, [COLOR="Yellow"]D20_Save_Reflex[/COLOR], D20STD_F_NONE, spell.caster, spell.id ):
    	
    	# saving throw succesful
    	target_item.obj.float_mesfile_line( 'mes\\spell.mes', 30001 )
    	
    	# half damage
    	target_item.obj.spell_damage_with_reduction( spell.caster, [COLOR="Red"]D20DT_MAGIC[/COLOR], damage_dice, D20DAP_UNSPECIFIED, DAMAGE_REDUCTION_HALF, D20A_CAST_SPELL, spell.id )
    The saving throw should be "D20_Save_Will" for a Will saving throw per RAW!
    The damage done to evil outsiders is also not present, so I made a modification, so they take 1d6 points of damage per caster level (maximum 10d6).

    Next, Unholy Blight, as NOTED in the SRD, has the same Will saving throw as Holy Smite. And the same outsider damage but to good outsiders.

    The script for Unholy Blight, Spell513 - Unholy Blight.py, has the correct Will saving throw for good creatures, but has an incorrect fortitude saving throw of "D20_Save_Fortitude" for neutral creatures. Weird! :dizzy:
    Of course, a good outsider fix is needed!

    Next, Order's Wrath, as NOTED in the SRD, has the same Will saving throw as Holy Smite and Unholy Blight. And the same outsider damage but to chaotic outsiders. ALSO, Order's Wrath has an area line of "Area: Nonlawful creatures within a burst that fills a 30-ft. cube".

    The script for Order's Wrath, Spell335 - Orders Wrath.py, has the same EXACT reflex saving throws for damage as Holy Smite!
    Of course, a chaotic outsider fix is needed!

    AND the rule for Order's Wrath, 335 - Orders Wrath.txt, has an area line of "radius_Target: 30".
    In ToEE, the spells with a square AoE use a round area inside of the square.
    If Order's Wrath is to use a circle that fits into a 30 ft square (from a cube on the ground), the circle's DIAMETER is 30 ft, but the RADIUS is still half (15 ft). So, I changed the area line to "radius_Target: 15". Those lawful clerics always get :censored:.

    AND finally, Chaos Hammer, as NOTED in the SRD, has the same Will saving throw as the other three spells. And the same outsider damage but to lawful outsiders.

    The script for Chaos Hammer, Spell054 - Chaos Hammer.py, has the correct Will saving throws for damage but take note of the damage type:
    Code:
    # allow [COLOR="Pink"]Will[/COLOR] saving throw for half
    if target_item.obj.saving_throw_spell( spell.dc, [COLOR="Pink"]D20_Save_Will[/COLOR], D20STD_F_NONE, spell.caster, spell.id ):
    	
    	# saving throw succesful
    	target_item.obj.float_mesfile_line( 'mes\\spell.mes', 30001 )
    	
    	# half damage
    	target_item.obj.spell_damage_with_reduction( spell.caster, [COLOR="Red"]D20DAP_UNSPECIFIED[/COLOR], damage_dice, D20DAP_UNSPECIFIED, DAMAGE_REDUCTION_HALF, D20A_CAST_SPELL, spell.id )
    If you look ABOVE at the section from Spell231 - Holy Smite.py, you will see that Holy Smite's damage type is "D20DT_MAGIC", as are the damage types for Unholy Blight and Order's Wrath.
    NOTE: I fixed this problem and I did NOT see any problems in my testing, but I need your help to confirm this!!
    Of course, a lawful outsider fix is needed!

    NOTE to Co8 modders: In the script for Chaos Hammer, Spell054 - Chaos Hammer.py, there is a line of:
    Code:
    game.global_vars[800] = damage_dice.number
    According to the ToEE Global Flags and Variables, here, game.global_vars[800] is the variable for "Hickory Branch Orc Theurgist central ravine healing counter". Why is this variable in Chaos Hammer? Is it the unpredictable nature of the spell, or what? I left the variable alone, so someone else can deal with it (if needed).

    I am posting script fixes for Holy Smite, Unholy Blight, Order's Wrath, and Chaos Hammer. I am also posting rule fixes for Holy Smite and Order's Wrath. (The other 2 spell rule texts were fine!)
    The .py files go into '...\Temple of Elemental Evil\data\scr\' and the .txt files go into '...\Temple of Elemental Evil\data\rules\spells\'. Please, do NOT forget to first backup your original files! Only the 4 scripts need to be backed up, but check the 2 rule texts, just in case! If there are any problems, just let me know.

    ENJOY! :crazy:
     

    Attached Files:

    Last edited: Feb 3, 2014
  11. Salk

    Salk Established Member

    Joined:
    Jan 2, 2006
    Messages:
    258
    Likes Received:
    0
    Excellent job with the spells, Murlynd! Thanks for sharing.
     
  12. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    I'm sure it was an error. GGFs and GGVs have been nebulous at best throughout the years, and a proper list didn't even exist until maybe 5 or 6 years ago. It should be assigned a new available GGV, though a search should be run on all ToEE data files to look for instances of GGV 800 to verify it's only in use for the Hickory Branch thing otherwise.
     
  13. Salk

    Salk Established Member

    Joined:
    Jan 2, 2006
    Messages:
    258
    Likes Received:
    0
    About the Otello's bug I reported.

    I find that using the relevant .MOB files from a previous version of the Modpack (6.1.0) eliminates the bug completely and does not carry the problem of having to place Otello somewhere in the map during daytime which was a compromise Murlynd had to take when working on the relevant .MOB files present in version 7.1.0 or higher of the Co8 Modpack.

    I tested it myself and everything seems to be in order.
     

    Attached Files:

  14. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    Nice detective work there Salk. Keep in mind, though, if the mobs were changed, it was for a reason: putting the old ones back may fix this but will almost certainly break something else.
     
  15. Salk

    Salk Established Member

    Joined:
    Jan 2, 2006
    Messages:
    258
    Likes Received:
    0
    Shiningted,

    I understand it might be the case but I guess that at the moment this is the best solution available. I'd love to talk to that person that changed those files to ask what he did.

    I've sent the files to Murlynd and hopefully he can compare them and figure out what went wrong. It's beyond my capabilities.
     
Thread Status:
Not open for further replies.
Our Host!