diff options
m--------- | client-data | 0 | ||||
-rw-r--r-- | world/map/data/011-1.wlk | bin | 19100 -> 19100 bytes | |||
-rw-r--r-- | world/map/data/012-4.wlk | bin | 109204 -> 109204 bytes | |||
-rw-r--r-- | world/map/data/013-3.wlk | bin | 40004 -> 40004 bytes | |||
-rw-r--r-- | world/map/data/017-3.wlk | bin | 11004 -> 11004 bytes | |||
-rw-r--r-- | world/map/data/025-1.wlk | bin | 18004 -> 18004 bytes | |||
-rw-r--r-- | world/map/data/030-3.wlk | bin | 17668 -> 17668 bytes | |||
-rw-r--r-- | world/map/db/const-quest.txt | 1 | ||||
-rw-r--r-- | world/map/news.d/94-news-2021-05-28.txt | 35 | ||||
-rw-r--r-- | world/map/npc/001-2/heathin.txt | 2 | ||||
-rw-r--r-- | world/map/npc/002-1/luca.txt | 26 | ||||
-rw-r--r-- | world/map/npc/functions/clear_vars.txt | 30 | ||||
-rw-r--r-- | world/map/npc/magic/level2-magic-knuckles.txt | 17 |
13 files changed, 92 insertions, 19 deletions
diff --git a/client-data b/client-data -Subproject 7f7a8d64a7504f37e97c8d28f7c6b1d6680aa3b +Subproject 15d304213edf016983c5a7c30286824606352fe diff --git a/world/map/data/011-1.wlk b/world/map/data/011-1.wlk Binary files differindex bcd21991..ceb12317 100644 --- a/world/map/data/011-1.wlk +++ b/world/map/data/011-1.wlk diff --git a/world/map/data/012-4.wlk b/world/map/data/012-4.wlk Binary files differindex 1d642c07..4784cc41 100644 --- a/world/map/data/012-4.wlk +++ b/world/map/data/012-4.wlk diff --git a/world/map/data/013-3.wlk b/world/map/data/013-3.wlk Binary files differindex 79e4426d..0513d327 100644 --- a/world/map/data/013-3.wlk +++ b/world/map/data/013-3.wlk diff --git a/world/map/data/017-3.wlk b/world/map/data/017-3.wlk Binary files differindex f12fa0ec..46f8c266 100644 --- a/world/map/data/017-3.wlk +++ b/world/map/data/017-3.wlk diff --git a/world/map/data/025-1.wlk b/world/map/data/025-1.wlk Binary files differindex 7f2e8c05..62fac2c3 100644 --- a/world/map/data/025-1.wlk +++ b/world/map/data/025-1.wlk diff --git a/world/map/data/030-3.wlk b/world/map/data/030-3.wlk Binary files differindex c5d5bce0..1ab7dd7c 100644 --- a/world/map/data/030-3.wlk +++ b/world/map/data/030-3.wlk diff --git a/world/map/db/const-quest.txt b/world/map/db/const-quest.txt index 16f93480..8e434049 100644 --- a/world/map/db/const-quest.txt +++ b/world/map/db/const-quest.txt @@ -137,6 +137,7 @@ FLAG_LUCA_GOT_SIX_SKILLS 262144 // player learned all six Focus Skills FLAG_LUCA_2SKILLS_MAXED 524288 // player got 2 Focus Skills at lvl 9 FLAG_LUCA_4SKILLS_MAXED 1048576 // player got 4 Focus Skills at lvl 9 FLAG_LUCA_6SKILLS_MAXED 2097152 // player got 6 Focus Skills at lvl 9 +FLAG_LUCA_FIX 4194304 // fixed a bug // Flags for the battle caves. BATTLE_CAVE1 1 diff --git a/world/map/news.d/94-news-2021-05-28.txt b/world/map/news.d/94-news-2021-05-28.txt new file mode 100644 index 00000000..6de82ecb --- /dev/null +++ b/world/map/news.d/94-news-2021-05-28.txt @@ -0,0 +1,35 @@ +{title:IRC Migration} +{date:2021-05-28} + +{b}We are moving to Libera.Chat on IRC.{/b} + +Game Chat, Discord Integration, et cetera are unaffected. All our bots have moved +as well. For those whom do not use IRC directly, no action is needed. + +There weren't many votes on our community poll, but after witnessing with our own +eyes a channel being taken over without any sort of warning or whatsoever, we +have decided that Freenode no longer provides any sort of reliable operational +stability. + +We are NOT taking this decision based on rumors - both true and fake - which are +circulating from both sides; We are taking this decision based on what we witnessed. + +Therefore, we have settled to move all our infrastructure to Libera Chat, based +among other things, on the community will. + +This is a strictly technical decision; Operational stability has always been a +priority for us, from backup to the choice of applications which are exposed to +the public, like our wiki and forums backbone. IRC is no exception to this rule. + +We also have decided to DROP the bridge which was maintaining a link between +both networks for the reasons mentioned above. Therefore, users connecting to the +old network WON'T be able to receive any support whatsoever. Our other bots have +also withdrawn. + +{b}Improvements to #upmarmu{/b} + +dangerDuck did some improvements to upmarmu (brawling skill). + +Check it out if you are a brawler! + +{author:Jesusalva} diff --git a/world/map/npc/001-2/heathin.txt b/world/map/npc/001-2/heathin.txt index 321b6e0f..53cc8b68 100644 --- a/world/map/npc/001-2/heathin.txt +++ b/world/map/npc/001-2/heathin.txt @@ -20,7 +20,7 @@ if (QL_TERRANITE_ARMOR == 2) && (BaseLevel >= 70) goto L_Hood; if (QL_TERRANITE_ARMOR == 2) && (BaseLevel >= 60) goto L_Forge_Thanks; if (QL_TERRANITE_ARMOR == 1) && (BaseLevel >= 60) goto L_Forge_Award; - if (BaseLevel >= 60) goto L_Start; + if (QL_TERRANITE_ARMOR < 1) && (BaseLevel >= 60) goto L_Start; mes "[Heathin]"; mes "\"Hello, friend. I am Heathin, a smith of exotic metals. \""; diff --git a/world/map/npc/002-1/luca.txt b/world/map/npc/002-1/luca.txt index 405df455..4a05b757 100644 --- a/world/map/npc/002-1/luca.txt +++ b/world/map/npc/002-1/luca.txt @@ -50,6 +50,8 @@ L_teach_soon: goto L_Close; L_teach: + // Bugfix death + if (!(FLAGS & FLAG_LUCA_FIX)) goto L_Nev; if (getskilllv(SKILL_POOL)) goto L_teachmore; mes "[Luca the Hunter]"; @@ -235,20 +237,23 @@ L_teachmore: set @raging, getskilllv(SKILL_RAGING); set @lvl9skills, 0; - if (@mallard == 9) + if (@mallard >= 9) set @lvl9skills, @lvl9skills + 1; - if (@brawling == 9) + if (@brawling >= 9) set @lvl9skills, @lvl9skills + 1; - if (@speed == 9) + if (@speed >= 9) set @lvl9skills, @lvl9skills + 1; - if (@poison == 9) + if (@poison >= 9) set @lvl9skills, @lvl9skills + 1; - if (@astralsoul == 9) + if (@astralsoul >= 9) set @lvl9skills, @lvl9skills + 1; - if (@raging == 9) + if (@raging >= 9) set @lvl9skills, @lvl9skills + 1; - if ((FLAGS & (FLAG_LUCA_GOT_SIX_SKILLS + FLAG_LUCA_2SKILLS_MAXED + FLAG_LUCA_4SKILLS_MAXED + FLAG_LUCA_6SKILLS_MAXED)) == (FLAG_LUCA_GOT_SIX_SKILLS + FLAG_LUCA_2SKILLS_MAXED + FLAG_LUCA_4SKILLS_MAXED + FLAG_LUCA_6SKILLS_MAXED)) goto L_CheckSkillsEnd; + if ((FLAGS & FLAG_LUCA_GOT_SIX_SKILLS) && + (FLAGS & FLAG_LUCA_2SKILLS_MAXED) && + (FLAGS & FLAG_LUCA_4SKILLS_MAXED) && + (FLAGS & FLAG_LUCA_6SKILLS_MAXED)) goto L_CheckSkillsEnd; if (!(@mallard && @brawling && @speed && @poison && @astralsoul && @raging) || (FLAGS & FLAG_LUCA_GOT_SIX_SKILLS)) goto L_Check2Skills; mes "[Luca the Hunter]"; @@ -266,7 +271,7 @@ L_teachmore: goto L_Check2Skills; L_Check2Skills: - if (!@lvl9skills >= 2 || (FLAGS & FLAG_LUCA_2SKILLS_MAXED)) goto L_Check4Skills; + if (@lvl9skills < 2 || (FLAGS & FLAG_LUCA_2SKILLS_MAXED)) goto L_Check4Skills; mes "[Luca the Hunter]"; mes "I sense you have maxed out two Focus Skills!"; mes "For that I give you a reward!"; @@ -282,7 +287,7 @@ L_Check2Skills: goto L_Check4Skills; L_Check4Skills: - if (!@lvl9skills >= 4 || (FLAGS & FLAG_LUCA_4SKILLS_MAXED)) goto L_Check6Skills; + if (@lvl9skills < 4 || (FLAGS & FLAG_LUCA_4SKILLS_MAXED)) goto L_Check6Skills; mes "[Luca the Hunter]"; mes "I sense you have maxed out four Focus Skills!"; mes "For that I give the next reward!"; @@ -298,7 +303,7 @@ L_Check4Skills: goto L_Check6Skills; L_Check6Skills: - if (!@lvl9skills >= 6 || (FLAGS & FLAG_LUCA_6SKILLS_MAXED)) goto L_CheckSkillsEnd; + if (@lvl9skills < 6 || (FLAGS & FLAG_LUCA_6SKILLS_MAXED)) goto L_CheckSkillsEnd; mes "[Luca the Hunter]"; mes "I sense you have maxed out six Focus Skills!"; mes "For that I give the final reward!"; @@ -321,7 +326,6 @@ L_InvFull: goto L_CheckSkillsEnd; L_CheckSkillsEnd: - goto L_teachmore2; L_teachmore2: diff --git a/world/map/npc/functions/clear_vars.txt b/world/map/npc/functions/clear_vars.txt index e98def7d..2abfb118 100644 --- a/world/map/npc/functions/clear_vars.txt +++ b/world/map/npc/functions/clear_vars.txt @@ -18,6 +18,7 @@ function|script|ClearVariables callsub S_Flags; callsub S_Bitmask; callsub S_BlueSage; + callsub S_Luca; callsub S_Easter; callsub S_Easter2008; @@ -236,6 +237,35 @@ S_BlueSage: set QUEST_BlueSage, QUEST_BlueSage & ~((1<<5)|(1<<6)|(1<<7)); return; +S_Luca: + if (FLAGS & FLAG_LUCA_FIX) goto S_Return; + if (FLAGS & FLAG_LUCA_6SKILLS_MAXED) goto S_Luca6; + if (FLAGS & FLAG_LUCA_4SKILLS_MAXED) goto S_Luca4; + if (FLAGS & FLAG_LUCA_2SKILLS_MAXED) goto S_Luca2; + goto S_LucaX; + +S_Luca6: + if (countitem("AssassinMask") < 1) goto S_Return; + delitem "AssassinMask", 1; + set FLAGS, FLAGS ^ FLAG_LUCA_6SKILLS_MAXED; + goto S_Luca4; + +S_Luca4: + if (countitem("AssassinPants") < 1) goto S_Return; + delitem "AssassinPants", 1; + set FLAGS, FLAGS ^ FLAG_LUCA_4SKILLS_MAXED; + goto S_Luca2; + +S_Luca2: + if (countitem("AssassinBoots") < 1) goto S_Return; + delitem "AssassinBoots", 1; + set FLAGS, FLAGS ^ FLAG_LUCA_2SKILLS_MAXED; + goto S_LucaX; + +S_LucaX: + set FLAGS, FLAGS | FLAG_LUCA_FIX; + return; + S_Flags: if (Open_Underground_Palace_Barrier) set FLAGS, FLAGS | FLAG_OPENED_UNDERGROUND; diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index 95ab9120..ab74d474 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -1,10 +1,11 @@ -|script|magic-knuckles|32767 { - if(call("magic_checks")) end; + if (call("magic_checks")) end; if (Sp < 20) end; if (getskilllv(SKILL_MAGIC) < .level) end; set .@level, getskilllv(.school); if (.@level < .level) end; + if (getequipid(equip_hand1) != -1 || getequipid(equip_hand2) != -1) end; if (.@level <= 3 && countitem("Beer") >= 1) delitem "Beer", 1; elif (.@level <= 3) end; set @_M_BLOCK, 1; // block casting, until the timer clears it @@ -13,16 +14,18 @@ set Sp, Sp - 20; misceffect FX_MAGIC_KNUCKLE_CAST, strcharinfo(0); setarray @upmarmuspell[0], - @spellpower, - ((@spellpower/10) + 10), // charges - (((200 - Agi) * 1300) / 200), // delay - Str; // do not allow to equip light armor, cast, and then switch to heavy armor to get bonus str + (BASE_ATK), // dmg + ((Dex/3) + 10), // charges + (sqrt(300 - (Agi * 2))+(5/2)), // delay + Agi, // dmg bonus + ((sqrt(BaseLevel + 9) + Str) * 2); // do not allow to equip light armor, cast, and then switch to heavy armor to get bonus str callfunc "magic_exp"; goto L_FreeRecast; OnAttack: + if (getequipid(equip_hand1) != -1 || getequipid(equip_hand2) != -1) goto OnDischarge; if (target(BL_ID, @target_id, 22) != 22) goto L_FreeRecast; // 0x10 | 0x02 | 0x04 - void call("melee_damage", @upmarmuspell[0], @target_id, (30 + rand((@upmarmuspell[3]*2) + 5))); + void call("elt_damage", @upmarmuspell[0], (@upmarmuspell[3] + @upmarmuspell[4]), ELT_WATER, ELT_FIRE, FX_NONE); set @upmarmuspell[1], @upmarmuspell[1] - 1; goto L_FreeRecast; @@ -39,7 +42,7 @@ OnDischarge: end; OnSetRecast: - overrideattack @upmarmuspell[2], 1, ATTACK_ICON_GENERIC, OVERRIDE_KNUCKLES, strnpcinfo(0)+"::OnAttack", @upmarmuspell[1]; + overrideattack (@upmarmuspell[2] * @upmarmuspell[2]), 1, ATTACK_ICON_GENERIC, OVERRIDE_KNUCKLES, strnpcinfo(0)+"::OnAttack", @upmarmuspell[1]; // delay neeeds to be squared end; OnInit: |