MyISAM = table level locking, fast but not safe for multiple simultaneous writes
InnoDB = row level locking, slow, but is safe for multiple simultaneous writes
```
Features MyISAM InnoDB
Type Non-Transactional Transactional
Locking Table locking Row-level locking
Foreign keys No Yes
Table, index, data storage Three separate files Combined Tablespace
ACID No Yes
```
- Rebranding.
- Migrate to GitLab.
- Add support for database updates when using Docker.
- Give purpose to version.h (adjust minor version with client updates).
- Add an in-game `!ver` command.
- Remove references to AGPL.
- Fixed script logic (onMobRoam to onPath at spawn time, then recurring check to continue pathing in onMobRoam, with onPath sterting the patrol through nodes)
- Greatly reduced pathnodes while re-plotting several of them. These are not 100% accurate.
- nuked MOD_MOVE from mob_pool_mods.sql and set speed in onMobSpawn instead. I am assuming when wiki says 250% they just mean its movement rate is 250, as they use the terminology interchangeably in many places. If I am wrong, his movement would be 125 assuming a base speed of 50, or 100 assuming a base speed of 40.Honestly none of these feel right, and I suspect he's 150 or 200. But feelings aren't good practice :P
Pending fresh retail captures, an overhaul to the pathing methods, and a change to send the entity update packets more often, this is as good as he gets.
P.S. I also corrected spelling on some unrelated comments my spellchecker caught while I was looking for his mods.
The second argument of spawnMOB is *NOT* the depop timer from claim loss, it is a depop timer from spawn! To have depop from unclaimed, use MOBMOD_IDLE_DESPAWN
(If you ask me, this should be the other way around..But it is what it is.)
Original script author(s) did not make sure mob wasn't already up before deleting pop item and were using the wrong thing to try and make mob depop after party wipe.
This modifier will allow mobs to have 2hrs in their particular moveset in mob_skill.sql without being able to use it as a random tp move. If the mod is set to 1, each 2hr script will return 1 in the onMonSkillCheck function. This will allow all mobs with 2hrs that are unscripted to use them as normal.
When an ability is forced to be used by the script, it bypasses the onMobSkillCheck function, and just uses the skill. This is why I didn't need to add an additional check. Also, since the skill parameter is used to pass along the duration for some of these scripted 2hrs, I modified the check to use the param value if the mobmod is set and the param value is not 0. Otherwise, it defaults to the standard duration.
I looked through mob_skill.sql to see what mob families had 2hrs in their skillset, and determined whether they needed the new mobmod, or simply to have the standard enable 2hr mobmod set, and added them accordingly to mob_spawn_mods.sql. Cardians and Tyger had their 2hr skills removed as they weren't necessary - Cardians got them as normal mobmods for the specific NMs, while Tyger has no mention of having Mighty Strikes on any wiki, so I commented it out for now.
This also fixes the issue of mobs being unable to use specific 2hr abilities, such as Benediction and Hundred Fists.
Enabled the ability to spawn it via trade.
Gave it the ability to cast Burst II and Thundaga III instantly for up to a minute after using Plasma Charge.
Bumped up Phuabo movespeed to 70 as they are supposed to have enhanced movement speed.
-Added a check to see if either Kf'Ghrah is still alive to see if it should mimic a spell casted on it.
-Scripted the two Kf'Ghrah so they change form.
-Set the mods for Jailer of Fortitude and the two Kf'Ghrah in the database (2hr and 2hr multi for JoF, resistance/weakness for the Kf'Ghrah).
-Set Kf'Ghrah HP to 9k based on pixel guesstimation (seriously - http://i.imgur.com/VgTv45Z.png the difference being 1058 damage taken - source video: https://youtu.be/YYAIJGrb-rQ?t=280).
-Added Vorpal Blade to Jailer of Fortitude family; added Sickle Slash and Damnation Dive to Kf'Ghrah family.
-Fixed the name for Kf'Ghrah BLM in mob_pools.sql
-Gave Jailer of Fortitude the prismatic core look
-Moved the mods for Jailer of Fortitude and the two Kf'Ghrah to mob_spawn_mods.sql instead of their scripts.
-Changed Eo'Ghrah and Aw'Ghrah resistance based on core colour to be setMod instead of addMod.
-Moved the Core Meltdown chance to the mobskill, and gave it the 5% chance to actually happen. It was blowing up much more often before this.
Commented a chunk of mob list that isn't behaving properly. As a result, Sargas does not spawn. Not my error: happens on a clean copy trunk.
Also corrected a few format things, typos and comment alignment etc.
Had my parameters out of order when I "fixed" that en-drain effect...Its done properly now.
All as retail accurate as possible with data available on the web, including special behavior. Wiki reports for mob tp "spam" are inconsistent, mobs may in fact have very high storeTP instead of regain, or simply be coded to use the same move multiple times when they "go" but I cannot verify this.
Added Requiem to list of things mobs can be made immune to.
Increased MAX_DROPID.
Added duplicate spawn points to Calcabrina to eliminate an error, because somebody decided everything MUST have 50 spawn points even when they don't have that many in retail.
Fixed a naming issue with Selh'teus in SQL. Convention has always been to remove punctuation, having it there silently (no error message) broke an import for me. Made sure script renamed to match and used the other older existing entries for the NPC as a guide.