Jump to content

Olion

Members
  • Posts

    537
  • Joined

  • Last visited

  • Days Won

    30
  • Donations

    0.00 GBP 

Everything posted by Olion

  1. Here is the assert breaking execution (Win32, internal ACE, OS_NS_Thread.cpp:950): ACE_ASSERT (key_info.key_in_use ()); It seems that a thread, while gracefully finishing, activates and requests a [URL="https://books.google.com.ua/books?id=dz6Fm8brtScC&pg=PA309&lpg=PA309&dq=ace+tss&source=bl&ots=nME3UZsZEX&sig=mQ24DAhA9NcTWiPo3CVcmQ6hBqM&hl=ru&sa=X&ei=PTTVVJbAGcK8ygPM3ICYDg&ved=0CDgQ6AEwAw#v=onepage&q=ace%20tss&f=false"]TSS key[/URL] which is used no more by any thread (but why isn't it flagged correctly?). Would be this an ACE bug, a bugreport probably had been [URL="http://bugzilla.dre.vanderbilt.edu/buglist.cgi?component=ACE%20Core&order=changeddate%20DESC%2Cbug_status%20DESC%2Cpriority%2Cassigned_to%2Cbug_id&product=ACE&query_based_on=&query_format=advanced&resolution=---"]here[/URL]. But its likely an incorrect ACE usage. We need the help of one who created with ACE (Reactor + multithreading) something more complex than "Hello World". Btw, one of the most powerful debugging and profiling tools is [URL="http://valgrind.org"]Valgrind[/URL]. It could probably help here even in more-or-less amateur's hands. And here a virtual server would be useful, but only if under Linux.
  2. Finally: [url]https://github.com/mangoszero/database/pull/210[/url] But FullDB/creature_template.sql is already changed to the wrong form...
  3. Sorry but do you realy have a task to break working mechanics? Request this BEFORE your update applied: SELECT * FROM creature_template WHERE RegenerateStats & 1=0; and see UnitClass of the mobs. Then you might try the same after your update. In many cases, stopped health regen is used for decoration purposes. But not in all cases possibly. Are you ready to check each case of that 9 mobs? It was much simpler to create a more precise update request, I suppose. @antz: It would be better to have a community review BEFORE merging PRs touching at least few sensitive DB parts, in case you have no time to review it personally. One such part consists of the creature_template, gameobject_template, quest_template tables with exception of their fields defining scripts. By the way, applying this update to One DB via "project sync" will directly destroy [URL="https://github.com/mangosone/database/commit/aaf8587c895bb9d647a27e2df4a34e29fc6e3077"]a bit of my job[/URL].
  4. A very interesting problem indeed. After setting up trap radius UPDATE gameobject_template SET data2=15 WHERE entry=103661; the trap will react (spawning required chest o:103662 with the quest loot).. on the air elementals. But not on the player: at present, the "trap" reacts on a non-friendly units, and it is owned by the player, thus being friendly to him. A good solution requires change of basical core mechanics. There are several points in the codeflow where we can introduce such change: [LIST=1] [*] [URL="https://github.com/mangoszero/server/blob/Rel20/src/game/Object/GameObject.cpp#L1692"]Gameobject::IsFriendlyTo[/URL]. Here we might check factions before checking GO ownership, and if set a hostile faction to the trap, it will trigger. This GameObject method is simply absent in TC, so comparison is not possible. Don't like much this idea. [*] [URL="https://github.com/mangoszero/server/blob/Rel20/src/game/WorldHandlers/SpellEffects.cpp#L4718"]SpellEffect TRANS_DOOR implementation[/URL]. The trap is spawned by the [URL="https://github.com/mangoszero/server/blob/Rel20/src/game/WorldHandlers/SpellEffects.cpp#L4845"]last part of the spelleffect[/URL] as a "linked GO". [URL="https://github.com/mangoszero/server/blob/Rel20/src/game/Object/GameObject.cpp#L903"]Here[/URL] we can summon this "linked GO" as wild one, i.e. not owned by the player. This idea [URL="https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Spells/SpellEffects.cpp#L5211"]contradicts directly to TC[/URL]. The related spell has also no Attributes at all, so no help from there. [*] [URL="https://github.com/mangoszero/server/blob/Rel20/src/game/Object/GameObject.cpp#L362"]Conditions of trap triggering[/URL] in GameObject::Update. Probably we have to check the trap spell, and if it isn't negative, then consider the trap as environmental one, activating by ANY player in range, including GO (trap) owner. Something like this [URL="https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Entities/GameObject/GameObject.cpp#L471"]is present in TC actually[/URL], but it is limited there to the wild traps again, contradicting this idea too. [*] Finally, a crude hack is possible in the discussed part of GameObject::Update, based on the GO entry. This is the worst variant, which I don't want to implement. [/LIST] For now, I propose the 3rd variant.
  5. No, the pets are handled by another code portion. Sorry for offtop, but remember me plz about the pet buffs (feeding, for instance) [B]in vanilla[/B] (ie Zero): should the buff duration be visible to the pet owner/other players? As well as auras on the mobs: should these be visible at all and duration of its in particular?
  6. Olion

    Creature

    The instance reset times are well know. Instead of an unsafe using ForcedDespawn() right at the creature creation moment and implanting a thrash into many instance scripts, one should correct boss respawn times creature.spawntimesecs in the way that these values were not less that the corresponding instance reset times. Also, two helper functions related to moving are misplaced at least. These helpers are supposed to be used in SD2 scripts, therefore they should be defined in either of ScriptedAI, CreatureAI, UnitAI class. If these are needed by Eluna too, it can implement them either by own LUA scripts or at the interface level. Try do not mangle the Creature class as long as it's possible plz :)
  7. PR: [URL="https://github.com/mangoszero/database/pull/206"]database[/URL]. The value 210 is taken from the analogous quest 2501.
  8. The [URL="http://db.vanillagaming.org/?quest=2203"]quest reward[/URL] is the "learn spell" spellcast. The Master Guide does not mention an item too. Completely other question is, how your LW/skinner got the quest, because a skill of 171 (Alchemy) is required to obtain it. I suppose 'twas .quest add, and this command is badly shaped now. As expected, Player::CanAddQuest is the only check, and it checks close to nothing (free slot in quest log and possibility to add SrcItem). Note that the character level/race/prequest requirements are silently ignored too. UPD. Read the template more carefully. The "required skill level" is 0, then "required skill" is ignored. Fixing.
  9. [quote=Olion]Moreover, in two code parts the spell is identified via two different SpellFamilyFlags values, which is not good.[/quote] PR: [URL="https://github.com/mangoszero/server/pull/292"]core[/URL], unified method of the spell recognize. A minor code improvement.
  10. Duplicate, see [URL="https://www.getmangos.eu/issue.php?issueid=805"]this[/URL].
  11. PR: [URL="https://github.com/mangoszero/server/pull/291"]core[/URL]. Implemented now. Here the spell is allowed in a "hacky" way. To solve the probem more accurately, two things are needed: 1) the full answer to [URL="https://www.getmangos.eu/community-input-needed/10265-vanilla-dispel.html"]this[/URL], 2) an analysis of unknown spell flags. The spell has four such flags. The later is achievable much harder, so I'm not ready to promise it. Moreover, in two code parts the spell is identified via two different SpellFamilyFlags values, which is not good. Cast is enabled, but actual dispel effect application should be tested (seemingly ok).
  12. Confirmed. Now the client allows me to look how Deathguard Philip moving on WP kills zombies, for just half an hour. Before this, 2 minutes were enough to get the crash.
  13. Whose scheme is correct? Is the [URL="https://www.youtube.com/watch?v=eDeED3OJ2YU"]confirming video[/URL] really from an offy? Usually, the realm was pointed out for offy videos. Dont see one. What means "Vanilla WoW FTW!" in its comment? Potions will override neither elixir nor flask effect. Just realized that [url]http://www.wowwiki.com/[/url] as a fully functional wiki supports the history of each page, as well as discussion pages. Reading the history is a meditative process, the search through older page versions is not possible. I did not find exactly this information (maybe one has to search it somewhere else under "spell damage cap" topic), but indirect signs are for non-additivity. For instance, [URL="http://www.wowwiki.com/Flask?direction=next&oldid=582574"]the oldest encounter[/URL] of the term "Elixir flasks" refers to the 2.0.12 patch. Should we make it stackable like Fenix?
  14. The cause may be only in different MinLevel for the quests. The three quests (1000,1018,1004) are grouped into ExclusiveGroup 1000, and only 1004 has MinLevel=54, while two others as well as the next 1123 (Rabine Saturna) have 55 here. Then if your char is 54, he may get 1004 but not 1123. Correcting. PR: [URL="https://github.com/mangoszero/database/pull/204"]database[/URL].
  15. The replics are related to the quest 434 "The Attack!", and are used there actually (dbscript_on_quest_start, id 434). The 3rd script command is casting s:4983 Create Cleansing Totem, keeping it just for case. Deleting unnecessary info. PR: [URL="https://github.com/mangoszero/database/pull/204"]database[/URL].
  16. Now the event is implemented (event ID 3), but with the following issue. Mobs are changed via game_event_creature_data thus changing their entries only. Three of the six new mob types (Moonrage ..) have some EventAI defined (simple combat one), which is ineffective in such scheme. I say once more that Creature::UpdateEntry() method is evil and should be avoided by any means. A correct scheme is despawning/spawning; during such process, all creature features like addons, health, AI and so on are retained in the correct state. Should this be fixed?
  17. Applied now fully. The quest should be completable, but I do not touch the issues mentioned above.
  18. Fully applied now (Rel20). I would like to know results of a more thoroughly testing by the users. Especially about group wipe cases :)
  19. In PR form: [URL="https://github.com/mangoszero/database/pull/200"]db[/URL]. Such tiny nice things add to the World attractivity greatly. Fully applied now (Zero Rel20).
  20. Cannot reproduce at the latest Zero Rel20. Probably the summoned Shade of Hakkar was killed (by AoE, for example). In such case the encounter broke and no Avatar appeared. But if party pay attention to keep the Shade alive, the bonus was that the Avatar appeared with ~50 HP. In the form of PR: [URL="https://github.com/mangoszero/server/pull/290"]core[/URL], [URL="https://github.com/mangoszero/database/pull/200"]db[/URL]. Here the mobs are interchanged really (despawn + summon), UNIT_FLAG_OOC_NOT_ATTACKABLE is added to the Shade preventing it from being killed.
  21. Just tried at Zero Rel20 (Jan 25) for one quest 6064 (dwarf). The tamed pet is not abandoned while quest handing, but it can be readily dismissed with the UI (right click - Dismiss). After that it continues to attack the player because it attacked them right before tamed and, seemingly, the threat table was kept. There is a lot of related bugs: the Taming Rod after usage shows only brief GCD and may be reused even while channeling seems that aura icon on the "pet" is not updated thus not informing about limited duration after teleport the "pet" is not following (ok); after return to them, the pet icon (HP etc) is not updated to the correct state if killed by an NPC under Tame spell channel, the beast does not die but happens tamed with a low HP ? no pet HP regen after combat (its exactly why it attacks the player when dismissed - pet feels stuck in combat) ? relog removes aura from the "pet" and also does not restore pet UI, this seems OK but may be improved sometime
  22. In PR form for now: [URL="https://github.com/mangosone/server/pull/71"]core[/URL] (merged), [URL="https://github.com/Olion17/database/commit/7d94ad42c83b83cfebfcb7bed6a7ab0a6e9e6a58"]DB[/URL]. Known problems: 1. If Geezle went away, the event still happens without his participation (dialogue replics). Should be conditionally disabled spellcast 30298, this is NYI. 2. Due to default movement type WAYPOINTS, Overspark walks a bit back and forth just after spawned. Could be changed in creature_template to IDLE and statically spawned mob copy - with WAYPOINTS. 3. The tree is rooted, but may be rotated. Either spell or movement code problem. 4. Possibly the statically spawned copy (far away) should be turned invis while this event and if not participating in the other (9537) quest. Needs support in the zone script.
  23. Note also that [B]the full[/B] transport implementation considering them as maps (9 maps in One) may be related to the dynamic grid problem. In my understanding, the grid of transport map should join at the stations to the grid of main map allowing plain moving between the maps without teleport (and enabling LoS and pathfinding - as such, across the maps). AFAIK the dynamic grid problem is not solved in TC yet, though transport-maps [URL="https://github.com/TrinityCore/TrinityCore/commit/ce55647c415b710c6b440d96c2f26ebbc06c1d6e"]are implemented[/URL].
  24. Here is a SD2 solution "Let the pallies know what a true meditation IS LIKE" :D Using the brazier while kneeling, even if in principle allowable by client, requires too much work for this tiny issue. So, after the brazier is lit as usual, the server takes control over the char for 3.5 sec, kneels them and, at the end, summons the mob releasing the char. The only notable problem is a line appearing in serverlog ERROR:HandleMoveNotActiveMover: incorrect mover guid: followed by a senseless diagnostic; it hinders nothing. Another problem is that the succeeded spell 22120 does not interrupts the victim spellcasting, while a knockdown should do. In between, the fight is not easy even with this "bonus".
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use