Commit graph

1523 commits

Author SHA1 Message Date
Emagi
5b0f52641c Trade check for Player cast 2022-06-30 20:20:43 -04:00
Emagi
074a3182c3 Merge branch 'master' of https://git.eq2emu.com/devn00b/EQ2EMu 2022-06-30 20:08:52 -04:00
Emagi
682e023635 Complete Fix #418 item flags
- Temporary item flag support (removes item 30 minutes from camp out)
Rule R_Player, TemporaryItemLogoutTime added for seconds to deletion of item
- Heirloom item flag support added (limited to group support)
Rule R_Player, HeirloomItemShareExpiration added for seconds to inability to trade item between prior group members(tbd raid)

SQL Updates:
CREATE TABLE `character_items_group_members` (
  `unique_id` int(10) unsigned NOT NULL default 0,
  `character_id` int(10) unsigned NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
alter table character_items add column last_saved timestamp default current_timestamp on update current_timestamp;
alter table character_items add column created timestamp default current_timestamp;
2022-06-30 20:08:25 -04:00
devn00b
9ac7cd817e EQ2World EXE Update 2022-06-29 07:09:39 +00:00
devn00b
6bc397ec60 Fixed missing return on EQ2Emu_lua_HasCoin. 2022-06-29 06:59:01 +00:00
Emagi
7ac0861c98 missed a end ) for one of the starting language queries 2022-06-28 19:43:49 -04:00
Emagi
4b322d60ae - ZoneServer::PlayAnimation Fix #395 - spawn id 0 check to avoid bad packets, also client versioning methodology added, no longer creating a packet for each client
- SpellProcess::DeleteCasterSpell now unshades/ungreys a spell that was in maintained effects when cancelled.  This is for Fix #383 in relation to pet spells, but extends to any endless duration maintained spells.
- Fix #315 Implemented /cancel_effect [spell_id] - need DB query update: update commands set handler=530 where command='cancel_effect';
- Spell bonuses should properly be removed when spell is removed from a entity/spawn (char sheet stats should update and bonuses re-calculated)
- Sanity checks on /cancel_maintained so you cannot overflow the array and crash the server
- Resisted spells should no longer add control effects or do other spell like impacts when the cast is complete, this is based on the SpellDamage/Attack (that resists, then additional effects will be ignored in the cast function)
- Root, stun and mesmerize now hold the NPC in place
- We purge their previous movement plans to avoid wandering pointlessly when an NPC is stunned, mesmerized or rooted
- starting_languages update
	R_World StartingZoneLanguages
	Value 0: Does a match specific to race id (ignores starting_zone in the SQL query, so it consumes all) and inserts the languages applicable
	Value 1: Looks for all matching to starting_city, which is based on the client see starting_zones for examples.  Also wildcard for starting city of 0 and race id match.
update starting_languages set race=2 where race=3 and language_id=3; #dwarf (2) language id of 3 is not erudite race (3)
2022-06-28 19:24:00 -04:00
Emagi
ccfb3df8ca match local copy? 2022-06-27 16:24:54 -04:00
Emagi
e329a1cf79 More comments, slight cleanup 2022-06-27 06:47:38 -04:00
Emagi
b105a4058a - start_alignment added to starting_zones to enforce an alignment based on race/class/choice
- characters now has an alignment column to distinguish between deity/alignment (DoF we call alignment deity)
- added new rule R_World, EnforceRacialAlignment default is 1, (true).  When 0, will allow you to bypass the hard coded race restrictions in the code for good/evil/neutral
- Captain Varlos script updated to use GetAlignment and not GetDeity for the send off to the zone after far journey
- DB Updates:
alter table starting_zones add column start_alignment tinyint(3) signed not null default 0;
update starting_zones set start_alignment = 1 where choice = 1 or choice = 4 or choice = 32;
alter table characters add column alignment tinyint(3) signed not null default 0;
2022-06-26 18:30:34 -04:00
Devn00b
e6f15f0f13 Started implementation on PVP faction checks (IE Qeynos Players cannot inspect Freport Players currently). Implemented Alignment check based on Bind Location. 2022-06-25 22:56:53 -07:00
Emagi
c94a043cdc Work on Issue #418 for item flags (update #2)
Item Flags Implemented/Updated:
- No Repair implemented
- Evil Only, Good Only implemented
- No Value updated/implemented
- Fixed house items being removed unless properly picked up by player
- Broken items can no longer be used
- Cannot swap equipped items in combat
- Additional indestructible checks
Group member checks to avoid unexpected crashes
2022-06-21 22:45:56 -04:00
Emagi
c799cdeb5a Fixed AddControlEffect crash on lua_interface->LogError when target is null
Work on Issue #418 for item flags (not fully completed)
Item Flags Implemented:
- No Destroy
- No Zone
- Lore
- Lore Equip
- Stack Lore
2022-06-20 19:24:46 -04:00
devn00b
0ef32131c6 Fixed Inspect window stats Mitigation, and Avoidance % 2022-06-20 20:00:29 +00:00
devn00b
52d5edb9c9 Windows installer EXE Update 2022-06-20 04:14:49 +00:00
devn00b
2ea3075fe5 Added SetCanGate to LuaInterface.cpp 2022-06-19 22:48:16 +00:00
devn00b
01fed357d2 EQ2World EXE Update 2022-06-19 22:22:21 +00:00
root
efcf967100 Gate to bind Enabled. Added missing Lua Functions ( GetCanGate(Player)/SetCanGate(Player,Val) ). 2022-06-19 11:51:30 -07:00
Emagi
2f541603fd Fix #391 - no crash on eq2world shutdown
Fixed some misc. memory leaks in client/player
removed unneeded debug message
Fixed zone shutdown timers and the incoming clients count
2022-06-18 21:54:59 -04:00
devn00b
d7caa38cd3 Cleanup of new gate code. Added messages when a gate fails due to location disabled. Modified the call to home lua to work as expected. 2022-06-18 12:31:13 -07:00
devn00b
c095bd9b2d Merge branch 'master' of http://git.eq2emu.com:3000/devn00b/EQ2EMu 2022-06-18 10:36:21 -07:00
devn00b
9d9a5ec294 Fixes to messages to client from gate/bind. Messages are now private and match live..mostly. 2022-06-18 10:36:11 -07:00
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
688104e592 EQ2World EXE Update 2022-06-17 18:23:32 -07:00
devn00b
c8d771f481 Added Popup Messages to RepairItems and RepairAllItems. Clearing 2 TODO's. 2022-06-17 18:10:59 -07:00
devn00b
205db3bc8f Fix for issue #427. Can no longer mentor self in a group. 2022-06-17 10:33:22 -07:00
devn00b
4fba03b55f EQ2World EXE Update 2022-06-17 03:45:20 +00:00
devn00b
c5be89724e Code cleanup on new gate function. 2022-06-17 03:44:35 +00:00
Devn00b
51c07aa42b Added message for when gate fails without a bind point set. 2022-06-16 18:06:56 -07:00
Devn00b
6484e62cfb Added ability to disable gate from specific zones. Update SQL. 2022-06-16 17:50:39 -07:00
Devn00b
352024d59a Fix for incorrect mail received message. Fixes issue #435 2022-06-16 14:51:44 -07:00
devn00b
96c8cc73a5 EQ2World EXE Update 2022-06-15 16:48:27 -07:00
devn00b
5672520310 Code cleanup. Set Recall Point now checks if bind location is permitted (city zones), and cancells on combat 2022-06-15 12:57:25 -07:00
Emagi
8a6753febb In game support for adding or updating race_types database, Use /spawn set race_type race_id category subcategory model_name -- the category, subcategory and model_name are optional fields. /spawn details updated to include the race_types fields on the second page 2022-06-15 11:06:35 -04:00
devn00b
f3526e14de Rd 1 of setting up bind location checks. Run SQL Update. 2022-06-14 23:39:04 -07:00
devn00b
38fbba1845 EQ2World EXE Update 2022-06-14 14:04:56 -07:00
Emagi
5be3aa11ef fix db query typo 2022-06-12 11:15:15 -04:00
Emagi
3d6b62d8be Merge branch 'master' of https://git.eq2emu.com/devn00b/EQ2EMu 2022-06-12 11:13:06 -04:00
Emagi
1209657776 Support for attack_type and other combat parameters in the infostruct, Fix #415 2022-06-12 11:12:37 -04:00
devn00b
2471b605f0 EQ2World EXE update 2022-06-11 22:57:09 +00:00
Emagi
6f9730c3fa removing loose quest pointer for queue step updates 2022-06-11 13:17:45 -04:00
Emagi
4271ea987c Fix #434 in relation to quest rewards causing crashes 2022-06-11 12:03:32 -04:00
Devn00b
c4c7175a7a EXE Update for LS 2022-06-05 20:04:14 -07:00
Devn00b
6a7d499cec Remove debug code from LoginDatabase.cpp 2022-06-05 19:51:21 -07:00
devn00b
b5bf1832bc Merge branch 'master' of https://git.eq2emu.com/devn00b/EQ2EMu 2022-06-05 14:24:31 -07:00
devn00b
57027b5d48 1st round of backporting in LS features. Equip Appearance Enabled. Note: Bug exists see issue #433. 2022-06-05 14:23:15 -07:00
devn00b
6b9f370148 Update lua scripts from content team 2022-06-05 13:50:31 -07:00
devn00b
eff4ec591c EXE Updates. 2022-06-05 19:37:36 +00:00
Devn00b
38a30869ee Loot Tier fixes (from image) 2022-06-04 13:28:22 -07:00
Devn00b
be77540b74 Fixed unknown for max characters. Increased max characters from 10 to 30. 2022-05-20 12:29:40 -07:00