Commit Graph

659 Commits

Author SHA1 Message Date
Filip Maj
3066efeebb Cleanup the messy imports. 2019-05-06 13:39:24 -04:00
Filip Maj
10017b7e8c Cleaned up some warnings. 2019-05-04 20:53:08 -04:00
Filip Maj
1e4a1cf263 Merge branch 'ai-open' into develop
# Conflicts:
#	FFXIVClassic Lobby Server/Database.cs
#	FFXIVClassic Map Server/Database.cs
#	FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
#	FFXIVClassic Map Server/actors/chara/player/Inventory.cs
#	FFXIVClassic Map Server/actors/chara/player/Player.cs
#	FFXIVClassic Map Server/dataobjects/Session.cs
#	FFXIVClassic World Server/Server.cs
2019-05-04 20:13:29 -04:00
Filip Maj
080f9ea23d Fixed bug where when a mob was insta-killed they would disappear (not die). More renames for action -> result. Reverted result packet unknown from 0x801 to 0x810. Added hitnum. Fixed isolation. 2019-05-04 18:53:00 -04:00
Filip Maj
e236e1d207 Renamed BattleActionPacket -> CommandResultPacket as it better defines what these packets do. A command fires -> here is what happened due to it. 2019-01-29 00:02:09 -05:00
Joseph Mikel Keller
1b69f5fc87 PacketProcessor.cs - Add in 0x0135 (Achievement Progress Request) 2018-10-25 04:39:00 +00:00
Joseph Mikel Keller
e4956edf50 AchievementProgressRequestPacket.cs- Create this 2018-10-25 04:37:41 +00:00
Joseph Mikel Keller
384d134f1d Database.cs - Add GetAchievementProgress 2018-10-25 04:35:12 +00:00
Joseph Mikel Keller
5bdc760a5f Database.cs - GetLatestAchievements - Change SQL query so it doesn't return incomplete achievements 2018-10-24 05:16:17 +00:00
Filip Maj
7c7742fb35 Update substate and implemented it into Character. Cleaned up more code mix. 2018-10-20 13:15:58 -04:00
Filip Maj
c55145d715 Added substate modifications to characters. 2018-10-20 13:02:14 -04:00
Filip Maj
07c467e1af Fixed JSON lib being broken from downgrade. 2018-10-20 12:16:34 -04:00
Filip Maj
bec0cae0eb Removed more dapper code and unsupported syntax. 2018-10-20 12:08:47 -04:00
Filip Maj
5bb3cc3b4e Cleaned up unused nuget packages. Downgraded JSON lib as the latest one has dependencies. Cleaned up some DB code using dapper (since it's deleted). 2018-10-08 15:31:41 -04:00
Filip Maj
d614ea6968 Rewrote code written in the new C# format to use older functions. Let's keep compatibility with older VS but also keep the code style consistent (already got enough inconsistencies). 2018-10-08 15:11:43 -04:00
yogurt
1579aa3d6a Bug fixes
Fixed LookAt resetting rotation when looking at self
Fixed BattleNpcs running to their target's exact position instead of the closest position they can attack from
2018-07-03 04:46:34 -05:00
yogurt
cf30eef39e AoE rewrite and bug fixes
Rewrote aoe checks for cone and line aoes and added minimum distance values
Added height checks for commands
Fixed combo effects repeating for every target hit by AoE attacks
Fixed teleport sometimes not raising (I think)
Fixed gear checks in some command scripts
2018-07-02 00:45:06 -05:00
yogurt
ace4dfe58f Small fixes
Fixed final message for multi-hit attacks.
Fixed self targeting for commands
Made it so player.lua doesn't skip over home points setting, just the quest setitng.
Began adding knockback effect handling
2018-06-25 18:20:20 -05:00
yogurt
79f2edf406 Bug fixes
Fixed some bugs with targeting flags
Fixed action equip bug for real this time
Fixed server crash when commands hit no targets
2018-05-31 11:25:55 -05:00
yogurt
0f7e6f359d Added class-specific exp messages for non-english languages
Fixed status effect loss message not being sent
Fixed party bug where people in the same party were considered to be in different parties
2018-05-28 16:28:44 -05:00
yogurt
d23a84d6cf Undid change that broke parties 2018-05-27 23:02:08 -05:00
yogurt
8de606051a More bug fixes
Fixed loading status effects on login
Fixed barrage issues
Added untraited version of Protect
Added sanguine rite
2018-05-27 18:07:52 -05:00
yogurt
a7e59fa7e4 Merge branch 'ai-open' of https://bitbucket.org/takhlaq/ffxiv-classic-server into ai-open 2018-05-27 15:17:00 -05:00
yogurt
922fb80f3d Bug fixes.
Added stoneskin effect to database.
Fixed Rampage not working
Fixed bug where abilities didn't equip correctly when leveling up
Added a temporary fix for returning while dead
Added handling for abilities that don't have an actiontype set, like elusive jump
2018-05-27 14:51:39 -05:00
yogurt
8c9f841d63 Merged in skeletonhorn/ffxiv-classic-server-ai-fork/ai-open (pull request #5)
Combat Changes
2018-04-19 00:49:46 +00:00
yogurt
c5ce2ec771 Combat additions
Added formulas for base EXP gain and chain experience
Added basic scripts for most player abilities and effects
Added stat gains for some abilities
Changed status flags
Fixed bug with player death
Fixed bug where auto attacks didnt work when not locked on
Added traits
2018-04-18 16:06:41 -05:00
Filip Maj
1d3dd99414 Got linkshell creation working. 2018-04-10 01:07:11 -04:00
Filip Maj
880b1f3066 Fixed the crash when class change is to a level 0 class. Now autosets to level 1. 2018-04-07 15:34:11 -04:00
Filip Maj
0b13b590a0 Renamed Inventory class to ItemPackage to reflect client naming. 2018-04-07 14:48:43 -04:00
Filip Maj
29e3f61b6b Fixed my lua fuckery some more. 2018-04-07 14:24:33 -04:00
Filip Maj
bbd4fcef3b Reversed all my lua fuckery. 2018-04-07 14:04:22 -04:00
Filip Maj
13727caf14 Database changes added. 2018-04-07 13:58:31 -04:00
Filip Maj
aba748cb5d Map Server Packet fix. 2018-04-07 13:50:43 -04:00
Filip Maj
611140568e Fixed broken KickEvent. Cleaned up Retainers to use the ItemPacakageUpdate packet. Fixed db references for retainer inventory. 2018-04-07 13:47:31 -04:00
Filip Maj
08dfd22bfa Removed the inventory lock stuff. 2018-04-07 13:47:09 -04:00
Filip Maj
7e2246e8d8 If kickEvent is fired, the current event is popped. Commited Inventory changes. 2018-04-07 13:46:37 -04:00
Filip Maj
1e9d61c838 Fixed the refresh not sending inv change packets. 2018-04-07 13:45:05 -04:00
yogurt
b8d6a943aa Combat changes and bug fixes
Added the combo and proc systems
Added scripts for most weaponskill and spells as well as some abilities and status effects
Added support for multihit attacks
Added AbilityState for abilities
Added hiteffects that change based on an attack's parameters
Added positionals

Changed how targeting works for battlecommands

Fixed bug that occurred when moving or swapping hotbar commands
Fixed bug that occurred when losing status effects
2018-02-15 13:20:46 -06:00
Filip Maj
127ac15936 Fixed bazaar flags for seek item. Finished seek item trading. 2017-12-10 23:52:10 -05:00
Filip Maj
0cb2fe1a68 Added bazaar scripts and missing class file. 2017-12-10 22:54:47 -05:00
Filip Maj
c0312079ef Added broadcast packet list to Player. Fixed bazaar flags not working. Added the seeking item trade code. 2017-12-10 22:53:37 -05:00
Filip Maj
a9d4e621e3 Events are now pushed onto a stack and popped off. Turns out multiple events *CAN* happen. Fixed quantity bugs when saving to DB. Fixed buying stacks. 2017-12-10 22:32:24 -05:00
Filip Maj
08c5980b22 Moved SendItemPackage to character class. Added a flag check after a bazaar purchase is made. Discovered a flag in InventoryBeginChangePacket that either modifies the client package or clears and refills it. Implemented this mode for a bunch of "SendFullInventory" methods. 2017-12-10 15:13:33 -05:00
Filip Maj
f5ea82f735 Added the UpdateItemPackage packet used to signal the server to send bazaar item info. Added a transaction method in WorldManager. Fixed some inventory bugs. InvItems now track what player, itempackage, and itemslot they are in... and may have their quantity set from there. Fixed DB SetQuantity bug. 2017-12-10 13:38:53 -05:00
Tahir Akhlaq
81c97105b7 Merge branch 'ai-open' of https://bitbucket.org/skeletonhorn/ffxiv-classic-server-ai-fork into ai 2017-12-10 15:21:37 +00:00
yogurt
837c7a9223 Health updating fix, temp r0 fix 2017-12-10 09:20:42 -06:00
Tahir Akhlaq
cd60c571ac Merge branch 'ai-open' of https://bitbucket.org/skeletonhorn/ffxiv-classic-server-ai-fork into ai
# Conflicts:
#	data/scripts/modifiers.lua
2017-12-10 15:07:28 +00:00
yogurt
205d3619d6 Merging 2017-12-08 02:08:13 -06:00
yogurt
1275c8b5da Added party to Gridania opening, fixed BattleActionx18 and made it so x18 is used for packets with more than 10 targets. Changed how death works. Added respawn time and roam modifiers. Added TryAggro functions and moved aggroing out of roaming and helpplayers. Fixed high cpu usage in zone's OnUpdate function. Fixed work value in player update 2017-12-08 00:58:39 -06:00
Filip Maj
b2e273d7cf Finished fixing bugs in the bazaar code. 2017-12-04 22:58:18 -05:00
Filip Maj
88233cf6d2 Fixed error, removed RabbitMQ package as it isn't used. 2017-11-17 17:03:47 -05:00
Filip Maj
05eca7f22e Fixed bad merge. 2017-11-17 16:51:35 -05:00
Filip Maj
7a02d38e94 Merge branch 'develop' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into develop
# Conflicts:
#	FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
2017-11-17 15:14:58 -05:00
Filip Maj
af121f52bd Added packets for various search things Showmo found. 2017-11-17 15:13:38 -05:00
Filip Maj
e8c9904e1d More refactoring. Adding to bazaar now works for selling and seeking by gil. 2017-11-11 17:05:07 -05:00
Filip Maj
bbac4b0fce Renamed Type7Param to ItemRefParam. Changed a lot of "inventoryType" names to "itemPackage". Moved inventory code to Character class for easier use and auto-choosing the correct package. 2017-11-11 13:46:12 -05:00
Filip Maj
3850860440 Added seek nameplate code. Added bazaar transaction stuff to WorldManager and DB. Added Item Gamedata to InventoryItem class. 2017-11-11 10:56:15 -05:00
Filip Maj
fe4b9cb2bf Added more helper methods and constants for inventory item. 2017-10-21 11:29:28 -04:00
Filip Maj
95b003cc2b More inventory item refactoring. 2017-10-15 23:56:04 -04:00
Tahir Akhlaq
27200b8df5 moved ally engage stuff to ContentArea onUpdate 2017-10-11 19:23:40 +01:00
Tahir Akhlaq
520ae7a119 added helpers for DoW/DoM/DoH/DoH
- fixed allies not being able to aggro on roam
- fixed static characters aggroing
2017-10-11 15:02:12 +01:00
yogurt
460722d3d5 Opening changes 2017-10-11 06:42:06 -05:00
yogurt
92de857cda opening quest stuff 2017-10-10 13:32:47 -05:00
CuriousJorge
324ebab2d2 Inventory.cs - GetItemQuantity() added
- AddItem functions to cast INV_ERROR to INT for LUA
             - Fixed unique item check.  It was checking for Rare flag, not EX

Scripts :
        Base
            - shop.lua  : Functions for buying/selling from a variety of shop scripts

        Commands
            - EmoteStandardCommand.lua fixed not being able to use emotes when sitting
            - DiceCommand.lua fixed.  No arguments sets default value of 100 as per the ingame description.
                                      Max value raised from 999 to 1000.

        GM Commands
            - speed.lua fixed when using single argument
            - nudge.lua fixed sanitizing.  Made arguments reversible to allow !nudge up 10 & !nudge 10 up
            - giveitem.lua added inv_error handling.  Need to do to rest of item commands at some point
            - givecurrency.lua changed to have you enter a regex'd name of item rather than item ID.
                               Eg. "!givecurrency fire_crystal 10". Added inv_error handling to it.
            - warpplayer.lua added.  Moves yourself to name of player, or moves first player to second player
            - warpid.lua added. For warping to the first instance of an actor's uniqueId the server comes across.
            - quest.lua added.  For adding/adjusting quests for debugging them.

        Class Scripts
            - PopulaceBlackMarketeer.lua updated to utilize shop.lua
            - PopulaceShopSalesman.lua updated to utilize shop.lua
            - PopulaceCompanyShop.lua updated to utilize shop.lua
            - PopulaceCompanyBuffer.lua added and documented along with menu layout.  Needs working status effect to finish.
            - PopulaceCompanyGLPublisher.lua added.  Mostly documented, barely functional.
            - PopulaceCompanyGuide.lua added. Documented, fully functional.
            - PopulaceCompanyOfficer.lua added. Documented.  Menus work.  Needs GC rank table at some point
                                                for documenting GC ranks/seal caps.
            - PopulaceCompanySupply.lua added and mostly documented.  Read-only basic menu flow, static LUA tables
                                         used to set it up, will need SQL tables at some point to replace them with.
                                         Some guesswork on what menus show since no video reference could be found.
            - PopulaceGuildShop.lua updated. Mostly documented.  Read-only shop menus.
2017-10-09 23:40:38 -04:00
Filip Maj
59e3b2379a Implemented mode trade methods. Figured out the modifiers portion of the item packet and rewrote how they are stored. 2017-10-08 12:26:22 -04:00
yogurt
9fc99faa5c Merge branch 'ai-open' of https://bitbucket.org/takhlaq/ffxiv-classic-server into ai-open 2017-10-06 20:45:36 -05:00
yogurt
116a573f85 Save class/level parameter save info on level up 2017-10-06 20:45:10 -05:00
Filip Maj
8ae4fbc045 Forgot project file. 2017-10-05 13:31:15 -04:00
Filip Maj
e819603432 Added new search packets. 2017-10-04 10:25:16 -04:00
Tahir Akhlaq
bab81a809c fixed auto attack (<3 showmo) 2017-10-03 07:32:32 +01:00
Filip Maj
441c1a6383 Implemented countdowns. 2017-10-01 12:39:46 -04:00
Filip Maj
58334a0e5f Implemented newly discovered packets (Dalamud, Countdown). 2017-10-01 12:31:45 -04:00
Filip Maj
94491903f7 More trade work. 2017-10-01 12:23:54 -04:00
yogurt
f3a823af03 Only send current class's exp on login. Exp now updates on class change 2017-09-30 20:04:45 -05:00
yogurt
5dfbc0f249 EXP and levels now get saved and loaded from database, changed battlecommand id dictionary to hold lists to account for archer and DoH/DoLs getting multiple abilities at certain levels. Level 1 abilities are now added to the hotbar on character creation. 2017-09-30 07:28:08 -05:00
yogurt
ab98f3662f Removed old EquipAbility function from player.cs 2017-09-27 18:12:02 -05:00
yogurt
33f8709d76 Added exp and leveling functions, redid equip ability functions to allow adding abilities that aren't for the player's current class and made functions more clear, added dictionary of BattleCommand ids indexed by a tuple containing classId and level. 2017-09-27 18:10:22 -05:00
Tahir Akhlaq
56491266cc another attempt to get opening fight working (client hangs after talking to yda for second time for some reason..) 2017-09-22 03:26:12 +01:00
Filip Maj
c7e38b8b00 Implemented trade invitation code. 2017-09-17 15:04:29 -04:00
Filip Maj
9649d755a9 Fixed a bug in inventories. If no null gap was found endOfListIndex would go to -1. 2017-09-16 13:57:16 -04:00
Filip Maj
e581727625 Added errors to AddItem so a script writer knows if the inventory was full or not. 2017-09-16 13:28:37 -04:00
Tahir Akhlaq
ba8184db89 attempt to add tutorial fight
- added tempvars which are reset on spawning/zoning
2017-09-16 02:50:32 +01:00
Tahir Akhlaq
da621dfc0e added pool/spawn/genus mod loading
- moved ai helper classes to own folder
2017-09-12 01:24:02 +01:00
Tahir Akhlaq
ce5030acd1 added mob name colour update
- added mobmods (need to be loaded from db)
- added Zone.GetBattleNpcById
- added missing IsValidTarget check in AttackState
2017-09-10 03:44:12 +01:00
Filip Maj
a309e651da Fixed issues Jorge found. 2017-09-09 16:30:29 -04:00
Filip Maj
b092d447cc Retainer name was not set. 2017-09-09 14:28:02 -04:00
Filip Maj
64006d2351 Added retainer inventory code. Renamed CURRENCY inv type to CURRENCY_CRYSTALS so I don't forget. 2017-09-09 14:11:35 -04:00
Filip Maj
52c707d66e More cleanup. 2017-09-09 12:42:00 -04:00
Filip Maj
9174801fdb Moved all DB update code into it's own method. 2017-09-09 12:37:24 -04:00
Filip Maj
8755ca4f33 Fixed a bunch of SQL errors. Added checks for quality so a remove command didn't take out items regardless of quality. Fixed errors. 2017-09-09 12:21:37 -04:00
Filip Maj
a14e36fadc Bad old SQL line was adding exponentially increasing duplicates. 2017-09-09 11:33:23 -04:00
Filip Maj
bc95c139de Implement DB updates for player. Cleaned up DB calls. No longer track slot, it's ordered by index id (no concept of slots anyway in client). 2017-09-09 11:25:58 -04:00
Filip Maj
76f073d85f Got retainer meeting group working and cleaned up retainer instancing. Added a RemoveItemAtSlot with quantity. 2017-09-09 10:54:40 -04:00
yogurt
9077c60b96 Merged in skeletonhorn/ffxiv-classic-server-ai-fork/ai-open (pull request #4)
Minor changes to fix equipability bugs
2017-09-08 14:22:41 +00:00
Tahir Akhlaq
645a1fb4fb fixed mob loading from db
- todo: see todos in code (all 169 of them)
2017-09-07 22:02:02 +01:00
Tahir Akhlaq
7c30b95c4b added some breakpoints to try figure out why mobs arent spawning
- fixed spawn table
2017-09-06 00:28:49 +01:00
Tahir Akhlaq
2bfaf376ef moved battlenpc loading to db (still doesnt load for some reason) 2017-09-05 23:32:57 +01:00
Tahir Akhlaq
68a2d5f0b9 stubbed item use state (needs to actually look up the item and get its reuse stuff)
- added tables to load mobs from (probably dont import besides server_battlenpc_genus.sql)
- added field to server_battle_commands for commands usable by both monsters and players (probably arent any really)
2017-09-05 21:03:38 +01:00
Filip Maj
5bec522c8e Fixed bugs in the new inventory code. 2017-09-05 15:35:33 -04:00
Filip Maj
81d82cd7a8 Rewrote the inventory code, splitting the packet updates from the list updates. 2017-09-05 14:44:06 -04:00