EQ2EMu/DB/updates/character_quest_rewards_aug6th_2022.sql
Emagi 1068849ef8 Fix #451 - basic pvp mitigation / mitigation integration
Fix #458 - fixed memory leaks in lua quest step location/zone loc functions and also languages memory cleanup

New Rules:
       RULE_INIT(R_PVP, PVPMitigationModByLevel, "25"); // gives a bonus to mitigation for PVP combat to offset the percentage level * mod (default 25)
       RULE_INIT(R_Combat, EffectiveMitigationCapLevel, "80"); // level multiplier for max effective cap, level * 80 (default)
       RULE_INIT(R_Combat, CalculatedMitigationCapLevel, "100"); // The cap to calculate your mitigation from is [level*100].
       RULE_INIT(R_Combat, MitigationLevelEffectivenessMax, "1.5"); // ratio victim level / attacker level for max effectiveness, when victim is higher level cap can reach 1.5
       RULE_INIT(R_Combat, MitigationLevelEffectivenessMin, ".5"); // ratio victim level / attacker level for min effectiveness
       RULE_INIT(R_Combat, MaxMitigationAllowed, ".75"); // percentage max mitigation allowed, eg. 75% of damage can be mitigated max in PVE
       RULE_INIT(R_Combat, MaxMitigationAllowedPVP, ".75"); // percentage max mitigation allowed, eg. 75% of damage can be mitigated max in PVP

InfoStruct now has two unsigned int16 values that offer mitigation percentage values in integer formats, eg 155 = 15.5% mitigation
mitigation_pve
mitigation_pvp

Updated formulas to use effective_level (mentor/actual level) vs just player level
* Dodge
* Block

Bug fix for crash in non existent quest being called for /modify quest advance
Bug fix for improperly trying to stack items that are not stackable (count of 0 items, stack count of 1)
Bug fix for inventory updates, typically with overflow slots and after deleting items from inventory (packet count needs to be updated with current size in PlayerItemList::serialize)

Collections/Rewards:
- Display is now one reward at a time
- Display of award now only allows the reward cash, status to be provided once
- Database persistence of unaccepted rewards cross-zone with two new tables
- Selectable collections now checks if either field provided in /accept_reward is a potential item id (this is likely due to a client versioning)
2022-08-06 18:22:29 -04:00

17 lines
No EOL
798 B
SQL

CREATE TABLE `character_quest_rewards` (
`char_id` int(10) unsigned NOT NULL default 0,
`quest_id` int(10) unsigned NOT NULL default 0,
`indexed` int(10) unsigned NOT NULL default 0,
`is_temporary` tinyint(3) unsigned NOT NULL default 0,
`is_collection` tinyint(3) unsigned NOT NULL default 0,
`has_displayed` tinyint(3) unsigned NOT NULL default 0,
`tmp_coin` bigint unsigned NOT NULL DEFAULT 0,
`tmp_status` int(10) unsigned NOT NULL default 0,
`description` text not null default ''
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `character_quest_temporary_rewards` (
`char_id` int(10) unsigned NOT NULL default 0,
`quest_id` int(10) unsigned NOT NULL default 0,
`item_id` int(10) unsigned NOT NULL default 0
) ENGINE=InnoDB DEFAULT CHARSET=latin1;