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