• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Whi World - Open Source Server with Configurable Features

as expected. Nop :D

Although I did something friday night.
I think I finally got all the boss features in one place. That was so awful xD, scripts were practically every main folder.

Anyway. First glance how does my new boss generating config looks like with the "Central System":
Code:
local AIDT = AID.areas.archanosRoom
local confT = {
    bossArea = {upCorner = {x = 454, y = 554, z = 6}, downCorner = {x = 468, y = 560, z = 6}},
  
}

archanosRoom = {
    name = "Archanos boss room",
    area = {
        areaCorners = {
            {upCorner = {x = 445, y = 550, z = 5}, downCorner = {x = 472, y = 564, z = 5}},
            confT.bossArea,
        },
    },
    AIDItems = {
        [AIDT.redBook] = {funcSTR = "herbs_discoverHint"},
    },
    bossRoom = {
        upCorner = confT.bossArea.upCorner,
        downCorner = confT.bossArea.downCorner,
        roomAID = AIDT.lever,
        kickAID = AIDT.kickLever,
        leaveAID = AIDT.leave,
        signAID = AIDT.sign,
        highscoreAID = AIDT.highscores,
        quePos = {{x = 454, y = 556, z = 5}, {x = 453, y = 556, z = 5}},
        enterPos = {{x = 454, y = 556, z = 6}, {x = 454, y = 557, z = 6}},
        kickPos = {x = 445, y = 555, z = 5},
        bossPos = {x = 467, y = 556, z = 6},
        bossName = "archanos",
        clearObjects = {1500},
        respawnCost = 8,
        bountyStr = "archanosBounty",
        respawnSV = SV.ArchanosRespawn,
        killSV = SV.archanosKill,
        rewardExp = 30,
    },
    monsters = {
        ["archanos"] = {
            name = "Archanos",
            reputationPoints = 6,
            race = "human",
            task = {
                groupID = 5,
                requiredSV = {[SV.bandithunterTaskOnce] = 1, [SV.banditKnightTaskOnce] = 1, [SV.banditMageTaskOnce] = 1, [SV.banditDruidTaskOnce] = 1},
                answer = {"There is big shot in Bandit Mountains, 'Archanos'. Go deal with him and perhaps the bandit attacks will reduce."},
                killsRequired = 1,
                storageID = SV.archanosTask,
                storageID2 = SV.archanosTaskOnce,
                skillPoints = 2,
                location = "west Bandit mountain",
                reputation = 15,
            },
            bossRoomAID = AIDT.lever,
        },
    },
    monsterResistance = {
        ["archanos"] = {
            PHYSICAL = -10,
            ICE = 35,
            EARTH = -20,
            FIRE = 60,
            HOLY = 20,
            DEATH = -50,
            ENERGY = 50,
        },
    },
    monsterLoot = {
        ["archanos"] = {
            storage = SV.archanos,
            [8707] = {chance = 5, mage = 15, druid = 15, firstTime = 20, partyBoost = "false"}, -- thunder book
            [7696] = {chance = 8, aid = {1104, 1105, 1106, 1124}, partyBoost = "false"},        -- SpellScroll: shiver / rubydef / death / volley
            [2542] = {chance = 5, knight = 15, firstTime = 20, partyBoost = "false"},           -- zvoid shield
            [2558] = {chance = 55, aid = 108, partyBoost = "false"},                            -- saw
            ["bounty"] = {[2148] = {amount = "archanosBounty"}},                                -- coin
            [2148] = {staged = {100,50,25}, count = {3,2,5}},                                   -- coin
            [9970] = {staged = {9,9,9,9,9}, count = {}},                                        -- Ice Gem
            [2146] = {staged = {9,9,9,9,9}, count = {}},                                        -- Energy gem
            [2147] = {staged = {9,9,9,9,9}, count = {}},                                        -- fire gem
            [2666] = {chance = 60, count = 2},                                                  -- meat
            [2674] = {chance = 30, count = 5},                                                  -- apple
            [2643] = {chance = 15},                                                             -- leather boots
        },
    },
    monsterSpells = {
        ["archanos"] = {
            ["archanos ice aura"] = {{},{},{}},
            ["archanos fire aura"] = {{},{},{}},
            ["archanos electric shot"] = {{},{},{}},
            ["archanos teleport"] = {{},{},{}},
            ["archanos field bombs"] = {{},{},{}},
            ["damage: cd=500, d=30-80"] = {{},{},{}},
            ["damage: cd=2000, d=5-25, r=7, t=LD, fe=11"] = {{},{},{}},
        },
    },
}
table.insert(bossRoomT, archanosRoom)
 
Woah.
That was long day. Early Morning wake up, stuff to do till Evening. Then tripping around. And end with nice touch of cush and movie with friends.

Well Anyway, tomorrow the scripting will begin. Time to finish up the central system.

End of the week, aka next weekend I shall start the Whi World story with hunter. Gona go trough secrets, hints, qusts and test different builds what I hope will be cool and styleish.
I got nice load of equipment farmed up too with mage.

I conclude mage now.
That class I'm happy with now.
What you think?

Its no longer overpowered.They still keep their unique styles.
I was able to do 3 different effective builds: (aoe elemental and spear mage, barrier mage(aka tank), theoretically should exist close range elemental damage too with not too big aoe but better dmg.
I have seen other doing interesting item combinations what also work. Ingame exist explosion mage, but I couldn't solo shadow to get the final item piece xD (only tried 2 times too, still 2 attempts left, I will use it for hunter) (although there is a wine machine to create wine now :eek: :eek: :eek: *hands in da air screaming*!!)

uh. Where I'm heading here.
Ah ye. well skipping new patch this week too. it was really busy week to be able to script anything, but now I have time again.

Code:
local AIDT = AID.areas.bigDaddyRoom
local confT = {
    bossArea = {upCorner = {x = 793, y = 569, z = 9}, downCorner = {x = 800, y = 578, z = 9}},
}

bigDaddyRoom = {
    name = "Big Daddy boss room",
    area = {
        areaCorners = {
            {upCorner = {x = 786, y = 567, z = 8}, downCorner = {x = 803, y = 581, z = 8}},
            confT.bossArea,
        },
    },
    bossRoom = {
        upCorner = confT.bossArea.upCorner,
        downCorner = confT.bossArea.downCorner,
        roomAID = AIDT.lever,
        kickAID = AIDT.kickLever,
        leaveAID = AIDT.leave,
        signAID = AIDT.sign,
        highscoreAID = AIDT.highscores,
        quePos = {{x = 795, y = 571, z = 8}, {x = 794, y = 571, z = 8}},
        enterPos = {{x = 796, y = 570, z = 9}, {x = 797, y = 570, z = 9}},
        kickPos = {x = 796, y = 580, z = 8},
        bossPos = {x = 796, y = 576, z = 9},
        bossName = "big daddy",
        clearObjects = {3666, 3667, 3668},
        respawnCost = 8,
        bountyStr = "big_daddyBounty",
        respawnSV = SV.BigDaddyRespawn,
        killSV = SV.bigDaddyKill,
        rewardExp = 30,
    },
    monsters = {
        ["big daddy"] = {
            name = "Big Daddy",
            reputationPoints = 6,
            race = "human",
            bossRoomAID = AIDT.lever,
            task = {
                groupID = 5,
                requiredSV = {[SV.cyclopsTaskOnce] = 1},
                answer = {"Want a challenge? Go kill a Big Daddy."},
                killsRequired = 1,
                storageID = SV.bigDaddyTask,
                storageID2 = SV.bigDaddyTaskOnce,
                skillPoints = 2,
                location = "east Cyclops dungeon",
                reputation = 15,
            },
        },
    },
    monsterResistance = {
        ["big daddy"] = {
            PHYSICAL = 15,
            ICE = 30,
            EARTH = 20,
            FIRE = 60,
            ENERGY = 30,
            HOLY = 50,
            DEATH = 20,
        },
        ["big daddy defencemode"] = {
            PHYSICAL = -20,
            ICE = -10,
            EARTH = 10,
            FIRE = 30,
            ENERGY = -10,
            HOLY = 30,
            DEATH = -40,
        },
    },
    monsterLoot = {
        ["big daddy"] = {
            storage = SV.big_daddy,
            [12434] = {chance = 5, druid = 15, firstTime = 20, partyBoost = "false"},   -- hood of natural talent
            [2663] = {chance = 5, knight = 15, firstTime = 20, partyBoost = "false"},   -- zvoid turban
            [2662] = {chance = 5, mage = 15, firstTime = 20, partyBoost = "false"},     -- arogja hat
            ["bounty"] = {[2148] = {amount = "big_daddyBounty"}},                       -- coin
            ["1123"] = {chance = 1, hunter = 3, aid = 1123, firstTime = 3},             -- trap
            ["1108"] = {chance = 3, knight = 5, aid = 1108},                            -- SpellScroll: opaldef
            ["1111"] = {chance = 3, druid = 5, aid = 1111},                             -- SpellScroll: buff
            [2148] = {staged = {100,50,25}, count = {3,2,5}},                           -- coin
            [11242] = {chance = 10, partyBoost = "false"},                              -- expedition bag
            [11241] = {chance = 7, partyBoost = "false"},                               -- expedition backpack
            [2267] = {staged = {10,10,10,10}, count = {}},                              -- armor stone T1
            [5880] = {staged = {90,50}, count = {1,2}},                                 -- iron ore
            [2553] = {chance = 55, aid = 105},                                          -- pickaxe
            [2666] = {chance = 30, count = 3},                                          -- meat
            [1294] = {chance = 30, count = 2},                                          -- small stone
            [2263] = {chance = 5, mage = 6},                                            -- death stone
            [2271] = {chance = 5, mage = 6},                                            -- energy stone
            [2674] = {chance = 30},                                                     -- ham
            [2265] = {chance = 30},                                                     -- armor stone T2
            [7464] = {chance = 10},                                                     -- fur shorts
        },
    },
    monsterSpells = {
        ["big daddy"] = {
            ["big daddy smash"] = {{},{},{}},
            ["big daddy tremor"] = {{},{},{}},
            ["big daddy defense stance"] = {{},{},{}},
            ["heal: CD=15, 5%"] = {{},{},{}},
            ["damage: cd=2000, d=45-90, r=2"] = {{},{},{}},
        },
        ["big daddy defencemode"] = {
            ["big daddy attack stance"] = {{},{},{}},
            ["big daddy groundspikes"] = {{},{},{}},
            ["big daddy wall"] = {{},{},{}},
        },
    },
}
table.insert(bossRoomT, bigDaddyRoom)
Like this post if you want too see Borthonos Central Config table (aka blueprints for boss stats and rewards and balance)
 
{amount = "archanosBounty"}

While skimming I thought this said
Archanos Beauty. :p
 
Boss functions and scripts have been refactored.

Tommorrow I will organize all the boss rooms.
 
all boss room are done.
Starting area is done.
Started off with tutorial area frame. It will be turned into quest (tracked by questlog)
This is the last area left to do. (not the last thing though, I skipped quite many missions)
Not sure how long it will take to move entire to central system. This tutorial is packed with unique functions and scripts.
When I created tutorial(version 4), that took me 2-3 weeks. Lets see how long it will take me to improve and organize it.

I have total of 16 tutorial rooms. So far 0 done. (I might edit this post today, I might script some more today, its not like I got anything else to do)
 
Dayum this ain't going as smoothly as I though xD
Even though progress seems fast I have been pretty much improving every single script xD
And sometimes I create extra steps between the tutorials tasks (making tutorial more understandable and adding quality)
Not to mention I have to update central system with new features.

Well anyway at this tempo I should be able to finish tutorial area in this weekend.
2/16 tutorial rooms ready (room count is small because the had to deal with a lot of other tutorial related scripts first)
 
gona keep it short this time: 7/16 tutorial rooms rdy
 
Another central system update.
I currently created 2 new systems what will register scripts to onDeath and to onHealthChange creaturescripts.
Whenever I need to expand it to more creaturescripts it should be fairly fast (pretty much copy paste) (or i might make a function between these too, if I see more clear pattern)
Anyway new idea is that when I make monster. I write the creaturescript function name to monster xml file (well yeah still have to use xml, I don't do source edits afterall)
then I can write the function (or it uses some default one) and I use central system to link it to monster. Once again of course the linking is done in central table and function is on the same file too. nice and organized :D
Example of the custom tutorial monster
Code:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="orb" nameDescription="an orb" speed="0">
    <health now="1000" max="1000"/>
    <look typeex="12410" />
    <flags>
        <flag summonable="0"/>
        <flag attackable="1"/>
        <flag hostile="0"/>
        <flag illusionable="0"/>
        <flag convinceable="0"/>
        <flag pushable="0"/>
        <flag canpushitems="1"/>
        <flag canpushcreatures="0"/>
        <flag targetdistance="3"/>
        <flag staticattack="90"/>
        <flag runonhealth="0"/>
    </flags>
   
    <script>
        <event name="onDeath"/>
        <event name="onHealthChange"/>
    </script>
</monster>

Anyway so far completed 9/16 tutorial rooms. But theoretically I should have central system up to date and all tutorial specific functions ready to finish up rest of the rooms.
However no playing this weekend :(. Instead I will spend that time on scripting, because I wont be able to finish patch in these few days.
 
Weekend was ok :D, now ended.
Actually even did some scripting.

Im at room 14 with tutorial.
Monday gona finish up
for Tuesday Finished missing missions and remade all minigames. (expect challenge event) I will relook after I create a mummy :p
Then I have some improvements and bug reports added this month. Will clear these up.
Patching time, creating new class: strawPoll
Which one should I try next to complete all quests and kill all bosses?
Druid, Knight or Hunter?
I will not use farmed items, until I have tried and died to do different things.
I want to feel and play and balance all classes like that.
Mage I like.

What class I should play next? strapoll
 
Tutorial area complete.
This concludes all the areas.
Getting closer to di end :D

Also something to know.
Next patch all players who have not logged in more than 7 days and haven't completed tutorial will be automatically deleted from database.
 
Whi World PATCH 0.1.5.7.2

I have finished reorganizing Quests, Areas, Missions, Boss rooms, Minigames (expect challenge event)
I did do changes to quests/missions, both in configurations and quality itself. New players will get new amount of exp rewards. Old players are currently uneffected by experience change.
Next patch I will recalculate the experience for all the players again. (After I have done some initial play testing)

#didNotSlack #feelsGood
2vwcim9.jpg
2ihb1gm.jpg
And some final improvements outside the organizing

Shadow Boss room:
You can no longer enter boss room with food.

Gems:
Physical gem:
resistance gems in gear are buffed by 35% for each same type gem in each slot is reduced to 25%
(I was able to get 80% death resistance xD, still died... but still felt too big number)

Stats:
miss chance:
added to stat list (only pops up if ranged weapon equipped)

Death System:
50% chance to loose gem upgrade from item on death (if you don't have death protection)

Skill Tree:
Crushing Strength: Fixed bug where physical weapon hits did not proc this effect

NPC's:
Tonka:
Now gives information about Mobberel herb

Quests:
Cursed Bear:
Added timer to kill boss (timer out resets boss room)

Items:
Kamikaze pants: death resistance reduced from 16% to 10%
Amanita hat: death resistance reduced from 12% to 10%, undead resistance reduced from 10% to 7%
 
Whi World PATCH 0.1.5.7.2 HOTFIX

Other:
new players no longer get patch notes of previous updates when they log in for first time
Fixed modal windows teleporting bug, you no longer teleport to other players trough choosing options in modal window.
Fixed bug where players could not learn spellScrolls

Keys:
keys now can be collected again

Tutorial:
Fixed bug when skipping some tutorial actions caused to put change your tutorial stage to 4
Fixed bug killing orb in wall room didnt remove wall
Fixed spellroom blue tile
Tutorial poles are now attacking
Tutorial npc now buy rubbish after you destroyed pole.
 
Whi World PATCH 0.1.5.7.3

Missions:
added spear crafting mission to mission log
fixed bug where the organized missions were not calculated to total amount of missions in game.
Fixed some minor bugs what noticed with missions (campfire, bandit mail mission)

NPC's:
priest:
brewing(reputation feature) is now unlocked at level 4
fixed some typos npc's had in chat
updated NPC shops

Tutorial:
added new tutorial room. (this will "teach" you how to skip tutorial, for future characters or friends or wutever)
improved tutorial in few corners.
fixed tutorial loot room (the one where are training poles)

Classes:
Hunter: no longer need to face target in close combat

Spells:
poison:
when poison wears off, its more noticeable
poison: Added early game damage to formula what is reduced per magic level, but doesn't go below 0
poison: poison damage only procs when spell is activated (which means other players can no longer proc it)

Monsters:
Bandits:
regenarate 1 % less per cooldown.
Bandits: reduced physical and earth resistance by 10%
 
Whi World PATCH 0.1.5.7.4

Missions:
kek, accidentally disabled collecting missions previous patch. xD

Other:
Discovering a new area which rewards skillpoint is more noticeable.

Items:
Arrows:
break chance increased from 10% to 15%
torch: now can be lit again
herb bag: you now have 3rd button which displays all the herb names and their counts in local chat
gem bag: you now have 3rd button which displays all the gem names and their counts in local chat
tools: saw, iron hammer and pickaxe can be now split by using the item on itself.

Quests:
Cyclops Stash:
Expanded quest, there are now 2 different ways to start quest.

Stats:
You can now check stat separately with command !stats 'stat' (example !stats armor) If you don't know the stat short key don't worry,using wrong stat will display all the stats there exists in game)

Monsters:
Cyclops:
it dropped already existing spell: 'trap', it should have been 'fakedeath' (now it is)
Cyclops: tier 1 armor stone drop chance increased from 20% to 25%
Cyclops: added 1 charge pickaxe to drop list with 20% chance
 
Whi World PATCH 0.1.5.7.5

tutorial:
loot room:
still removed spells from you, now it should not.
boss room: failing boss room no longer resets entire tutorial.

Herbs:
when converting stacked herbs into powder at once you will get same amount of powder as there were herbs.

Spells:
poison:
no longer procs the effect when you miss with projectile
poison: reduced poison scaled damage after 5th stack. Overall damage reduced by 22,4%

Weapons:
Ranged weapons:
Missing also puts weapon under cooldown (before it didn't)

Others:
Skeleton warrior room has more escape tiles.
Skeleton warrior room altars can now be turned off/on
Maybe fixed the website activity chart.
Cleared highscores of old values and players who no longer exist in current database - If that doesn't fix the missing values I will look into it again

Monsters:
Cyclops:
the stone what drops on him now will despawn after few minutes.

Quests:
Cursed Bear:
the light effects should now appear one every attempt not only the first one xD
 
Alrighty, last week was pretty unproductive for Whi World.
Only dealt with ongoing bugs and improvements.
Also my weekend started rather early on Thursday :p

But this is new week.
I have finished scripts for another server.
Now its time to continue with Whi World.

I had a poll few days ago: http://www.strawpoll.me/10679098
I didn't vote on this one myself.
Seems like I will do some AI then.
I estimate about 50 hours of scripting. (first time it took me 400 hours to create monster AI and spellcreating system)
This is quite a lot of time and who knows what breaks down in middle of doing it.

Once again like last time with the central system update I'm not planning to bring out any major updates.
For first week I can do some bug fixing and release a patch right before I attach new monster AI to npc's and monsters.
But after that next patch if something is happens, most likely I won't be fixing it until the new monster AI is implemented correctly.

I have said what the new monster AI bring and what it does more than before, but I will say it again:
Code:
new AI features:
1. monsters can now follow other monsters
2. monsters can have specific range to "see" enemies
3. if monster can't hit with spell or attack, he can choose not to waste the spell (obviously I can force them to miss the spells. Cant have them all too smart)
4. if monster target is out of reach monster can choose to attack/cast spells on other target, while still keep chasing the original target
5. monsters can pick up items and use them
6. monsters can change any of their base attributes (currently I had to make token monsters)
7. monsters can change any of their spell/attack attributes
8. monsters can change map
9. monster can become your ally any given point. (i will remove all  NPC's from game and replace them with monster)

The above AI is closely linked to the spellcreating system.
Spellcreating system will get huge rework, almost everything will get refactored.
Not much of details about it right now, perhaps end of the week I have some unique results to talk about.

The final goal is make it even easier to configure monsters/npc's, create spells and loose the lag caused by lot of monsters in same place in rather difficult environment
 
Whi World PATCH 0.1.5.7.6

highscore:
Because for most of highscores we had multiple players with same results, it created hickup for highscore boards. The issue is now resolved.

Repuation System:
Awesome typo at giving rep, because of that I had to reset the reputation related features.

Spells:
poison:
nerfed formula just a little, instead of mL * 5 its now mL*4

Weapons:
Quivers:
Are no longer categorized as shields
Bow: No longer can be equipped along with shields.

Other:
Server save no longer cleans the map

Hardcore rooms:
Forgotten Village:
shortcuts now work again
 
yo man, im back, if I understood you correctly, You want me to be online xD, I'm back now. :p

I'm gona edit this post and stay online.

EDIT: 1Haha, no, I don't trust you. #OTLand.discord
 
Last edited:
Back
Top