Filip Maj
316e326d71
GM tickets can now be in an open/closed state. Added some helper functions for currancy, and added functions to allow changing chocobo appearance.
2016-08-21 18:16:54 -04:00
Jordan Maxwell
46350a0724
Fixed Bugs
2016-08-19 16:32:14 -05:00
Jordan Maxwell
fb18c1fbe4
Added DB Support for Chocobo Lenders
2016-08-19 14:40:43 -05:00
Jordan Maxwell
7c9077beec
Added support for Linux/OSX Paths
2016-08-18 22:59:23 -05: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
Filip Maj
a93843510e
Cleaned up script packets and added the InfoResponse packet (internally the DataPacket). Added more info to the music packets. More work on class changing.
2016-03-19 10:22:20 -04:00
Filip Maj
f71b4ef031
Fixed bug where DB writing for equipment would be toggled off if gearset was nil for some reason. Added in a property change to get the bottom class icon to refresh showing the new class.
2016-03-12 10:01:41 -05:00
Filip Maj
e851c767df
Finished check command as well as gearsets and switching between classes. Property changes still have to be written though.
2016-03-12 02:52:34 -05:00
Filip Maj
44e5430fdc
Implemented equipment and equip graphics. Add some zone callbacks and "first start" functionality. Added playtime.
2016-03-06 17:55:42 -05:00
Filip Maj
c9116005d6
Changed untradeable to itemType (since it's used for bazaar as well).
2016-02-22 22:33:52 -05:00
Filip Maj
83fb9badd7
Finished writing the query and editing the inventory methods to use the gamedata.
2016-02-21 21:44:11 -05:00
Filip Maj
d2ac603efa
Renamed the "Item" object to InventoryItem. Began writing the Item object that will be used to store game data items.
2016-02-21 14:06:23 -05:00
Filip Maj
c2f0b9d999
Equipment now working. Still need to write database saving/loading.
2016-02-20 21:20:54 -05:00
Filip Maj
b7fd3e442c
Added 0x6c to the actorIdChanger. Mount appearance is now broadcast to show Goobbue. Equipment packets implemented as well as Equipment object.
2016-02-20 16:51:35 -05:00
Filip Maj
a47d5f96a5
Fixed emotes not being sent to the emoter. Fixed appearance packets' gloves/legs being ordered wrong. Chat is implemented. Changed commands to start with '!'.
2016-02-18 22:38:54 -05:00
Filip Maj
c6ac8b2f14
Fixed an error in the netcode that would cause the client to d/c on partial packets. Set buffer size to 0xFFFF due to disconnect on really large packets (ie gm packet). Implemented support ticket packets.
2016-02-16 22:53:53 -05:00
Filip Maj
cb4171f1fd
Bunch of bugfixes and final tweaking to get inventory working.
2016-02-14 12:09:18 -05:00
Filip Maj
47be08fbf7
Finished remove item code. Inventory Add/Remove should be complete.
2016-02-13 22:25:40 -05:00
Filip Maj
110a112328
Implemented remove though will need to test more. Finished tweaking addItem(itemId, quantity).
2016-02-13 21:14:49 -05:00
Filip Maj
1f3cd8eaf3
Added the two new datatypes to get the inventory commands to parse properly.
2016-02-13 16:33:33 -05:00
Filip Maj
69b34fdce7
Reworked the inventory system so that each inventory type is contained in it's own "Inventory" object. Also, fixed the Inventory packets being all malformed.
2016-02-13 14:12:05 -05:00
Filip Maj
df2ac1fb32
Added all the inventory packets, and implemented add and get inventory from the db to the server. Inventory at login is now connected to the db!
2016-02-11 22:14:40 -05:00
Filip Maj
42ba95b69d
Reworked zones to allow for isolated zones (IE Opening Zone) and private area instances.
2016-02-07 13:05:54 -05:00
Filip Maj
c83b4a12b9
Added the game message packets. Fixed "canRideChocobo" param in zone not working. Added a lot more function for lua to access. Various minor changes.
2016-02-03 00:45:11 -05:00
Filip Maj
cfb29b912f
Speed is now stored in the actor. Redid actor speed packet to use float. Added GameMessagePacket which can use all 20 msg packets. Added functions for lua side to call in player obj.
2016-02-02 00:02:06 -05:00
Filip Maj
5c8277fbb9
Redid the database, actor_class and npclist was combined. Added commands to the lua engine. Script will default to a PopulaceStandard if no script detected to avoid crashing. Static Actors now loaded from the static actors file.
2016-01-28 23:24:20 -05:00
Filip Maj
789df97d48
More static actors loaded and can be accessed anywhere. Improved lua scripting to allow small talk.
2016-01-25 01:10:43 -05:00
Filip Maj
300748668f
Removed NLua and replaced it with MoonSharp. Scripting for NPCs has been implemented, but still have to test a lot.
2016-01-24 17:11:35 -05:00
Filip Maj
e043be5ca4
Added a way to reset a zone and reload the NPC list.
2016-01-24 03:10:17 -05:00
Filip Maj
f1025f89d3
Rewrote the server commands. They can now accept a client connection, letting a user fire a command from within the game and only receive the response. Added actor removal for the instance system. Removed hardcoded packet 9.
2016-01-23 23:28:12 -05:00
Filip Maj
7bc3c8c2dd
Added event conditions to the database. This is a JSON object that stores all types of conditions. The server also sends the correct packets to enable these conditions (minus the push packets... those aren't implemented).
2016-01-23 22:11:45 -05:00
Filip Maj
ea6b1e33c7
NPCs now spawn and load template from the db.
2016-01-20 23:18:10 -05:00
Filip Maj
02b90edd3f
Added two new commands; warp by zone entrance and a getpos command. Fixed character actor not appearing on zone... 0x2 packet only sent on login. Added spawnType to getSpawnPackets.
2016-01-20 00:02:57 -05:00
Filip Maj
d90dc0cb80
Redid the initial handshake code to handle the found connection type field. Server should no longer create two player objects and code has been reduced. Removed instances of connection1/2 getters... server simply sends packets down zone connection. Fixed issue with world manager not zoning in player due to missing 0x2 packet.
2016-01-19 21:47:59 -05:00
Filip Maj
0462b790b7
Built a WorldManager to handle zones.
2016-01-19 21:06:41 -05:00
Filip Maj
887da7b503
Moving zone/login stuff away from packetprocessor into a "WorldManager" class.
2016-01-17 23:36:34 -05:00
Filip Maj
db62b05fdc
Merge branch 'database_work' into scripting
...
# Conflicts:
# FFXIVClassic Map Server/actors/chara/Character.cs
# FFXIVClassic Map Server/actors/chara/npc/Npc.cs
# FFXIVClassic Map Server/actors/chara/player/Player.cs
2016-01-17 11:53:52 -05:00
Filip Maj
d77344b725
Multiple zones are now stored on the server and accessed properly.
2016-01-17 11:48:55 -05:00
Filip Maj
0e85e2bddf
Implementing zone settings from DB.
2016-01-17 01:51:02 -05:00
Filip Maj
1c845e62e3
Implemented WeatherDirector , ZoneMaster, and WorldMaster in code. Zone objects has become the ZoneMaster actor object.
2016-01-16 23:03:04 -05:00
Filip Maj
724445a54a
Achievements are now loaded from the database. Cleaned up login packets.
2016-01-16 18:38:49 -05:00
Filip Maj
f7702bca13
Added some new work parameters. Fixed GC Packet (wrong sized data). Connected player data packets to DB. Cleaned up login code.
2016-01-16 11:26:35 -05:00
Filip Maj
2bf532a6db
Fixed bug in property reflection code. If array had 2 or more digit index, would truncate to 1 digit.
2016-01-12 01:20:09 -05:00
Filip Maj
e47904dc30
Got commands working. Wrong ID for one of em.
2016-01-12 00:43:52 -05:00
Filip Maj
aebaa1b70e
Changed param constants.
2016-01-10 23:21:06 -05:00
Filip Maj
d9e274eb09
Quests and Leves now load from the db.
2016-01-10 14:15:46 -05:00
Filip Maj
5b5b99bb4b
Got most of the properties getting set. Commands and General Parameters broken.
2016-01-10 13:36:36 -05:00
Filip Maj
d42dac543f
Fixed wrong values sent for the setactorproperty packet. Initialized commandSlot_compatibility which was null.
2016-01-10 11:47:22 -05:00
Filip Maj
bea796ec85
Removed old db stuff.
2016-01-10 03:05:22 -05:00
Filip Maj
625ee299f7
Added more defaults.
2016-01-10 02:59:16 -05:00
Filip Maj
3205bd1c83
Added property init function which should get everything working. Added defaults to some properties.
2016-01-10 02:44:32 -05:00
Filip Maj
9fc4101812
Fixed all errors with player loader from db. DBAppearance is redundent and was removed.
2016-01-10 01:19:46 -05:00
Filip Maj
4dec77aa69
Added a load player character function to the database class. As I went through, changed the various properties to their correct datatype. Also added Work object to Character.
2016-01-09 23:22:10 -05:00
Filip Maj
44c45c4ad2
Cleanup.
2016-01-09 21:35:45 -05:00
Filip Maj
c9f35a207b
Fixed up warping with new values for SetActorPosition packet. The script instantiation packet is done and implemented. Player init is done except for parameters.
2016-01-09 18:52:23 -05:00
Filip Maj
315ec1f220
Fixed state being wrong size. Player substate will always be 0xBF.
2016-01-09 00:06:56 -05:00
Filip Maj
fac9d28529
Got warp working. BROKE ACTOR SPAWNING!
2016-01-08 21:37:09 -05:00
Filip Maj
360d72b376
Implemented the player portion of the new actor system.
2016-01-02 18:17:03 -05:00
Filip Maj
7aeb33d884
Figured out all main actor states and implemented the stuff properly. Implemented the chocobo/goobbue appearance stuff. Formatted CharaWork a bit.
2016-01-02 16:47:35 -05:00
Filip Maj
04faf9d753
Begun reimplementing the whole actor system to follow more closely to the client side's system. Packet processor's reference chanced, and all ActorID vars in Actor class were changed to ActorId.
2016-01-02 14:04:45 -05:00