373 Commits

Author SHA1 Message Date
Uleat
a6148565e5 Fix for load_bots.sql using '\\' as a delimiter (Changed to '$$') 2015-01-12 15:53:33 -05:00
JJ
fc544e164c Update default npc_types values for previous NULL entries. 2014-12-31 20:53:12 -05:00
Trevius
47e98a4b62 Fixed Mercenaries so they can spawn again after table field renames from recent change. 2014-12-26 00:11:51 -06:00
Trevius
c48d2d9888 (RoF+) Added herosforgemodel field to the npc_types table. Not fully functional yet for NPCs (currently only displays helm correctly).
(RoF2) Updated item links from #npcstat command output.
2014-12-24 02:31:37 -06:00
Kinglykrab
1329a2f9ba Update npc_types table.
- d_meele_texture1 -> d_melee_texture1
- d_meele_texture2 -> d_melee_texture2
- Required SQL: 2014_12_24_npc_types_update.sql
2014-12-24 01:26:07 -05:00
Akkadius
3d8777084c db_update_manifest.txt fix 2014-12-15 21:10:14 -06:00
Trevius
00d145199b Corrected check in db_update_manifest.txt 2014-12-15 19:34:42 -06:00
Trevius
200027bf89 (RoF+) Implemented the 6th Augment Slot for Items.
Player Corpses now saved attuned settings for Items.
Renamed IsInstNoDrop() and SetInstNoDrop() to IsAttuned() and SetAttuned() respectively.
2014-12-15 17:55:23 -06:00
Trevius
250ad31038 Added required SQL. Without it, there will be item loss using the last commit! 2014-12-13 14:01:12 -06:00
Trevius
9056008342 (RoF+) Implemented Armor Ornamentation using Hero's Forge Armor Models. To use, create an ornamentation augment and set the herosforgemodel field in the items table.
(RoF+) Added command #heromodel (#hm for short) - Usage: #heromodel [hero forge model] [ [slot] ] (example: #heromodel 63)
2014-12-13 13:53:55 -06:00
Trevius
37951d09c7 (RoF+) Implemented Hero's Forge Armor Models for Items. To use, set herosforgemodel field in the item table to a model number such as 63 (for example). 2014-12-09 21:18:56 -06:00
KayenEQ
ba2aefc572 NPC Focus Effects Optional Rules SQL 2014-12-08 18:55:23 -05:00
Michael Cook (mackal)
804421095a Fix DB manifest 2014-12-03 16:55:43 -05:00
Trevius
24ea7a0d45 Mercenaries now spawn as the same Gender and Size of the Merchant they are purchased from.
Mercenaries now spawn with randomized facial features when purchased.
Setting a lastname for NPCs will now override any hard coded lastname (such as GM Trainers).
2014-12-01 19:54:01 -06:00
KayenEQ
191aa575f8 Projectiles (ie Arrows) fired from an archery attacks will do damage upon
actually hitting the target, instead of instantly when fired. Consistent
with live.

Optional SQL added to disable this.

Throwing will be implemented in a future update.
2014-11-27 22:12:13 -05:00
Michael Cook (mackal)
c465b8c8c3 Merge pull request #303 from af4t/master
Typo?
2014-11-26 21:06:41 -05:00
Uleat
cfa05587fc Added versioning for required ornament inventory sql 2014-11-26 21:05:43 -05:00
af4t
56a96dc817 Typo? 2014-11-26 19:55:46 -05:00
Michael Cook (mackal)
c5c778f575 Minor bug fixes 2014-11-26 18:29:07 -05:00
Natedog2012
daec5bde66 Item Transformation now works! 2014-11-26 17:23:04 -05:00
Trevius
09e13d0034 Spells that modify model size are now limited to 2 size adjustments from the base size. 2014-11-25 02:22:58 -06:00
Trevius
bee04c1b53 Merge branch 'master' of https://github.com/EQEmu/Server 2014-11-24 02:36:13 -06:00
Akkadius
4f38dba334 Upload of peq_aa_tables.sql for db management interface 2014-11-19 02:30:59 -06:00
Akkadius
67a9779d5b Slight fixes to upgrade logic - If you ran updates manually yourself, and you don't have a local version that matches the binary version yet. It will go through and get you up to date.
Manifest changes - Removed AA 'Required' updates. We will soon have an option to pull them down from PEQ in the prompt menu
2014-11-19 02:16:48 -06:00
Michael Cook (mackal)
d7e05de556 Merge pull request #292 from KayenEQ/Development
Updated swarm pet AI to be consistent with live.
2014-11-18 15:04:08 -05:00
Akkadius
251d4fa3e3 Implemented Automatic Database update and versioning system
Created database revision define, this is located in version.h in common #define CURRENT_BINARY_DATABASE_VERSION 9057
	- This revision define will need to be incremented each time a database update is made
	- Along with a revision define increment, you will need to update the db_update manifest located in:
		- https://raw.githubusercontent.com/EQEmu/Server/master/utils/sql/db_update_manifest.txt
		- An entry needs to be made at the bottom of the manifest, the entry is quite simple
		- Example: 9057|2014_11_13_spells_new_updates.sql|SHOW COLUMNS FROM `spells_new` LIKE 'disallow_sit'|empty|
			- This latest example is checking to see if the spells_new table contains the column 'disallow_sit', if its empty, the update needs to be ran
				- More examples of match types below:
		# Example: Version|Filename.sql|Query_to_Check_Condition_For_Needed_Update|match type|text to match
		#	0 = Database Version
		#	1 = Filename.sql
		#	2 = Query_to_Check_Condition_For_Needed_Update
		#	3 = Match Type - If condition from match type to Value 4 is true, update will flag for needing to be ran
		#		contains = If query results contains text from 4th value
		#		match = If query results matches text from 4th value
		#		missing = If query result is missing text from 4th value
		#		empty = If the query results in no results
		#		not_empty = If the query is not empty
		#	4 = Text to match
	- The manifest contains all database updates 'Required' to be made to the schema, and it will contain a working backport all the way back to SVN -
		currently it is tested and backported through the beginning of our Github repo
	- On world bootup or standalone run of db_update.pl, users will be prompted with a simple menu that we will expand upon later:

		============================================================
			   EQEmu: Automatic Database Upgrade Check
		============================================================
				Operating System is: MSWin32
				(Windows) MySQL is in system path
				Path = C:\Program Files\MariaDB 10.0\bin/mysql
		============================================================
				Binary Database Version: (9057)
				Local Database Version: (9057)

				Database up to Date: Continuing World Bootup...
		============================================================
		Retrieving latest database manifest...
        URL:    https://raw.githubusercontent.com/EQEmu/Server/master/utils/sql/db_update_manifest.txt
        Saved:  db_update/db_update_manifest.txt

Database Management Menu (Please Select):
        1) Backup Database - (Saves to Backups folder)
                Ideal to perform before performing updates
        2) Backup Database Compressed - (Saves to Backups folder)
                Ideal to perform before performing updates
        3) Check for pending Database updates
                Stages updates for automatic upgrade...
        0) Exit

Created db_update.pl, placed in utils/scripts folder, used for the automatic database update routine (Linux/Windows)
	- db_update.pl script created db_version table if not created, if old one is present it will remove it
Created db_dumper.pl, placed in utils/scripts folder, used for the automatic database update routine backups and standalone backups (Linux/Windows)
World will now check the db_update.pl script on bootup, if the db_update.pl script is not present, it will fetch it remotely before running -
	when db_update.pl is done running, world will continue with bootup
world.exe db_version - will report database binary version
2014-11-16 19:26:59 -06:00
Akkadius
e3e63efd68 SQL Source update fixes for newer DB versions 2014-11-16 18:32:13 -06:00
Akkadius
071367b6a9 db_update.pl update
db_update_manifest.txt update
2014_09_20_ban_messages.sql fix for non PEQ account tables missing expansion column
2014-11-16 18:17:04 -06:00
Akkadius
eee65b8c22 Special Abilities column fix for older updates and newer database engines for the automatic database updater.
db_update.pl changes
Manifest update
2014-11-16 17:48:50 -06:00
Akkadius
9ac79f1071 Manifest changes, initial db_update script upload. Source changes on its way. 2014-11-16 05:09:58 -06:00
Akkadius
0017951a74 Manifest update, removal of duplicate AA SQL update file 2014-11-16 00:10:09 -06:00
KayenEQ
71d72a02a9 Merge git://github.com/EQEmu/Server into Development 2014-11-15 23:41:22 -05:00
KayenEQ
94231b62a3 Updated swarm pet AI to be consistent with live.
*OLD AI: Swarm pet would lock on to target until target died, then depop as soon as target died.

*NEW AI: Swarm pet will attack cast on target, NOT perma locked it can change targets if attacked
by something else that generate more hate. When target dies swarm pet will follow owner, if owner is
attacked by something else the swarm pet will attack it (until duration timer despawns the pet).

Updated perl quest function: MakeTempPet(Tspell_id, name=nullptr, duration=0, target=nullptr, sticktarg=0)
Implemented perl quest function:  Mob::TypesTempPet(npctypesid, name=nullptr, duration=0, follow=0, target=nullptr, sticktarg=0)
Note: 'sticktarg' field will cause the swarm pet to use the OLD AI

Rule to use OLD AI only - default is disabled.
Optional SQL: utils/sql/git/optional/2014_11_15_SwarmPetTargetLock.sql
2014-11-15 23:01:26 -05:00
Akkadius
fe364a0798 Initial upload of db_update_manifest.txt 2014-11-15 21:53:33 -06:00
KayenEQ
cbc8e652b9 fix 2014-11-14 00:34:17 -05:00
KayenEQ
6c7a4edae3 Support for spell field to determine if a spell can be blocked or not.
Numerous other spell fields defined.

Required sql added for updating spells_new field definations.
2014-11-14 00:23:26 -05:00
JJ
d23608964e Implement new Live-like faction adjustment message through optional rule. 2014-11-09 23:54:01 -05:00
KimLS
275e1144ad Missed the actual sql 2014-11-08 15:22:54 -08:00
KimLS
481492cb59 Fixed SQL to be current date, also it will no longer rely on a field that we removed from the db [skip ci] 2014-10-30 19:38:13 -07:00
KayenEQ
57f8f61094 code optimization 2014-10-30 21:22:53 -04:00
KayenEQ
4cb6a5635e Merge git://github.com/EQEmu/Server into Development 2014-10-24 23:28:15 -04:00
Michael Cook (mackal)
7f85d8c8a2 Optional SQL to add AA Quick Draw 2014-10-24 01:06:07 -04:00
KayenEQ
bb91265b2b Allow npc_types field 'special_abilities' to be set as null in database.
Changed due to issues when trying to copy npcs or remove abilities from
the field directly in the dataabase.
2014-10-20 00:36:13 -04:00
Michael Cook (mackal)
a327c91bac Implement group mentoring while in raids (SoF+ only)
Note: This does not allow the raid leader to share raid leader XP
and since the raid leader doesn't gain group leadership, they can't
share that either.
2014-10-19 17:20:07 -04:00
Michael Cook (mackal)
e8eb774458 Implement group mentor, leadership exp sharing (SoF+ only)
Currently only works in normal groups
Some decisions: the EXP will be rounded in the favor of the group leader
No idea how live actually handles it.
2014-10-18 00:17:46 -04:00
Uleat
223d06645d Added clarification to 'drop_bots.sql' notes for cases of failed script 2014-10-17 21:04:29 -04:00
Uleat
2267881d52 Fixed BOTS auto-convert code and load/drop scripts. Added a sql for fixing an existing database that was auto-converted incorrectly (located in ../bots/deprecated) 2014-10-16 19:16:52 -04:00
Uleat
e824f81670 Merge branch 'master' of https://github.com/EQEmu/Server
Conflicts:
	changelog.txt
2014-10-15 19:50:35 -04:00
Uleat
69c0405004 Updated both load and drop sqls for bots..added a 'deprecated' load for pre-pp blob conversion databases..the auto-conversion code will catch this if the server
is updated to a newer version. (Had a really nice load script coded..but, the supported version of MySQL doesn't support 'TEMPORARY' procedures, nor commit commands from
'PREPARE(d)' statements... :( )
2014-10-15 07:49:39 -04:00
Michael Cook (mackal)
be0621de42 Partial implementation of leadership in raids
Currently working: stat bonuses and client side only effects
Currently not working: Mark NPC and others that need more server side work

Currently only tested on UF, Ti and 62 may work, but not tested
SoF, SoD, and RoF need packet translators, which are most likely the same as UF
2014-10-13 21:36:59 -04:00