Commit graph

631 commits

Author SHA1 Message Date
Image
22930a7daa heading in lua movement loop add 2021-05-05 13:28:49 -04:00
Image
0914885ab8 Waypoint update gap resolved with movement 2021-05-02 15:43:55 -04:00
Image
2da146dd3e Update RaceTypesDB.cpp
Should fix 
2021-05-01 08:33:48 -04:00
Image
44e7b9e14d Revert "test serer consideration of warp gap"
This reverts commit 921258a901.
2021-04-25 16:05:50 -04:00
Image
921258a901 test serer consideration of warp gap 2021-04-25 15:42:38 -04:00
Image
cf411b949c quick fix 2021-04-20 18:13:47 -04:00
Image
52d38ca175 found another deadlock location, AddTimer is now restricted to 10ms or higher 2021-04-18 06:52:22 -04:00
Image
e2c53de1d5 deadlock fix on RotateTo 2021-04-17 23:47:38 -04:00
Image
44c35d3747 boat deboard function (better naming convention), disable cooldown when off boat 2021-04-17 23:47:22 -04:00
Image
99d37e6d7f Update EQStream.cpp 2021-04-17 22:20:28 -04:00
Image
4d7ca1d93b remove debug code 2021-04-17 21:50:01 -04:00
Image
712aa12a94 Rogue packet WIP (lets see if this stops crashing) 2021-04-17 21:41:15 -04:00
Image
096d3d5323 More work for boats, not done yet 2021-04-17 21:40:42 -04:00
Image
dfb54ed1da Add player_loadcomplete lua function for Zone Script in DoneLoadingUIResources 2021-04-14 12:30:39 -04:00
Image
f592c1aa90 Starting code for boats, will get cleaned up more soon
IsTransportSpawn(Spawn)
GetSpawnByRailID(railid)
GetSpawnListByRailID(railid)
2021-04-10 16:14:07 -04:00
Image
d482157ba2 mentor text color (purple) 2021-04-10 16:10:21 -04:00
Image
cf540d1201 fix /flag to show correct admin status 2021-04-10 16:10:04 -04:00
Image
e61443e195 fix effective level to match new level when you gain a level, unless mentored 2021-04-10 16:09:53 -04:00
Image
1bd2cbf596 Code updates for auriga
RULE_INIT(R_Player, MentorItemDecayRate, ".05"); // 5% per level lost when mentoring
mentoring now lowers the item stats although display needs work to display lowered stat value (higher stat value)

reordering some of the mutex locks for info/pos/vis to avoid deadlocking (still a few more to address)
Added StopMovement(Spawn) for NPCs in a movement loop, purges movement loop and stops npc at position
indestructable items supported
appearance items limited to appearance only

makeadmin charname status added to console commands (windows)

fixed "used" to allow removal of an item without crashing the world.  The function can return a value less than 0 to omit from calling RemoveItem or decrementing the charges by code.  Having no return (0) or any return larger than 0 means we will try to code decrement the item if it is still there.
2021-04-08 08:25:27 -04:00
Image
0e9c696de6 spell crash fix when spell can't be found (happened on drink but we dont know what spell) 2021-04-08 08:20:45 -04:00
Image
5e623860d4 Additional tradeskill/craft crash fixes, item db rework, source in new items db
First stage of work in issue 
2021-04-03 23:48:29 -04:00
Image
6003016c5b Fix tradeskill crash with item id 0 in recipe components 2021-04-02 17:31:20 -04:00
Image
965356a69f Fix windows dead locking 2021-04-02 17:31:00 -04:00
Image
261c2b75be number of spell casting/display behavior fixes and prototype mentor option for group members
Start of work for /mentor and /unmentor issue  - set effective level based on targeted group member, right clicking them and mentoring, after you can stop mentoring.  The base stats and resistance stats revert to the lower level at this time.

spell fixes:

- secondary targets working for casting heal spells, recast is more or not working correctly now..
- overrides existing spell when there is a duration of time or trigger count to the spell
- doesnt prematurely show the icons available (eg. you cancel a spell then it pops up and you cant reuse or it starts a recast timer when it shouldnt)
- doesnt reset the recast timer (sometimes giving double the time to cast)
- unlocking a spell when all spells locked, no longer occurs
2021-04-01 00:10:04 -04:00
Image
f4ca20966f 0.9.2 auriga version set 2021-04-01 00:06:45 -04:00
Image
0737a0fc5e one of those days.. 2021-03-30 10:36:36 -04:00
Image
a5c66e703a Update LoginServer.cpp 2021-03-30 08:50:58 -04:00
Image
ff773401f0 Forgot one change 2021-03-30 08:44:14 -04:00
Image
ca26654639 low level network protection in TCP layer, fixed internal world address to properly accept local vs remote connections when set 2021-03-30 08:40:54 -04:00
Image
e0f8d03773 some broker display fixes / charge and use fixes
Fix  - fix charge and use to correctly decrement in inventory and/or remove item.  Should never call RemoveItem or DeleteItem in LUA use of an Item.

    Items with a charge count (not a physical stack of items) will now count down their charges to 0 and display 'This item is out of charges.'
    Items with an actual stack amount (eg. stack count is larger than 1) will remove an item with each 'use' down to 0 which removes the final item in the stack.
    display_charges is no longer required for the "use" function to be called (before we were decrementing display charges when the "use" function was called, which was always after 1). Now rely on the item->details.count

Fix  - broker display issues (some not all)

    tier 0 items do not display
    2h item types do not work
    Max charges when you buy an item with a charge count
    Additional missing items seen on broker: Gust of insight... min_skill and max_skill is a range of 0-6 from client->server, all the way back to classic. Classic UI has it, obselete is 0, 6 goes to unusable (red) for the player. The items skill items to not match this range, they are actual skill values.
    1h item types show both 1h/2h weapons (now 1h and 2h are separated)
2021-03-28 21:36:03 -04:00
Image
1889c95dd1 using spell_type not target_type for the new group designation when 'single' cast functions are used
Fix 

 alter table spells modify column spell_type enum('Unset', 'DD', 'DoT', 'Heal', 'HoT-Ward', 'Debuff', 'Buff', 'CombatBuff', 'Taunt', 'Detaunt', 'Rez', 'Cure', 'Food', 'Drink', 'Root', 'Snare', 'GroupTarget') NOT NULL default 'Unset';

update spells set target_type=2, spell_type='GroupTarget' where name='Divine Awakening';
2021-03-25 12:23:11 -04:00
Image
bbef23f125 Fix login server delay in accepting another login attempt
Fix 
2021-03-25 09:15:22 -04:00
Image
4c9197f54e Broke fixes, 1h/2h equip fixes, swapping equip works, more crash fixes
Partial Address Issue  - tier 0 items display, 2h now display

Fix  - can't equip a 1h while 2h is equipped.  Swapping equipment slots now works for both combat/appearance equip.

Fix  - when scribing, new tier spell will display on hover over of spellbook or hotbar

Fixed a crash with spell conflict doing double delete on lua spell

Fix  - addressed divine awakening, via new target_type (10) SPELL_TARGET_ALLGROUPTARGETS - this will call cast for each player instead of just the direct target
righteousness and decree now supported as a group target AE

Better connection closure from client to world on camping/zoning out
2021-03-25 09:14:35 -04:00
Image
a972bf9325 This is to capture a rare one off event 2021-03-25 09:08:37 -04:00
Image
2a78eec110 remove bad release of the client list, restored dead spawn to the chest
found the real bug / crash with a fresh start
2021-03-24 06:53:14 -04:00
Image
e6ca3c5253 AddDeadSpawn being called by chests was causing a crash when clients /camp 2021-03-23 23:18:24 -04:00
Image
5656ad22ce Disabling buy item supported, few crash fixes
Fix  - buy from merchant can have the 'buy' button disabled
function buy_display_flags(Item, Spawn)
    return 128
end

charactersProperties -> character_properties

CREATE TABLE `character_properties` (
  `charid` int(10) unsigned NOT NULL DEFAULT 0,
  `propname` varchar(64) NOT NULL DEFAULT '',
  `propvalue` varchar(64) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
drop table charactersProperties;
drop table charactersproperties;

- some misc crash fixes, sql escape issue, etc.
2021-03-23 22:08:29 -04:00
Image
82ccc26642 Item/Merchant/Scribing/Inventory Updates
Fix  - item_description function which returns a string added to ItemScripts.  Can allow setting of specialized red text, eg "You already know this language.".  Completes 231 with the other ItemScripts support (item_difficulty) and scribing support
which includes a new rule:
RULE_INIT(R_Spells, RequirePreviousTierScribe, "0"); // requires step up apprentice -> apprentice (handcrafted?) -> journeyman (handcrafted?) -> adept -> expert -> master

Fix  - check in main equipment (0) slots for bags only which addresses the appearance overriding bags issue.
2021-03-21 08:18:38 -04:00
Image
9f9d61fbe4 Login Server updates
- DoF and classic clients will auto login after char creation instead of getting stuck at character select
- model_color and soga_model_color properly tracked on login server
- Removed ServerOP_WorldListUpdate code (revisit at a later time)
- Login account flag fix, sets Veteran Bonus under 'Select Character' yellow (vs greyed out), adventure/tradeskill bonus 200%
- Fixed disabled flag in login_worldservers not working
- Added login_bannedips table
- Both are checked periodically against the database with logged in worlds
2021-03-21 08:12:30 -04:00
Image
ad58cd85ec Appearance equipment, content feature requests, fixed ability to delete mail and see item icons in the main list if stack is 0
Fix  - appearance inventory saved to database, can equip and overrides normal equipment.  Also fixed appearance properly updating (it wasn't sent other than in zone in primarily)

Fix  - rule to disable house alignment requirements
RULE_INIT(R_Player, DisableHouseAlignmentRequirement, "1");

Fix  - defines for root/snare as spell types
#define SPELL_TYPE_ROOT         15
#define SPELL_TYPE_SNARE        16

Fix  - loot_global needs a lua_script to access the ZoneScript and call function loot_criteria(Spawn)

loot_criteria_zone(Zone, Spawn, LootTableID, MinLevel, MaxLevel)
loot_criteria_racial(Zone, Spawn, LootTableID, MinLevel, MaxLevel)
loot_criteria_level(Zone, Spawn, LootTableID, MinLevel, MaxLevel)

    Spawn: the target of the loot table to be added
    LootTableID: the current loot table id we are checking to add to the Spawn
    MinLevel/MaxLevel: Criteria from the global loot table that is handled via code (eg. always add if minlevel/maxlevel is 0, otherwise it is based on the Spawn's level)

    return value of 0 will skip the provided LootTableID(int32) despite the database MinLevel/MaxLevel checks
    return value of 1 will always include the loot table id on the Spawn list, even overriding if the min/max level check fails in the code

Issue  partially addressed, added support to override item_difficulty in the item script based on the arrow color (3 is white):
function item_difficulty(Item, Spawn)
	return 3
end
2021-03-18 09:26:05 -04:00
Image
af892c5609 Fix sites to have HTTPS for git/wiki links 2021-03-18 09:21:47 -04:00
Image
88084390bb PDB and EXE updates for Movement Loop Generator 2021-03-16 16:12:11 -04:00
Image
1647348d1a Update Form1.Designer.cs 2021-03-16 16:11:56 -04:00
Image
3a63ab0f7c Changed movement loop editor from streamreader to filestream so that logs can be opened while game is running 2021-03-16 16:11:46 -04:00
Image
0c338ee6ff working mail listing, item retrieval, send mail (with items)
Fix 
2021-03-14 17:28:28 -04:00
Image
b1a4dffb40 Update region_map_v1.cpp 2021-03-14 16:56:46 -04:00
Image
ddeb504f89 Update EQStream.cpp 2021-03-14 16:56:42 -04:00
Image
0b1948218c Fixed a packet struct bug with item types having a set state of false/true to support IF conditions in packet struct xml
- Helps fix Tradeskills and Mail Items
2021-03-14 16:55:12 -04:00
Image
22ef3e0557 Complete persisting of buff spells cross zone
Complete Fix 

- Other players pets (grouped) will persist buffs, non-grouped direct target also persist
- Save spell state added to persist beyond the self player since targets/spells can evolve rapidly with other players/npc/pets in the mix, resulted in two new rules:
	RULE_INIT(R_Spells, PlayerSpellSaveStateWaitInterval, "100"); // time in milliseconds we wait before performing a save when the spell save trigger is activated, allows additional actions to take place until the cap is hit
	RULE_INIT(R_Spells, PlayerSpellSaveStateCap, "1000"); // sets a maximum wait time before we queue a spell state save to the DB, given a lot can go on in a short period with players especially in combat, maybe good to have this at a higher interval.
2021-03-13 09:52:00 -05:00
Image
6a95d4657f Restored spell queueing support
Fix 
2021-03-10 22:28:39 -05:00