Commit graph

51 commits

Author SHA1 Message Date
Emagi
13b1837623 Fix #384 group encounter mob loot
Adding a new column to the spawn table:
alter table spawn add column loot_drop_type int(10) unsigned not null default 0;

- loot_drop_type of 0 means spawn will when part of an encounter transfer its loot to the next alive spawn.
- loot_drop_type of 1 means the spawn will drop its own loot when it dies (like a named mob ideally).
- These changes do not change body drops which remain on the spawn/npc that dies, not transferred.
- loot and chest drops have been expanded beyond NPC's which means potential PVP support or even other types of spawns can drop loot/chests (probably expand loot_drop_type at a later time for more options in this area).  Need lua interface support (when player dies and all that) issue #436 opened for it.
- some additional mutex lock protections on spawn loot
- SetLootTier(loot_tier) and GetLootTier(), SetLootDropType(drop_type) and GetLootDropType() added to lua
2022-06-18 09:51:38 -04:00
Devn00b
6484e62cfb Added ability to disable gate from specific zones. Update SQL. 2022-06-16 17:50:39 -07:00
devn00b
f3526e14de Rd 1 of setting up bind location checks. Run SQL Update. 2022-06-14 23:39:04 -07:00
Devn00b
5383358146 Update to /mood 2022-05-17 10:10:08 -07:00
Devn00b
8abfa24537 SQL Update to go with f52e5f59db 2022-05-09 23:35:21 -07:00
Devn00b
4eca5cb32f SQL to go with f599ed8603 2022-05-07 20:59:45 -07:00
devn00b
46b57b0757 Adds a starting_languages table, and a rule (R_World, StartingZoneLanguages). 2022-04-23 05:11:20 +00:00
Image
244fe96dc5 Create spawntable_update_jul27_2021.sql 2021-07-27 23:01:53 -04:00
Image
25eb7d26d5 Create lootdrop_update_june23_2021.sql
SQL update for lootdrop required
2021-06-23 16:47:18 -04:00
Image
6c8e81eb3d DB Update for items 2021-04-03 23:48:40 -04:00
Image
d0f6bf9c0e DB update for mentor and unmentor commands 2021-04-01 00:11:10 -04:00
Image
852f035b45 Exe Updates 2021-03-21 08:25:37 -04:00
Image
a718618909 lua_file set to not include default value since mysql is picky 2021-03-10 08:37:23 -05:00
Image
fe70bba3b0 DB Updates 2021-03-06 17:33:10 -05:00
Image
03890860f3 DB Update 2021-02-28 07:57:41 -05:00
Image
4663fa36c9 Spell stacking restrictions integrated using linked_timer_id and a new field, type_group_spell_id
Fix #267 - spell stacking restrictions in place

min_class_skill_req is now pulled from the database
sint32 type_group_spell_id added to spells, can use this to distinguish spells of different classes not competing (eg. wards of templar/inquisitor dont stack)
GetSpellData and SetSpellData support min_class_skill_req and type_group_spell_id
2021-02-24 12:15:10 -05:00
Image
65e7222de5 Spirit Shards, Group and Solo EXP Debt (PVE/PVP), new lua functions, rules included
xp_debt in InfoStruct changed to float use SetInfoStructFloat and GetInfoStructFloat for it

SpawnScript file is now listed in /spawn details on the last page

LUA functions added:
bool GetRuleFlagBool(category, name)
float GetRuleFlagFloat(category, name)
int32 GetShardID(Spawn)
int32 GetShardCharID(Spawn)
int64 GetShardCreatedTimestamp(Spawn)
bool DeleteDBShardID(shardid) -- using GetShardID
int32 GetCharacterID(Spawn)
bool SetAccessToEntityCommandByCharID(Spawn, CharID, command_string, val) -- same as SetAccessToEntityCommand, but using a CharID instead of player

Rules added:

RULE_INIT(R_Combat, DeathExperienceDebt, "50.00"); // divide by 100, 50/100 = .5% debt per pve death
RULE_INIT(R_Combat, PVPDeathExperienceDebt, "25.00"); // divide by 100, 25/100 = .25% debt per pvp death
RULE_INIT(R_Combat, GroupExperienceDebt, "0"); // set to 1 means we will share debt between the group
RULE_INIT(R_Combat, ExperienceToDebt, "50.00"); // percentage of xp earned to debt vs obtained xp 50/100 = 50% to debt
RULE_INIT(R_Combat, ExperienceDebtRecoveryPercent, "5.00"); // recovery percentage per period of time, 5/100 = 5% recovered (so if .5% debt, .5*.05 = .025, .5-.025=.475% debt left)
RULE_INIT(R_Combat, ExperienceDebtRecoveryPeriod, "600"); // every 10 minutes (x*60 seconds) recover ExperienceDebtRecoveryPercent
RULE_INIT(R_Combat, EnableSpiritShards, "1");
RULE_INIT(R_Combat, SpiritShardSpawnScript, "SpawnScripts/Generic/SpiritShard.lua");
RULE_INIT(R_Combat, ShardDebtRecoveryPercent, "25.00"); // recovered percentage of debt upon obtainig shard, 25/100 means 25%.  If there is .5 DeathExperienceDebt, .5*25% = .125,  .5 - .125 = .375
2021-02-07 22:19:03 -05:00
Image
10b1a4e8d0 allow body drops with body_drop item db entry
Fix #244

alter table items add column body_drop tinyint(3) not null default '0';
2020-12-31 17:57:53 -05:00
Image
f85294d6a0 Support for /movecharacter
Fix #199
/movecharacter name zonename

    updates the characters table, moves to safe x,y,z,heading of zone
    character should be logged out, otherwise there is no point to using this command (just gets overwritten on char save).

- /castspell command updated for third argument, when set to '0' will cast as 'self' as it were the target.  eg /castspell 1234 1 0 (will cast spell id 1234 tier 1 and self cast it on your target)
2020-12-27 16:13:26 -05:00
Image
1ee2f8c4d0 Titles DB update to fix commands and increase available title options 2020-12-12 08:08:55 -05:00
Image
f76cee915e starting zone db updates 2020-11-29 22:51:29 -05:00
Image
b815c3dd9a Create reloadregionscripts_command_nov22_2020.sql
sql update for new /reload regionscripts command
2020-11-22 15:31:07 -05:00
LethalEncounter
339071500e added /waypoint command 2020-10-21 21:21:45 -04:00
LethalEncounter
65109b0d5d Glowpaths/waypoints added
Fixed spell error messages for DoF client
Fixed food/drinks for DoF client
Changed items to allow archetypes to use an item if all the classes in the archetype are allowed to use it
Added a ton of LUA functions to support various gameplay features
Loot icon only added to corpse if the corpse has loot
Class skills will now rise appropriately with level
Fixed various bugs
2020-10-21 20:12:06 -04:00
image
95bbe23192 SQL Updates for changes to Far Journey Freeport -- only supported for NEW characters after this update sourced 2020-09-21 07:14:23 -04:00
image
f374cb4dd4 items table update flags_16384 -> no_transmute, flags2_256 -> no_salvage 2020-08-22 18:05:55 -04:00
image
41716c32fa Group fixes/support - requires characters table update
Fix #66

- Fixed crashing of the world server when a client in a group zones
- Tracking of players group_id in the characters table (for both sanity and tracking cross zone)
- Clients zoning now properly 'rejoin' their group
- Mutex locks added to group code, this makes groups more reliably work across different zones as they run on different threads (some behavior for example was some players would not see chat and others would)
2020-08-21 23:38:15 -04:00
LethalEncounter
e64b718066 Merge branch 'master' of http://cutpon.com:3000/devn00b/EQ2EMu
# Conflicts:
#	EQ2/source/WorldServer/Spawn.cpp
#	server/EQ2World__Debug_x64.exe
#	server/SpawnStructs.xml
2020-07-26 00:36:20 -04:00
LethalEncounter
8e9afeded6 Fixed merchants and examine hang 2020-07-25 23:58:02 -04:00
Image
c34cf38c7d Added /findspawn searchstring/regex
Fix #159 allows us to more easily locate spawns by partial name and identify location / database ids
2020-07-25 14:18:01 -04:00
Image
745185ecde Fixed emote visual state ids for classic/DoF client
Fix #154 - emotes will work cross clients since visual state ids can vary
2020-07-25 08:24:05 -04:00
Image
b698e847e1 Merging LethalEncounter's support of classic (version 283) and dof (version 546)
Fix #145
2020-07-18 17:18:51 -04:00
Image
a7fe1df8f0 reload commands added
Fix #149 - /reload transporters
Fix #148 - /reload rules
2020-07-12 23:09:34 -04:00
Image
452ce7f157 add holiday_flag to spawn and transporters table
Fix #146
2020-07-09 22:49:06 -04:00
Image
a9f087b40c Cleanup logging behavior
Fix #8

- the multiple 'version' handling in LS is removed, now just GetVersion() as before.
- Console commands '1' and '2' removed (would change world status to all clients).  Version command added (was missing).
- Window Title updated to note version
- Some loose log messages (printfs) were made into proper "LOGIN" messages via log_config.xml
- Previously marked "World" messages that are also used as "Login" now properly categorized as such
- Removed DumpPacket on unknown opcodes (stop unnecessary data to console)
- Welcome banners on world/login updated
2020-06-26 22:09:16 -04:00
Image
905cc8b0ba Flight path support for transport maps issue #143
Fix #143

Adds flight_path_id, mount_id, mount_red_color, mount_green_color and mount_blue_color to transporters table

flight_path_id matches to StartAutoMount id or flight_paths id
mount_id matches to SetMount value
mount red/green/blue color are by default 255
2020-06-26 09:16:05 -04:00
Image
60d7b7527f spawn table merchant_min_level and merchant_max_level issue #67
Fix #67
Spawn table updated with merchant_min_level and merchant_max_level, extends to spawns, widgets, objects and signs.

Restricts the min level required and a max level cap on a player able to use the merchant (buy/sell/display)

/spawn set merchant_min_level x
/spawn set merchant_max_level x
2020-06-25 22:59:35 -04:00
Image
8c7da8e039 Support for expansion_flag, min and max client version for transporters table (zone and generic transport type)
Fix #141
2020-06-24 22:19:25 -04:00
Image
4f1005b647 History tab inside house now functioning for Paid Upkeep
Fixes issue #125
2020-06-19 22:45:35 -04:00
Image
a1f8fb9ed2 Deposit tab in the house supports deposits, track deposit history and escrow balance
In support of issue #125
- /house_deposit [??] [coin_amount] [status_amount] added
update query:
update commands set handler=518 where command='house_deposit';

- Escrow balance is tracked on the house
- Deposits are tracked for total and last deposit
- House upkeep payment now takes from escrow first
- character_house_deposits table added

CREATE TABLE `character_house_deposits` (
  `timestamp` int(10) unsigned NOT NULL DEFAULT 0,
  `house_id` int(10) unsigned NOT NULL DEFAULT 0,
  `instance_id` int(10) unsigned NOT NULL DEFAULT 0,
  `name` varchar(64) not null default '',
  `amount` bigint unsigned NOT NULL DEFAULT 0,
  `last_amount` bigint unsigned NOT NULL DEFAULT 0,
  `status` int(10) unsigned NOT NULL DEFAULT 0,
  `last_status` int(10) unsigned NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
2020-06-19 08:45:12 -04:00
Image
65934e9969 latest DB files are on zeklabs (they are getting changed constantly so git isn't accurate)
login: https://www.zeklabs.com/dl/eq2emulssql.rar
world: https://www.zeklabs.com/dl/eq2emudb.rar
2020-06-04 18:27:45 -04:00
Image
d361d5c8c1 ruins of varsoon door fixes 2020-03-27 12:13:46 -04:00
Image
9ecc05c5ce stormhold door updates 2020-03-27 12:13:39 -04:00
Image
aab0ba8883 Create stormhold_door_fixes.sql 2020-03-26 23:40:57 -04:00
Image
6a06b51c5d SHA512 Implementation **Must reset password on worldservers and accounts**
Fixes #10

LS database:
- md5 no longer used, now use sha2('password',512) instead for mysql/mariadb
- account table passwd expanded to 256 chars
- login_worldservers password field expanded to 256 chars

manual update:

\u eq2ls
alter table account modify column passwd varchar(256) not null default '';
alter table login_worldservers modify column password varchar(256) not null default '';
2020-03-18 23:15:10 -04:00
Image
d7a00658d1 Rest of Chest Traps and Disarm Chest Traps implementation
Fixes #24 - chest traps and the ability to disarm is implemented.  Can restrict by zone (or applicable to all zones using -1), min and max chest difficulties.

1 = Small Chest (no trigger)
2 =  Treasure Chest (trigger)
3 = Ornate Chest (trigger)
5 = Exquisite Chest (trigger)

DB/updates/chest_traps_tableandsamples.txt included - this will allow you to source in the chest_traps and some 'example' traps (not real ones just testing ones).

Disarm command also required for right click option on chest: insert into commands set type=0,command='disarm',subcommand='',handler=510,required_status=0;
2020-03-16 13:23:38 -04:00
Gogs
b3231b8a35 Update to DB Dump 2020-03-12 13:13:17 -07:00
Image
1e168f0983 Update world_db.zip
world db updated to latest
2020-03-08 00:01:16 -05:00
Image
6c2f0c8f48 Update world_db.zip
Includes new table for characterProperties

DROP TABLE IF EXISTS `charactersProperties`;
CREATE TABLE `charactersProperties` (
  `charid` int(10) unsigned NOT NULL DEFAULT 0,
  `propname` varchar(64) NOT NULL DEFAULT '',
  `propvalue` varchar(64) NOT NULL DEFAULT ''
) ENGINE=InnoDB;
2020-03-06 00:01:13 -05:00
Image
8d962dede2 Character visual race available in character select
Fixes #11 -- additional analysis will be needed for equipment / potentially other features of the model
2020-03-05 00:18:57 -05:00