How change skills of Homunculus custom?

OmarAcero

New member
Messages
173
Points
0
Location
Lima-Perú
Github
https://github.com/OmarAcero
Emulator
How I can change the skills of my custom homunculus, so they can use skills of players??

I try to edit the file but has failed me, continue with the same skill I placed the top. Help!
screenr_Amod035.jpg


screenr_Amod036.jpg


homun_skill_tree.txt

//-Pokemons-Omar-//
//Pikachu
//6061,8005,5,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
//6061,8006,5,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
//6061,8007,5,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
6061,20,5,0,0,0,0,0,0,0,0,0,0,0 //MG_LIGHTNINGBOLT#Lightning Bolt#
6061,21,5,20,5,0,0,0,0,0,0,0,0,0 //MG_THUNDERSTORM#Thunderstorm#
 
//Raichu
//6062,8031,5,0,0,0,0,0,0,0,0,0,0,0 //MH_STAHL_HORN
//6062,8032,5,0,0,0,0,0,0,0,0,0,0,0 //MH_GOLDENE_FERSE
//6062,8033,5,0,0,0,0,0,0,0,0,0,0,0 //MH_STEINWAND
//6062,8034,5,0,0,0,0,0,0,0,0,0,0,0 //MH_HEILIGE_STANGE
//6062,8035,5,0,0,0,0,0,0,0,0,0,0,0 //MH_ANGRIFFS_MODUS
6062,84,5,21,5,20,1,0,0,0,0,0,0 //WZ_JUPITEL#Jupiter Thunder#
6062,20,10,0,0,0,0,0,0,0,0,0,0,0 //MG_LIGHTNINGBOLT#Lightning Bolt#
6062,21,10,20,8,0,0,0,0,0,0,0,0,0 //MG_THUNDERSTORM#Thunderstorm#
 
homunculus_db.txt
6061,6062,pikachu,537,60000,1,1,2,0,700,320,10,20,17,35,11,24,12,60,300,10,20,20,40,10,50,24,48,5,15,12,36,2,10,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10
6062,6062,raichu,537,60000,1,1,2,0,700,320,10,20,17,35,11,24,12,60,300,10,20,20,40,10,50,24,48,5,15,12,36,2,10,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10


 
Last edited by a moderator:
My  mmo.h

//Base Homun skill.
#define HM_SKILLBASE 8001   //  <----   what number I owe put to this value ???
#define MAX_HOMUNSKILL 99
#define MAX_HOMUNCULUS_CLASS 1001 //[orn], Increased to 60 from 16 to allow new Homun-S.
#define HM_CLASS_BASE 6001
#define HM_CLASS_MAX (HM_CLASS_BASE+MAX_HOMUNCULUS_CLASS-1)
 
I try to edit the MAX_HOMUNSKILL 99 but not change the skill.
 
Last edited by a moderator:
Make sure for every change you made you re-compile your server or else changes will not work..

 
#define HM_SKILLBASE 8001 //  <---- what number I owe put to this value ???
it is a setting which define at what starting skill id should a hom accept to its skill tree

but take note setting it to lower values it may affect skill tree of normal players..I suggest create duplicate skills having other ids

if you properly do it you should have like this

2niwsit.png


default_ani_meow.gif


 
Friends, I was trying to add the skill, editing the src code and compiling without errors, i add the line in homunculus_db but not shown in the window of homunculus skill. help

I want to duplicate the skill of the magician:  " MG_LIGHTNINGBOLT"

I using this guide = "https://rathena.org/wiki/Adding_new_skills"

  • Homunculus Skills
  • Slots available: 44 skills (mmo.h::MAX_HOMUNSKILL)
  • From: 8001 (mmo.h::HM_SKILLBASE)
  • To: 8044 (max. to 8200)
//In the mmo.h//Base Homun skill.#define HM_SKILLBASE 8001--#define MAX_HOMUNSKILL 43++#define MAX_HOMUNSKILL 99--#define MAX_HOMUNCULUS_CLASS 52++#define MAX_HOMUNCULUS_CLASS 1001//In the skill.h MH_LAVA_SLIDE, MH_PYROCLASTIC, MH_VOLCANIC_ASH,++ MH_LIGHTNINGBOLT, //In the skill.c case MH_ERASER_CUTTER: case RL_B_TRAP:++ case MH_LIGHTNINGBOLT: skill_attack(BF_MAGIC,src,src,bl,skill_id,skill_lv,tick,flag); break;//In the battle.c case MG_LIGHTNINGBOLT: case MG_THUNDERSTORM:++ case MH_LIGHTNINGBOLT: if(sc->data[SC_GUST_OPTION]) ad.damage += (6 + sstatus->int_ / 4) + max(sstatus->dex - 10, 0) / 30; break;//and add: case MG_LIGHTNINGBOLT: ++ case MH_LIGHTNINGBOLT: if ( sc && sc->data[SC_SPELLFIST] && mflag&BF_SHORT ) { skillratio += (sc->data[SC_SPELLFIST]->val4 * 100) + (sc->data[SC_SPELLFIST]->val1 * 50) - 100;// val4 = used bolt level, val2 = used spellfist level. [Rytech] ad.div_ = 1;// ad mods, to make it work similar to regular hits [Xazax] ad.flag = BF_WEAPON|BF_SHORT; ad.type = DMG_NORMAL; } break;
skill_db.txt:

8044,9,8,1,4,0,0,10,1:2:3:4:5,yes,0,0,0,magic,0,0x0, MH_LIGHTNINGBOLT,Lightning
 

homun_skill_tree.txt //  add to homunculus pikachu id mob:  6061
6061,8044,5,0,0,0,0,0,0,0,0,0,0,0 //MH_LIGHTNINGBOLT#Lightning#

 
skillid.lub:
  MH_LIGHTNINGBOLT = 8044,
 
skilldescript.lub

  [sKID.MH_LIGHTNINGBOLT] = {
    "Lightning",
    "MAX Lv : 5",
    "Skill Form: ^777777Offensive^000000",
    "Property: ^bbbb00Lightning^000000",
    "Target: ^777777Enemy^000000",
    "Description: ^777777Summon bolts of lightning to",
    "strike at an enemy. Barring changes in damage",
    "due to elemental properties, each bolt inflicts",
    "an amount of damage equal to the caster's Matk.^000000",
    "[Lv 1]:^77777712sp, 0.7sec cast, 1 Bolt^000000",
    "[Lv 2]:^77777714sp, 1.4sec cast, 2 Bolts^000000",
    "[Lv 3]:^77777716sp, 2.1sec cast, 3 Bolts^000000",
    "[Lv 4]:^77777718sp, 2.8sec cast, 4 Bolts^000000",
    "[Lv 5]:^77777720sp, 3.5sec cast, 5 Bolts^000000",
  },

 
skillinfolist.lub
[sKID.MH_LIGHTNINGBOLT] = {
"MH_LIGHTNINGBOLT";
SkillName = "Lightning",
MaxLv = 5,
SpAmount = { 12, 14, 16, 18, 20 },
bSeperateLv = true,
AttackRange = { 9, 9, 9, 9, 9}
},

 
Last edited by a moderator:
 
@mmo.h

change this value

#define HM_SKILLBASE 8001
default_ani_meow.gif
Friends, I have managed to duplicate the skill without affecting the skill the normal players, but I have one final problem, when I wish the attack with the skill new, the homunculus the skill not activated ...and at the End I get this error (Note)...   I need help please...

Question? :    Why he emulator only reads ID the skill less than 8044,  for the case of homunculus?

//In the mmo.h//Base Homun skill.--#define HM_SKILLBASE 8001++#define HM_SKILLBASE 3100--#define MAX_HOMUNSKILL 43++#define MAX_HOMUNSKILL 99--#define MAX_HOMUNCULUS_CLASS 52++#define MAX_HOMUNCULUS_CLASS 1001 

screenr_Amod039.jpg

screenr_Amod042.jpg

screenr_Amod045.jpg
homun_skill_tree.txt
6061,3100,5,5,0,0,0,0,0,0,0,0,0,0,0 //MH_LIGHTNINGBOLT#Lightning#

skill_db.txt:
3100,9,8,1,4,0,0,10,1:2:3:4:5,yes,0,0,0,magic,0,0x0, MH_LIGHTNINGBOLT,Lightning

Note: I use the same edition of the code but I placed another ID ... ( 3100 )
Sin_t_tuloerror.jpg


 
Last edited by a moderator:
@mmo.hchange this value#define HM_SKILLBASE 8001

default_ani_meow.gif
Friends, I have managed to duplicate the skill without affecting the skill the normal players, but I have one final problem, when I wish the attack with the skill new, the homunculus the skill not activated ...and at the End I get this error (Note)...   I need help please...Question? :    Why he emulator only reads ID the skill less than 8044,  for the case of homunculus?
//In the mmo.h//Base Homun skill.--#define HM_SKILLBASE 8001++#define HM_SKILLBASE 3100--#define MAX_HOMUNSKILL 43++#define MAX_HOMUNSKILL 99--#define MAX_HOMUNCULUS_CLASS 52++#define MAX_HOMUNCULUS_CLASS 1001 
screenr_Amod039.jpg


screenr_Amod042.jpg


screenr_Amod045.jpg
homun_skill_tree.txt

6061,3100,5,5,0,0,0,0,0,0,0,0,0,0,0 //MH_LIGHTNINGBOLT#Lightning#

skill_db.txt:

3100,9,8,1,4,0,0,10,1:2:3:4:5,yes,0,0,0,magic,0,0x0, MH_LIGHTNINGBOLT,Lightning

Note: I use the same edition of the code but I placed another ID ... ( 3100 )

Sin_t_tuloerror.jpg
Because default skill starts from 8001 for official homun.And the skill range allocated server side is

HM_SKILLBASE to (HM_SKILLBASE + MAX_HOMUNSKILL)

since you lowered HM_SKILLBASE to 3100, and max_homunskill to 99, it no longer can detect skill ids > 3200 for homuns

 
screenr_Amod046.jpg
Code:
// In the  mmo.h//Base Homun skill.#define HM_SKILLBASE 8000#define MAX_HOMUNSKILL 99
But still I can not get that my homunculus use the skill
default_sob.gif

homun_skill_tree.txt
6061,8000,5,5,0,0,0,0,0,0,0,0,0,0,0 //MH_LIGHTNINGBOLT#Lightning#
skill_db.txt:
8000,9,8,1,4,0,0,10,1:2:3:4:5,yes,0,0,0,magic,0,0x0, MH_LIGHTNINGBOLT,Lightning
skill_require_db.txt
8000,0,22:24:26:28:30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MH_LIGHTNINGBOLT
skill_cast_db.txt
//-- MH_LIGHTNINGBOLT
8000,5000:4500:4000:3500:3000,0,0,12000:14000:16000:18000:20000,0,0,1000

 
default_sad.png
 I use this setting to make duplicate of the skill, I did well?
Code:
//In the skill.h ++	MH_LIGHTNINGBOLT = 8000,	HLIF_HEAL = 8001,	HLIF_AVOID,	HLIF_BRAIN,//In the skill.c 	case MH_ERASER_CUTTER:	case RL_B_TRAP:++	case MH_LIGHTNINGBOLT:		skill_attack(BF_MAGIC,src,src,bl,skill_id,skill_lv,tick,flag);		break;//In the battle.c 				case MG_LIGHTNINGBOLT:				case MG_THUNDERSTORM:++				case MH_LIGHTNINGBOLT:								if(sc->data[SC_GUST_OPTION])						ad.damage += (6 + sstatus->int_ / 4) + max(sstatus->dex - 10, 0) / 30;					break;//and add: 					case MG_LIGHTNINGBOLT: ++					case MH_LIGHTNINGBOLT:											if ( sc && sc->data[SC_SPELLFIST] && mflag&BF_SHORT )  {							skillratio += (sc->data[SC_SPELLFIST]->val4 * 100) + (sc->data[SC_SPELLFIST]->val1 * 50) - 100;// val4 = used bolt level, val2 = used spellfist level. [Rytech]							ad.div_ = 1;// ad mods, to make it work similar to regular hits [Xazax]							ad.flag = BF_WEAPON|BF_SHORT;							ad.type = DMG_NORMAL;						}						break;
 
Last edited by a moderator:
Back
Top