Recarnation: SPELL FIX / UPDATE

Discussion in 'General Modification' started by XVicious, Oct 8, 2014.

Remove all ads!
  1. XVicious

    XVicious Established Member

    Joined:
    Jun 21, 2013
    Messages:
    427
    Likes Received:
    8
    OK I GOT THIS VERSION TOO WORK
    FOR RECARNATION

    This Spell Fixes the fact that by 3.5 e Rules the Target getting
    recarnated should be randomly given a Body type to live in.


    HERE IS A LIST FOR RECARNATION RULING


    D% dice 1-100
    Code:
    1            bugbear
    2-13       dwarf
    14-25     elf
    26          knoll
    27-38     gnome
    39-42     goblin
    43-52     Half-elf
    53-62     Half-Orc
    63-74     Halfling
    75-89     Human
    90-93     Kobold
    94          Lizardfolk
    95-98     Orc
    99          Troglodyte
    100        No Racial Change or OTHER DM-choice
    
    these also have stat changes that go along with them, maybe I will add them later

    these would need to be CODED into Python script and added into the
    recarnation spell Effects event

    I will work on em right here

    //from PY SPELL RECARNATION
    Code:
    from utilities import *
    
    from toee import *
    
    
    
    def OnBeginSpellCast( spell ):
    	print "Reincarnation OnBeginSpellCast"
    	print "spell.target_list=", spell.target_list
    	print "spell.caster=", spell.caster, " caster.level= ", spell.caster_level
    	game.particles( "sp-transmutation-conjure", spell.caster )
    
    def	OnSpellEffect( spell ):
    	print "Reincarnation OnSpellEffect"
    
    	spell.duration = 0
    	target_item = spell.target_list[0]
    
    	g = target_item.obj.obj_get_int(obj_f_critter_gender)
    	n = game.random_range(1,100)
    	mesh_id = 0
    
    	if(n == 1):
    		mesh_id = 1077
    	if(n > 1 and n <= 13):
    		mesh_id = 103 - g
    	if(n > 13 and n <= 25):
    		mesh_id =  101 - g
    	if(n == 26):
    		mesh_id = 1014
    	if(n > 26 and n <= 38):
    		mesh_id = 101 - g
    	if(n > 38 and n <= 42):
    		mesh_id =  1056
    	if(n > 42 and n <= 52):
    		mesh_id = 101 - g
    	if(n > 52 and n <= 62):
    		mesh_id = 105 - g
    	if(n > 62 and n <= 74):
    		mesh_id = 101 - g
    	if(n > 74 and n <= 89):
    		mesh_id = 101 - g
    	if(n > 89 and n <= 93):
    		mesh_id = 1018
    	if(n == 94):
    		mesh_id = 1018
    	if(n > 94 and n <= 98):
    		mesh_id = 105 - g
    	if(n == 99):
    		mesh_id = 1018
    	
    	if(mesh_id > 0):
    		ChangeModel(target_item.obj, mesh_id)
    	
    	target_item.obj.condition_add_with_args( 'sp-Raise Dead', spell.id, spell.duration, 0 )
    	#target_item.partsys_id = game.particles( 'sp-Raise Dead', target_item.obj )
    
    
    
    	spell.spell_end( spell.id )
    
    def OnBeginRound( spell ):
    	print "Reincarnation OnBeginRound"
    
    def OnEndSpellCast( spell ):
    	print "Reincarnation OnEndSpellCast"
    
    def ChangeModel(object_owner, mesh):
    	object_owner.obj_set_int(obj_f_base_mesh, mesh)
    	object_owner.obj_set_int(obj_f_base_anim, mesh)
    	object_owner.obj_set_int(obj_f_animation_handle, 0)
    	return
    
    
    
    
    

    note: that the Race type name in profile is not changed and the stats for base racial trates does not change either, but I might update this again


    *any edits are for syntax checks, spelling, formatting or appearances
     

    Attached Files:

    Last edited: Oct 8, 2014
Our Host!