suprcode / crystal Goto Github PK
View Code? Open in Web Editor NEWLegend of Mir 2 - Official Public Crystal Source
Legend of Mir 2 - Official Public Crystal Source
If you rename your pet while it is summoned the rename does not automatically apply.
When you unsummon the pet you can't resummon it ever again. I guess due to a mismatch on names?!
LogTime = Envir.Time;
BrownTime = Envir.Time;
When you equip 2 pieces of HwanDevil set it resets your bagweight to 255 if over 255 (e.g. 2000 to 255).
Red poison doesn't currently do anything. The poison code is added, however there is no defence reduction code added that i can see
https://github.com/Suprcode/mir2/blob/master/Server/MirObjects/ConquestObject.cs#L370
On that line you have || instead of &&.
I am from China.
I hope I can translate this project to Chinese.
But I found some thing are hard to trans. Like this one
public void Update(ClientMagic magic)
{
Magic = magic;
NameLabel.Text = Magic.Spell.ToString();
LevelLabel.Text = Magic.Level.ToString();
}
Sorry for my bad English.
Items not loading when opening guild storage.
http://www.lomcn.org/forum/showthread.php?95212-Taget-slot-not-empty&p=1046656&posted=1#post1046656
Can easily speed hack using cheat engine. Not sure how to put prevention's / checks in place but i'm trying to search up some answers.
Shouldn't the poison check in the attacked method be as follows? Currently spells that shouldn't green poison are green poisoning e.g. soulfireball, fireball etc. It needs to be done in monster and player if you decide to change it.
if (attacker.PoisonAttack > 0 )
if (attacker.PoisonAttack > 0 && type != DefenceType.MAC && type != DefenceType.MACAgility)
Sorry for my bad English
When MaxBagWeight < CurrentBagWeight
retrieve item from guildsotrage will cause itemslot freezeing
logout will been fine
in GameScene.cs
case 4://failretrieve
toCell = p.From < User.BeltIdx ? BeltDialog.Grid[p.From] : InventoryDialog.Grid[p.From - User.BeltIdx];
fromCell = GuildDialog.StorageGrid[p.To];
are wrong
case 4://failretrieve
toCell = p.To < User.BeltIdx ? BeltDialog.Grid[p.To] : InventoryDialog.Grid[p.To - User.BeltIdx];
fromCell = GuildDialog.StorageGrid[p.From];
work fine
Hydra AI is broken.
Either it needs to be stationary and spit things or it needs an animation to go under ground, move then reappear. I'm not sure which it should be but will find out when I get to it.
http://www.lomcn.org/forum/showthread.php?94849-Brief-Updates-On-Fix-s-(ingame)
Does not broadcast skill effect so that other players can see when they are casting it.
If you miss and crit it comes up with both. Should just bypass the crit message if it misses.
Look into code; not sure if there is an exit sequence that can be used to reset position. I assume there is something for shop.visible = false or .hide()
http://www.lomcn.org/forum/showthread.php?94490-an-annoyance-rather-than-a-bug
As mentioned on LOMCN there is an issue with the Trainer class causing the server to crash if a pet using the SpittingSpider AI or any other that uses Green Poison, there needs to be a check if the attacker is a PlayerObject otherwise the server will try and cast the attacker (in this case MonsterObject) as a PlayerObject.
Here is the post along with the fix:
http://www.lomcn.org/forum/showthread.php?95082-Trainer-Bug-(Crash)&p=1045195#post1045195
http://www.lomcn.org/forum/showthread.php?94855-Another-Visualizer-Bug
Follwing one needs closing, may aswell do it when this one is done.
http://www.lomcn.org/forum/showthread.php?94474-Visualiser
Hello there. Managed DirectX has been deprecated for 10 years already, and due to it's age.
Managed DirectX 1.1 as it stands today is deprecated. It was last updated in April 2006 to match that version of D3DX9. The last DirectX SDK to include the samples and documentation for Managed DirectX 1.1 was August 2006.
1)Since the last version of D3DX9 supported by Managed DirectX 1.1 is April 2006, it makes use of a very outdated version of the HLSL compiler.
2)The Managed DirectX 1.1 assemblies are 32-bit only, so you cannot use them from an x64 native .NET application
3)The assemblies only support the legacy DirectX API set, with no support for Direct3D9Ex, Direct3D 10.x, Direct3D 11, Direct2D, DirectWrite, DXGI, D3DX10, D3DX11, XAUDIO2, XACT, XINPUT, etc.
4)Since Managed DirectX 2.0 was never released in production form, the Managed DirectX 1.1 assemblies still reflect .NET 1.1 design principles and does not support or make use of .NET 2.0-4.6 constructs.
5)Managed DirectX 1.1 while compatible with .NET 2.0 (and the .NET 3.0 and .NET 3.5 extensions of the 2.0 runtime), is not compatible with .NET 4.0-4.6
How about replace them with MDX mimic - SlimDX library? That is non hard at general (just some syntax and function names changed if we compare with MDX), and has alot of benefits instead of using 10 years-old deprecated library.
ShoulderDash only moves the player / target forward one space no matter the skill level or player level.
If the player is more than 1 step away from the monsters it will move the player to the monster and push the monster back one space but it does not work how intended by pushing the monster back the full distance. I assume it's registering the target as an object blocking it.
Possible intended feature, but should be limited to potions, amulets, poisons and scrolls.
The Recovery from Energy Shield within the Attacked(Objects) methods are in the wrong area.
They are currently within if (Hidden) which obviously means it won't work unless the players with the shield on are being hidden.... the check needs to move outside of the if (Hidden) statement.
Need to add broadcast so that the item updates when the player gets the murder.
if (weapon != null && weapon.Luck > (Settings.MaxLuck * -1) && Envir.Random.Next(4) == 0)
{
weapon.Luck--;
hitter.ReceiveChat("Your weapon has been cursed.", ChatType.System);
Broadcast(new S.RefreshItem { Item = weapon });
}
My assumption is that it is locking the blocks when initiating the transfer however it doesn't unlock the boxes when the transfer fails (e.g. due to being outside safezone).
I will investigate and look for the solution in due time if none is provided.
http://www.lomcn.org/forum/showthread.php?95007-Guild-Storage
Within the AI it gets the target from a list that is sent through however further through the code of CompleteAttackRange is has an uppercase T rather than the lower case t:
if (Envir.Random.Next(Settings.PoisonResistWeight) >= Target.PoisonResist)
Should be
if (Envir.Random.Next(Settings.PoisonResistWeight) >= target.PoisonResist)
Oh, forgot to mention, this causes the server to crash or at least I assume it was the cause of it, the debug log I got didn't give a line number:
[10/19/2016 5:32:04 AM] System.NullReferenceException: Object reference not set to an instance of an object.
at Server.MirObjects.Monsters.FlameAssassin.CompleteRangeAttack(IList`1 data)
at Server.MirObjects.MonsterObject.Process(DelayedAction action)
at Server.MirObjects.MapObject.Process()
at Server.MirObjects.MonsterObject.Process()
at Server.MirEnvir.Envir.ThreadLoop(MobThread Info)
Casting another spell that activates a buff causes the rested XP buff icon to draw on top of other windows.
When moving an item from your storage on top of another item in your bag it causes the ghost item error.
Replicate:
freezing effect on items cause purple on mobs but no slow on their movement/attack speed
a single item would add to multiple sets and cause an added stat bug
Fix : Allow sets to stack up
Proposed Code :
ItemSets itemSet = ItemSets.Where(set => set.Set == RealItem.Set && !set.Type.Contains(RealItem.Type) && !set.SetComplete).FirstOrDefault();
if (itemSet != null)
{
itemSet.Type.Add(RealItem.Type);
itemSet.Count++;
}
else
{
ItemSets.Add(new ItemSets { Count = 1, Set = RealItem.Set, Type = new List<ItemType> { RealItem.Type } });
}
Not a major issue however I was thinking would it be better if using the mirror resets the customName of IC to default name and then if the customName is equal to default name you can then rename it.
Currently it's a client side boolean/button which can be ignored with client manipulation.
Thoughts? @far
[14/11/2016 02:40:55] System.NullReferenceException: Object reference not set to an instance of an object.
at Server.MirNetwork.MirConnection.Process()
at Server.MirEnvir.Envir.WorkLoop() at line 0
Very vague, from Incredulous. I was looking into the .Process() methods and found the below code.
I'm wondering if the client does not exist or is not connected why are we disconnecting them? Shouldn't be the opposite? If they are connect & do exist then disconnect them. @Suprcode
if (_client == null || !_client.Connected)
{
Disconnect(20);
return;
}
I do not know why press the 'F10' game will be Caton.
Do you have such a situation?
Thank you
I don't really know how to identify whether there is an issue with maps/ maptypes but will investigate. Code snippets have been provided in the following links; Akras may offer some further assistance if you pm him.
http://www.lomcn.org/forum/showthread.php?94373-Map-header-code-issue
http://www.lomcn.org/forum/showthread.php?94374-loading-some-shanda-maps-as-wrong-maptype
http://www.lomcn.org/forum/showthread.php?94665-Afew-Sabuk-Bug
Quoted from IceMan
Seems i could only repair the RightWall. The rest Take your gold with no reapir.
Mirroring clone doesn't move when locked on to a target, it just stands there and tanks the mob which is bad for the players MP. It should follow the player (take one step) then take a hit and then again take one step towards the master and take another hit.
case "攻城":
//更改了 自己对比下
if ((!IsGM && !Settings.TestServer) || parts.Length < 2) return;
int ConquestID;
if (parts.Length < 1)
{
ReceiveChat(string.Format("命令是 /攻城 [攻城ID]"), ChatType.System);
return;
}
if (MyGuild == null)
{
ReceiveChat(string.Format("你需要在一个公会开始一场战争"), ChatType.System);
return;
}
else if (!int.TryParse(parts[1], out ConquestID)) return;
ConquestObject tempConq = Envir.Conquests.FirstOrDefault(t => t.Info.Index == ConquestID);
if (tempConq != null)
{
tempConq.StartType = ConquestType.Forced;
tempConq.WarIsOn = !tempConq.WarIsOn;
tempConq.AttackerID = MyGuild.Guildindex;
}
hintstring = tempConq.WarIsOn ? "{0}攻城开始了." : "{0}攻城结束了.";
ReceiveChat(string.Format(hintstring, tempConq.Info.Name), ChatType.System);
SMain.Enqueue(string.Format(hintstring, tempConq.Info.Name));
break;
This modified command to open conquer the second input will be prompted to conquer the end
Need to add ability for items gained through mining to be counted as a quest item
-getminepayout method
Only works on one wall (left) and not any others as reported in various threads.
This needs adding into the LoverUpdate(S.LoverUpdate p)
GameScene.Scene.RelationshipDialog.MarriedDays = p.MarriedDays;
Is there a prebuilt release that i can try it out?
Sorry that I have to post my question here because somehow I cannot access lomcn recently.
I am a big fans of Mir2, and I am excited to find this project. I'd like to see what's in it and what it looks like now, but I am not familiar with C#, I tried to build the project myself but failed at the client part...
green psn on boss moves the last hitter on tao , like a grp of players on my svr were doing a boss , tao comes on last second and steals boss with green psn
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.