Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[GUIDE] How to Create a HomeMade Boss and Fight ALL Day & Night!

Skilled Illusionist
Joined
Dec 5, 2007
Messages
396
Reaction score
1
** Hello Eveyone its 1337Equillbrium **

- You might think about, why im so fast to create Threads, its because i got them from MMOwned, and i got Access from The People, that made the Guides!

- Here is a Guide, for how to Create a Boss (Enjoy):

I:General aknowledge
II:Making a boss
III:Spawning the boss and waypoints
IV:Creating LUA file for boss (Does not include a guide)
V: Adding loot items to the boss
VI:Credits

I General Aknowledge
Before you start thinking, "omg now I can maek boss dat can be raided /w 40 men", I have to turn you down. This guide will make a simple boss which wont mean players will find it perfect. Let's get started.

To make a decent boss fight first you need to ask from yourself, what kind of creature is he? How world reacts to him? Where do I spawn him? How many players should be in a party/raid to kill him? These questions are major thing while doing a boss fight. For this tutotrial we'll make a corrupted demon hunter which has occupied Hyjal and is doable with five man.

II Making a boss
So open your MySQL ediot (NaviCat or any other will do too) and open your creature_names from database (mine was ascent-creature_names, but yours can be anything). Move to last page of the table and scroll down. After you've located your last creature in the table click that row and add a new row (At ascent you simply click + button). Fill the info:
Entry: Can be anything not in use yet, for i.e 99001
Name: Main name, such as Illidan Stormgarde
SubName: Sub name, wcich is displayed below creature's main name,like <Hi>
Info_str: No ceratin info, but it seems it affects the mouse over display, you can put 0 here
Flags1: This isn't essential whilst doing a boss, leave it 0 (determinates if creature is banker or speakable etc)
Type:This is the code you need to change, as we're doing a demon we put 3 over here.
Family: Sub category for type, i.e determinates if mob is spider,wolf etc. Leave it 0
Rank: Determinates is mob normal, rare,elite, world boss. As we like to have boss and it works this way we put number 3 here. (to spawn elite, boss is determinated later)
unk4: leave it as it is
spelldataid: Leave it as it is
male_displayid: To make a boss you need to know how it'll look like. As we're doing corrupted demon hunter we put Akielsh display ID here (16164 is the ID)
female_displayid: Use the same id as above, 16164
male_displayid2: leave it as it is
female_displayid2:l eave it as it is
unkown_float1: put this 1
unkown_float2: put this 2
civilian: put this 0 as we don't want boss react as normal civilian
leader: put this 0. We don't make boss fight with several mobs now

Now close the creature_names after you've made sure everything is as it should be and you've saved your work.
Open up your creature_proto. This tab should be lcoated in same DB as the creature_names tab was.

First after you've opened the tab find your way to last page. Scroll down to bottom and make a new row (At navicat with + mark). Now start filling the lines:
Entry: The same entry you put on the creature_names tab
Minlevel: Minium level of the mob, as for bosses it's advised to put 2 levels more than the level cap is, so if we have level 70 lvl cap we put the boss as 72
Maxlevel: We don't want boss to scale the levels, put this as 72 too
Faction: Something with creatures is good here, put 14 as it's for normal creatures
Minhealth: This is important: Do not make too hard boss, use your brains! Because if one makes 20k mil. hp for boss and makes it hit hard and fast it's unstoppable. I putted 1,8 mil. hp as I want to create 5 man boss with t6 gearr.
Maxhealth:This can be equal to minhelath but can't be below, I putted 1,8 mil hp
Mana: This is needed if your boss casts spells, put something like 90k because we don't want the boss look like weak if he losess mana from single spell.
Scale: Determinates how big boss is, 1 is around the size of human, I put here 5,7
NPCFlags: Is same as in creature_names, leave it as 0
Attacktime: How fast you want your boss hit, the time is determinated in milliseconds so if you want the boss hit every 5th sec put 5000 or if you want him to hit every 1,5 min, put 90000
Attacktype: I don't know what this stands for, leave it as 0 if you want
mindamage: How high amount damage boss hits to the 0 armor minium, I put 3,4k
maxdamage: How high amount damage boss hits on the 0 armor maxium, I put 6,2k
From here to mountdsiplayid, leave them 0
equipmodel1: I want boss hit with twinblades, I put their display ID here (45479)
equipinfo1: I have no idea where these come from but if you want a boss to hit with 1h weapon put 50267138
equipslot1: No idea, jsut put 768
Now boss has 1h on his main hand, if you want it to hit with two weapons fill the equipslot2 lines.
Respawntime: INdicates when boss will spawn back after it's killed in milliseconds. I put 72000 (1 min 12 seconds)
Armor: This DOES NOT mean the armor, it indicates the agility of the boss, so leave it 0 if you want boss to be hittable
Resistance1: Holy resistance
Resistance2: Arcane resistance
Resistance3: Nature resistance
Resistance4: Fire resistance
Resistance5: Shdaow resistance
Combatreach: How far away the boss can attack you, put 1 as it's good for this size boss
bounding_radious: How far away the boss will spot you, leave it 1 (50 will make it spot you before you see it)
auras: put 0
Boss: Well, we're making a boss os let's put 1 here (0=not true, 1=true)
money: Amount of money boss carries and is lootable in the end, I put 10000 (1g)
Rest you can leave as they are. Well done we're done with SQL edit!

III: Spawning the boss and creating waypoints
This is small thing to add and doesn't really affect the gameplay anyhow. Spawn your boss with its entry (Did you remember to resttart your server or reload creature_names and creature_proto?) where you like it to appear. To add waypoints type .waypoint while targeting the boss and standing there where you want the boss want to move.

IV: Creating LUA boss fight
I'll add guide later but I add the code you can modify, notice that the orange parts you need to modify to make the boss to work, after you've edited the script for your needs save it as yourbossname.lua (i.e Ko'matra.lua) to your /ascent/scripts folder.

Code:
function Boss_Spell2(pUnit, event) local plr = pUnit:GetRandomPlayer(0) if (plr ~= nil) then pUnit:SendChatMessage(12, 0 ,"Take that mortal!") pUnit:CastSpellOnTarget(28293, plr) endend function Boss_Spell3(pUnit, event) pUnit:FullCastSpellOnTarget(17173, pUnit:GetMainTank()) pUnit:SendChatMessage(12, 0, "I want your life")endfunction Boss_Spell4(pUnit, event)pUnit:FullCastSpellOnTarget(15496, pUnit:GetMainTank())endfunction Boss_Spell5(pUnit, event) pUnit:SendChatMessage(12, 0 ,"Minions, attack!") pUnit:CastSpell(14642)end function Boss_Spell6(pUnit, event) local plr = pUnit:GetRandomPlayer(10) if (plr ~= nil) then pUnit:SendChatMessage(12, 0 ,"So you like to play, stay then!") pUnit:CastSpellOnTarget(19975, plr) endend function Boss_Spell7(pUnit, event)pUnit:CastSpell(45)endfunction Boss_Spell8(pUnit, event)pUnit:FullCastSpellOnTarget(16920, pUnit:GetMainTank())endfunction Boss_Spell9(pUnit, event) local plr = pUnit:GetRandomPlayer(10) if (plr ~= nil) then pUnit:SendChatMessage(12, 0 ,"Run for your life!") pUnit:CastSpellOnTarget(5484, plr) endend function Boss_Phase1(Unit, event) if Unit:GetHealthPct() < 99 then Unit:RemoveEvents() Unit:SendChatMessage(11, 0, "Aah, I have just the thing for you") Unit:RegisterEvent("Boss_Spell2",14000, 0) Unit:RegisterEvent("Boss_Spell3",21000, 0) Unit:RegisterEvent("Boss_Spell4",2500, 0) Unit:RegisterEvent("Boss_Spell5",30000, 0) Unit:RegisterEvent("Boss_Phase2",1000, 0) endendfunction Boss_Phase2(Unit, event) if Unit:GetHealthPct() < 50 then Unit:RemoveEvents() Unit:CastSpell(5486) Unit:SendChatMessage(11, 0, "This is getting intresting!") Unit:RegisterEvent("Boss_Spell6",35000, 0) Unit:RegisterEvent("Boss_Spell7",14000, 0) Unit:RegisterEvent("Boss_Spell8",8000, 0) Unit:RegisterEvent("Boss_Spell9",21000, 0) endendfunction Boss_OnCombat(Unit, event) Unit:CastSpell(26202) Unit:SendChatMessage(11, 0, "Run while you can!") Unit:RegisterEvent("Boss_Phase1",1000, 0) Unit:RegisterEvent("Boss_Phase2",1000, 0)endfunction Boss_OnLeaveCombat(Unit, event) Unit:RemoveEvents() Unit:SendChatMessage(11, 0, "Run you fools!") Unit:SetScale(6.5) endfunction Boss_OnKilledTarget(Unit) Unit:SendChatMessage(11, 0, "Blah ,you weren't so though after all") Unit:CastSpell(13048)endfunction Boss_Death(Unit) Unit:SendChatMessage(12, 0, "No.. I have.. failed") Unit:RemoveEvents() Unit:SetScale(6.5) endRegisterUnitEvent(9001, 1, "Boss_OnCombat")RegisterUnitEvent(9001, 2, "Boss_OnLeaveCombat")RegisterUnitEvent(9001, 3, "Boss_OnKilledTarget")RegisterUnitEvent(9001, 4, "Boss_Death")
V: Adding loot items to the boss
Shortly. Open up your itemloot tab and find your way to the last page.Add a new row with one higher number than the earlier loot index was (if we have 12345678 index you put 12345679). Add your mob ID to the entryid, item you want boss to drop put the entryid of the item to the itemid. Percentchange indicates which change the boss will drop the item ( 100->0.001). Leave heroic version 0.
Mincount and Maxcount put 1 to both if you want only one peace will drop on loot, if you want more put mincount (X>/=0) and maxcount (X</=10). Leave the Ffa_loot 0

VI: Credits
Credits belong to mmowned site whils they thought me everything I know, I just made a newb friendly guide from what I've learn.


- The Guide is made by: WinKiller0 (MMOwned)
- The Guide is Copyed with Access by: WinKiller0 (MMOwned)
- The Guide Released in Ragezone by: 1337Equillbrium!
- Enjoy!

** MADE: 19-03-08 | 15:56 **
 
Experienced Elementalist
Joined
Jan 16, 2008
Messages
210
Reaction score
0
Roll the drums. The english language king is here.
General aknowledge
Spelled wrong. It's acknowledge.

Illidan Stormgarde
NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

More soon to come. GF Aggro.
 
Experienced Elementalist
Joined
Jan 16, 2008
Messages
210
Reaction score
0
My Brother Spelled this Guide, He's F***ING Bad at* English!
 
Experienced Elementalist
Joined
Jan 16, 2008
Messages
210
Reaction score
0
function Boss_Spell2(pUnit, event) local plr = pUnit:GetRandomPlayer(0) if (plr ~= nil) then pUnit:SendChatMessage(12, 0 ,"Take that mortal!") pUnit:CastSpellOnTarget(28293, plr) endend function Boss_Spell3(pUnit, event) pUnit:FullCastSpellOnTarget(17173, pUnit:GetMainTank()) pUnit:SendChatMessage(12, 0, "I want your life")endfunction Boss_Spell4(pUnit, event)pUnit:FullCastSpellOnTarget(15496, pUnit:GetMainTank())endfunction Boss_Spell5(pUnit, event) pUnit:SendChatMessage(12, 0 ,"Minions, attack!") pUnit:CastSpell(14642)end function Boss_Spell6(pUnit, event) local plr = pUnit:GetRandomPlayer(10) if (plr ~= nil) then pUnit:SendChatMessage(12, 0 ,"So you like to play, stay then!") pUnit:CastSpellOnTarget(19975, plr) endend function Boss_Spell7(pUnit, event)pUnit:CastSpell(45)endfunction Boss_Spell8(pUnit, event)pUnit:FullCastSpellOnTarget(16920, pUnit:GetMainTank())endfunction Boss_Spell9(pUnit, event) local plr = pUnit:GetRandomPlayer(10) if (plr ~= nil) then pUnit:SendChatMessage(12, 0 ,"Run for your life!") pUnit:CastSpellOnTarget(5484, plr) endend function Boss_Phase1(Unit, event) if Unit:GetHealthPct() < 99 then Unit:RemoveEvents() Unit:SendChatMessage(11, 0, "Aah, I have just the thing for you") Unit:RegisterEvent("Boss_Spell2",14000, 0) Unit:RegisterEvent("Boss_Spell3",21000, 0) Unit:RegisterEvent("Boss_Spell4",2500, 0) Unit:RegisterEvent("Boss_Spell5",30000, 0) Unit:RegisterEvent("Boss_Phase2",1000, 0) endendfunction Boss_Phase2(Unit, event) if Unit:GetHealthPct() < 50 then Unit:RemoveEvents() Unit:CastSpell(5486) Unit:SendChatMessage(11, 0, "This is getting intresting!") Unit:RegisterEvent("Boss_Spell6",35000, 0) Unit:RegisterEvent("Boss_Spell7",14000, 0) Unit:RegisterEvent("Boss_Spell8",8000, 0) Unit:RegisterEvent("Boss_Spell9",21000, 0) endendfunction Boss_OnCombat(Unit, event) Unit:CastSpell(26202) Unit:SendChatMessage(11, 0, "Run while you can!") Unit:RegisterEvent("Boss_Phase1",1000, 0) Unit:RegisterEvent("Boss_Phase2",1000, 0)endfunction Boss_OnLeaveCombat(Unit, event) Unit:RemoveEvents() Unit:SendChatMessage(11, 0, "Run you fools!") Unit:SetScale(6.5) endfunction Boss_OnKilledTarget(Unit) Unit:SendChatMessage(11, 0, "Blah ,you weren't so though after all") Unit:CastSpell(13048)endfunction Boss_Death(Unit) Unit:SendChatMessage(12, 0, "No.. I have.. failed") Unit:RemoveEvents() Unit:SetScale(6.5) endRegisterUnitEvent(9001, 1, "Boss_OnCombat")RegisterUnitEvent(9001, 2, "Boss_OnLeaveCombat")RegisterUnitEvent(9001, 3, "Boss_OnKilledTarget")RegisterUnitEvent(9001, 4, "Boss_Death")
What exactly are the numbers we are changing do? The Entryid?
 
Back
Top