diff --git a/utils/sql/git/optional/2015_06_28_RescaleRunspeeds_RunOnceOnly.sql b/utils/sql/git/optional/2015_06_28_RescaleRunspeeds_RunOnceOnly.sql new file mode 100644 index 000000000..2810d3291 --- /dev/null +++ b/utils/sql/git/optional/2015_06_28_RescaleRunspeeds_RunOnceOnly.sql @@ -0,0 +1,7 @@ +/* This rescales the old peq runspeeds which were about 80 percent too high to new values */ +/* This section should only ever be run once */ +UPDATE npc_types SET npc_types.runspeed = 1.050 WHERE (npc_types.runspeed > 0 and npc_types.runspeed < 1.2); +UPDATE npc_types SET npc_types.runspeed = 1.325 WHERE (npc_types.runspeed > 1.19 and npc_types.runspeed < 1.75 and race != 73 and race != 72); +UPDATE npc_types SET npc_types.runspeed = 1.575 WHERE (npc_types.runspeed > 1.69 and npc_types.runspeed < 2.2); +UPDATE npc_types SET npc_types.runspeed = 1.850 WHERE (npc_types.runspeed > 2.19 and npc_types.runspeed < 3); +UPDATE npc_types SET npc_types.runspeed = (npc_types.runspeed * 0.8) WHERE (npc_types.runspeed > 2.99 and npc_types.runspeed < 20); \ No newline at end of file diff --git a/utils/sql/git/optional/2015_06_28_SetMobSpecificRunSpeeds_AfterAnyRescaling.sql b/utils/sql/git/optional/2015_06_28_SetMobSpecificRunSpeeds_AfterAnyRescaling.sql new file mode 100644 index 000000000..064c39ce4 --- /dev/null +++ b/utils/sql/git/optional/2015_06_28_SetMobSpecificRunSpeeds_AfterAnyRescaling.sql @@ -0,0 +1,61 @@ +/* some specific by name */ +UPDATE npc_types SET npc_types.runspeed = 3.175 WHERE npc_types.name = 'a_shadowed_man'; +UPDATE npc_types SET npc_types.runspeed = 1.850 WHERE npc_types.name = 'aviak_egret'; +UPDATE npc_types SET npc_types.runspeed = 1.575 WHERE npc_types.name = 'froglok_hunter'; +UPDATE npc_types SET npc_types.runspeed = 1.575 WHERE npc_types.name = 'froglok_forager'; +/* rhinos */ +UPDATE npc_types SET npc_types.runspeed = 1.850 WHERE npc_types.race = 135; +/* centaurs */ +UPDATE npc_types SET npc_types.runspeed = 1.850 WHERE npc_types.race = 16; +/* griffins */ +UPDATE npc_types SET npc_types.runspeed = 1.850 WHERE npc_types.race = 47; +/* wolves - use size, to not change cubs*/ +UPDATE npc_types SET npc_types.runspeed = 1.575 WHERE (npc_types.race = 42 and npc_types.size > 5); +/* sarnaks */ +UPDATE npc_types SET npc_types.runspeed = 1.325 WHERE npc_types.race = 131; +/* sabertooth tigers - use size, to not change cubs*/ +UPDATE npc_types SET npc_types.runspeed = 1.575 WHERE (npc_types.race = 119 and npc_types.size > 6); +/* lions */ +UPDATE npc_types SET npc_types.runspeed = 1.575 WHERE (npc_types.race = 50 and npc_types.size > 7); +/* panthers/pumas */ +UPDATE npc_types SET npc_types.runspeed = 1.575 WHERE npc_types.race = 76; +/* beetles */ +UPDATE npc_types SET npc_types.runspeed = 1.05 WHERE npc_types.race = 22; +/*leeches*/ +UPDATE npc_types SET npc_types.runspeed = 1.05 WHERE npc_types.race = 104; +/*a_brontotherium*/ +UPDATE npc_types SET npc_types.runspeed = 1.575 WHERE npc_types.race = 169; +/* raptors */ +UPDATE npc_types SET npc_types.runspeed = 1.850 WHERE npc_types.race = 163; +/* vicious plants */ +UPDATE npc_types SET npc_types.runspeed = 1.575 WHERE npc_types.race = 162; +/* western wastes, drakes, cragwyrms and wyvern */ +UPDATE npc_types +JOIN spawnentry ON npc_types.id = spawnentry.npcID +JOIN spawn2 ON spawn2.spawngroupID = spawnentry.spawngroupID +SET npc_types.runspeed = 1.575 +WHERE ((npc_types.race = 89 OR npc_types.race = 157 OR npc_types.race = 158) AND spawn2.zone = 'westwastes'); +/* velium hounds/wolves */ +UPDATE npc_types +JOIN spawnentry ON npc_types.id = spawnentry.npcID +JOIN spawn2 ON spawn2.spawngroupID = spawnentry.spawngroupID +SET npc_types.runspeed = 1.850 +WHERE (npc_types.race = 42 AND spawn2.zone = 'westwastes'); +/* Overthere Specials, goons, etc. */ +UPDATE npc_types +JOIN spawnentry ON npc_types.id = spawnentry.npcID +JOIN spawn2 ON spawn2.spawngroupID = spawnentry.spawngroupID +SET npc_types.runspeed = 1.850 +WHERE ((npc_types.race = 77 or npc_types.race = 147) AND spawn2.zone = 'overthere'); +UPDATE npc_types SET npc_types.runspeed = 1.850 WHERE npc_types.name = 'Captain_Rottgrime'; +UPDATE npc_types SET npc_types.runspeed = 1.850 WHERE npc_types.name = 'an_undead_marine'; +/* Pet Speeds. */ +UPDATE npc_types +JOIN pets ON npc_types.id = pets.npcID +SET npc_types.runspeed = 1.575; +/* raptors in tim are slower than other raptors in kunark */ +UPDATE npc_types +JOIN spawnentry ON npc_types.id = spawnentry.npcID +JOIN spawn2 ON spawn2.spawngroupID = spawnentry.spawngroupID +SET npc_types.runspeed = 1.325 +WHERE ( npc_types.race = 163 AND spawn2.zone = 'timorous' ); diff --git a/zone/waypoints.cpp b/zone/waypoints.cpp index 7570165a3..b0c74a9e8 100644 --- a/zone/waypoints.cpp +++ b/zone/waypoints.cpp @@ -621,9 +621,9 @@ bool Mob::MakeNewPositionAndSendUpdate(float x, float y, float z, int speed, boo if (numsteps>1) { tar_vector=1.0f ; - m_TargetV.x = 1.25f * m_TargetV.x/(float)numsteps; - m_TargetV.y = 1.25f * m_TargetV.y/(float)numsteps; - m_TargetV.z = 1.25f *m_TargetV.z/(float)numsteps; + m_TargetV.x = m_TargetV.x/(float)numsteps; + m_TargetV.y = m_TargetV.y/(float)numsteps; + m_TargetV.z = m_TargetV.z/(float)numsteps; float new_x = m_Position.x + m_TargetV.x; float new_y = m_Position.y + m_TargetV.y; @@ -636,7 +636,7 @@ bool Mob::MakeNewPositionAndSendUpdate(float x, float y, float z, int speed, boo m_Position.y = new_y; m_Position.z = new_z; m_Position.w = CalculateHeadingToTarget(x, y); - tar_ndx = 22 - numsteps; + tar_ndx = 20 - numsteps; Log.Out(Logs::Detail, Logs::AI, "Next position2 (%.3f, %.3f, %.3f) (%d steps)", m_Position.x, m_Position.y, m_Position.z, numsteps); } else