Jump to content


  • Content count

  • Joined

  • Last visited

Everything posted by twostars

  1. twostars

    List of bugs 2017

    This "window" thing doesn't exist. If you're saying it applies to R attacks, I can tell you with absolute certainty that it doesn't exist. The client handles cancellation rates (or, did). In the client source (I know, not a great place to check because it's very dated and is lacking a lot -- but it'll help understand the next bit): if(bIAmTarget) // if we're the player being attacked { this->CommandSitDown(false, false); // force us to stand if we're not already if(m_pMagicSkillMng->IsCasting()) // if we're currently using the cast animation (which gets set the second we start casting something and lasts until the cast animation finishes) { __TABLE_UPC_SKILL* pSkill = s_pTbl_Skill->Lookup(s_pPlayer->m_dwMagicID); // lookup the skill we're casting if(pSkill) { int SuccessValue = rand()%100; if(SuccessValue >= pSkill->iPercentSuccess) // cancel the skill at a rate defined per the skill we're casting s_pPlayer->Action(PSA_BASIC, false, NULL, true); // reset the animation to what it would otherwise be (e.g. stand animation). cast will fail on the next tick because the state's reset. } } pTarget = s_pPlayer; } For reference, CMagicSkillMng::IsCasting() does this: bool CMagicSkillMng::IsCasting() { if(s_pPlayer->State() == PSA_SPELLMAGIC || // if we're currently in the cast animation s_pPlayer->m_dwMagicID != 0xffffffff || // if we have a skill ID set s_pPlayer->m_bStun == true) // also apply when they're stunned, so I guess this is why peoples' animations reset when stunned and interrupted return true; return false; } In 1.298: bool CMagicSkillMng::IsCasting() { return *(_DWORD *)(dword_818794 + 0x2FC) == 6 // s_pPlayer->State() == PSA_SPELLMAGIC || *(_DWORD *)(dword_818794 + 2820) != -1 // s_pPlayer->m_dwMagicID != 0xffffffff || *(_BYTE *)(dword_818794 + 0xAF4) == 1; // s_pPlayer->m_bStun == true }Attack logic in 1.298 (because it's slightly easier to read, but it's the same in 2.128): v12 = *(_DWORD *)(dword_818794 + 1140); v13 = v9 == v12; .. if ( v13 ) // if the player being attacked is us { sub_648EB0(4); v16 = v69; sub_5D91F0(v69, 0, 0, 0); // CommandSitDown(false, false, false); // force us to stand if we're not already v17 = v69[99]; if ( CMagicSkillMng::IsCasting() ) // if we're casting { // lookup the skill we're casting v18 = dword_818760; v67 = *(_DWORD *)(dword_818794 + 2820); sub_46D7E0(dword_818760 + 20, &v79, &v67); if ( v79 != *(_DWORD *)(v18 + 24) ) { v19 = v79 + 16; // logic is super obscure because internal lookup stuff, but if we're here it means the skill was found and we can proceed // if (pSkill) if ( v79 != -16 ) { v20 = rand() % 100; v21 = 100; // set default rate if ( !*(_BYTE *)(dword_818794 + 1136) ) // except for very few, very specific transformations (opening/closing ladders, kaul, mama magpie, "valentina"), use the skill's specified cancel rate v21 = *(_DWORD *)(v19 + 136); if ( v20 >= v21 ) { LOBYTE(v75) = v66; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(0); v88 = 0; sub_615080(4002, &v75); if ( v16[18] ) sub_52ACD0(&v75, 0xFFFF3B3B); (*(void (__stdcall **)(_DWORD, _DWORD, _DWORD, signed int, signed int))(*(_DWORD *)dword_818794 + 24))( // Action()... 0, 0, 0, 1, -1); v88 = -1; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(1);Logic there is the same. Only difference is: if ( !*(_BYTE *)(dword_818794 + 1136) ) // except for very few, very specific transformations (opening/closing ladders, kaul, mama magpie, "valentina"), use the skill's specified cancel rate v21 = *(_DWORD *)(v19 + 136); Where we're allowing for specific transformations that have a cancellation rate of 100% (apparently that's a thing, didn't realise until now). Point being, the logic's the same. There's no "window" here. It applies from the moment the player starts casting their skill to the time the cast finishes (i.e. the cast animation). Just to prove that it also isn't a thing in 2.1xx: bool CMagicSkillMng::IsCasting() { return *(_DWORD *)(dword_DF0714 + 996) == 6 || *(_DWORD *)(dword_DF0714 + 3964) != -1 || *(_BYTE *)(dword_DF0714 + 3920) == 1; } // skipping into it a little because 2.1xx disassembly is a lot messier, but the above checks are the same if ( CMagicSkillMng::IsCasting() ) // same deal as before, if we're casting... { // lookup the skill we're casting v15 = sub_4EE700((char *)dword_DF060C, *(_DWORD *)(dword_DF0714 + 3964)); pSkill = v15; // if the skill exists if ( v15 ) { v3 = (int *)(rand() % 100); v15 = 100; // default the rate to 100% if ( !*(_BYTE *)(dword_DF0714 + 0x678) ) // if we're not using a specific transformation skill that overrides cancellation rate to 100%... specify the rate intead v15 = *(_DWORD *)(pSkill + 180); if ( (signed int)v3 >= v15 ) // time to cancel { v24 = *(_DWORD *)(s_pProcMain + 1268); if ( v24 ) // lookup genie ui { if ( dword_DF0714 ) // genie stuff --v { v25 = *(_DWORD *)(v24 + 844); if ( v25 ) { if ( *(_BYTE *)(dword_DF0714 + 1864) ) { switch ( *(_DWORD *)(dword_DF0714 + 1712) ) { case 103: case 109: case 110: case 203: case 209: case 210: *(_BYTE *)(v25 + 294) = 0; break; default: break; } } } } } // back to cancelling stuff... v81 = 15; v80 = 0; LOBYTE(v79) = 0; v89 = 0; sub_916270(4002, (int)&v78); // show the fail message v26 = *((_DWORD *)v68 + 113); if ( v26 ) sub_69A460(v26, (int)&v78, (int)&v78, 0xFFFF3B3B); // use Action() to override the animation. next tick will fail the cast since we're no longer casting. (*(void (__stdcall **)(_DWORD, _DWORD, _DWORD, signed int, signed int, signed int))(*(_DWORD *)dword_DF0714 + 24))( 0, 0, 0, 1, -1, -1); So that's R attacks. But you might say, but what if it for some reason succeeds with the cast anyway since R attacks wait until the next tick to fail casts, whereas if you're cancelling via a skill, it interrupts it immediately.So let's check that logic out: In the client source: void CMagicSkillMng::ProcessCasting() { //ij½ºÆà ó¸®.. if(s_pPlayer->m_dwMagicID != 0xffffffff) { __TABLE_UPC_SKILL* pSkill = s_pTbl_Skill->Lookup(s_pPlayer->m_dwMagicID); CPlayerBase* pTarget = m_pGameProcMain->CharacterGetByID(m_iTarget, true); if(pTarget) s_pPlayer->RotateTo(pTarget); // ÀÏ´Ü Å¸°ÙÀ» ÇâÇØ ¹æÇâÀ» µ¹¸°´Ù.. //ij½ºÆà ¼º°øÀûÀ¸·Î ¿Ï·á... float fCastingTime = ((float)pSkill->iCastTime) / 10.0f * s_pPlayer->m_fAttackDelta; if(pSkill) { bool bSuccess = false; if( s_pPlayer->m_fCastingTime >= fCastingTime && s_pPlayer->State()==PSA_SPELLMAGIC && s_pPlayer->StateMove()==PSM_STOP) { SuccessCast(pSkill, pTarget); bSuccess = true; } //ij½ºÆà ½ÇÆÐ... if(bSuccess == false && (s_pPlayer->State()!=PSA_SPELLMAGIC || s_pPlayer->StateMove()!=PSM_STOP)) { FailCast(pSkill); } } else s_pPlayer->m_dwMagicID = 0xffffffff; } } So, relevant logic is here: if( s_pPlayer->m_fCastingTime >= fCastingTime && s_pPlayer->State()==PSA_SPELLMAGIC && s_pPlayer->StateMove()==PSM_STOP) { SuccessCast(pSkill, pTarget); bSuccess = true; } //ij½ºÆà ½ÇÆÐ... if(bSuccess == false && (s_pPlayer->State()!=PSA_SPELLMAGIC || s_pPlayer->StateMove()!=PSM_STOP)) { FailCast(pSkill); } If we've finished our cast, and we're in a cast animation and the player's movement state is stopped, then the cast should succeed.It will fail here though, since their animation is no longer the cast animation -- thus "s_pPlayer->State()==PSA_SPELLMAGIC" will fail and so will the skill, in the next check. Let's see what this looks like in 2.1xx: v10 = 0.0; if ( sub_53E380(v6, (int)&v10) ) { result = CMagicSkillMng::SucceedCast((int)v2, v9, (int)v5, v7, v10); } else { result = dword_DF0714; if ( *(_DWORD *)(dword_DF0714 + 996) != 6 || *(_DWORD *)(dword_DF0714 + 1008) ) result = CMagicSkillMng::FailCast(v5); }So, they moved the check into a method: bool __thiscall sub_53E380(int this, int a2) { return *(_DWORD *)(this + 996) == 6 && !*(_DWORD *)(this + 1008) && sub_53CE10(this + 92, (float *)a2); }Which is essentially the same, reads something like: if (s_pPlayer->State()==PSA_SPELLMAGIC && s_pPlayer->StateMove()==PSM_STOP && CastTimeFinished())CastTimeFinished() is a little more complex than it used to be (a simple time check), but that's not important because s_pPlayer->State()==PSA_SPELLMAGIC is still false so it immediately fails because of that. I think all that you've experienced is just RNG. I'm pretty sure that this "window" logic doesn't exist.
  2. twostars

    List of bugs 2017

    Okay. Well, it is affected by resistances. It uses the same logic as stuns, with the addition of a reduction to rates for staff skills. The DoTs themselves are doing this? Or is it the initial skill that applies the DoT? I'm assuming it's the latter? Which skills *should* be cancelling then? I've looked over all the logic involving cancellations in the client (that's where they're normally handled). Not gonna lie, I've never seen anything remotely like this. I think this is just a coincidental thing that's been assumed to be the case, to be honest...
  3. twostars

    List of bugs 2017

    Are these things it's doing now and shouldn't? Or things it's not doing now and should? Your wording is confusing.
  4. twostars

    List of bugs 2017

    Does this happen anywhere in particular? The reason it still exists (despite being reported in beta) is because we've never been unable to reproduce it and it's never been clarified when asked. Even testing just now in the Moradon arena & CZ, it works just fine for me. Is there something in the mix like transformations? Is it in a specific area? I highly doubt it, but are you dead when you relog? (and respawn after relogging) Edit: Alright. As suspected, transformations can cause this. At least, when they're fixed (right now, they can't because they're broken, so the bug report *now* is rather confusing). Edit 2: This behaviour is the same officially. You cannot blink while transformed. It's impossible. So unless this occurs when not using a transformation...
  5. twostars

    List of bugs 2017

    I'm sorry, but if you're not going to add any information to your "reports" then there's no reason for them to be there. "Fix priest" is useless to me.
  6. twostars

    SkyKingBLANKA - A greatest LIAR of this server

    Items have been restored to mail. Please be more careful in future.
  7. twostars

    Stun rate going crazy again

    For the last time, we didn't change the rates. >.>
  8. As this is a common issue at present, we encourage you to report all players currently abusing events in this manner here in this thread so we can look into it. Thanks!
  9. twostars

    level rebirth / reincarnation problem

    You need to unequip the items you have equipped.
  10. It should work now. Sorry for the inconvenience!
  11. twostars

    List of bugs 2017

    What exactly happens here? Do you start not doing any damage to them? Can you not even target them or do they become unreachable or something?
  12. twostars

    List of bugs 2017

    Alright. That should be fixed then.
  13. twostars

    List of bugs 2017

    This is an oversight since the same logic was applied to the target. From what's been said, there shouldn't be any way you can directly remove another player's stealth except via an AoE. As this is focusing on a single target, and not AoE, this doesn't apply here, so I've removed this entirely. If you can think of any cases where that's still wrong, please let me know. As-is, that'll be implemented in the next restart.
  14. Can you take a screenshot of what you're seeing with the panel? The Power-Up Store is probably erroring for the same reason. Edit: Security should be a lot more relaxed. Let me know if you're still having issues.
  15. twostars

    Patch notes (12/04/2017)

    Changelog Items tradeable after 24 or 72 hours are now always tradeable. Some fixes to mage guard summons: Guard summons no longer follow mages when they /town or use teleportation skills. Guard summons no longer attack special objects such as the Border Defense War altar. Genie can no longer be used in Forgotten Temple. Aegis Shield can now be deleted. Reverted war schedule. More stealth tweaks: stealth should now only break for the target if they're hostile. Stealth should no longer be broken on allies. Monsters/NPCs in general should no longer attack special objects such as the Border Defense War altar, or war monuments. Fixed a bug causing invasion quests to not trigger the before compensation state in very specific circumstances. Improved anticheat detection.
  16. twostars

    List of bugs 2017

    Stun rates aren't the same as slows but they're similar. Simming these with 255 INT and 100res, it'll be about 5.5%. Can we have some feedback on the things that were addressed; these all good now? I modified the original post to group them.
  17. twostars

    Patch notes (10/04/2017)

    Changelog Fixed bug when leaving Juraid Dungeon or failing to enter a Monster Stone instance, which caused players to receive the "Already participating in instanced dungeon" error. Rebirthed characters are now exempt from event NP requirements. Added the "<name>captured enemy nation's Top-Secret successfully" / "Top-Secret has been captured by enemy Nation" notices to the "Capture the secret documents" quest Tweak logic to hopefully correct an issue with skills with static rates like "Shock Stun". Clans can no longer be disbanded with items or coins still in the clan bank. Once again, fixed an issue with mage guard summons causing them to be mobile. All taxes now get capped. Fix a bug with some server rental items not expiring after relogging. When premium terms expire, they should now correctly update & rollover to any other available premium you may have. Due to an unforeseen client limitation that we're still dealing with, when Oreads expires, you will now be forcefully disconnected (sorry -- it's unavoidable for now). If you can unequip it before it expires, you won't be disconnected. Forgotten Temple monsters should now aggro by default. Monsters should now use skills more often, rather than just meleeing. Specters in particular should now AoE more often. Stealth should now break if you use potions, minor heal or (in the case of priests using invisibility potions) heal players. Fixed a bug with some secondary skills not being detected as such, amongst other things, means some skills aren't attempting to cancel casts twice. Removed Deva Bird's mana drain.
  18. twostars

    List of bugs 2017

    Funnily enough, this skill is called "Confusion of Devabird", so I guess they considered it at some point but either got rid of it or didn't use it? I'll remove it.
  19. twostars

    List of bugs 2017

    That should read monster skills no longer cancel. Melee should still behave the same. The logic needs fixing up for monsters, so for the meantime we dropped it. Right, but INT isn't valued all that much anyway in the calc. Archers do have INT, it's just useless to you for anything else. The rates should be much the same as in the second example with 160 INT (as said, it isn't valued much). I'd switch the base stat to the player's primary stat, but when the calcs were in the client officially they always used INT. So trying to keep its behaviour as close to official as possible. The rates are capped there, so theoretically it could be scaling higher but considering all reports on the issue are that they're either proc'ing too much or there's no difference between players with high/low resistances (which there is: ~5% to ~33% is a huge difference, even if the gap should perhaps be higher), I'm a little hesitant to do so.
  20. twostars

    List of bugs 2017

    See post directly above yours.
  21. twostars

    List of bugs 2017

    Can you give me an example of a skill that behaves like this? I'm running simulations on various slows and the % doesn't seem to reflect what you're describing. For example: Ice Staff: Caster: Mage with 255 INT Target: 0 resist Rate: 22.2% (capped + staff chance is reduced) Caster: Mage with 255 INT Target: 10 resist Rate: 17.8% Caster: Mage with 255 INT Target: 30 resist Rate: 11.9% Caster: Mage with 255 INT Target: 50 resist Rate: 8.9% Caster: Mage with 255 INT Target: 70 resist Rate: 7.14% Caster: Mage with 255 INT Target: 100 resist Rate: 5.5% *** (with less INT, but it's really not worth that much) Caster: Mage with 160 INT Target: 0 resist Rate: 22.2% (capped + staff chance is reduced) Caster: Mage with 160 INT Target: 100 resist Rate: 5.1% *** Prismatic: Caster: Mage with 255 INT Target: 0 resist Rate: 33.3% (capped) Caster: Mage with 255 INT Target: 10 resist Rate: 26.2% Caster: Mage with 255 INT Target: 30 resist Rate: 17.5% Caster: Mage with 255 INT Target: 50 resist Rate: 13.1% Caster: Mage with 255 INT Target: 70 resist Rate: 10.48% Caster: Mage with 255 INT Target: 100 resist Rate: 8% As you can see, there's quite a gap between players with no/low resist to players with 100 resist. If you could give me anything more specific for me to sim which can help show this behaviour, that'd be appreciated.
  22. twostars

    List of bugs 2017

    Regarding not being able to be slept, what else should behave like this? I think we exempt pots for some reason, and it probably doesn't tell the difference. Potting should also break stealth though? What isn't meant to break stealth? The threat generated from this is so minor any attack will rip off it. I can change it but unless you have a specific scenario where it's counterproductive, I don't think this is illogical. Are we referring to soloing content here? Debuffing first then having more time to cast the first attacks since they completely ignore you otherwise? I guess what I'm asking is how is this harmful? It's only Juraid that causes this. I suspected Forgotten Temple would too, since it's also not meant to behave as it does, but apparently not. This is fixed for the next restart. The other one that should have a notice is the infiltration quest from [Tactical] Josiah/Grace in Luferson/EMC, but I wasn't sure what specifically triggered that when I did it myself officially. I'll add this one, since that one at least has an obvious trigger. Edit: This one's been added, pending restart. Why not FT? The main purpose of it is to have people require some involvement on that character before participating so you don't just run them on a fresh character and sabotage the event. Obviously it isn't perfect, and I have more planned for dealing with this (I want to refill in-progress instances, although FT is still a special case), but it should somewhat help. As far as rebirthing, that's a very good point. Rebirthed characters satisfy this "involvement" requirement, so there's no need to further enforce the 800 NP on them. I'll fix that. Edit: This is fixed, pending restart. So did I. I'll have to look more into this. Yeah, I'm pretty sure this is the one that had an exact rate of 50% officially. I'll look into that. Edit: We should already be enforcing this rate. I'll test it further, but at a glance it looks fine. Edit 2: Still looks okay, but I've made some tweaks which should hopefully guarantee this (pending restart). It's possible that precision on live is causing our checks to behave oddly, so changed things a little to avoid this. That's an interesting one, because the only way for this to be the case is if the skill was configured to have a DoT & skill configs are all from official data. I'll check it out. Edit: Okay, so what I've discovered is this. Checking this against official data, this data is correct/consistent, so I'm guessing it's just another one of those cases where the tooltip doesn't say exactly what things do. It'd be nice to have someone check this specifically on USKO/SteamKO, because if it *doesn't* have the DoT then they're not using the same data as in the client. That doesn't make a whole lot of sense though, because the client would then still show the DoT even though the server didn't apply it. So IDK.
  23. twostars

    Patch notes (08/04/2017)

    Changelog Fixed Juraid's signup UI not showing. Updated Forgotten Temple's rewards; they're now correct as per the mini expansion's patch notes. Personal weapon quests completed prior to the patch are now reset, so you can redo them for the +8 weapon reward. Fixed the potion cost for the daily CZ quests; it is now 1mil (not 10mil). A couple of the Cospre items exchanged for the 3 day voucher were lasting for 5 days, instead of 3. This has been fixed. Mace of <selfname> (+8) can now be reverse unlocked.
  24. twostars

    Patch notes (07/04/2017)

    Events Added a requirement of 800 National Points for signing up to events. Fixed a bug causing event signup UIs to break on zone change if you'd signed up. Event signup UIs should no longer desync from the server. Juraid Mountain You will now be prompted to sign up to Juraid Mountain from anywhere in-game, as with other events. This should allow more people to participate in the event. The signup NPC remains usable for signing up, and no longer always tells you it's the wrong time. Tweaked rewards: players will now additionally receive a Monster Stone Forgotten Temple Logging out during the event will now remove you from the event. Added strategically placed Specters to the event to help punish AFKers. Tweaked rewards: instead of an Apexis Chest, players will now receive a Krowaz chest and a Dragon's Scale Lunar Wars (invasions) Increased National Points given by monument blessings by 5x (so 1,000 NP for the first blessing, subsequent blessings give 500 NP). Added invasion quests (for both attacking and defending) which are accessible via the Karus Commanding Officer & Elmorad Commanding Officer NPCs which were added to the Karus & El Morad zones (more info on the quests below). Ultima now spawns at the end of an invasion. Boss events Removed Harpy Queens. Monster Stone The final boss Revenge Knight is now guaranteed to drop an old unique. Quests / NPCs [Grand Master] Kaishan has been cleaned out and the Nation Transfer process has been simplified. Added [Clan Manager] Adelia to Moradon, giving clan leaders the option to transfer their clan. This feature costs 800,000,000 coins and can only be used once every 48 hours. GMs will no longer transfer clans. Updated weapon rentals in Ronark Land to rent out Garges (+11) for 1 hour each day for an increased cost of 150,000,000 coins. This NPC is now [Weapon Rental] Soren. The Danger from Monsters quest from the [Ascetic] NPCs in Eslant now reward <selfname> (+8) weapons. The Danger from Monsters II quest from [Outpost Captain] in Ronark Land now rewards <selfname> (+8) weapons. All quests that reward EXP from [Outpost Captain] in Ronark Land were increased to reward 7.5% EXP (10% with premium). This should make it easier to rebirth without having to stop PKing. Added war invasion quests via the Karus Commanding Officer and Elmorad Commanding Officer NPCs in Karus and El Morad zones. Completed invasion quests reset every invasion, however if you haven't managed to finish your quest, progress will carry over. For defenders: Holding our Ground: defenders must kill 40 invaders. Reward: 2 x Krowaz Chest Defending Bellua / Asga: defenders must recapture the Bellua / Asga monument 2 times. Reward: 2 x Apexis Chest Defending Linate / Raiba: defenders must recapture the Linate / Raiba monument 2 times. Reward: 2 x Apexis Chest Defending Luferson / El Morad: defenders must recapture the Luferson / El Morad monument 3 times. Reward: 1 x Upgrade Scroll 100% to +6 The Ultima Defense: defenders must kill the invading Ultima. Reward: 1 x Ultima Chest For invaders: On the Offensive: invaders must kill 40 defenders. Reward: 2 x Red Potion Invading Bellua / Asga: invaders must overrun the Bellua / Asga monument 2 times. Reward: 2 x Apexis Chest Invading Linate / Raiba: invaders must overrun the Linate / Raiba monument 2 times. Reward: 2 x Apexis Chest Invading Luferson / El Morad: invaders must overrun the Luferson / El Morad monument 3 times. Reward: 1 x Upgrade Scroll 100% to +6 The Ultima Attack: invaders must kill the invading Ultima. Reward: 1 x Ultima Chest Implemented and otherwise fixed up [Analyst] Julius/Caesar's daily CZ quests: All quests are now available daily (as opposed to some quests only being available on certain days). Take the secret document of enemies is now implemented and rewards Oreads Voucher [1hr] To find the lost soul is now implemented (with its quest timer) and rewards DC Premium [1hr] Find the Spies is now implemented and rewards a Golden Mattock and 500 National+Ladder Points Disturbing the enemy base in Ronark Land is now implemented and rewards Menissiah's Official List (see below) + 500 National Points. As Disturbing the enemy base in Ronark Land requires the infiltration quest from [Tactical] Josiah/Grace in Luferson / El Morad Castle, this quest has also now been implemented. Drops / Monsters Felankor has been moved to the bowl in Ronark Land & its drops updated. As with Isiloon, there will now be a server-wide announcement when Felankor is about to spawn. Latenoid (Ultima) has had its drops updated. Its name was also changed back to Ultima. Felankor has had its drops updated. Evil Wizards, Booros, Balogs, and Doom Soldiers in Ronark Land have all had their drops updated to include Ron's Mage parts & Exceptional Hepa's (+6) pieces. Added Ultima Chest, which can drop various Krowaz pieces/weapons, shell armours, and more. These are obtainable from our invasion quests. Buffed Ultima's damage slightly (also made him bigger and scarier!). Monsters should no longer cancel casts. Mining Removed some useless (at this point) drops. Added Nest Scrap Added Scrap of Steel Added Monster Stones Miscellaneous All players old and new will receive a Newcomer's Package, which includes Cospre vouchers, a Wings of Hellfire voucher and a Name Change Scroll. The Name Change Scroll must be used within 24 hours. Players can no longer use scrolls or other persistent buffs with transformations (or vice versa). Fixed an issue with Clan Transfers; when players attempted to refuse the transfer, they found the responses were flipped in the "are you sure you want to leave the clan" confirmation. These have been flipped back for consistency. Additionally, we simplified the wording of the responses. Between these two changes, players should no longer feel like they were forced to transfer (or that it "bugged"). Freezing Distance can now only freeze a target if they're not already frozen, rather than extending the duration of the debuff. Implemented what we consider server rental items. These are now used by the [Weapon Rental] NPC (amongst other things), in place of regular expiration items. These items show you the time remaining on the item, realtime (as opposed to just the expiration time). Implemented support for quest timers (as used by the Finding the lost soul quest). Implemented support for the infiltration teleport scrolls (as used by the infiltration quest). Fixed a couple of bugs with the [Arrange Line] item which is used for changing your characters' positions on the selection screen. This should now always work correctly. Updated the [Gear Dispenser] in Moradon: Added Fire, Lightning & Glacier Hepa's Elixir Staff (+11) weapons (replacing the original Elixir Staff weapons that were sold) Added Elysium (+11) Added Hell Blood (+11) Added Garp (+11) Added Light Belt of Life (+1) Fixed a bug with rebirthing causing it to reset some quests / internal tracking that shouldn't be reset. Fixed a bug with monthly quests acting as if they were weekly quests. Added Menissiah's Official List item. This lets you search merchant stalls for items, as well as teleport to them directly & PM the vendors. You can purchase this from the Power-Up Store for 379 Apex Points, or obtain it via the Disturbing the enemy base in Ronark Land quest from [Analyst] Julius/Caesar in Ronark Land. Improved cheat detection for some types of hacks.
  25. twostars

    Patch notes (31/03/2017)

    Changelog Debuffing monsters / NPCs will now correctly generate threat. Fixed a bug causing event signup UIs to break on zone change if you'd signed up. Event signup UIs should no longer desync from the server. The server no longer allows Superior Parasite to be cast on "boss" monsters (the client always enforced this behaviour). When you relog, the server now correctly associates you with the tile you're standing on (e.g. arenas, Oreads swamps, etc). The HP of Scarecrows in Moradon has been increased. Fixed a bug with stealth caused by last patch.