Commit Graph

205 Commits

Author SHA1 Message Date
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
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
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
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
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
feb73a8444 Added subclassed groups to auto-set workvalues. 2016-12-06 08:26:16 -05: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
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
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
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
cf38454c8f Cleaned up a lot of the "ConnectedPlayer" objects, turning them into "Session" objects. A lot of duplicate lists were also removed. 2016-08-29 12:37:41 -04:00
Filip Maj
c67f74130f Moved packet structures to common. 2016-08-22 10:43:04 -04:00
Filip Maj
b3920f9630 Music is faded in on seamless change instead of instant. 2016-08-05 18:25:08 -04:00
Filip Maj
5e926bf668 Added Gridania scripts and various others. Fixed error messages popping for scripts that may not use certain functions. 2016-08-05 18:23:59 -04:00
Filip Maj
67928ee875 Seamless zoning implemented WOOOO! 2016-07-31 23:00:38 -04:00
Filip Maj
b43a6885c5 Added functions to allow for an improved seamless zone change. Player can now pull actors from two zones when performing a seamless zone change to give a improved feel. 2016-07-31 21:48:17 -04:00
Filip Maj
2939683183 Added property flags for actors. Cleaned up NPC constructor. 2016-07-24 10:21:45 -04:00
Filip Maj
70b4fc8630 Removed some packet debug outputs. 2016-07-17 09:21:17 -04:00
Filip Maj
5b7ad2364b Merge branch 'master' into develop 2016-07-16 20:04:49 -04:00
Filip Maj
d26b64b458 Fixed some minor lua related crashing when the parent file was not found for some reason. Used decorated message for error output, not normal message. 2016-07-16 19:52:13 -04:00
Tahir Akhlaq
5fc0e0eeca Merge branch 'master' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into lua_commands
# Conflicts:
#	FFXIVClassic Map Server/dataobjects/ConnectedPlayer.cs
#	FFXIVClassic Map Server/lua/LuaEngine.cs
#	data/scripts/global.lua
2016-06-24 22:13:17 +01:00
Tahir Akhlaq
30b0d4a97d implemented sendpacket and speed commands
- fixed data race on logging in
- todo: implement reloadzones, reloaditems, property, property2
2016-06-24 20:52:30 +01:00
Filip Maj
97c1fb06cf More script work. 2016-06-19 23:16:31 -04:00
Filip Maj
8743042950 Cleaned up the new scripting code. Added a helper function to do the yielding automatically. Modified all the scripts to use the new system and added a few new ones. 2016-06-19 18:52:34 -04:00
Filip Maj
51bbf4ae2e Non-npc stuff is now also using script system. Wrote new scripts for all sidemenu commands. 2016-06-18 12:26:29 -04:00
Tahir Akhlaq
37d91480f9 Merge branch 'master' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into lua_commands
# Conflicts:
#	FFXIVClassic Common Class Lib/packages.config
#	FFXIVClassic Lobby Server/Program.cs
#	FFXIVClassic Map Server/CommandProcessor.cs
#	FFXIVClassic Map Server/Program.cs
#	FFXIVClassic Map Server/actors/Actor.cs
2016-06-18 05:59:42 +01:00
Tahir Akhlaq
1ad2b5d7d0 more work on commands
- moved script object to wrapper class to catch and log exceptions
- added loggers for basepacket/subpacket (todo: colour and use them in NLog.config)
- finished up most commands (todo: !property and !property2)
- todo: create and use mysql wrapper class to log exceptions
2016-06-18 05:42:14 +01:00
Filip Maj
4e69022072 New style of scripting for better complex menus. 2016-06-17 23:17:24 -04:00
Tahir Akhlaq
57b9d5ab99 start of work moving commands to lua 2016-06-17 02:44:57 +01:00
Tahir Akhlaq
ac01224769 fixed derps causing client/server crashes 2016-06-16 03:49:58 +01:00
Tahir Akhlaq
2b81660dce accidentally mass replaced "target", fixed now 2016-06-15 04:27:25 +01:00
Tahir Akhlaq
ba13d5798d derp 2016-06-15 00:08:05 +01:00
Tahir Akhlaq
335a59204c Merge branch 'master' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into method_casing
# Conflicts:
#	FFXIVClassic Map Server/CommandProcessor.cs
#	FFXIVClassic Map Server/WorldManager.cs
#	FFXIVClassic Map Server/actors/area/Area.cs
#	FFXIVClassic Map Server/actors/area/PrivateArea.cs
#	FFXIVClassic Map Server/actors/area/Zone.cs
#	FFXIVClassic Map Server/actors/chara/npc/Npc.cs
#	FFXIVClassic Map Server/common/Utils.cs
#	FFXIVClassic Map Server/dataobjects/ConnectedPlayer.cs
2016-06-14 22:54:02 +01:00
Tahir Akhlaq
24f55139dd mass replaced all methods to pascal case 2016-06-14 21:29:10 +01:00
Tahir Akhlaq
ed0a0a58f7 added nlog logging (todo: custom logger for packets) 2016-06-14 19:06:55 +01:00
Filip Maj
d1c8987091 Scripted almost all of lower limsa. 2016-06-13 21:26:19 -04:00
Filip Maj
a4ea5f024b Merge branch 'actor_instancing' into develop
# Conflicts:
#	sql/gamedata_actor_class.sql
2016-06-12 18:52:30 -04:00
Filip Maj
957a8d89bb Null event conditions get defaulted to empty conditions to allow anything to spawn. More work on the scripts. Committing the new sql schema + imports of all 3 town zones. 2016-06-12 18:43:41 -04:00
Tahir Akhlaq
c23f9c7ca9 PROJECT: added common library to make common files actually common
- renamed sln to FFXIVClassic.sln
- threaded logging
- todo: print packets using Log.Packet
2016-06-12 20:12:59 +01:00
deviltti
1c712c7533 Cleaned up LogFile and ByteArrayToHex utils. 2016-06-10 19:58:01 -04:00
Filip Maj
f0d4429f65 Child scripts now loaded by a uniqueId in the spawn table. 2016-06-09 22:58:03 -04:00
Tahir Akhlaq
8b93abe86e servers now log (almost) everything to file
- regex'd in mysqlexception logging
- servers can now specify server_port, log_path, log_file
- added scripts to import/export all tables (exporting will export a handful of garbage table names, open and check for structure before deleting)
- fixed packet logging (thanks deviltti)
2016-06-09 19:48:06 +01:00
Filip Maj
23b6ede128 Designed the new script system for npcs. Added missing appearance info. 2016-06-09 00:46:17 -04:00
Filip Maj
fc51b7f564 Modified scripts to work with new system. 2016-05-29 16:03:24 -04:00
Filip Maj
62ed9b22f1 Implemented actor instancing, as well as automatic name generation for NPCs. 2016-05-29 15:14:09 -04:00
Filip Maj
f0ec2125ac Found out the second weather packet value is a transition time. 2016-05-09 22:19:57 -04:00
Filip Maj
8df79c9e6f Modified the SetWeatherPacket. Second value is a toggle for instant or smooth transitions. 2016-05-09 20:48:18 -04:00
Filip Maj
3d5fa45730 Merge branch 'develop'
# Conflicts:
#	FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
#	FFXIVClassic Map Server/Server.cs
#	data/scripts/player.lua
#	scripts/zones/193/npcs/pplStd_11@0C100.lua
2016-04-18 13:31:55 -04:00
Filip Maj
79eaf5d79e Added more quest functions and completed the scripts for Gridania and most of Ul'dah. Up to the battle part that is. 2016-04-17 19:09:01 -04:00
Filip Maj
d989ec2a58 Added two callbacks to the Director; onTalked and onCommand. Split the command and event starts and keep track of them separately. 2016-04-14 08:30:21 -04:00
Filip Maj
108f5aa677 Fixed crash due to bad constructor for QuestDirectorMan0L001. Unsigned integers will also write out as lua 0-datatype. 2016-04-11 22:49:05 -04:00
Filip Maj
fe111ab6ca Quest data is now saved/loaded from the DB. 2016-04-10 13:11:12 -04:00
Filip Maj
b8a3d4f1e0 Added quest director class. 2016-04-10 11:14:36 -04:00
TheManii
c38fbc0c09 *Revert ea1e16a, should be done globally and not simply here 2016-04-09 12:35:29 -07:00
TheManii
dbbd1fa0d8 Fix merge 2016-04-08 10:03:35 -07:00
TheManii
de2ec984e4 Revert "Fix merge"
This reverts commit 29228a0c11.
2016-04-08 09:59:56 -07:00
TheManii
29228a0c11 Fix merge 2016-04-08 09:57:40 -07:00
TheManii
fc07d2e24d Merge ingame_help into master 2016-04-07 22:25:58 -07:00
Filip Maj
c0cd7555e1 -Fixed up the quest flag functions.
-Renamed the ActorSpecialGraphicPacket to SetActorQuestGraphic as those icons all have to do with questing.
-Got onSpawn to work and implemented the quest graphics.
-Added new QuestDirector class.
2016-04-07 22:34:10 -04:00
TheManii
b17d193a59 Fix previous commit 2016-04-07 11:41:56 -07:00
TheManii
7c0594b749 Cherrypick *b16ea7b Disable login10/11 2016-04-07 10:37:14 -07:00
TheManii
b16ea7bc44 Disable login10/11 2016-04-07 10:21:04 -07:00
TheManii
26f5e1be28 Fix spelling 2016-04-06 15:34:04 -07:00
TheManii
ea1e16aea7 Make Getters more case consistant 2016-04-06 15:29:24 -07:00
Filip Maj
b68d13ea7f Cleaned up the lua calls and renamed "onInstantiation" to "init". Added a "onSpawn" callback but still working on it. Added the "ActorSpecialGraphicPacket" and functions to use it. 2016-04-02 17:56:01 -04:00
Filip Maj
e501d5b796 Merge branch 'develop' 2016-04-01 23:50:29 -04:00
Filip Maj
4c391f64bc Removed old inn code and realigned all the cutscene flags. Offsets will need to be figured out again though. 2016-04-01 23:50:17 -04:00
Filip Maj
91842ab08a Merge branch 'develop'
# Conflicts:
#	FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
2016-04-01 23:27:34 -04:00
Filip Maj
6c3918ac2f Got the kick event packet working and implemented the director parameter in the player instantiation. The first argument of the set event status packet is an "isEnabled" flag; switched to bool rather than int. 2016-04-01 23:24:14 -04:00
Filip Maj
8da3a6ff9c Merge branch 'develop'
# Conflicts:
#	FFXIVClassic Map Server/packets/send/Actor/events/SetEmoteEventCondition.cs
2016-03-30 20:18:28 -04:00
Filip Maj
597a800599 More work trying to get the opening cutscene to fire right away. 2016-03-30 20:15:21 -04:00
Filip Maj
48f1fbc8f5 Implemented the emote and notice event conditions. 2016-03-29 17:09:16 -04:00
Filip Maj
1dccc0530e Static actor file can be now loaded from the original encrypted script in the FFXIV folder. This way I do not run into issues of sharing client files. 2016-03-28 23:05:19 -04:00
Filip Maj
b33b0b1bc4 When zoning into a inn, cutscene packet will be sent as well. 2016-03-28 22:00:11 -04:00
Filip Maj
a615f29e63 Added path companion data to the cutscene book packet. Now that packet will fire if zoning into the inn. Removed some debug logs. Removed a duplicate zone packet send call. 2016-03-28 21:00:33 -04:00
Filip Maj
4d57aa72a6 Cleaned up the 0x02 packet. It fires in response to the 0x2 packet sent by the client it seems. 2016-03-28 12:14:10 -04:00
Filip Maj
a30311d12a Added director related code to player and packet processor. Cleaned up some debug messages. Added a flag when a player is "zoning in". 2016-03-28 11:31:21 -04:00
Filip Maj
9c28e966f7 Added director code to player class and actor namespace. 2016-03-23 01:27:12 -04:00
Filip Maj
49a13effca Fleshed out the quest actor and added a place to store the current active quest actors in the Player actor. 2016-03-21 11:42:27 -04:00
Filip Maj
2048d8d188 Implemented a intra-zone teleport. Trigger Name is now sent to to the "eventStart" lua callback. Lua scripts can now access world manager. 2016-03-20 21:18:46 -04:00
Filip Maj
08fd862939 Implemented the emote and notice event conditions. 2016-03-20 19:34:39 -04:00
Filip Maj
0876b293e8 Started to implement private areas. Works mostly, but only one instance is created. All the push triggers work more or less except bounding box. 2016-03-20 19:29:38 -04:00
Filip Maj
67fed3dba5 Fixed bug where new characters would not have items equipped. This was due to the slotId was being saved, not the unique itemId. 2016-03-20 12:43:20 -04:00
Filip Maj
335ec414d6 Levels are now loaded in from the database, and "mainSkillLevel" properties are also correctly set. 2016-03-19 19:21:16 -04:00
Filip Maj
1f60bcf4fc Finished code to send character skill (class) info. Added parameterdata request packet that requests this info. 2016-03-19 18:43:02 -04:00