Rhisis - C# Emulator

05/21/2019 14:38 Eastrall#31
Helle everyone,


Quick update about the project progress and milestone 0.2.
Many things have been done since last post:

- Add Experience loss when player dies. (Penalities loaded from server resource file) (PR [Only registered and activated users can see links. Click Here To Register...])
- Fix resurection positions (PR [Only registered and activated users can see links. Click Here To Register...])
- Add new dialogs (PR [Only registered and activated users can see links. Click Here To Register...])
- CLI code refactoring (PR [Only registered and activated users can see links. Click Here To Register...])
- Set Max HP,MP,FP when level up (PR [Only registered and activated users can see links. Click Here To Register...])
- Review of the database assembly (PR [Only registered and activated users can see links. Click Here To Register...])

We are currently working on the default player behavior with the Idle heal system, which was not defined in milestone 0.2, but will be available on version 0.2. Consider this feature as a bonus. ;-)

Don't forget to vote which features you would like to see on next release here: [Only registered and activated users can see links. Click Here To Register...] (You need to login to see the poll options)

Thank you for the support, and stay tuned! :)
Eastrall
05/29/2019 23:03 Eastrall#32
Hello everyone!


This is it! May is ending, and has I promised version 0.2 has been released and is now online on the official test server! Official announcement : [Only registered and activated users can see links. Click Here To Register...]

You can create an account and download the client on the official Rhisis project website: [Only registered and activated users can see links. Click Here To Register...]

We have done many improvements and added a lot of new features in this version.

Check out the [Only registered and activated users can see links. Click Here To Register...] :


Fixes

- Fix real-time position calculation (PR #200)
- Prevent dialogs from having duplicate links id. (PR #213)
- Fix NPC loading (PR #220)

Features

- Pick-up drop items (PR #203)
- Drop items from inventory (PR #203)
- WSAD movements and Jump behavior (PR #204)
- Add multiple dialog texts on DialogLinks. Allow next button on game (PR #207)
- Add multiple dialog texts on introduction text. (PR #215)
- Death System and resurection (PR #206)
- Experience and Level up (PR #214, #218)
- Experience loss on death (PR #216)
- Teleport system (PR #222)

Resources

- Add Flarine dialogs (PR #197, #199, #202, #209, #225)

Changes

- MailShippingCost configuration is now inside the MailConfiguration structure.
- Review of database assembly (PR #208)
- CLI code refactoring (PR #217)

I would like to thank everyone for their support, contributors that have helped to release this version 0.2 !

For next version, I have asked the community what feature you wanted, and most of you replied on the forum or private messages : The Job System. Well, you have been heard, this system has been added to the version 0.3 roadmap!

There is a list of what has been planned for version 0.3 :

There will be a lot of new features in the next version and maybe some bugs fixes reported. Feel free to contribute by adding resources, dialogs, shops, or even code!


Once again, thank you for you support!

Stay tuned!
Eastrall.
06/18/2019 20:55 Eastrall#33
Greetings everyone!


It's been a long time since I haven't posted any progress here! But hey, still making progress. Today, I'm happy to announce that I'm releasing version 0.2.1. This version is a service release fixing some critical bugs and introducing new features.

There is the changelog:

Fixes
  • Fix NullReferenceException when a player attacks a monster without a weapon
  • Fix ClusterServer weapon display
  • Fix Respawn system
  • Fix dropped items bonuses

Features
  • Attribute system
  • Food, potions and refreshers items usage

Resources
  • Add Flarine dialogs

Changes
  • Remove SQL Server support

Checkout the full changelog with changes here: [Only registered and activated users can see links. Click Here To Register...]

If you want to test the server, sign up here: [Only registered and activated users can see links. Click Here To Register...] and download the client here: [Only registered and activated users can see links. Click Here To Register...]


Thank you for reading and the support!


Stay tuned!
Eastrall
06/27/2019 21:56 Eastrall#34
Hello everyone!


Blinkwings are now operational with delay and special effect!

[Only registered and activated users can see links. Click Here To Register...]

Release of version 0.3 is near! Unfortunatly, it will not contain the job system. It has been reported to version 0.4 that will be released by the end of July.


Stay tuned!
06/30/2019 11:32 Eastrall#35
Greetings everyone!

Today is the end of the June, and therefor, the release of a new stable version! Please welcome version 0.3!

Unfortunatly, things didn't happen has expected and the job system is delayed to version 0.4 due to personal issues IRL. But hey, there's what have changed since release 0.2.1 :

[Only registered and activated users can see links. Click Here To Register...]

This releases contains 37 commits since version 0.2.1.

Fixes

Features

We have introduced 3 new systems and fixed some that you, dear players and contributors have reported to us.
You can now buy Blinkwings at the magic shop and visit the beautiful city of St.Morning or the lands of Darkon 1. Also, Wrapzones have been added along with the Mars Mine dungeon map.

We starting to work on [Only registered and activated users can see links. Click Here To Register...] today, we hope to deliver a stable version by the end of july. If you found some critical bugs on version 0.3, we might release some patching version to the test server.

Thank you for supporting this project!

Stay tuned!
Eastrall.
06/30/2019 12:33 netHoxInc#36
Ure mostly the only one responding here to mostly urself i guess. Dont stop ur work, it's great and I'm allways following ur commits and this post, it's great to see something like this coming, specially for those who arent used to c++ or strictly do not want to use it.

I personally prefer this lang myself so im quite happy with every update I see, you're making a gud progress and seem to understand what you do very well.

You should definetly get more appreciated for your work.

I thought someone should comment this, so i took the job ;)

Cheers, net

Edit:

I'm familar with c++ and can code systems for the game like this but, i usually take way longer times that i'd need on c#, so once the base is all ready, i'm happily going to start work on new systems, im quite hyped for the beginning of new age flyff server coding :)
07/02/2019 08:31 Eastrall#37
Thank you for the support message netHoxInc, I really appriciate it.

It's true that I'm replying to my own posts, but even if nobody answers, I want to share the progress to this community, because they might not want to check on github some code updates. So I synthesize everything here and make a "more understandable" post. :-)

Project is fully open to contribution. At the moment is kinda hard to contribute "real" complete systems because some parts are missing. Like the Inter Server Communcation that needs to be rewriten. Once it's ready to use, people can contribute by doing the GuildSystem, Friend system, messenger system, etc... Every system that needs a communication between channels.


Cheers,
Eastrall
07/02/2019 18:08 Achileus#38
not really active in this scene anymore, but ur project is really interesting, and im always follwing ur progress since day one :D.
07/08/2019 14:58 Eastrall#39
Hello everyone!


This weekend I've been working on the job change system.

Before introducing the quest system, to change job, you just need to talk the the instructors and your job will be change immediatly.

Little image:

[Only registered and activated users can see links. Click Here To Register...]

In next weeks roadmap, we will focus on updating the CORE of the programs to implement a program host, with built-in [Only registered and activated users can see links. Click Here To Register...], Logging and life-time management.
07/10/2019 10:19 Frostiae#40
Been following this for quite a while now (as I've told you) and as someone who sort of enjoys C# im glad someone is working on a project like this. Very impressive how long you've been dedicated to this project, excited to see where it ends up :D
08/06/2019 15:37 Eastrall#41
Hello everyone!


Almost one month I haven't posted anything here! So, here am I with news!

The emulator is being refactored using the benefits of the .NET Core 2.2, and is now using a "HostBuilder" that provides built-in dependency injection, logging and configuration manager. It is also combined with my [Only registered and activated users can see links. Click Here To Register...] library that invokes actions based on a given parameter.

There is a list of what has change and what is being done at the moment :

- LoginServer and ClusterServer have been fully refactored using the HostBuilder and Handler systems.

Good news is, with this architecture and organization, we will be able to create unit tests directly on server handlers. To will prevent bugs and make the emulator even more robust.

- The inter-communication system (aka ISC) has been renamed into "CoreServer" and is also using the same benefits as the other servers. Before that, the ISCServer was tighly coupled to the LoginServer, which is kinda bad in architectural point of view. So now, LoginServer and CoreServer are COMPLETLY decoupled.

- The biggest and most important part : the WorldServer.

I am making some important changes that will mark a new begining in the way we think the FlyFF game logic, compared to previous emulators such as OsaFlyFF, Morpheus and all others.
Rhisis is being reworked to be "service-oriented" and be compatible with "Dependency Injection". This will allows us and you, contributors, to create your own "services" (AKA game systems) and inject them where ever you want in the WorldServer.

Also, I have shutdown the test server, web site and forum. Since there is no actual updates on the test server, keeping it open is not really necessary. Don't worry, the test server will be reopening when Rhisis will be ready again and with content and a kind of gameplay to present. (Jobs, skills, quests, etc...)

Feel free to come discuss about it on our [Only registered and activated users can see links. Click Here To Register...].

Once again, thank you to everyone who is supporting this project ! Don't hesitate to make suggestions to improve the emulator. :-)

Cheers,
Eastrall
08/07/2019 15:54 Figz#42
You're doing a really good job!

I am very interested into your Project and will study the Source.

But could u check if the Repository on GitHub is up-to-date?
08/07/2019 16:06 Eastrall#43
Quote:
Originally Posted by Figz View Post
You're doing a really good job!

I am very interested into your Project and will study the Source.

But could u check if the Repository on GitHub is up-to-date?
Thank you!

The repository is not up to date yet. I need to finish some stuff before pushing the changes to the "develop" branch. I will let you know when all the changes are done.
09/01/2019 12:29 Eastrall#44
Hello everyone!

The global refactoring is now over! Finally! Now that it's done, we can build new systems with a brand new mechanism! I'm going to review the job system and start the quest system. This will introduce a new option on the WorldServer configuration. You will be able to configure if you players want to change job using the quests or change job instantly by talking to the instructors. (This will also help us test the job change system :) )

There have been a lot of changes on the way we create systems, check out the explanations here: [Only registered and activated users can see links. Click Here To Register...]

Also, the guides will be updated soon.


Stay tuned! :)
01/12/2020 11:22 Eastrall#45
Hello everyone!


It's been a very long time since I didn't posted any update about the project here.
I'm actually focusing on the Quest System and there a lot to say about it.

You all know about the good old quest format, right ? Yeah this one:

Code:
QUEST_NEWPETYORN
{
	SetTitle
	(
		IDS_PROPQUEST_INC_001327
	);
	
	setting
	{
		SetCharacter( "MaFl_Loyah" );
		SetEndCondCharacter( "MaFl_Loyah", 7169, 3208, QUEST_DESTINATION_ID_0000 );
		SetBeginCondLevel( 5, 15 );
		SetBeginCondParty( 0, 0, 0, 0 );
		SetBeginCondJob( JOB_VAGRANT );
		SetEndCondItem( -1, 0, -1, II_SYS_SYS_QUE_YORN, 1, 7068, 4125, QUEST_DESTINATION_ID_0000 );
		SetEndRemoveItem( 0, II_SYS_SYS_QUE_YORN, 1 );
		SetEndRewardGold( 15000, 15000 );
		SetHeadQuest( 6004 );
	}

	SetDialog
	(
		QSAY_BEGIN1, 
		IDS_PROPQUEST_INC_001328	
	);
...
}
Well, I wrote a little CLI command that converts every quest from the propQuest*.inc files into a single LUA script file, that looks like:

Code:
QUEST_NEWPETYORN = {
	title = 'IDS_PROPQUEST_INC_001327',
	character = 'MaFl_Loyah',
	end_character = 'MaFl_Loyah',
	start_requirements = {
		min_level = 5,
		max_level = 15,
		job = { 'JOB_VAGRANT' }
	},
	rewards = {
		gold = 15000,
	},
	end_conditions = {
		items = {
			{ id = 'II_SYS_SYS_QUE_YORN', quantity = 1, sex = 'Any', remove = true },
		},
	},
	dialogs = {
		begin = {
			'IDS_PROPQUEST_INC_001328',
			'IDS_PROPQUEST_INC_001329',
			'IDS_PROPQUEST_INC_001330',
			'IDS_PROPQUEST_INC_001331',
			'IDS_PROPQUEST_INC_001332',
		},
		begin_yes = {
			'IDS_PROPQUEST_INC_001333',
		},
		begin_no = {
			'IDS_PROPQUEST_INC_001334',
		},
		completed = {
			'IDS_PROPQUEST_INC_001335',
		},
		not_finished = {
			'IDS_PROPQUEST_INC_001336',
		},
	}
}
It looks like json, but in the future I will surely expose an API and quest hooks so administrators can configure quests has they want.
This being done, Rhisis is able to load all of this files in memory.

When you are in game, you can do pretty much everything like the official files:
  • Start a new quest
  • Kill quest monsters
  • Drop quest items
  • Finish a quest
  • Get exp, gold and item rewards

There are some screens of the quest system:
[Only registered and activated users can see links. Click Here To Register...]
New quests list

[Only registered and activated users can see links. Click Here To Register...]
Quests in progress

[Only registered and activated users can see links. Click Here To Register...]
Quest monster update and checked quest

Now that this system is working pretty well, I've started working on the Skill System!
So far so good, I've been able to do the following:
  • Load skills and skill levels
  • Initialize player skills based on its job
  • Upgrade skills using skill points
  • Save skills

Find out the roadmap here: [Only registered and activated users can see links. Click Here To Register...]

Next steps from now on, will be to include the skills usages (melee, magic and buffs!) and then I might be opening a new test server to test all these features!


Stay tuned!
Eastrall