Jump to content
  • [NPC] Stratholme


    cabfever
    • Status: Completed
      Main Category: Database
      Sub-Category: Creature
      Version: 2.0.10 Milestone: 20 Priority: Normal
      Implemented Version: 0.20

    [NPC] Stratholme

    Hello. Currently the boss encounter "The Unforgiven" is not implemented/scripted into Stratholme.
    Source: [url]http://www.wowwiki.com/The_Unforgiven[/url]


    User Feedback

    Recommended Comments

    Just been delving through the database and code, and it looks like the creature will need to be spawned via an area trigger (edu-guessing here).

    There's no creature table entry, so not spawned by default. There is a creature_template table entry: Entry: 10516 and creature_ai_script entries: 1051601, 1051602

    So, I'd say there needs to be an Area_Trigger function added to the instance_stratholme.cpp file (just as instance_naxxramas.cpp has). I could be wrong.

    Looking in the AreaTrigger.dbc file, we have 4 area trigger points:

    [B]AreaTrigger.dbc[/B]
    2187,329,"3673.6","-3633.87","139.943",5,0,0,0,0
    2209,329,"3665.11","-3164.96","127.224",10,0,0,0,0
    2210,329,"3663.95","-3164.27","127.361",10,0,0,0,0
    2221,329,"3584.78","-3632.05","142.118",10,"9.778","17.94","27.92",0

    329 = the Stratholme map
    The next 3 are X, Y, and Z coordinates.

    Standing at that gate the creature is supposed to spawn near, gives us coordinates of: 3721.607 -3424.507 131.761

    Need to see where those area trigger coordinates take my toon.

    That's all I have looked at, at the moment. Will look into this further on the morrow. :)

    Oh, what creatures spawn with The Unforgiven ?

    Link to comment
    Share on other sites

    Oh well, I was wrong. Those Area Trigger coordinates do not take you anywhere near the place The Unforgiven and its buddies spawn.

    [B]AreaTrigger.dbc[/B]

    [COLOR="#0000FF"]Alonsus Chapel[/COLOR]
    2187,329,"3673.6","-3633.87","139.943",5,0,0,0,0
    [COLOR="#0000FF"]Crusader's Square[/COLOR]
    2209,329,"3665.11","-3164.96","127.224",10,0,0,0,0
    [COLOR="#0000FF"]Crusader's Square[/COLOR]
    2210,329,"3663.95","-3164.27","127.361",10,0,0,0,0
    [COLOR="#0000FF"]Eastwall Gate[/COLOR] - these coords actually spawn you at a point that sort of teleports you to the Eastwall Gate
    2221,329,"3584.78","-3632.05","142.118",10,"9.778","17.94","27.92",0

    I will have to look into this further, in order to come up with another way to get this creature into the world.

    Link to comment
    Share on other sites

    Okay, I now have another way to spawn The Unforgiven. All sorted except that I need to figure out how to test for player characters near to the spawn point. Plus find out what creature(s) spawn with The Unforgiven (not looked into that yet).

    [B]EDIT[/B]: Buddies of The Unforgiven
    [B]Vengeful Phantom[/B]
    Entry: 10387 (creature_template table)
    [url]http://wod.wowhead.com/npc=10516#comments[/url]
    [url]http://wod.wowhead.com/npc=10387#abilities[/url]

    I haven't discovered how many of them are spawned, as yet. I'll set it to 3, for now.

    [B]EDIT again[/B]: At the bottom of the first linked page, the comment says "3-4 adds". Probably more a case of not knowing for sure, rather than being fact. But I will now randomise the number of adds, unless there is an objection.

    [B]EDIT Déjà Vu[/B]: Okay, this has been made more interesting. It appears that both The Unforgiven and its adds respawn after a certain time period. 10 to 15 mins for the adds. Not sure about the elite itself. I'll have to allow for this in the code. Need to implement a timer. Two timers! One for the adds and one for the elite. Those can be initiated via OnCreatureDeath( ) and kept up-to-date via Update( ), I reckon.

    Link to comment
    Share on other sites

    The one hurdle left to cross, I believe I have now succeeded in doing so: check for nearby players

    I figured in order to check that a player is within range of The Unforgiven's spawn point, we could do either:

    [B]Method 1:[/B] Check all players in the instance and compare their coordinates with that of The Unforgiven's

    or

    [B]Method 2:[/B] Check all creatures within a certain range of The Unforgiven's spawn point, to see if any of them are Players

    Not sure which would be the better method of the two, but I can use [B]GetPlayers( )[/B] from the[B] Map class[/B] to iterate through all the players in the instance, so that's one method I can implement now.

    Link to comment
    Share on other sites

    [quote=cabfever]I like the way how deep you dive into the issue. Much appreciated! :)[/quote]

    Thanks :)

    I now have The Unforgiven spawning with 3 or 4 Vengeful Phantoms when a player crosses into the Unforgiven's area from either side of the gate.

    I only need to now set the spawn time for them, so that they pop back after a certain time (15 mins for the Vengeful Phantoms). I was going to do that via the OnCreatueDeath( ) function in instance_stratholme, but I should be able to do it when I spawn the creature. I should be able to set the spawn time:

    Something like (instance_stratholme.cpp):
    Creature* pTemp = pCreature->SummonCreature(NPC_VENGEFUL_PHANTOM, 3713.908f, -3430.042f, 131.010f, 6.2f, TEMPSUMMON_TIMED_OOC_DESPAWN, 2000000);
    pTemp->SetSpawnTimeSecs(9000000);

    TOTALLY made up function! I'll find out for sure what it is in a mo.

    Not sure what to set the Unforgiven's spawn time to. I know it should be more than the Vengeful Phantom's. Maybe 30 minutes.

    [B]EDIT:[/B] It looks like this is how to set the respawn time:

    pTemp->SetRespawnTime(900); // 15 minutes

    I'll test that now, then it's tidy up code and PR it all!!!

    [B]EDIT again:[/B] Yep, that worked. All of the Vengeful Phantoms respawned :D
    All that needs to be done now is to make the code look pretty. One for the morrow, me thinks. Telly and chill time now :D

    Link to comment
    Share on other sites

    [COLOR="#0000CD"][B]Just as a note:[/B][/COLOR]

    The Unforgiven will also be added to: One (TBC), Two (WoTLK), and Three (CATA). I have no idea if this elite still exists in MoP.

    I have just created a Pull Request for One.

    Next: install WOTLK and getmangos Two server/DB, so that I can add this elite and its adds

    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • 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