Commit Graph

547 Commits

Author SHA1 Message Date
Filip Maj
24c46c0480 Fixed issue where any actor < -1000 Z position would appear anyways. 2017-07-09 12:58:22 -04: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
4ed8f3e5e2 added a bit of targetfind stuff 2017-07-09 00:27:15 +01:00
Tahir Akhlaq
c55c0b327d forgot to fix this on conflict resolving 2017-07-08 04:53:06 +01: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
Tahir Akhlaq
247b5ca709 missed some files from previous commit 2017-07-08 00:20:55 +01:00
Tahir Akhlaq
d895357182 renamed mob stuff to battlenpc
- stubbed spawn/die/despawn functions
2017-07-07 22:08:48 +01:00
dude22072
5a5c0a3a5f Fixed the "pretty borders" inconsistency. 2017-07-06 22:30:03 -05:00
Filip Maj
caf254fd95 More old test code removed. 2017-07-06 22:11:14 -04:00
Filip Maj
151756329c Removed oooold test code. 2017-07-06 22:10:19 -04:00
Filip Maj
a77a90578f Merge branch 'packet_actortarget_rewrite' into guildleve
# Conflicts:
#	FFXIVClassic Lobby Server/packets/send/SelectCharacterConfirmPacket.cs
2017-07-06 22:02:14 -04: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
100f3ae156 fixed an issue causing client to crash 2017-07-01 02:52:05 +01:00
Tahir Akhlaq
e56238a10c fixed crash on updating controller for npcs
- fixed updating player movement
2017-06-30 04:30:36 +01:00
Tahir Akhlaq
62055eff04 stubbed some more functions from kj's ai stuff
- fixed some typos
- cleaned some debug code
2017-06-29 21:54:30 +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
637f7f3d95 added status effect class
- todo: load info into effects
- todo: create a container, call onGain/onLose/onTick for effects etc
2017-06-29 19:14:06 +01:00
Tahir Akhlaq
c162fb0eab added super basic hate container class which doesnt actually do anything yet 2017-06-29 19:14:06 +01:00
Tahir Akhlaq
2c9ae60bbf corrected mob to use correct substate
- added global tick
- stubbed some more functions
- added checks for engaged/dead
- todo: everything else
2017-06-29 19:14:05 +01:00
Tahir Akhlaq
b9bfe5e985 cleaned up some of my retard with deltaTime and changed to DateTime for convenience swapping between seconds/milliseconds 2017-06-29 19:14:05 +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
Tahir Akhlaq
04890660c0 start of ai based on kjLotus's code on dsp 2017-06-29 19:14:04 +01:00
Tahir Akhlaq
c70cf022b7 moved vector3 to common
- changed distance checks to distance squared
- reexported central thanalan navmesh with cell size 0.60, height 0.26, radius 0.5, edge error 1.3, merged region size 30
- todo: main logic loop per zone and move this into proper ai classes
2017-06-29 19:14:03 +01:00
Tahir Akhlaq
872e56f8f9 navmeshes now super lightweight (<3 u devi)
- refactored some stuff
- unhardcoded navmesh loading
- included sharpnav license
2017-06-29 19:14:03 +01:00
Tahir Akhlaq
b640c87c69 fixed player position updates i think 2017-06-29 19:14:02 +01:00
Tahir Akhlaq
dd552ba69d adjusted roam radius slightly 2017-06-29 19:14:02 +01:00
Tahir Akhlaq
e09cb197b3 fixed finding random point retardation 2017-06-29 19:14:02 +01:00
Tahir Akhlaq
a62475e81e moved pathing crap out of actor
- despawn actors on moving too far from spawn
- added clampy stuff (<3 devi)
2017-06-29 19:14:01 +01:00
Tahir Akhlaq
bd97e72774 slightly smaller spawn leash
- removed try catch block
- todo: despawn actors on moving out of range
2017-06-29 18:45:43 +01:00
Tahir Akhlaq
4ad37f1011 fixed LookAt and IsFacing (<3 u devi) 2017-06-29 18:45:42 +01:00
Tahir Akhlaq
d72a2af641 initial navmesh stuff 2017-06-29 18:45:39 +01:00
Filip Maj
fc0c504c28 Merge branch 'packet_actortarget_rewrite' into guildleve 2017-06-29 11:39:02 -04: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
4aa3a444d0 Messages for the Aetheryte Node appearing. 2017-06-27 20:17:24 -04:00
Filip Maj
08477780f8 Removed duplicate 0xD9 packet. Renamed 0xD8 to SetActorBGPropertiesPacket. 2017-06-27 17:37:13 -04:00
Filip Maj
516564a896 Refactored world server. 2017-06-27 17:31:17 -04:00
Filip Maj
9353f77db0 Removed duped battle packet. 2017-06-27 17:12:34 -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
a264745207 Started removing all target actor id references. 2017-06-27 13:23:05 -04:00
Filip Maj
c09471ed43 GL completion animation will only play to self now. 2017-06-26 00:14:26 -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
e5afe8791b Implemented the ending portion of the guildleve. 2017-06-25 22:43:15 -04:00
Filip Maj
c071b9d684 Pushing new Aetheryte scripts that handle when GL is active. Finally added an error check for some lua callbacks. 2017-06-25 15:11:35 -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
c78fa033af Fixed sbytes not processing correctly for work updates. Added a sync all function to guildleves. 2017-06-24 17:14:18 -04:00
Filip Maj
8fb4910320 Fixed work values not updating. GL UI now shows up though it isn't configured. 2017-06-24 16:58:02 -04:00
Filip Maj
186d5b5cc5 Had a bug where actor id was set to the wrong packet. Will have to also look at this target thing later. 2017-06-24 16:29:13 -04:00
Filip Maj
25cd75d40c Added way to instantiate a GL Director. Aetheryte parent now does it. 2017-06-24 15:57:46 -04:00
Filip Maj
8ccd3439c1 Added marker update method for guildleves. 2017-06-24 15:54:02 -04:00
Filip Maj
a80c80454b Added more work values and guildleve funcs. Also realized target will always == the queuedpacket session. This will make broadcasting packets easier once cleaned up. 2017-06-24 15:47:53 -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
f00e878dd0 Fixed session issue. Still a stopgap until d/cing is implemented. 2017-06-19 23:11:24 -04:00
Filip Maj
0c8642d6ab Merge branch 'develop' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into develop 2017-06-19 22:24:45 -04:00
Filip Maj
c1d67538f3 Added item storage packet for armoire. 2017-06-19 22:21:21 -04:00
Filip Maj
dbaea65c19 Fixed how login/zoning session start is handled. Should fix the bug where a player could not relogin into a server twice. 2017-06-19 16:30:04 -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
Tahir Akhlaq
72099e92bb fixed some races 2017-06-06 02:11:45 +01:00
Filip Maj
c67c5f3bdf Bug fix on broadcast packet method, filled out what 0x144 does. 2017-05-16 23:43:53 -04:00
Filip Maj
08b3564d7e Added things for testing mapobjs. 2017-05-05 02:37:01 -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
c71aa0b45e Fixed crash if completionCheck callback wasn't there. 2017-04-04 01:25:08 -04:00
Filip Maj
e38a995574 Fixed a game message not appearing when objectives were completed. 2017-04-04 01:21:06 -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
Robert Baker
6642ed7e12 Fixed postbuild typos.
Automatically copy the scripts folder.
Pre-edited player.lua to disable addQuest / Directors.
2017-04-02 11:34:14 -07:00
Filip Maj
248ea0cce1 Merge branch 'develop' into lua_waiters 2017-04-02 14:29:37 -04:00
Filip Maj
2b780687dd Actor state from a spawn location wasn't being set. 2017-04-02 13:48:56 -04:00
Filip Maj
e0c9ca2bc2 Added break in the "setPushCircle" function. Fixed bug in the actor properties util. If a packet got full while inserting the property, it wouldn't get inserted in the next one. 2017-04-02 12:51:23 -04:00
Filip Maj
6c366110ef Added "CanAcceptQuest" and "IsQuestCompleted" helpers. 2017-03-28 18:03:16 -04:00
Tahir Akhlaq
6dd8bdda0c Merged in takhlaq/ffxiv-classic-server/null (pull request #38)
added db launch args and improved import time on gamedata_actor_class.sql
2017-03-27 16:57:02 +00:00
Tahir Akhlaq
a2a30003e0 added db launch args and improved import time on gamedata_actor_class.sql 2017-03-25 04:36:19 +00: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
a77d2a9b48 Fixed crash. 2017-03-20 21:53:43 -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
77e0639410 Realized the start event packet after a zoneIn kickevent is weird and malformed, fixed for that usecase. Fixed bug with getting PrivateArea script. Missing area scripts now don't show a message (they were optional). Finished scripting out Limsa opening battle. 2017-03-19 11:39:21 -04:00
Filip Maj
ce13827bce Fixed args being all wrong. 2017-03-14 23:13:54 -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
eb324062da Phasese are now saved. 2017-03-07 21:44:57 -05:00
Franz Renatus
23ce361801 Fixed Map Server build script to copy scripts folder.
Added world_config.ini to World Server build script.

Adjusted characters.sql to make the lobby server happy again.
2017-03-07 09:16:55 -08: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
ad88c0b28a Added a work value change function for testing. 2017-01-24 09:06: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
8b4eb8c57e Added retainer push command and fixed a bug with kickEvent (kinda???) 2017-01-10 23:59:25 -05:00
Filip Maj
b9c0084080 Fixed pushCommand load bug. Set all Aetherytes to wrong command id; fixed. 2017-01-10 23:47:37 -05:00
Filip Maj
fb1d22d731 Push command loading implemented. 2017-01-10 16:43:03 -05:00
Filip Maj
9bc3fc8dd7 Setting the active linkshell now works. 2017-01-09 23:12:56 -05:00
Filip Maj
79de4fd1ff Merge branch 'develop' into group_work
# Conflicts:
#	FFXIVClassic Map Server/ConfigConstants.cs
2017-01-09 00:19:39 -05:00
Filip Maj
771b5b6d81 LS kicking and leaving work. 2017-01-09 00:12:11 -05:00
Filip Maj
61e4effd74 Started implementing LS management. Rank change works. 2017-01-08 23:13:15 -05:00
Filip Maj
68772a2011 Merge branch 'group_work' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into group_work 2017-01-08 21:43:04 -05:00
Filip Maj
108d8be013 Linkshell inviting completed. 2017-01-08 21:42:43 -05:00
Filip Maj
4b0ffb3882 Fixed the last actor speed. It was active mode speed. 2017-01-03 19:02:35 -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
5af1f6dba6 Relation group work. 2017-01-02 11:47:14 -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
506bcbaf87 Added missing opcodes. 2016-12-21 20:04:33 -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
ae38ee1bc1 Merge branch 'group_work' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into group_work
# Conflicts:
#	FFXIVClassic Map Server/WorldManager.cs
2016-12-21 08:28:24 -05:00
Filip Maj
bf9095822e Got party leader working. Added linkshell world/zone requests. 2016-12-21 08:27:23 -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
Filip Maj
31446f37fa More cleanup (moved groups to WorldMaster class) and fixed the project file. 2016-12-17 09:37:18 -05:00
Filip Maj
fd2df829de Forgot stuff. 2016-12-12 19:05:06 -05:00
Filip Maj
09e1e31e79 Added packet 0xda 2016-12-12 10:11:27 -05:00
Filip Maj
b2c1c2895d Added new packets for controlling BG objects. Added group delete packet. Fixed crash if tried to warp to non-existent zone. Added a create LS db method. 2016-12-11 23:31:13 -05:00
Filip Maj
feb73a8444 Added subclassed groups to auto-set workvalues. 2016-12-06 08:26:16 -05:00
Tahir Akhlaq
ca44400048 cleaned up some spacing 2016-12-05 14:36:40 +00:00
Tahir Akhlaq
4a320d7096 added launch args for ip/port and default config loading
- fixed char create issues by adding default values to fields (todo: fix actual query)
- added post build command to copy scripts folder to bin
2016-12-05 14:26:20 +00:00
Filip Maj
25e55bf6df Merged in takhlaq/ffxiv-classic-server/linux (pull request #29)
fixed linux build and import script
2016-12-05 13:46:02 +00:00
Filip Maj
c2a3641d08 Extended "Group" and created all the subgroups to cleanup code as well as make setting "work" values easier. 2016-12-04 11:59:54 -05:00
Filip Maj
f286922974 Deleted the list folder and anything in it. This was the old way before I realized how groups work. 2016-12-04 10:52:22 -05:00
Filip Maj
0317bea83b Redid the group sending using the new methods. 2016-12-04 10:51:27 -05:00
Filip Maj
18e9ee5f63 Forgot the "SynchGroupWorkValuesPacket" and some merging stuff. 2016-12-04 10:18:04 -05:00
Filip Maj
52703537e9 Forgot the "GroupCreatedPacket". 2016-12-04 10:12:33 -05:00
Filip Maj
df6e16103c Manually added the group packets and dataobjects into dev branch because the working_on_groups branch is so old it probably will break stuff. 2016-12-04 09:52:57 -05:00
Filip Maj
3864bf6d85 Merge branch 'proxy_server' into develop
# Conflicts:
#	FFXIVClassic Common Class Lib/packages.config
2016-12-03 14:03:13 -05:00
Filip Maj
4ce4647a75 If a player tries to zone to a offline server they will see a standard error message. Also a reconnection attempt will be made on a disconnected server. 2016-12-03 14:00:24 -05:00
Filip Maj
260878df38 Fixed login breaking due to destinationZone not going to 0 after switch or crash. 2016-12-03 13:33:39 -05:00
Filip Maj
ebd8ab0580 Fixed random crashes when zoning. Was due to improper write of the SessionEndPacket. For extra safety db is locked until zone in happens. Added some logs. Seems to be all working! 2016-12-03 13:23:32 -05:00
Filip Maj
e30831fdc5 Built subpackets to let the zone servers talk to the world server. Implemented cross-server zoning but the E2 packet or something isn't being sent. 2016-12-03 12:19:59 -05:00
Filip Maj
58fda93b45 Began working on server zone changes. 2016-09-26 16:20:01 -04:00
Filip Maj
5370f13b2b Fixed login not working, was due to packets that got queued not flushing. !!!Need to find solution!!! Added a optimization: Actors with 0 battle args are now concidered "static" and will not send their position updates. Removed some debug print statements. 2016-09-24 14:17:31 -04:00
Filip Maj
d931f71b06 Map server will only load maps it's set to load. 2016-08-29 13:39:50 -04:00