Trinitycore: Core/SAI: Some Northshire Valley scripting events not working

Created on 17 Jan 2021  路  22Comments  路  Source: TrinityCore/TrinityCore

Description:

Several Northshire scripts are not working as intended. Examples include:

  • Brother Paxton - pathing and SmartAI (He stands still, does not reply to infantry and does not cast his heal)
  • Blackrock Worgs - not attacking Stormwind Infantry

  • Stormwind Infantry are working as intended!

Here we can see Stormwind infantry only broadcasting text; Stormwind infantry attacking air only; and Blackrock Worgs wandering around with attacking emote but not attacking anything

image

Quick Note: My Brother Paxton is pathing because I imported the waypoints from The Cataclysm Preservation Project.

Suggested fix:

The Cataclysm Preservation Project has addressed the bulk of these script features: here in an Elwynn Forest script.

Whilst Master / 9.0.2 has many scripts matching similar formatting to 4.3.4, 9.0.2 does not have a script for Elwynn Forest.

I suspect the script might need some tweaking to bring the code to 9.0.2, but the basis is there.

It contributes to fixing Brother Paxton (I believe there's still some DB additions needed such as waypoints), and fixes the worgs. It addresses some other issues as well which I cannot verify if those are needed in 9.0.2. Would like to take 1 fix at a time.

Expected behaviour:

Brother Paxton should be pathing, responding to Stormwind Infantry with text and healing
There should be at least 1 Blackrock Worg attacking 1 Stormwind Infantry at any given time

image

Steps to reproduce the problem:

1a. Login with an Alliance Character and head to Northshire
or
1b. Start a new Alliance Human Character (so you start in Northshire)

  1. Brother Paxton is visible around (35,40) - He wont be moving, he wont be replying and he wont be casting
  2. Infantry and Blackrock Worgs can be seen in this area too - infantry are hitting thin air, worgs are wandering while still doing their attacking emote

Branch(es):

master

TC rev. hash/commit:

TrinityCore rev. c8917aca95a6 2021-01-13 22:04:52 +0100 (master branch) (Win64, RelWithDebInfo, Static) (worldserver-daemon)

Operating system:

Windows 7 Ultimate x64 SP1

Branch-master Comp-C++Script Sub-Creature

Most helpful comment

@TQPS Try to follow/read some of the the more descriptibe instructions I've written.

the idea is that:

  1. Infantry will say something
  2. AFTER infantry will say something, it will find brother paxton, and make paxton heal him self (the infantry), that way you don't have issues with targets.

All 22 comments

Specifically referencing these portions for Brother Paxton and Blackrock Worgs:

Some of this snippet includes some Fear No Evil quest references, but ...

https://github.com/The-Cataclysm-Preservation-Project/TrinityCore/blob/a15256f47aa9859d5d8cbeb4307daab43254ff69/src/server/scripts/EasternKingdoms/zone_elwynn_forest.cpp#L28-L48

With.... (omitted additional Fear Of Evil snippet as I have not tested that quest yet)

https://github.com/The-Cataclysm-Preservation-Project/TrinityCore/blob/a15256f47aa9859d5d8cbeb4307daab43254ff69/src/server/scripts/EasternKingdoms/zone_elwynn_forest.cpp#L63-L127

Infantry appear to be working so it's really only the Brother Paxton portion I'm trying to highlight or spark ideas from.

And the worgs:

https://github.com/The-Cataclysm-Preservation-Project/TrinityCore/blob/a15256f47aa9859d5d8cbeb4307daab43254ff69/src/server/scripts/EasternKingdoms/zone_elwynn_forest.cpp#L129-L173

Although on live, they are just Blackrock Worgs (Not Battle Worgs)

image

I've been trying to tackle this one so I can move on.

So far this will correct the name of the Worg:

-- Correct name for Blackrock Worg
UPDATE `creature_template` SET `name` = 'Blackrock Worg' WHERE `entry` = 49871;

Using the following information:

-- All 15 Stormwind Infantry fighting Blackrock Worg
SELECT * FROM `creature` WHERE `guid` IN (280020, 280019, 280001, 280003, 279956, 279945, 279928, 279914, 279906, 279894, 279893, 279888, 280008, 280002, 280018);

-- All 15 Blackrock Worg fighting Stormwind Infantry
SELECT * FROM `creature` WHERE `guid` IN (279887, 279891, 279889, 279905, 279916, 279929, 279938, 279947, 279998, 279999, 280000, 280004, 280006, 280013, 280016);

We can stop the Blackrock Worgs from wandering around and allows most of them to be fighting the Infantry (to be given the appearance of fighting more accurately):

-- These 15 Blackrock Worgs in Northshire shouldn't be wandering
UPDATE `creature` SET `MovementType` = 0
 WHERE `guid` IN (279887, 279891, 279889, 279905, 279916, 279929, 279938, 279947, 279998, 279999, 280000, 280004, 280006, 280013, 280016);

I have used information from the CATA Preservation Project and compared it to Master 9.0.2 and the information is 1:1. Unfortunately, some of the orientations of the worgs themselves appear - off.

In both CATA and SL instances - they numbers are identical:

Example:

-- Infantry
SELECT `guid`,`position_x`, `position_y`, `position_z`, `orientation` FROM `creature` WHERE `guid` IN (280020, 280019, 280001, 280003, 279956, 279945, 279928, 279914, 279906, 279894, 279893, 279888, 280008, 280002, 280018);

creature CATA - Infantry

| guid | position_x | position_y | position_z | orientation |
| ---: | ---: | ---: | ---: | ---: |
| 279888 | -8958.34 | -225.583 | 77.7861 | 4.22796 |
| 279893 | -8807.43 | -163.302 | 81.7143 | 6.00393 |
| 279894 | -8811.47 | -151.259 | 82.6853 | 0.296706 |
| 279906 | -8821.14 | -143.156 | 81.0599 | 1.16937 |
| 279914 | -8837.28 | -146.716 | 81.0056 | 1.91596 |
| 279928 | -8856.51 | -128.387 | 81.0984 | 1.1512 |
| 279945 | -8873.09 | -121.115 | 81.2081 | 0.751096 |
| 279956 | -8908.35 | -83.0781 | 86.6703 | 1.51844 |
| 280001 | -8972.67 | -82.4306 | 86.9969 | 0.767945 |
| 280002 | -8997.83 | -132.503 | 84.1792 | 3.59538 |
| 280003 | -8950.66 | -86.0417 | 87.7749 | 1.3439 |
| 280008 | -8983.45 | -148.417 | 81.5943 | 3.76991 |
| 280018 | -9018.34 | -115.545 | 88.0175 | 4.60767 |
| 280019 | -8979.26 | -67.3655 | 90.03 | 3.43017 |
| 280020 | -8983 | -53.6076 | 91.4949 | 0.17645 |

creature SL - Infantry

| guid | position_x | position_y | position_z | orientation |
| ---: | ---: | ---: | ---: | ---: |
| 279888 | -8958.34 | -225.583 | 77.7861 | 4.22796 |
| 279893 | -8807.43 | -163.302 | 81.7143 | 6.00393 |
| 279894 | -8811.47 | -151.259 | 82.6853 | 0.296706 |
| 279906 | -8821.14 | -143.156 | 81.0599 | 1.16937 |
| 279914 | -8837.28 | -146.716 | 81.0056 | 1.91596 |
| 279928 | -8856.51 | -128.387 | 81.0984 | 1.1512 |
| 279945 | -8873.09 | -121.115 | 81.2081 | 0.751096 |
| 279956 | -8908.35 | -83.0781 | 86.6703 | 1.51844 |
| 280001 | -8972.67 | -82.4306 | 86.9969 | 0.767945 |
| 280002 | -8997.83 | -132.503 | 84.1792 | 3.59538 |
| 280003 | -8950.66 | -86.0417 | 87.7749 | 1.3439 |
| 280008 | -8983.45 | -148.417 | 81.5943 | 3.76991 |
| 280018 | -9018.34 | -115.545 | 88.0175 | 4.60767 |
| 280019 | -8979.26 | -67.3655 | 90.03 | 3.43017 |
| 280020 | -8983 | -53.6076 | 91.4949 | 0.17645 |

The following 6 Worgs appear to have correct orientation but are not facing Infantry:

279998, 279999, 280000, 280004, 280006, 280016

Here's CATA 4.3.4 for npc 280016:

image

And here's SL Master 9.0.2 for npc 280016:

image

And here's Live for npc 280016:

image

Does this need to be scripted to fix or can it be fixed with a Smart Script in SQL?

@matanshukry : Do you have any suggestions or thoughts about this issue?

ok so couple of things here:

  1. You mentioned the names of the worgs are battle worgs and an update query that will change their names. Perhaps it was fixed since you opened this issue, but for now anyway it's not needed and the names of the worg is "Blackrock Worg".

  2. Regarding the orientation: since the worgs should be wandering and attacking the infantries it really shouldn't matter. They'll orient to face their target, once that is working correctly.

  3. Regarding the actual behaviours, what's possible with smart scripts and what isn't:

  • Brother Paxton Wandering: I'm assuming that's based on waypoint and that can be done using smart scripts. But I never actually touched that area
  • Brother Paxton Healing + Replying: my guess is you could do it using the following steps:
  1. Infantry talk when at health: Add smart event with SMART_EVENT_HEALTH_PCT and SMART_ACTION_TALK. Might be able to get away with doing it on the creatute template, just make sure there are no creatures outside of northshire using that template. Otherwise, create 1 for each creature.
  2. Brother Paxton respond & heal when an infantry talk: add smart event with SMART_EVENT_TEXT_OVER and SMART_ACTION_CAST and SMART_ACTION_TALK. You'll probably need 1 for each infantry.

Playing with the WOW DB editor - I'll see what I can come up with.

@TQPS any news?

@TQPS any news?

Going through a learning curve with the WOW Database Editor with Brother Paxton as my guinea pig regarding the casting and gossip entries.

Ovahlord's Cataclysm project is a big help in solving the initial script and waypoint entries - so full credit to him where it's due.

Brother Paxton's waypoint values from Cataclysm are a little short compared to live so at some stage, someone will probably need to grab those new values.

SELECT * FROM `smart_scripts` WHERE `entryorguid` = 951;

| entryorguid | source_type | id | link | event_type | event_phase_mask | event_chance | event_flags | event_param1 | event_param2 | event_param3 | event_param4 | event_param5 | event_param_string | action_type | action_param1 | action_param2 | action_param3 | action_param4 | action_param5 | action_param6 | target_type | target_param1 | target_param2 | target_param3 | target_x | target_y | target_z | target_o | comment |
| ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |
| 951 | 0 | 0 | 0 | 11 | 0 | 100 | 0 | 0 | 0 | 0 | 0 | 0 | | 53 | 0 | 279895 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | On Respawn - Self: Start path #279895, walk, repeat, Passive // |

SELECT * FROM `waypoints` WHERE `entry` = 279895;

| entry | pointid | position_x | position_y | position_z | point_comment |
| ---: | ---: | ---: | ---: | ---: | --- |
| 279895 | 1 | -8819.92 | -149.533 | 81.1643 | Brother Paxton point 1 |
| 279895 | 2 | -8825.13 | -146.509 | 80.5701 | Brother Paxton point 2 |
| 279895 | 3 | -8819.92 | -149.533 | 81.1643 | Brother Paxton point 3 |
| 279895 | 4 | -8816.47 | -153.078 | 81.6179 | Brother Paxton point 4 |

Disclaimer: These are from my scratchpad so come time for live, I expect the format might change - but to get it out there for considation....

This will add the Smart_script for Brother Paxton

DELETE FROM `smart_scripts` WHERE `entryorguid`=951 AND `source_type`=0 AND `id`=0 AND `link`=0;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param_string`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (951, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, '', 53, 0, 279895, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'On Respawn - Self: Start path #279895, walk, repeat, Passive // ');

This will add the Waypoints and movement to Brother Paxton

DELETE FROM `waypoints` WHERE `entry`=279895 AND `pointid`=1;
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES (279895, 1, -8819.92, -149.533, 81.1643, 'Brother Paxton point 1');
DELETE FROM `waypoints` WHERE `entry`=279895 AND `pointid`=2;
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES (279895, 2, -8825.13, -146.509, 80.5701, 'Brother Paxton point 2');
DELETE FROM `waypoints` WHERE `entry`=279895 AND `pointid`=3;
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES (279895, 3, -8819.92, -149.533, 81.1643, 'Brother Paxton point 3');
DELETE FROM `waypoints` WHERE `entry`=279895 AND `pointid`=4;
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES (279895, 4, -8816.47, -153.078, 81.6179, 'Brother Paxton point 4');

Pushing on with the DB Editor.

I accidentally closed this while trying to put in a new comment.

Could someone please reopen this?

Uhm, if you opened this ticket, I thought you would also be able to reopen it. Is that not the case here?

Doesn't look like it no - thanks @Aokromes

The complete randomness of gossip to reply ratio makes me think this section is better for a server/script.

Taken from Live....

image

If we look at the possible options ...

SELECT CreatureID, ID, Text FROM `creature_text` WHERE `creatureID` = 951; -- Brother Paxton's replies

| CreatureID | ID | Text |
| ---: | ---: | --- |
| 951 | 0 | Be healed, $g brother:sister;! |
| 951 | 1 | AND I LAY MY HANDS UPON YOU! |
| 951 | 2 | Let the Holy Light embrace you! |
| 951 | 3 | BY THE LIGHT BE RENEWED! |
| 951 | 4 | FIGHT ON, $G BROTHER:SISTER;! |

SELECT CreatureID, ID, Text FROM `creature_text` WHERE `creatureID` = 49869; -- Stormwind Infantry

| CreatureID | ID | Text |
| ---: | ---: | --- |
| 49869 | 0 | I could use a heal, brother! |
| 49869 | 1 | I need a heal! |
| 49869 | 2 | Make yourself useful and heal me, Paxton! |
| 49869 | 3 | HELP! |

Ideally, we could "fix" it by scripting only reply/heal on gossip and set the initial cry for help on random? But then that wouldn't be Blizzlike?? (Although in my mind this is the intended outcome).

However, since the replies aren't tied to any one cry for help - if we did smart_scripts - they would be tied to specific ones(?) meaning it also wouldn't be BlizzLike.

I'll tinker with it for the experience but if it's not ultimately, the route we go because of non-blizzlike, I'd also like to make sure I'm working towards a usable fix.

If those creature_text lines appear in the chat, wouldn't they also be seen as speech bubbles for all _nearby_ players?

I wonder if there could be some form of pattern related to how many Stormwind Infantry creatures are spawned at any given time (amount of lines compared to amount of Stormwind Infantry spawns), while Brother Paxton is only one and it should therefore be somewhat easier to find some kind of pattern, either based on timing or if it is in any way related to how often he casts his spells.

Ovahlord and team have achieved this in the Cata project (as at 86717ef )...

image

... using some nested switch statements: here

I think this is near perfect - the infantry are random but Paxton replies and casts in a timely manner.

Dare I say it - this is better than live.

The only difference here to live is that the worg/infantry fights are cosmetic - there's actually no damage being done so no health loss and no percentage drops.

Can this level of randomness be achieved with smart_scripts?

Yeah, you can do it with SAI

If one wants to recreate the exact script you linked in SAI (for infantry):


Short/Descriptive version:

  1. Infantry::OnReset - rese script + create timed event (10-100s) to step 2
  2. On timed event - say ask for help
  3. After saying ask for help - create timed event (30-100s), to step 2
  4. After timed event in step 3, create timed event (constant 2s) to step 5

  5. make brother paxton talk (SAY_HEAL_INFANTRY) + trigger a random timed event between 3 options. Each of the 3 options is a cast spell


Detailed version (a bit complex and hard to read):

  1. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_RESET, action=SMART_ACTION_CALL_SCRIPT_RESET
  2. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_LINK (link to after step 1), action=SMART_ACTION_CREATE_TIMED_EVENT with initialMin=10s, initialMax=100s. Make sure both repeats are set t0 0, and use MS for the time values.
  3. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_TIMED_EVENT_TRIGGERED, eventParam1=id_from_step_2, action=SMART_ACTION_TALK (make him say SAY_ASK_FOR_HELP).
  4. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_LINK (link to after step 3), action=SMART_ACTION_CREATE_TIMED_EVENT with initialMin=30s, initialMax=100s. Both repeats to 0, MS for time values, and use the same id you used for step 2
  5. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_LINK (second link to after step 3), action=SMART_ACTION_CREATE_TIMED_EVENT with initialMin=initialMax=2s. Same "make sure" as above. Different id than used before (different action)
  6. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_TIMED_EVENT_TRIGGERED, eventParma1=id_from_step_5, action=SMART_ACTION_TALK,target_type=SMART_TARGET_CREATURE_RANGE, (make paxton say SAY_HEAL_INFANTRY)
  7. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_LINK (link to after step 6), action=SMART_ACTION_STORE_TARGET_LIST, target_type=SMART_TARGET_SELF. Save self in the target list.
  8. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_LINK (second link to after step 6), action=SMART_ACTION_STORE_TARGET_LIST, target_type=SMART_TARGET_CREATURE_RANGE. Save brother paxton in another variable in target list.
  9. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_LINK (third link after step 6), action=SMART_ACTION_WP_STOP. target_type=SMART_TARGET_STORED, id=paxton. Make paxton him stop moving. (will be conditioned later)
  10. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_LINK (fourth link to after step 6), action=SMART_ACTION_SEND_TARGET_TO_TARGET, actionParam1=event_param1_in_step_7, target_type=SMART_TARGET_STORED, id=paxton. Send the target list item ("self") to brother paxton.
  11. Add SAI with source_type=creature, entryorguid=infantory_entry, source=SMART_EVENT_LINK (fifth link to after step 6), action=SMART_ACTION_SET_DATA, field=0, Data=1, target_type=SMART_TARGET_STORED, id=paxton

On brother paxton:

  1. Add SAI with source_type=creature, entryorguid=brother_paxton, source=SMART_EVENT_TIMED_EVENT_TRIGGERED, eventParam1=id_8, action=SMART_ACTION_CAST, spellid=prayer of healing
  2. Add SAI with source_type=creature, entryorguid=brother_paxton, source=SMART_EVENT_TIMED_EVENT_TRIGGERED, eventParam1=id_9, action=SMART_ACTION_CAST, spellid=renew
  3. Add SAI with source_type=creature, entryorguid=brother_paxton, source=SMART_EVENT_TIMED_EVENT_TRIGGERED, eventParam1=id_10, action=SMART_ACTION_CAST, spellid=flash heal
  4. Add SAI with source_type=creature, entryorguid=brother_paxton, source=SMART_EVENT_DATA_SET, field=0, value=1, action=SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT, min=id_8, max=id_10, target_type=SMART_TARGET_STORED, same id as used for "self" in above.

After either of those version, you'll also want to add conditions for:

  • Brother paxton saying SAY_HEAL_INFANTRY. Only allow that based on unit_state (not UNIT_STATE_CASTING)
  • brother paxton healing cast. Only allow that if target health is <= 85. You'll probably need 1 for each cast

@matanshukry thank you - I had to start looking at timed events because unlike live, these battles are still cosmetic so asking for help on health percentage wouldn't work, as they don't lose any.

That's a separate discussion for another time.

I'll press on with your suggestions! Much appreciated.

you welcome ^^

Regarding the cosmetic fights - try to look on emotes - https://trinitycore.atlassian.net/wiki/spaces/tc/pages/2130171/Emotes .
Use .npc playemote to test it while in the server to see if it fits.

You can set the default (always playing & repeatable) emote for a creature by using creature_addon table.
The infantry for example are using emote 36, ONESHOT_ATTACK1H.

Looking in the game it looks like a good fit for the worgs too, although I don't know how it is on live to compare.

Will look into that. Thank you.

I probably don't need to look into the Infantry as much as they're mostly working as intended. I had to reread my original issue to remember what was logged and saw that their gossip, attack, etc was already implemented and the issue was more Brother Paxton (and worgs) (but of course chicken and egg scenario).

SELECT `entryorguid`, `event_type`, `event_chance`, `action_type`, `comment` FROM `smart_scripts` WHERE `comment` LIKE 'Stormwind Infantry%';

| entryorguid | event_type | event_chance | action_type | comment |
| ---: | ---: | ---: | ---: | --- |
| -280020 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -280019 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -280001 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -280003 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -279956 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -279945 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -279928 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -279914 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -279906 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -279894 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -279893 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -279888 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -280008 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -280002 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |
| -280018 | 1 | 10 | 1 | Stormwind Infantry - Out of Combat - Say Line 0 |

It only states line 0 but in game they are working correctly. I'll play with Paxton and work from these entries to focus on the 4 that he needs to.

We have all the infantry here scripted but there's no point ones on the other end of the play field to be calling out for Paxton. I'll check with live later.

Again the difference is that they actually battle in live (and both lose their health) and when a Worg dies, the infantry call out their yells!

I probably don't need to look into the Infantry as much as they're mostly working as intended

Note that while the script above is for infantry, it's also handling the brother paxton one (and it's what I've described).

Again the difference is that they actually battle in live (and both lose their health) and when a Worg dies, the infantry call out their yells!

I'm confused now. I thought you said on live they do not lose their health?

It only states line 0 but in game they are working correctly

Like I said, check the creature_addon table. It will state the emote the creature is in, which will be 36. Which is what the infantry is doing

I'm confused now. I thought you said on live they do _not_ lose their health?

Apologies - this is becoming quite the post. The combat between worgs and infantry on live is real - they both lose health...

image

In Cata Preservation and Master, the combat is cosmetic - no health is lost on either creature - currently. When/If this changes, heal can be added for % I take it.

Note that while the script above is for infantry, it's also handling the brother paxton one (and it's what I've described).

You're right and I've begun...

-- Brother Paxton
SET @ENTRY := 951;
DELETE FROM smart_scripts WHERE entryOrGuid = 951 AND source_type = 0;
UPDATE creature_template SET AIName="SmartAI" WHERE entry= @ENTRY;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, target_type, target_param1, target_param2, target_param3, target_x, target_y, target_z, target_o, comment) VALUES
(@ENTRY, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 53, 0, 279895, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "On respawn  - Self: Start path #279895, walk, repeat, Passive (0)"),
(@ENTRY, 0, 1, 0, 59, 0, 100, 0, 8, 0, 0, 0, 11, 93091, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, "On timed event 8 triggered - Self: Cast Prayer of Healing on Closest friendly creature in 0 yards"),
(@ENTRY, 0, 2, 0, 59, 0, 100, 0, 8, 0, 0, 0, 11, 93094, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, "On timed event 8 triggered - Self: Cast Renew on Closest friendly creature in 0 yards");

However, I think in order to get the Renew spell right, I might have to tamper with the Infantry to set that SELF portion - nearest is not what I want.

Prayer of healing should be OK because it's an AOE heal.

Flash Heal is not on live according to Wowhead: Here

I still need to pause waypoints on casting.

@TQPS Try to follow/read some of the the more descriptibe instructions I've written.

the idea is that:

  1. Infantry will say something
  2. AFTER infantry will say something, it will find brother paxton, and make paxton heal him self (the infantry), that way you don't have issues with targets.

I know I will have to play with the existing Infantry scripts to get this working - Just easing into it.

Again, appreciate your guidance and patience.

馃憤馃徎 Thank you for adding your suggestions, @matanshukry. They look good, and that there will be something more to work on now.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Rushor picture Rushor  路  3Comments

tje3d picture tje3d  路  3Comments

Rushor picture Rushor  路  3Comments

Teppic1 picture Teppic1  路  3Comments

Keader picture Keader  路  3Comments