return 0 def SuddenQuickenDeductCharge(attachee, args, evt_obj): #Check for a charge and the enable flag charges = args.get_arg(0) if charges < 1 or not args.get_arg(1): return 0 #Decriment the charges charges = charges - 1 args.set_arg(0, charges) return 0 #Setup the feat tpdp.register_metamagic_feat("Sudden Quicken") suddenQuickenFeat = PythonModifier("Sudden Quicken Feat", 4) #Charges, Toggeled On, Spare, Spare suddenQuickenFeat.MapToFeat("Sudden Quicken") suddenQuickenFeat.AddHook(ET_OnBuildRadialMenuEntry, EK_NONE, SuddenQuickenRadial, ()) suddenQuickenFeat.AddHook(ET_OnConditionAdd, EK_NONE, SuddenQuickenNewDay, ()) suddenQuickenFeat.AddHook(ET_OnNewDay, EK_NEWDAY_REST, SuddenQuickenNewDay, ()) suddenQuickenFeat.AddHook(ET_OnMetaMagicMod, EK_NONE, SuddenQuickenMetamagicUpdate, ()) suddenQuickenFeat.AddHook(ET_OnD20PythonSignal, "Sudden Metamagic Deduct Charge", SuddenQuickenDeductCharge, ())
return 0 def SuddenWidenDeductCharge(attachee, args, evt_obj): #Check for a charge and the enable flag charges = args.get_arg(0) if charges < 1 or not args.get_arg(1): return 0 #Decriment the charges charges = charges - 1 args.set_arg(0, charges) return 0 #Setup the feat tpdp.register_metamagic_feat("Sudden Widen") suddenWidenFeat = PythonModifier("Sudden Widen Feat", 4) #Charges, Toggeled On, Spare, Spare suddenWidenFeat.MapToFeat("Sudden Widen") suddenWidenFeat.AddHook(ET_OnBuildRadialMenuEntry, EK_NONE, SuddenWidenRadial, ()) suddenWidenFeat.AddHook(ET_OnConditionAdd, EK_NONE, SuddenWidenNewDay, ()) suddenWidenFeat.AddHook(ET_OnNewDay, EK_NEWDAY_REST, SuddenWidenNewDay, ()) suddenWidenFeat.AddHook(ET_OnMetaMagicMod, EK_NONE, SuddenWidenMetamagicUpdate, ()) suddenWidenFeat.AddHook(ET_OnD20PythonSignal, "Sudden Metamagic Deduct Charge", SuddenWidenDeductCharge, ())
metaMagicData.set_silent(true) return 0 def SuddenSlientDeductCharge(attachee, args, evt_obj): #Check for a charge and the enable flag charges = args.get_arg(0) if charges < 1 or not args.get_arg(1): return 0 #Decriment the charges charges = charges - 1 args.set_arg(0, charges) return 0 #Setup the feat tpdp.register_metamagic_feat("Sudden Silent") suddenSilentFeat = PythonModifier("Sudden Silent Feat", 4) #Charges, Toggeled On, Spare, Spare suddenSilentFeat.MapToFeat("Sudden Silent") suddenSilentFeat.AddHook(ET_OnBuildRadialMenuEntry, EK_NONE, SuddenSilentRadial, ()) suddenSilentFeat.AddHook(ET_OnNewDay, EK_NEWDAY_REST, SuddenSilentNewDay, ()) suddenSilentFeat.AddHook(ET_OnMetaMagicMod, EK_NONE, SuddenSilentMetamagicUpdate, ()) suddenSilentFeat.AddHook(ET_OnD20PythonSignal, "Sudden Metamagic Deduct Charge", SuddenSlientDeductCharge, ())
metaMagicData.set_extend_count(1) return 0 def SuddenExtendDeductCharge(attachee, args, evt_obj): #Check for a charge and the enable flag charges = args.get_arg(0) if charges < 1 or not args.get_arg(1): return 0 #Decriment the charges charges = charges - 1 args.set_arg(0, charges) return 0 #Setup the feat tpdp.register_metamagic_feat("Sudden Extend") suddenExtendFeat = PythonModifier("Sudden Extend Feat", 4) #Charges, Toggeled On, Spare, Spare suddenExtendFeat.MapToFeat("Sudden Extend") suddenExtendFeat.AddHook(ET_OnBuildRadialMenuEntry, EK_NONE, SuddenExtendRadial, ()) suddenExtendFeat.AddHook(ET_OnNewDay, EK_NEWDAY_REST, SuddenExtendNewDay, ()) suddenExtendFeat.AddHook(ET_OnMetaMagicMod, EK_NONE, SuddenExtendMetamagicUpdate, ()) suddenExtendFeat.AddHook(ET_OnD20PythonSignal, "Sudden Metamagic Deduct Charge", SuddenExtendDeductCharge, ())
return 0 def SuddenMaximizeDeductCharge(attachee, args, evt_obj): #Check for a charge and the enable flag charges = args.get_arg(0) if charges < 1 or not args.get_arg(1): return 0 #Decriment the charges charges = charges - 1 args.set_arg(0, charges) return 0 #Setup the feat tpdp.register_metamagic_feat("Sudden Maximize") suddenMaximizeFeat = PythonModifier("Sudden Maximize Feat", 4) #Charges, Toggeled On, Spare, Spare suddenMaximizeFeat.MapToFeat("Sudden Maximize") suddenMaximizeFeat.AddHook(ET_OnBuildRadialMenuEntry, EK_NONE, SuddenMaximizeRadial, ()) suddenMaximizeFeat.AddHook(ET_OnNewDay, EK_NEWDAY_REST, SuddenMaximizeNewDay, ()) suddenMaximizeFeat.AddHook(ET_OnMetaMagicMod, EK_NONE, SuddenMaximizeMetamagicUpdate, ()) suddenMaximizeFeat.AddHook(ET_OnD20PythonSignal, "Sudden Metamagic Deduct Charge", SuddenMaximizeDeductCharge, ())
#Get the metamagic info metaMagicData = evt_obj.meta_magic #Don't apply if it already has still if not metaMagicData.get_still(): metaMagicData.set_still(true) return 0 def SuddenStillDeductCharge(attachee, args, evt_obj): #Check for a charge and the enable flag charges = args.get_arg(0) if charges < 1 or not args.get_arg(1): return 0 #Decriment the charges charges = charges - 1 args.set_arg(0, charges) return 0 #Setup the feat tpdp.register_metamagic_feat("Sudden Still") suddenStillFeat = PythonModifier("Sudden Still Feat", 4) #Charges, Toggeled On, Spare, Spare suddenStillFeat.MapToFeat("Sudden Still") suddenStillFeat.AddHook(ET_OnBuildRadialMenuEntry, EK_NONE, SuddenStillRadial, ()) suddenStillFeat.AddHook(ET_OnConditionAdd, EK_NONE, SuddenStillNewDay, ()) suddenStillFeat.AddHook(ET_OnNewDay, EK_NEWDAY_REST, SuddenStillNewDay, ()) suddenStillFeat.AddHook(ET_OnMetaMagicMod, EK_NONE, SuddenStillMetamagicUpdate, ()) suddenStillFeat.AddHook(ET_OnD20PythonSignal, "Sudden Metamagic Deduct Charge", SuddenStillDeductCharge, ())
return 0 def SuddenEnlargeDeductCharge(attachee, args, evt_obj): #Check for a charge and the enable flag charges = args.get_arg(0) if charges < 1 or not args.get_arg(1): return 0 #Decriment the charges charges = charges - 1 args.set_arg(0, charges) return 0 #Setup the feat tpdp.register_metamagic_feat("Sudden Enlarge") suddenEnlargeFeat = PythonModifier("Sudden Enlarge Feat", 4) #Charges, Toggeled On, Spare, Spare suddenEnlargeFeat.MapToFeat("Sudden Enlarge") suddenEnlargeFeat.AddHook(ET_OnBuildRadialMenuEntry, EK_NONE, SuddenEnlargeRadial, ()) suddenEnlargeFeat.AddHook(ET_OnConditionAdd, EK_NONE, SuddenEnlargeNewDay, ()) suddenEnlargeFeat.AddHook(ET_OnNewDay, EK_NEWDAY_REST, SuddenEnlargeNewDay, ()) suddenEnlargeFeat.AddHook(ET_OnMetaMagicMod, EK_NONE, SuddenEnlargeMetamagicUpdate, ()) suddenEnlargeFeat.AddHook(ET_OnD20PythonSignal, "Sudden Metamagic Deduct Charge", SuddenEnlargeDeductCharge, ())
#Get the metamagic info metaMagicData = evt_obj.meta_magic #Don't Empower more than once if metaMagicData.get_empower_count() < 1: metaMagicData.set_empower_count(1) return 0 def SuddenEmpowerDeductCharge(attachee, args, evt_obj): #Check for a charge and the enable flag charges = args.get_arg(0) if charges < 1 or not args.get_arg(1): return 0 #Decriment the charges charges = charges - 1 args.set_arg(0, charges) return 0 #Setup the feat tpdp.register_metamagic_feat("Sudden Empower") suddenEmpowerFeat = PythonModifier("Sudden Empower Feat", 4) #Charges, Toggeled On, Spare, Spare suddenEmpowerFeat.MapToFeat("Sudden Empower") suddenEmpowerFeat.AddHook(ET_OnBuildRadialMenuEntry, EK_NONE, SuddenEmpowerRadial, ()) suddenEmpowerFeat.AddHook(ET_OnNewDay, EK_NEWDAY_REST, SuddenEmpowerNewDay, ()) suddenEmpowerFeat.AddHook(ET_OnMetaMagicMod, EK_NONE, SuddenEmpowerMetamagicUpdate, ()) suddenEmpowerFeat.AddHook(ET_OnD20PythonSignal, "Sudden Metamagic Deduct Charge", SuddenEmpowerDeductCharge, ())