Jump to content
DarkMatters Celebrates
18 Years of Christmas in Ancaria

From the Sacred 2 Christmas Island Soundtrack
Click to Open Player!


Boss Arena Mod

Recommended Posts

Boss Arena Mod for Sacred 2 Ice & Blood +


CM Patch 0130


This mod will add a new NPC to the MP starter island near the arena. After talking to it, it will start a boss chain quest, which includes the following bosses in 4 waves, spawning each boss one after another:


Wave 1:

The White Griffin

Raging Boar

Harpy Queen



Wave 2:

Flame Lord

Ice Lord

Earth Lord

Poison Lord


Wave 3:

Daloriel the Depraved




Wave 4:

Dark Prince


Forest Guardian



After each wave a confirmation at the quest giver is needed. I included these "milestones" to give the players a chance to sort their inventory, sell or stuff items away etc.


Most of these mini bosses are encountered on the map via a quest npc which basically tells you to go kill it. Thats means on top of the kill experience you get the quest experience. Each of these bosses now give additional quest experience, that also includes the forest guardian and 3 of the lords, which dont have a quest. In concequence this arena is an easy spot to farm experience and items. I created it for multiplayer games, so that the server doesnt need to be restarted for those bosses to spawn again. Right now it stops after one round, but at least you dont need to go to their locations to farm them.


Possible future version may include (incase I get that to work):

- unlimited boss runs -> no more server restarts

- main bosses in the arena (those that can be farmed in MP games without questing)





Since I have been asked how I did that I will include a short overview:



This is where its all at. You can create new quest NPCs and new quest tasks. Tasks range from item collection to mob killing to just reaching a certain area. Here I will discuss the mini boss killing quests. The code I included is seperated in two parts:

1) the task definitions (here the mini bosses and one quest giver)

2) the quest definitions


The quest giver:


quest.createTaskCreature(11000, {
itemtype = 6637,
creature = 587,
faction_id = 66,
behaviour = "questCreatures",
ismortal = 0,
isfighting = 0,
persistent = 0,
position = { 7,14,0 , 1010.400,792.852,294.443 , 0.000 },


I simply copied the quest npc for the white griffin quest and placed himin front of the arena.

To get the coordinates, stand where you wann place it, open the console and type "print hero" (without the "), look for POS. you will get the sector (7,14,0) and the coordiantes (1010.400,792.852,294.443). As to what the last number does I am still unsure, it might refer to a 4th plane, but 0.000 worked just fine on the island :)

Its important to use and ID that is still unused. I started my NPCs at 11000, my mobs at 12000 and my quests at 10000.


Next is the mobs, e.g. the forest guardian:


quest.createTaskCreature(12130, {
itemtype = 10205,
creature = 1433, --Forest Guardian
ismortal = 0,
isfighting = 0,
persistent = 0,
position = { 7,14,0 , 1672.250,1714.352,224.929 , 0.000 },


Most mobs were already in the quest.txt and I just needed to change the id (here 12130), but this one wasn, so I created it myself by using a template (e.g. white griffin spawn, "creature = 1887" and edited the itemtype and creature, as well the id). Its also important change the position to where you want it, in my case the arena.


At last you still need the quest. In this case Ill use my first one, the white griffin. Since this is longer I will place notes inside the code tag with <-. In case you noticed, comment in that file are made with --comment.


quest.createQuest(10000, { <-unique id
id = 10000, <-same as above
name = "Boss Arena White Griffin", <-identifier, just name it
questtype = 1, <-type 1 = kill quest
silent=0, <-will you notice if you accept it?
ismainquest = 0,
mainquestchapter = 0,
questbookstrategy = 0, <-normally quest have a 1 here, but my quests lack a book entry so it doesnt matter
continues_quest_id = 0, <-important for quest chains, this is the starter, thus 0
continues_bookentry = 0, <-similar to above, but for the log
forpathnot = 0, <-not excalt sure, similar to below, maybe
reservedforpath = 0, <- restriction for light/dark
reservedforhero = 0, <- restriction for class
reservedforgod = 0, <-restriction for god
reward_exp=1, <-following are the rewards
reward_attr=0, <-didnt test yet
reward_skill=0, <-maybe a rune?
report_required = 0, <-do you need to get back to the npc? this one is auto complete
dangerclass=8, <-possibly defines rewards, 8 is for the griffin
author_ready = 0, <-not sure
qa_ready = 0, <-not sure
releasestage = 30, <-possibly needed for simple go and kill quests
progress = 0, <-not sure
autostart = 0, <-could be defined together with enetering a certain region
anyprequest = 0, <-important for quest chains
showdlgonwin = 0, <-shows dialogue on win
lostondecline = 0, <-if you decline you cannot take it again (doesnt apply here, since there is no dialogue at all)
questgiver = { <-here starts the quest npc
taskcreature = 11000, <-my defined NPC
ispersistent = 0, <-similar to the mobs
isproactive = 0, <-not sure
isrefusable = 0, <- option to decline, but entire dialogue is missing :/
position = { 7,14,0 , 1010.400,792.852,294.443 , 0.000 }, <-spawn position, needs to be the same as ion the definition of the npc
questKill = { <-quest condition start, here killquest
anyofthem = 0, <-amount to kill?
useprefightdlg = 0, <-propably as with the kobold chieftain quest, if you reach it, you will get a message
bodycount = 0, <-amount to kill?
kill0 = { <-first mob to kill
taskcreature = 12000, <-specific mob, as defined before, no doubles here!


It is possible to add more different mobs in one quest like this:


questKill = { <-quest conition start, here killquest
anyofthem = 0, 
useprefightdlg = 0, 
bodycount = 0, 
kill0 = { <-first mob to kill
taskcreature = 12000, <-specific mob, as defined before, no doubles here!
kill1 = { <-second mob to kill
taskcreature = 12001, <-specific mob, as defined before, no doubles here!
kill2 = { <-third mob to kill
taskcreature = 12002, <-specific mob, as defined before, no doubles here!


and so on.


Lets look at the quest chain, this is the next quest, its basically the same, I will comment the differences


quest.createQuest(10010, { <-new id
id = 10010, <-new id
name = "Boss Arena Raging Boar",
questtype = 1,
ismainquest = 0,
mainquestchapter = 0,
questbookstrategy = 0,
continues_quest_id = 10000, <-previous quest
continues_bookentry = 0,
forpathnot = 0,
reservedforpath = 0,
reservedforhero = 0,
reservedforgod = 0,
report_required = 0,
author_ready = 0,
qa_ready = 0,
releasestage = 30,
progress = 0,
autostart = 0,
anyprequest = 0,
showdlgonwin = 0,
lostondecline = 0,
precond_quest0 = { <-important, without this it doesnt care if youve finished the previous one and spawn the next
quest_dbid = 10000,
queststate = 9,
questKill = {
anyofthem = 0,
useprefightdlg = 0,
bodycount = 0,
kill0 = {
taskcreature = 12010, <-different mob


Last but not least to add a "milestone" exchange this


report_required = 0,


with this (11000 is my NPC)


report_required = 1,
reportcompletion_to = 11000,



This is where I get my new mobs that arent already added in the quest.txt. One example is the forest guardian. I will look up its name and get the itemtype and the id.

Edited by momomo
Link to post

The download not work :(:(


Do you mean the mod itself or just the download. Cause I just tried and it worked. You might also try to navigate there yourself. Just go to downloads->community Patch

Link to post

The file was still pending approval by a mod....should be all set now

Link to post

This work only for Multiplayer mode :D:P:mafia::drunkards:


Of course it does, the npc is on the MP island, as in the description stated xD

But if you really want it somewhere else here is the manual:


Get ingame, go where you want the NPC and type "PRINT HERO" in the console (without the "). Scroll up using Page Up and look for "Pos". Note down the numbers, they look similar to the positions in the mod files (read my explanation above).

Then go into the modded file and replace "7,14,0 , 1010.400,792.852,294.443 , 0.000" with "your new coordinates , 0.000".

Then look up the position for the mobs that are spawned, just stand there and print the hero info again. then replace all

"7,14,0 , 1672.250,1714.352,224.929 , 0.000" with "your new coordinates , 0.000"


No guarantee that it works everywhere. Also I am still not sure what the last number (0.000) does.

Edited by momomo
Link to post

I've been examining this mod to try to better learn about how to script some simple "kill this boss" quests for my Diablo 2 Fallen mod. This lead me to consider updating this mod, as is, for CM Patch 1.50 so current players can enjoy it.


So I'll just repeat the question I posed in this post for another long-dead mod: is there any interest?

Link to post

Thanks momomo for the initial mod and Flix for the updated version. I have only played thru the first two waves without any issues.


And welcome to DarkMatters Jeremy!





Link to post

If people havent figured it out yet, the last number in a position is most likely the azimuth.

Following example strenghtens this claim:


mgr.addMapPos {
    merchantType = 4,
    position = {
      x = 146300.00,
      y = 62350.00,
      z = 0.00,
      layer = 0,
      orientation = 1.000,


Link to post
6 hours ago, Charon117 said:

the last number in a position is most likely the azimuth

It is.  A value of 0 has the creature facing directly north.  Enter a positive or negative value in degrees to rotate it clockwise or counterclockwise.

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...