Adding Raised Pet

Results 1 to 7 of 7
  1. #1
    One word! Im Fawkin Pro! Xakzi is offline
    MemberRank
    Jul 2010 Join Date
    SwedenLocation
    1,356Posts

    Adding Raised Pet

    Hello!
    In this thread I will explain how you add a new raised pet with a new Attribute.

    I will add the coding in a way for you to be able to remove very easy by commenting the define in versioncommon.h :)

    We will be adding the Attribute "SPEED+ "

    Keep in mind that I use v19 flyff files so files may vary a bit from yours (like propitem.txt (/spec_item.txt))

    We will start with the Source:

    Spoiler:

    BLUE = FIND
    RED = ADD
    GREEN = EDIT
    PURTPLE = INFORMATION

    WndManager.cpp
    Spoiler:

    Find:
    Code:
    
    				case DST_HP_MAX:
    					dwTooltip = TID_TOOLTIP_DST_HP_MAX;
    					break;
    Under It Add:
    Code:
    #ifdef __NEWRAISEDPETSPEED
    				case DST_SPEED:
    					dwTooltip = TID_TOOLTIP_SPEED;
    					break;
    #endif //__NEWRAISEDPETSPEED

    WndWorld.cpp
    Spoiler:

    Find:
    Code:
    
    			case DST_HP_MAX:
    				dwTooltip = TID_TOOLTIP_DST_HP_MAX;
    				break;
    Under It Add:
    Code:
    #ifdef __NEWRAISEDPETSPEED
    			case DST_SPEED:
    				dwTooltip = TID_TOOLTIP_SPEED;
    				break;
    #endif //__NEWRAISEDPETSPEED

    WndPetSys.h
    Spoiler:

    Find:
    Code:
    #define MAX_PET_CLASS 7
    Edit It To:
    Code:
    #ifdef __NEWRAISEDPETSPEED
    #define MAX_PET_CLASS 8
    #else //__NEWRAISEDPETSPEED
    #define MAX_PET_CLASS 7
    #endif //__NEWRAISEDPETSPEED

    WndPetSys.cpp
    Spoiler:

    Part 1
    Spoiler:

    Find:
    Code:
    	m_PetCameTable[6].CamPos.x = 4.0f;
    	m_PetCameTable[6].CamPos.y = 3.0f;
    	m_PetCameTable[6].CamPos.z = -10.0f;
    	m_PetCameTable[6].CamLook.x = -6.0f;
    	m_PetCameTable[6].CamLook.y = 6.0f;
    	m_PetCameTable[6].CamLook.z = 3.0f;
    	m_PetCameTable[6].Scale = 5.0f;
    Under It Add:
    Code:
    #ifdef __NEWRAISEDPETSPEED
    	// Xakzi Pet Speed
    	m_PetCameTable[7].CamPos.x = 1.2f;
    	m_PetCameTable[7].CamPos.y = 4.6f;
    	m_PetCameTable[7].CamPos.z = -7.0f;
    	m_PetCameTable[7].CamLook.x = -2.4f;
    	m_PetCameTable[7].CamLook.y = 3.0f;
    	m_PetCameTable[7].CamLook.z = 0.0f;
    	m_PetCameTable[7].Scale = 6.0f;
    #endif //__NEWRAISEDPETSPEED
    If pet's face is not in pet window, edit these to position it right

    Part 2
    Spoiler:

    Find:
    Code:
    
    			case DST_HP_MAX:
    				dwTooltip = TID_TOOLTIP_HP;
    				break;
    Under It Add:
    Code:
    #ifdef __NEWRAISEDPETSPEED
    			case DST_SPEED:
    				dwTooltip = TID_TOOLTIP_SPEED;
    				break;
    #endif //__NEWRAISEDPETSPEED

    Part 3
    Spoiler:

    Find:
    Code:
    
    				case DST_HP_MAX:
    					dwTooltip = TID_TOOLTIP_DST_HP_MAX;
    					break;
    Under It Add:
    Code:
    #ifdef __NEWRAISEDPETSPEED
    				case DST_SPEED:
    					dwTooltip = TID_TOOLTIP_SPEED;
    					break;
    #endif //__NEWRAISEDPETSPEED


    VersionCommon.h (NEUZ & WORLDSERVER)
    Spoiler:

    Code:
    #define __NEWRAISEDPETSPEED

    define.h
    Spoiler:

    Find:
    Code:
    #define PK_MAX	7
    Change It To:
    Code:
    #ifdef __NEWRAISEDPETSPEED
    #define PK_XAKZI	7
    #define	PK_MAX		8	
    #else //__NEWRAISEDPETSPEED
    #define PK_MAX	7
    #endif //__NEWRAISEDPETSPEED



    Resource:

    Spoiler:


    pet.inc
    Spoiler:
    Code:
    DST_SPEED		1	2	4	7	11	16	22	29	37	II_PET_XAKZI01	MI_PET_XAKZI01	MI_PET_XAKZI01_1	MI_PET_XAKZI01_2	900
    Colors = Explanation

    Given Attribute To Pet
    Given Attribute Per Level To Pet
    ID Added To DefineItem.h & PropItem.txt(/Spec_Item.txt) & mdlDyna.inc
    ID Added To DefineObj.h & PropMover.txt & mdlDyna.inc
    Chance Of Getting Pet From Egg

    spec_item.txt
    Spoiler:

    Code:
    8	II_PET_XAKZI01	IDS_XAKZIITEM_TXT_000001	1	1	IK1_GENERAL	IK2_GENERAL	IK3_EGG	=	1	1	=	1	=	=	=	=	=	=	=	0	=	=	=	=	=	=	1	=	PK_TIGER	=	=	_NONE	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	WUI_NOW	=	=	=	=	=	=	=	=	=	0	0	0	0	0	0	=	=	=	=	=	=	=	=	=	=	=	=	1	=	SND_ITEM_GNEATFOOD	=	"""Itm_PetWhiteTiger01.dds"""	0	""""""	IDS_XAKZIITEM_TXT_0000021	300	0	0	1	0	0	0	1	0	2	=	=	=	=	=	=	=	=	=	=	1	1	1	1	1	0	ITEM_GRADE_NORMAL	1	TYPE1_PET	TYPE2_PET_EGG	1	0	0	0

    propItem.txt.txt
    Spoiler:

    Code:
    IDS_XAKZIITEM_TXT_000001	Xakzi Cage
    IDS_XAKZIITEM_TXT_000002	This ferocious Beast will increase your SPEED.

    defineItem.h
    Spoiler:

    Code:
    #define	II_PET_XAKZI01	36010
    
    The chosen numbers may only exist one time (if duplicated change it)

    mdlDyna.inc
    Spoiler:

    Part 1
    Spoiler:
    Code:
    "GenMatSuitbox"      II_PET_XAKZI01	MODELTYPE_MESH "" 0  MD_NEAR 0  1.0f 0 1 ATEX_NONE 1

    Part 2
    Spoiler:
    Code:
    PetWhiteTiger01		MI_PET_XAKZI01	MODELTYPE_ANIMATED_MESH	""	0	MD_MID	0	1.1f	0	1	ATEX_NONE	1
    	{
    		"stand"     MTI_STAND 
    		"walk"      MTI_WALK 
    		"idle1"     MTI_IDLE1 
    		"idle1"     MTI_IDLE2
    		"dmg1"      MTI_DMG1
    		"dmg2"      MTI_DMG2
    		"dmgFly"    MTI_DMGFLY
    		"dmgDie"    MTI_DMGDIE
    		"dmgLive"   MTI_DMGLIVE
    		"die1"      MTI_DIE1
    		"atk1"      MTI_ATK1
    		"atk2"      MTI_ATK2
    		"atk1"      MTI_ATK3
    		"groggy"    MTI_GROGGY
    
    		// extra
    		"walk"      MTI_JUMP1 
    		"walk"      MTI_JUMP2 
    		"walk"      MTI_JUMP3 
    		"walk"      MTI_JUMP4 
    		"walk"      MTI_RUN
    	}
    
      	PetWhiteTiger01		MI_PET_XAKZI01_1	MODELTYPE_ANIMATED_MESH	""	0	MD_MID	0	1.1f	0	1	ATEX_01	1
    	{
    		"stand"     MTI_STAND 
    		"walk"      MTI_WALK 
    		"idle1"     MTI_IDLE1 
    		"idle1"     MTI_IDLE2
    		"dmg1"      MTI_DMG1
    		"dmg2"      MTI_DMG2
    		"dmgFly"    MTI_DMGFLY
    		"dmgDie"    MTI_DMGDIE
    		"dmgLive"   MTI_DMGLIVE
    		"die1"      MTI_DIE1
    		"atk1"      MTI_ATK1
    		"atk2"      MTI_ATK2
    		"atk1"      MTI_ATK3
    		"groggy"    MTI_GROGGY
    
    		// extra
    		"walk"      MTI_JUMP1 
    		"walk"      MTI_JUMP2 
    		"walk"      MTI_JUMP3 
    		"walk"      MTI_JUMP4 
    		"walk"      MTI_RUN
    	}
    
      	PetWhiteTiger01		MI_PET_XAKZI01_2	MODELTYPE_ANIMATED_MESH	""	0	MD_MID	0	1.1f	0	1	ATEX_02	1
    	{
    		"stand"     MTI_STAND 
    		"walk"      MTI_WALK 
    		"idle1"     MTI_IDLE1 
    		"idle1"     MTI_IDLE2
    		"dmg1"      MTI_DMG1
    		"dmg2"      MTI_DMG2
    		"dmgFly"    MTI_DMGFLY
    		"dmgDie"    MTI_DMGDIE
    		"dmgLive"   MTI_DMGLIVE
    		"die1"      MTI_DIE1
    		"atk1"      MTI_ATK1
    		"atk2"      MTI_ATK2
    		"atk1"      MTI_ATK3
    		"groggy"    MTI_GROGGY
    
    		// extra
    		"walk"      MTI_JUMP1 
    		"walk"      MTI_JUMP2 
    		"walk"      MTI_JUMP3 
    		"walk"      MTI_JUMP4 
    		"walk"      MTI_RUN
    	}


    propMover.txt
    Spoiler:

    Code:
    MI_PET_XAKZI01	IDS_XAKZIMOVER_TXT_000001	AII_EGG	15	20	39	33	24	20	=	BELLI_PEACEFUL	=	1	=	=	RANK_LOW	0	=	1	=	1	1	=	=	=	=	0.6	0	=	=	=	=	=	1000	4000	2297	100	19	130	0	=	1	1	=	0.1	=	0	=	=	=	13	0	0	0.3	-0.3	0	30	=	=	=	=	13	0	0	=	=	1	II_WEA_HAN_HAND	VT_ITEM	=	=	=	=	=	=	=	=	SND_ITEM_ANIMAL 	SND_PC_DMGWANB	=	=	=	IDS_XAKZIMOVER_TXT_000002	=	=	31
    MI_PET_XAKZI01_1	IDS_XAKZIMOVER_TXT_000003	AII_EGG	15	20	39	33	24	20	=	BELLI_PEACEFUL	=	1	=	=	RANK_LOW	0	=	1	=	1	1	=	=	=	=	0.6	0	=	=	=	=	=	1000	4000	2297	100	19	130	0	=	1	1	=	0.1	=	0	=	=	=	13	0	0	0.3	-0.3	0	30	=	=	=	=	13	0	0	=	=	1	II_WEA_HAN_HAND	VT_ITEM	=	=	=	=	=	=	=	=	SND_ITEM_ANIMAL 	SND_PC_DMGWANB	=	=	=	IDS_XAKZIMOVER_TXT_000004	=	=	31
    MI_PET_XAKZI01_2	IDS_XAKZIMOVER_TXT_000005	AII_EGG	15	20	39	33	24	20	=	BELLI_PEACEFUL	=	1	=	=	RANK_LOW	0	=	1	=	1	1	=	=	=	=	0.6	0	=	=	=	=	=	1000	4000	2297	100	19	130	0	=	1	1	=	0.1	=	0	=	=	=	13	0	0	0.3	-0.3	0	30	=	=	=	=	13	0	0	=	=	1	II_WEA_HAN_HAND	VT_ITEM	=	=	=	=	=	=	=	=	SND_ITEM_ANIMAL 	SND_PC_DMGWANB	=	=	=	IDS_XAKZIMOVER_TXT_000006	=	=	31

    propMover.txt.txt
    Spoiler:

    Code:
    IDS_XAKZIMOVER_TXT_000001	Baby Xakzi
    IDS_XAKZIMOVER_TXT_000002	
    IDS_XAKZIMOVER_TXT_000003	Xakzi
    IDS_XAKZIMOVER_TXT_000004
    IDS_XAKZIMOVER_TXT_000005	[Captain] Xakzi

    defineObj.h
    Spoiler:

    Code:
    #define	MI_PET_XAKZI01							756
    #define	MI_PET_XAKZI01_1						757		
    #define	MI_PET_XAKZI01_2						758
    
    The chosen numbers may only exist one time (if duplicated change it)


    transformitem.inc
    Spoiler:

    Code:
    10000	TI_PET	PK_XAKZI	1	0	0
    
    Add this line under last PK_*




    Hope it helps some :)
    Last edited by Xakzi; 29-04-16 at 03:40 AM.


  2. #2
    Making a come back NickHough is offline
    MemberRank
    Nov 2009 Join Date
    United KingdomLocation
    397Posts

    Re: Adding Raised Pet

    Nice guide Xakzi,

    Its nice to see people releasing things still.

    Also for those who may just wish to change the Effect of the current Raised pets, this guide is also helpful (needed to add the extra defines to the dwDstParam switch).
    Although i can't understand why Gala decided to do it this way for Pets as there is already an entire match system for dwDstParam and their TextClient counter part?

  3. #3
    Enthusiast 69BOLT69 is offline
    MemberRank
    Jan 2016 Join Date
    40Posts

    Re: Adding Raised Pet

    wow. definitely gonna try this one too. since your guide for changing the existing attribute works perfectly this one adding a entirely new raised pet is going to be perfectly working no doubt! THANK YOU Xakzi

  4. #4
    Enthusiast Lexusgray is offline
    MemberRank
    Apr 2011 Join Date
    47Posts

    Re: Adding Raised Pet

    There no need for downloading any more additional content just adding codes?

  5. #5
    One word! Im Fawkin Pro! Xakzi is offline
    MemberRank
    Jul 2010 Join Date
    SwedenLocation
    1,356Posts

    Re: Adding Raised Pet

    Quote Originally Posted by Lexusgray View Post
    There no need for downloading any more additional content just adding codes?
    Yes.. and you choose the model of the pet in mdldyna (PART 2) I used PetWhiteTiger01 in this example.
    And you will most likely create 2 new textures (different colors on each 2 levels for the pet)
    just check how many .dds files on any other pets, not hard to understand :)

  6. #6
    Enthusiast Lexusgray is offline
    MemberRank
    Apr 2011 Join Date
    47Posts

    Re: Adding Raised Pet

    Quote Originally Posted by Xakzi View Post
    Yes.. and you choose the model of the pet in mdldyna (PART 2) I used PetWhiteTiger01 in this example.
    And you will most likely create 2 new textures (different colors on each 2 levels for the pet)
    just check how many .dds files on any other pets, not hard to understand :)
    So I just need to inject it to my datares too in the client?

  7. #7
    Apprentice ledzem is offline
    MemberRank
    Jun 2012 Join Date
    16Posts

    Re: Adding Raised Pet

    Server No Open For add new pet



Advertisement