Bug Manual Fix: Mona and the Orb of Sah

Discussion in 'General Modification' started by XVicious, Jan 20, 2014.

Remove all ads!
  1. XVicious

    XVicious Established Member

    Joined:
    Jun 21, 2013
    Messages:
    427
    Likes Received:
    8
    PY python Manual Bug fix script

    FILE: py00213mona.py
    PATH: [toee]\data\scr\


    NULB quest bug: likeley covered by someone but I am re-iterrating the issue
    via manual fix;

    so this is what can happen;
    you just see the Bru apprentice; knock him out unconcious with non-leathal force;
    or this is just a know constant issue; where you have owner ship of this sah orb
    but your quest never advances with Mona in NULB

    Code:
    from toee import *
    
    def san_dialog( attachee, triggerer ):
    #edit by XVicious for Mona Bug (group has Orb ; by force took orb, but flag was never unset)
    	for obj in triggerer.group_list():	
    		if (obj.item_find_by_proto(12565) != OBJ_HANDLE_NULL):
    			game.global_flags[317] = 0
    
    	if ( not attachee.has_met(triggerer) ):
    		if game.quests[35].state == qs_completed:
    			triggerer.begin_dialog(attachee,300)
    		else:
    			triggerer.begin_dialog(attachee,1)
    	elif ( game.quests[60].state == qs_botched ):
    		triggerer.begin_dialog(attachee,260)
    	elif ( game.quests[60].state == qs_completed and game.global_flags[315] == 1 ):
    		triggerer.begin_dialog(attachee,400)
    	elif ( game.global_flags[317] == 1 ):
    		triggerer.begin_dialog(attachee,330)
    	elif ( game.quests[60].state <= qs_mentioned ):
    		triggerer.begin_dialog(attachee,470)
    	else:
    		triggerer.begin_dialog(attachee,200)	
    	
    	return SKIP_DEFAULT
    
    def san_dying( attachee, triggerer ):
    	game.quests[60].state = qs_botched
    	return RUN_DEFAULT
    
    def buttin( attachee, triggerer, line):
    	npc = find_npc_near(attachee,8015)
    	if (npc != OBJ_HANDLE_NULL):
    		triggerer.begin_dialog(npc,line)
    		npc.turn_towards(attachee)
    		attachee.turn_towards(npc)
    	else:
    		triggerer.begin_dialog(attachee,150)
    	return SKIP_DEFAULT
    
    in code summery:
    Use Pre check method for script and pre effect; this code loops through group party
    looking for orb ownership. If someone has it, it will pass this info to original script.
    the dialog will adavnce too and Mona will ask for the ORB dialog.
     
Our Host!