{"action":"created","issue":{"url":"https://api.github.com/repos/DarkstarProject/darkstar/issues/3488","repository_url":"https://api.github.com/repos/DarkstarProject/darkstar","labels_url":"https://api.github.com/repos/DarkstarProject/darkstar/issues/3488/labels{/name}","comments_url":"https://api.github.com/repos/DarkstarProject/darkstar/issues/3488/comments","events_url":"https://api.github.com/repos/DarkstarProject/darkstar/issues/3488/events","html_url":"https://github.com/DarkstarProject/darkstar/pull/3488","id":184724572,"number":3488,"title":"A Complete, End-to-End Playable ToAU Storyline","user":{"login":"starlightknight","id":3959228,"avatar_url":"https://avatars.githubusercontent.com/u/3959228?v=3","gravatar_id":"","url":"https://api.github.com/users/starlightknight","html_url":"https://github.com/starlightknight","followers_url":"https://api.github.com/users/starlightknight/followers","following_url":"https://api.github.com/users/starlightknight/following{/other_user}","gists_url":"https://api.github.com/users/starlightknight/gists{/gist_id}","starred_url":"https://api.github.com/users/starlightknight/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/starlightknight/subscriptions","organizations_url":"https://api.github.com/users/starlightknight/orgs","repos_url":"https://api.github.com/users/starlightknight/repos","events_url":"https://api.github.com/users/starlightknight/events{/privacy}","received_events_url":"https://api.github.com/users/starlightknight/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":22,"created_at":"2016-10-23T23:42:42Z","updated_at":"2016-10-26T02:26:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/DarkstarProject/darkstar/pulls/3488","html_url":"https://github.com/DarkstarProject/darkstar/pull/3488","diff_url":"https://github.com/DarkstarProject/darkstar/pull/3488.diff","patch_url":"https://github.com/DarkstarProject/darkstar/pull/3488.patch"},"body":"Hi guys,\r\nIt's been awhile :-) \r\n\r\nIt's been a little over 10 years now since ToAU radically changed the way we played this game. Along with tons of new and different types of content- besieged, assault, salvage etc- it also brought about a nice new storyline. Today, I offer that storyline preserved for future generations of players ;-)\r\n\r\nFirst off, a huge special thanks to @gedads for gathering a ton of good data and posting it on the forums. After he previously posted some WoTG data, I asked about ToAU and he posted that as well. I had some time off this past week, so I decided to take a shot at implementing all of this, and here it is :-)\r\n\r\nThis pull request offers a fully playable end-to-end ToAU main storyline, including all mission battles, and some supporting core functionality for them. Pre-existing missions 1-14 were also reviewed and playtested, and bugs were fixed there as well. Each mission is its own commit that can be individually reviewed, and each core enhancement is also its own commit that can be individually reviewed. However, each commit is dependent on the last, especially since there are many shared npcs like Naja. \r\n\r\nAs for the current state of this implementation - I believe it is in a state of pretty good quality for a first pass. All major unique behaviors of the mobs in mission battles are implemented. End-to-end testing was done on a Linux Mint 18 (native server & client w/ Wine 1.9). All battles were playtested solo in a variety of scenarios. They should theoretically of course work in a party as well, but I haven't tested them that way yet. Volunteers welcome ;-) \r\n\r\nThere are, however, a few known issues. I'll leave some notes below.\r\n\r\n**Notes for people:**\r\n\r\n@teschnei - I made some changes to core to support the mission battles, mostly around fixing instance or bcnm related issues, as well as making it easier to control ally behavior, since these battles have a handful of npc allies. I have left more specific notes in each commit message for core. I would be happy to hear any feedback you may have - everything can always be improved, and I'm sure my implementations aren't perfect :-) \r\n\r\nI also have two hackfixes I'd love to get rid of, but wasn't able to figure out proper solutions for. Maybe you know the answer to these. One was an issue where-in the server would crash in the C++ STL if a local mob var was set while the mob was dead-- I'll file an issue with a backtrace for you. Another is, the event that enters Nyzul Isle seems to spam event updates uncontrollably, which was preventing proper entry into the zone. The other instanced areas did not have this issue. For the mission battle, I used a double lock in the runic seal script to trap and ignore the spam while the instance started up, which makes it work properly but is of course a bit ugly. I'd love to understand why the event spams so that I can get rid of this, but I failed to figure it out :-(\r\n\r\n@gedads - I need some npcs capped to finish things up here. In particular, the Jade Sepulcher npcs for Puppet in Peril. I was able to get the cutscene in a working state using POLUtils data + stealing mob looks from similar npcs, and it plays with minor glitches. Some of the accessories, weapons, or colors are not quite right which cause minor glitches, and I don't have the look for the mount. If you could cap these to get the right data that would be great. I also put a comment \"-- CAP ME PLEASE\" next to other misc NPCs that need to be capped. For any I was missing, I stubbed them to avoid client crashes. Most of the missing ones are \"blanks\".\r\n\r\n@TeoTwawki - I haven't verified that the skill lists for these battles are all accurate. All the mob pools already existed in the database and were attached to one. They seem reasonable but not quite right either. If you and any of your minions want to help by looking at these (i see you guys committing a lot of this type of stuff), that would help ;p If not I'll get to it at some point...\r\n\r\n**Known issues for battle missions:**\r\n\r\n**TOAU-15 Black Coffin**\r\n- If a player logs out on the Cutter before entering the battlefield, when they log back in they'll be standing on invisible ground. The cutter will be moving in automatically but is not there yet. \r\n- Additionally, if the player is on the docks while the cutter is arriving, they can walk into the air without it being there. I'm assuming there is either an npc thats supposed to be a gate like with other transports (and the player would be placed on the dock on login if they were in the region), or, that there's a way to make the cutter just be there since it has no set schedule - but I don't know which is right or how this is controlled.\r\n- These issues have no effect on the battle, and if you enter the zone normally the cutter will have arrived by the time you get to it.\r\n\r\n**TOAU-22 Shield of Diplomacy**\r\n- Battlefields 2 & 3 do not have NPCs/mobs available\r\n\r\n**TOAU-29 Puppet in Peril**\r\n- Some minor cutscene glitches that need NPCs capped\r\n- Battlefields 2 & 3 do not have NPCs/mobs available\r\n- The BCNM door on Battlefield one needs to be capped, preventing the playing from running away (though that's broken by another bug anyways)\r\n\r\n**TOAU-31 Shades of Vengeance**\r\n- The instance ID is definitely wrong, but the instance is not on the instance list. I used an available\r\nid which appears to work, but it thinks its Better than One at the beginning. This does not effect the\r\nbattle other than some incorrect text at the beginning. I'm not sure how this is supposed to work -\r\nmaybe there are some special params that make it share an instance.\r\n- The starting position for this mission needs to be capped. I made a guess off of watching a few videos for now, as I did not have this data.\r\n\r\n**TOAU-35 Legacy of the Lost** \r\n- Three missing npcs that need captured that don't appear to cause any visual defects that I can tell\r\n\r\n**TOAU-42 Path of Darkness**\r\n- Entry/exit transitions do not black out, making them look clunky. I could not find the right event.\r\n- Hack needed to enter properly. See commit notes for details.\r\n\r\n**TOAU-44 Nashimera's Plea**\r\n- Entry/exit transitions do not black out, making them look clunky. I could not find the right event.\r\n- Hack needed to enter properly. See commit notes for details.\r\n- AFAICT we don't have the right damage tracking available to do the immunity effect properly, so\r\nI scripted a guess using the combination of jobs in the party, so that an effect is chosen for now\r\n\r\n**Known general issues:**\r\n- Cutscenes at the imperial whitegate used an npc with a non-ANSI character as the name. The server occasionally loses track of this NPC (properly a bug related to it being a non-ANSI name), but it HAS to be named this or you get a client crash. Any cutscenes that play that require this npc after\r\nthe server has lost track of the npc will cause a client crash. If the server loses track of the npc, you'll see a Server Need NPC message in the log. The only fix is to restart the server.\r\n\r\nLooking forward to thoughts and feedback :-)"},"comment":{"url":"https://api.github.com/repos/DarkstarProject/darkstar/issues/comments/256233026","html_url":"https://github.com/DarkstarProject/darkstar/pull/3488#issuecomment-256233026","issue_url":"https://api.github.com/repos/DarkstarProject/darkstar/issues/3488","id":256233026,"user":{"login":"TeoTwawki","id":6871475,"avatar_url":"https://avatars.githubusercontent.com/u/6871475?v=3","gravatar_id":"","url":"https://api.github.com/users/TeoTwawki","html_url":"https://github.com/TeoTwawki","followers_url":"https://api.github.com/users/TeoTwawki/followers","following_url":"https://api.github.com/users/TeoTwawki/following{/other_user}","gists_url":"https://api.github.com/users/TeoTwawki/gists{/gist_id}","starred_url":"https://api.github.com/users/TeoTwawki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TeoTwawki/subscriptions","organizations_url":"https://api.github.com/users/TeoTwawki/orgs","repos_url":"https://api.github.com/users/TeoTwawki/repos","events_url":"https://api.github.com/users/TeoTwawki/events{/privacy}","received_events_url":"https://api.github.com/users/TeoTwawki/received_events","type":"User","site_admin":false},"created_at":"2016-10-26T02:26:15Z","updated_at":"2016-10-26T02:26:15Z","body":"@hozu basically thats its ranged attack, and if I remember right its about (maybe a bit quicker) the time between a gigas's boulder throws. If your tank stands back and nobody else pulls hate you'll never see its regular melee, since it doesn't move. When I cleared we used a -mdt setup and let the tank eat those from a distance till after Divine judgement, then zerged down its remaining health after recovering from that."}}
{"actor":{"display_login":"TeoTwawki"}}