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
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
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
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
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
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
Filip Maj
f437b36f5a
Started implementing retainers. Added a instanced retainer spawn. Documented retainer scripts.
2017-09-05 12:37:23 -04:00
yogurt
50b4f517f2
Fix FindFirstCommandSlotById to be able to find empty slots again
2017-09-03 11:18:35 -05:00
Tahir Akhlaq
4978813c27
fixed death/despawning kinda (need to figure out why hp wont tick down after respawning)
2017-09-03 01:01:19 +01:00
Tahir Akhlaq
c5cc7c2f00
fixed auto attack messing up cast anim
...
- fixed auto attack anim for mobs (<3 u ion)
- added hotbar timer updates (<3 u azia)
- fixed actor block bug
- cleaned up substate retardation
- fixed some targetfind issues
- added despawn state
- added messages for in progress commands
- added fields for aoe target, range, battleAnimation to server_battle_commands table
2017-08-31 06:01:26 +01:00
Filip Maj
4c7928da78
Fixed screwed up cast animation.
2017-08-29 22:27:32 -04:00
Tahir Akhlaq
517bdc0638
fixed cast interrupt
...
- dont allow targeting of mob moving back to spawn
2017-08-30 00:14:14 +01:00
yogurt
c3fd8f917e
Added UnequipAbility function, made EquipAbility work with zero indexed hotbar database, added new checks to EquipAbilityCommand.lua
2017-08-29 09:00:09 -05:00
Filip Maj
7ad40f625a
Refactored Demo's battle action code and cleaned things up.
2017-08-28 21:45:01 -04:00
Tahir Akhlaq
f4016e1a12
renamed tables for consistency
...
- added magic.lua (todo: enumerate modifiers and stuff)
- moved aggro handling to session position update
- some cleanup
2017-08-29 01:15:12 +01:00
Tahir Akhlaq
6c74222b68
renamed ability to battlecommand
...
- moved spells to scripts/commands/
- added aoe range field to battle_commands.sql
- changed AttackState to use character's onAttack
2017-08-28 05:20:00 +01:00
Filip Maj
e5a9658b5a
Added Parley code to experiment with.
2017-08-26 16:59:15 -04:00
Tahir Akhlaq
6f5a480cbd
Merge branch 'develop' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into ai
...
# Conflicts:
# FFXIVClassic Map Server/Database.cs
# FFXIVClassic Map Server/WorldManager.cs
# FFXIVClassic Map Server/actors/area/Area.cs
# FFXIVClassic Map Server/actors/chara/player/Player.cs
2017-08-26 20:17:16 +01:00
Filip Maj
52da0a671f
Updated method names of "RemoveItem" as Lua hates overloads.
2017-08-26 14:21:54 -04:00
Filip Maj
74ce5a2fe1
Merge branch 'master' into develop
...
# Conflicts:
# FFXIVClassic Lobby Server/FFXIVClassic Lobby Server.csproj
# FFXIVClassic Map Server/Database.cs
# FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
# FFXIVClassic Map Server/PacketProcessor.cs
# FFXIVClassic Map Server/WorldManager.cs
# FFXIVClassic Map Server/actors/Actor.cs
# FFXIVClassic Map Server/actors/area/Area.cs
# FFXIVClassic Map Server/actors/chara/player/Player.cs
# FFXIVClassic Map Server/lua/LuaPlayer.cs
# data/scripts/base/chara/npc/populace/PopulaceChocoboLender.lua
# data/scripts/commands/gm/speed.lua
# data/scripts/commands/gm/warp.lua
# data/scripts/global.lua
# data/scripts/player.lua
# data/scripts/unique/fst0Town01a/PopulaceStandard/khuma_moshroca.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/ahldskyf.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/angry_river.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/ansgor.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/arnegis.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/arthurioux.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/astrid.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/audaine.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/bango_zango.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/bayard.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/bloemerl.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/bmallpa.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/bnhapla.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/chichiroon.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/drowsy-eyed_adventurer.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/eugennoix.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/fickle_beggar.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/hob.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/ivan.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/maetistym.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/mharelak.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/muscle-bound_deckhand.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/pasty-faced_adventurer.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/pearly-toothed_porter.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/ptahjha.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/suspicious-looking_traveler.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/syhrdaeg.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/syngsmyd.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/tatasako.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/tefh_moshroca.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/thata_khamazom.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/thosinbaen.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/tittering_traveler.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/totoruto.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/triaine.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/trinne.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/unconscious_adventurer.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/undsatz.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/vhynho.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/waekbyrt.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/whahtoa.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/wyra_khamazom.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/wyrstmann.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/xavalien.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/zonggo.lua
# data/scripts/unique/sea0Town01a/PopulaceStandard/zuzule.lua
# sql/server_zones_spawnlocations.sql
2017-08-26 13:53:23 -04:00
Tahir Akhlaq
922f3ccd1e
Merge branch 'develop' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into ai
...
# Conflicts:
# FFXIVClassic Map Server/actors/chara/player/Player.cs
# FFXIVClassic Map Server/lua/LuaEngine.cs
2017-08-26 18:04:31 +01:00
Filip Maj
ff93dc41ef
Added casting bar functions.
2017-08-26 12:33:37 -04:00
Filip Maj
546908acde
Some fixes and missing scripts.
2017-08-26 10:23:13 -04:00
Tahir Akhlaq
9024f3fad6
cleaned up magicstate and weaponskillstate
...
- todo: fix IsFacing
- added thunder spell (todo: figure out why battleactionx10 crashes client on sending shit)
2017-08-26 04:08:26 +01:00
Tahir Akhlaq
11bbb023d9
abilities now use correct animation id (<3 azia)
...
- did stuff with magicstate/attackstate
- fixed status effect tick
- added regen status (todo: actually populate the table and use that name instead of enum's)
- added baseStats to char (todo: add bonuses and stuff on top of those, set charaWork values to the calculated ones + bonus)
2017-08-25 03:52:43 +01:00
Tahir Akhlaq
9bb298b2f3
added modifier class
...
- added auto attack animation (<3 showmoltti)
- added thing to send battle packet from lua
2017-08-24 05:12:30 +01:00
Tahir Akhlaq
54af893570
add some more locks, fixed typo in AddHP, add missing ability
2017-08-23 03:22:17 +01:00
yogurt
35f9251056
Split update hotbar function into seperate command and recast functions, fixed recast packet spam, recast timers now reset when commands are added to the hotbar and when changing classes, and are now saved in the databse correctly and sent on login. Merged demo's changes.
2017-08-22 14:50:53 -05:00
Tahir Akhlaq
68657e1edc
stubbed some more states
...
- stubbed some ability stuff
- moved packet things to loop instead of session only
- added mob roaming and aggro
- todo: fix target find/detection/pathfinding speed/line of sight/line aoe length etc
- todo: see "// todo:" in code
2017-08-02 23:09:04 +01:00
Tahir Akhlaq
8bebba64b3
fixed some timers
...
- status icons now display (<3 u ion)
- todo: populate status tables, figure out why effect wont tick down for me
2017-07-27 03:58:42 +01:00
Tahir Akhlaq
53207a9ff0
added status effect saving
...
- added some of the packets to add/remove effects (todo: battle packet too)
2017-07-18 00:55:03 +01:00
Tahir Akhlaq
13af16ec0e
Merge branch 'ai-open' of https://bitbucket.org/takhlaq/ffxiv-classic-server into ai
...
shitty line ending conflicts
# Conflicts:
# FFXIVClassic Map Server/lua/LuaEngine.cs
2017-07-12 18:48:44 +01:00
Tahir Akhlaq
7c08420206
Merge branch 'develop' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into ai
2017-07-11 20:52:43 +01:00
yogurt
4032258e76
More merge fixes!
2017-07-11 11:52:54 -05:00
yogurt
86a2e4aff3
Fixing merge error
2017-07-11 09:45:11 -05:00
yogurt
b2e86d282a
Merge branch 'ai-open' of https://bitbucket.org/takhlaq/ffxiv-classic-server into ai-open
2017-07-11 09:40:10 -05:00
yogurt
efdec5e472
Add equip ability functions
...
Fix EquipAbility SQL query
2017-07-11 09:08:50 -05:00
Tahir Akhlaq
84d5eee1fc
cleaned targetfind some
...
- added character allegiance types
2017-07-11 01:54:15 +01:00
Filip Maj
77d6cb2e43
Fixed up how "special" items work (ie: PUG and ARC weapons). No more glitches hopefully.
2017-07-09 11:39:17 -04:00
Tahir Akhlaq
4695193aa0
Merge branch 'develop' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into ai
...
# Conflicts:
# FFXIVClassic Map Server/actors/Actor.cs
# FFXIVClassic Map Server/dataobjects/Session.cs
# FFXIVClassic Map Server/lua/LuaEngine.cs
2017-07-08 04:10:36 +01:00
Filip Maj
5dff4cbdd3
Fixed bug with Broadcast Packet. Was adding player to the instance list while it shouldn't have been, and designed BroadcastPacket assuming so. Cleaned it all up and fixed, so now emote work after warp. Fixed Chocobo packets so correct appearance will show when player is spawned while riding gobbue.
2017-07-06 21:59:12 -04:00
Tahir Akhlaq
cc1929a9fb
moved getpath crap to pathfinding (or should i keep it in actor?)
...
- stubbed some more crap
2017-07-02 20:01:24 +01:00
Tahir Akhlaq
6b023ceb3c
added a status effect container
...
- added status effect container to mobs and player objects (maybe should add to all Characters?)
- todo: handle gain/tick/lose in lua, send packets, everything else
2017-06-29 19:14:07 +01:00
Tahir Akhlaq
3bcaa4cc3e
added some more ai stubs
...
- created mob class
- added pathfind and targetfind helper classes (todo: actually add stuff to them)
- added action queue helper class (todo: add shit to it)
2017-06-29 19:14:05 +01:00
Filip Maj
33e580ed38
Removed redundant queuepacket func.
2017-06-27 21:40:49 -04:00
Filip Maj
ab3e152b7d
Fixed spawning being broken.
2017-06-27 21:30:32 -04:00
Filip Maj
3370309dd0
Cleaned up the code and fixed a bunch of bugs. Map server will no longer worry about base packets.
2017-06-27 21:08:30 -04:00
Filip Maj
1339975ade
Cleaned up inventory packets.
2017-06-27 17:07:29 -04:00
Filip Maj
7c4091a196
Finished refactoring Map Server. Clear of syntax errors.
2017-06-27 16:55:14 -04:00
Filip Maj
d8ac8216c4
More subpacket cleanup.
2017-06-27 13:52:47 -04:00
Filip Maj
fc96dac7c7
Fixed work values being totally wrong for guildleves. Added Add/Remove GL command.
2017-06-25 23:35:55 -04:00
Filip Maj
b5db036d71
Abandoning/Completing GLs now marks them correctly in the Journal.
2017-06-25 23:02:20 -04:00
Filip Maj
019e305525
Fixed redundant looping when removing/finishing a director. Fixed issue where packets to delete content group wouldn't send. Fixed issue where ContentGroups/Directors weren't clearing after deletion causing a growing amount of zombie groups/directors.
2017-06-25 14:52:32 -04:00
Filip Maj
875b76634a
Implemented more of the Guildleve Director. Correct script is now autoloaded based on leveplate. Players are now added to the contentgroup on leve start. Moved animation and stuff to C# side of things. Cleaned up code.
2017-06-25 14:25:54 -04:00
Filip Maj
eb17da1c89
Modified how directors work to allow for persistence. Implemented GuildleveDirector object and it's work values.
2017-06-24 15:31:42 -04:00
Filip Maj
2d7d10a417
Renamed Item dataobject to ItemData. Added guildleve data.
2017-06-24 14:12:52 -04:00
Filip Maj
44a76c94af
Added guildleve helper funcs.
2017-06-24 12:07:27 -04:00
Filip Maj
c1d67538f3
Added item storage packet for armoire.
2017-06-19 22:21:21 -04:00
Filip Maj
b838027cba
Partially figured out the SetSpecialEventWork Packet.
2017-06-15 01:18:57 -04:00
Filip Maj
1d9f57a385
Cleaned up the emotes code.
2017-06-15 00:19:18 -04:00
Filip Maj
0e8de966a9
Fixed emotes, they all work now.
2017-06-15 00:05:14 -04:00
Filip Maj
866e2d3559
Merge branch 'develop' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into develop
2017-06-14 22:24:26 -04:00
Filip Maj
d96d5b29a5
Fixed issue where spawn packets were sent on zone out. Added all npcs to Camp Bearded Rock. Rewrote how mapobjs get loaded in, no more hardcodes. Added tons mapobjs to the DB. Added ferry npcs.
2017-06-14 22:24:09 -04:00
CuriousJorge
cfb3a473c1
Applying bugfix from Master to Develop.
...
Fixes the issue where actors are spawning in with default movement speed instead of their current.
2017-06-06 17:33:02 -04:00
Filip Maj
1516e0bc50
Added homepoint and aetheryte code. You can set the homepoint on an aetheryte or inn and the return menu will show the correct response. Added effects/msgs to teleport/return. Some sql changes I forgot.
2017-05-01 22:30:43 -04:00
Filip Maj
8c9ecebae6
Added a "silent" option for LuaEngine calls. More content instance work. Full classpath now used for zones.
2017-04-29 20:30:54 -04:00
Filip Maj
2de4934c41
Fixed battle npcs appearing strangely (no nameplate, wrong colour, etc), and implemented content groups!
2017-04-15 16:33:56 -04:00
Filip Maj
0d4ed1d1c8
Cleaned up the way a npc ls is set. Added an optimization, no changes are made if it is being set to the same value already set. Added the handler for npc linkshells when they are used.
2017-04-09 14:01:15 -04:00
Filip Maj
90e48f9ddd
Added npc ls saving/functionality.
2017-04-09 12:48:27 -04:00
Filip Maj
4bb222a47a
Current phase wasn't being loaded in. Fixed.
2017-04-04 01:42:34 -04:00
Filip Maj
7fa4a1eb80
Added callbacks to help with quest management. Abandoning a quest now works.
2017-04-04 01:10:26 -04:00
Filip Maj
9d63be52e3
Added the Waste Not Want Not quest.
2017-04-02 23:50:51 -04:00
Filip Maj
c0f7f1b1ad
Fixed quest commands not working from Lua. The uint/string overload was confusing it.
2017-04-02 18:44:47 -04:00
Filip Maj
6c366110ef
Added "CanAcceptQuest" and "IsQuestCompleted" helpers.
2017-03-28 18:03:16 -04:00
Filip Maj
6e12668176
Fixed the journal entry not clearing on removal.
2017-03-20 23:37:05 -04:00
Filip Maj
8f89eb8f23
Added quest accept/complete functions, and fixed a bug with removing quests from the DB.
2017-03-20 23:31:11 -04:00
Filip Maj
0a94840419
Checks and fixes for lua.
2017-03-20 21:51:43 -04:00
Filip Maj
7c25b14640
Changed "SendRequestedInfo" to "SendDataPacket" as that's the actual name of the packet. Copied all the progress with the Limsa Opening director to Gridania and Uldah.
2017-03-19 12:35:21 -04:00
Filip Maj
b81141a158
More fixings and improvements.
2017-03-14 18:33:33 -04:00
Filip Maj
718bc28c57
Implemented "wait" functionality to the lua engine. Lost commits due to screw up.
2017-03-13 14:06:57 -04:00
Filip Maj
0c3f6cc9c4
Fixed bug with old "findActor" code since private areas were added. Add scripts for npcs in echo during limsa opening.
2017-03-08 09:12:14 -05:00
Filip Maj
e898c045f7
Overhaul of the director system and opening quests. Private Areas further implemented as well.
2017-03-07 00:09:37 -05:00
Filip Maj
f7482781e5
Rewrote directors so that they can work in the new system. Began adding content groups to the map server.
2017-01-29 11:07:28 -05:00
Filip Maj
9372b4bc32
Added a thread and update() calls for gamestate changing.
2017-01-16 19:14:13 -05:00
Filip Maj
5d494255ad
Party invite done, as well as chat. Fixed double output of say packets. Note: Still need to implement name version of invite!!!
2017-01-02 14:35:11 -05:00
Filip Maj
6ba1f968c3
Party leave/disband done.
2016-12-22 14:47:24 -05:00
Filip Maj
2b10221a75
Party sync is done. Finished kick/promote code. Client is now always at the top of pt list.
2016-12-21 21:49:50 -05:00
Filip Maj
16c9b741bf
Kicked/Promote leader added but broke login. D/Cing now.
2016-12-21 18:02:50 -05:00
Filip Maj
e89b7557b3
Zone server now uses the World server's group classes. MotD now shows proper world name. Added party functions to zone server.
2016-12-21 09:27:51 -05:00
Filip Maj
2bdc238bc2
Added party sync packet which will sync member info between world/zone servers.
2016-12-20 19:17:50 -05:00
Filip Maj
7036ef363d
Implemented MotD. Groups are now sent from world server to client, and also initialized. Retainers finished and are also sent.
2016-12-18 09:50:23 -05:00