Furthering issue #124
- spawn_instance_data now tracks unique item id
- inside door widget now lists all items in the house, can move or pickup from UI
- Support for examine item by unique item id in house instance
In support of issue #124
- General housing fixes:
* Pay Upkeep button is now functional for upkeep cost (player status is not implemented yet)
* /house_ui is now functional in conjunction with this my houses list: update commands set handler=514 where command='house_ui';
- Outer door Widget fixes:
* My Houses list is now working (lists all player houses from all zones and lets you see upkeep due or not)
* Visitor panel will automatically populate when clicking on a door widget -- there are some circumstances that need to be addressed to clear it when accessing the house ui window outside of a door widget
- Character housing fixes:
* Character Profile->Housing is now populated, clicking Access will allow you to access the house UI
Support for object placement in player homes to support issue #124
We need to populate item_appearances with an equip_type to match the model type id for each item->spawn model
query updates required:
alter table spawn_location_placement add column instance_id int(10) unsigned not null default 0;
update commands set handler=512 where command='place_house_item';
create table spawn_instance_data(
spawn_id int(10) unsigned not null default 0,
spawn_location_id int(10) unsigned not null default 0,
pickup_item_id int(10) unsigned not null default 0
);
alter table spawn add column is_instanced_spawn tinyint(3) unsigned not null default 0;
Fix#120
Examples:
--AddPrimaryEntityCommand(Spawn,NPC,"",0,"") -- removes all the primary entity commands (including hail)
--AddPrimaryEntityCommand(Spawn,NPC,"hail",10000,"hail") -- adds the hail command back to the npc
--SendUpdateDefaultCommand(NPC,10000,"hail") -- returns the bubble option when you hover over the spawn/npc
--AddPrimaryEntityCommand(Spawn,NPC,"hail2",10000,"hail2","",0,0,1) -- 1 at the end sets this as a default DENY list, if Spawn is supplied and not null/not player then that player gets default allow access. Any other players must be added (either by calling the AddPrimaryEntityCommand or subsequently SetAccessToEntityCommand)
--SetAccessToEntityCommand(Spawn,NPC,"hail2",0) -- removes access to the just created hail2 for that player
--SetAccessToEntityCommand(Spawn,NPC,"hail2",1) -- adds access to hail2 for that Spawn (player)
--RemovePrimaryEntityCommand(NPC,"hail2") -- removes hail2 command for all players
Completes fix#115.
There may be a special damage packet? I am not seeing a viable one identified, the Message type will be used in place for now (hear from peak some messages for combat are sent this way anyway).
Requires SQL update:
update commands set handler=511 where command='knowledgewindow_sort';
- Support for ordering knowledge books by alphabetical, category, and level. There is some quirky sorting if you try sorting multiple times on category/level, to be addressed.
MaxLevel only checkbox is not implemented
patterns are not implemented
Addresses issue #115 - minus fervor needs its own work implemented.
AddWard(dmg,keepward,wardtype,damagetype,dmgabsorptionpct,damageabsorptionmaxhealthpct,redirectdmgpct,maxhitcount)
GetWardValue(Ward, "type")
types:
damageleft - amount of damage left ward can absorb
basedamage - original amount of damage ward can absorb in total
keepward - keep ward (don't remove spell from spawn) if it expires by absorbing all the damage
wardtype - limit damage type:
#define WARD_TYPE_ALL 0
#define WARD_TYPE_PHYSICAL 1
#define WARD_TYPE_MAGICAL 2
dmgabsorptionpct - max damage ward can absorb (eg 50% of 100 means 50 absorbed, 50 damage still hits)
dmgabsorptionmaxhealthpct - max damage ward can absorb (eg if 1000 health and 50%, any damage 500+ will not be absorbed)
Helps address issue #115
two new arguments added:
AddWard(dmg,keepWard,wardType,damageTypes,dmgAbsorptionPct,dmgAbsorptionMaxHealthPct)
dmgAbsorptionPct - max percentage of the damage that can be absorbed per hit (eg 100 damage, 50% absorption, 50 absorbed, 50 damage left)
dmgAbsorptionMaxHealthPct - Max absorption percentage against the targets total hp, eg 1000 hp 50% absorption, if the hit is 500 dmg or more, then no damage absorbed
Reverted movement manager to Entity, limited to just entity (NPC/Player)
spawn add timer moved to 1000 ms (or trigger on new spawn)
CombatProcess migrated to either movement check (100ms) or aggro check (every 2s) -- in other words not every 10ms.
Set a 1 ms sleep in the CombinePacketLoop