Giter Site home page Giter Site logo

arianne / stendhal Goto Github PK

View Code? Open in Web Editor NEW
562.0 562.0 197.0 1.06 GB

Stendhal is a fun friendly and free multiplayer online adventure game with an old school feel.

Home Page: https://arianne-project.org

License: GNU General Public License v2.0

Shell 0.05% Groovy 0.01% HTML 0.97% Batchfile 0.01% Java 92.67% JavaScript 0.28% CSS 0.08% Python 0.26% Lua 0.54% TypeScript 5.10% Dockerfile 0.01% Rust 0.04%
game game-server java mmorpg rpg

stendhal's People

Contributors

antumdeluge avatar balaur64 avatar bleutailfly avatar cedric-m avatar chaitanya110703 avatar cpl avatar dependabot[bot] avatar hajdam avatar jastiva avatar karajuss avatar kiheru avatar leechex avatar markuskeunecke avatar nhnb avatar nylon0700 avatar olonu avatar rakhadjo avatar tigertoes13 avatar tobiwankenobi-stendhal avatar twiernik avatar weilueluo avatar yoriy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stendhal's Issues

Outfit: Eyes & Mouth Do Not Update/Save

I'm working on the new extended outfit system where the customizable features are base/body, head, outfit, mouth, eyes, & hair (use VM argument -Dtesting.outfits to enable). The outfit dialog displays all features as changeable, but does not support saving the extended features (eyes & mouth).

I am currently working on how to implement a fix.

Source: client.gui.OutfitDialog

Drag&Drop on Edge drags canvas-element

Edge does not support drag-icons. As a result, the DOM-element is dragged. This seems to be okay for inventory slots. But is an issue when items are dragged from the game world as this means that the canvas-element is used as drag-icon.

3no4nvum0u9j png
3no5mmt8apyh png

Reported by monsterdhal

stendhal contains non-free sprites

I have discovered over 60 RPG Maker 2003 edits or resizes and a few RPG maker XP edits. RPG maker sprites are only allowed in RPG maker engines that one has purchased. They are not opensource.

You should honestly download the RPG Maker RTP packs and check for more. I will list the folder directory name and files. It is a RPG Maker 2003 edits unless I mention RPG Maker XP. All I ask is that you inform me of more edits character wise. I only checked the characters.

/monsters/amazon:

-amazoness_archer_commander
-amazoness_commander

npc/animal:

-dog
-Small_dog
-kitten

/monsters/animal:

-Slimes (all of them)
-Tiger
-lion

/monsters/farm_animals:

-Chick
-Cow
-Bull
-Ram
-White horse
-Horse
-beaver (XP Edit)

/monsters/flying_beast:

-bluebird
-carnary
-pink_bird
-green_bird
-Peach_bird
-red_brid
-seagull

All the birds are rmxp edits.

/monsters/minotaur:

-Mino_king
-Minotaur

/monsters/sheepmen:

-All of them are edits

/monsters/golem:

-stone_golem

/monsters/huge_animal:

-chaos_green_dragonrider
-chaos_red_dragonrider
-red_dragon
-Green_dragon
-Black_death
-Golden_Death
-flying_golden_dragon
-twin_head_dragon

/monsters/human:

-littlewizard
-armored_leader
-armorer_leader
-armored_warrior
-super_human
-soldier_wizard (hat)

/monsters/myhical_animal:

-gashadokuro

/monsters/troll:

-red_troll
-Troll

/monsters/undead:

-Ghost
-Death

/npc:

-boynpc
-chessplayernpc
-Childnpc
-deadmannpc
-gardenernpc
-man_000_npc
-man_006_npc
-oldmannpc
-princessnpc
-Mothernpc
-armorleadernpc
-Kingnpc
-kingcozartnpc
-woman_003_npc
-youngkingnpc
-stormtroopernpc

/npc (Can be debated on:)

Some features look like edits or resizes.

-mithrilforgernpc (hat)
-plinknpc (hair)

Other: (two sprites on one spritesheet)

-cat.png (big cat is okay, little cat is an edit.)

monsters/ent:
-dead_ent

The dead ent is an edit of the brown tree here:
http://www.hbgames.org/forums/viewtopic.php?t=78803&p=929850

Sheepman frame [4,2] residue...

Sheepman frame [4,2] has some sort of residue issue from editing in front of the nose. I thought that it was worse than it was when I initially saw it, but it was some pixels. It's corrected better.
rsheepman2

Dagobert redone using...

Dagobert redone using Townfolk-Adult-M-002 light.png and Townfolk-Adult-M-003 light.png from 24x32 characters pack extended by diamonddmgirl and similar to old colors.
rdago
I caught a slight disagreement in the fourth row that seems to carry through the charas converter. It may carry through a lot of the sprites. It seems to be leaving the forward facing shoe planked instead of shaping it in the fourth rows. Dago has already been placed in agreement.
townfolk-adult-m-003 light

Josephine redone using...

Josephine redone using Aristocrate-F-03 dark.png from 24x32 characters pack extended by diamonddmgirl and similar to old colors.
rjosephi

Imperial priest redone using...

Imperial priest redone using Aristocrat-M-02 light.png from 24x32 characters pack extended by diamonddmgirl and holly staff.png from Staff 64 x64(LordNeo)(CC0).
rimppri

"master" Tag Causes Issues

If a tag & a branch exist with the same name, a warning is emitted about the name being ambiguous.

$ git checkout master
warning: refname 'master' is ambiguous.

On some machines I can't switch to that branch until I delete the tag.

Imperial scientist redone using...

Imperial scientist redone using Cultist-01.png and Mask-M-01 light.png from 24x32 characters pack extended by diamonddmgirl and similar to old colors.
rimpsci

Elf wizard redone using...

Elf wizard redone using Flower-01.png, Mage-M-01 light.png, and Townfolk-Old-M-002 light.png from 24x32 characters pack extended by diamonddmgirl and ears_long-light.png from cabbit-bases-collection by deluge.
relfwiz

Remove dependency on Polymer

The web client depends on Polymer, but does not really require any of it's primary features. The admin client makes use of paper elements, so it makes sense there.

But the graphical client uses custom elements specific to Stendhal only. There is little risk of CSS leaking into other parts of the page because the full page is under our control

There is a fatal error in Microsoft Edge in the Polymer code. But the version is rather old, so it may have been fixed already.

Improve stats panel

The stats pannel in the webclient should display all the information that the traditional client displays. Most notable are the remaining XP to reach the next level, atk level or defense level.

It should also display the status icons such as eating or being poisoned.

Tasks

  • show remaining XP to next level for level and stats
  • show status icons
  • show karma bar (when feature enabled)
  • show HP bar (configurable)

Elder ogre redone using...

Elder ogre redone using TEMPLATE fat light.png from 24x32 characters pack extended by diamonddmgirl and hair_036.png from stendhal repository.
reogre

Horizontal Rule/Divider for Months on Chat Page

Could we add a horizontal rule to separate months on the website chat page? I sometimes get confused at the end of the month when there are a lot of entries & end up selecting the wrong dates, especially on my small touchscreen device.

I attempted to do this myself, but I don't have it set up correctly locally to test it.

Ogre redone using...

Ogre redone using TEMPLATE fat light.png from 24x32 characters pack extended by diamonddmgirl and hair_036.png from stendhal repository.
rogre

Player Continues Walking When Client Loses Focus

The issue is directly related to the text input area losing focus. It has been addressed before, but was seen as more of a feature at the time.

What happens is, when a player is using a directional key to walk, if the key is not released & the text input area loses focus, the keypress is not flushed & the character will continue walking in that direction indefinitely until focus is regained & direction key is pressed & released again. This was seen as a feature because it allowed players to walk long distances without having to hold down a key. But there are some pitfalls to it is well. It can potentially cause players to lose control in dangerous situations. For example, trying to escape from an enemy. If focus is lost unintentionally, players can lose control of their characters momentarily, causing them to perhaps move into an even more dangerous situation. Another example would be ground spikes. If a player is moving in the direction of harmful ground tiles & the client loses focus, the player may not be able to regain control of his/her character until it has already received damage. I have witnessed situations like this many times, especially in the deathmatch arena.

I believe that with the implementation of the auto-walk feature, which allows players to manually set continuously walking without holding a direction key, this issue should be fixed. I made a FIXME note in a recent commit: 7356677

SourceForge issue 5876

Dark mutant redone using...

Dark mutant(blacky.png) redone using Mask-M-01 light.png and TEMPLATE thin light.png from 24x32 characters pack extended by diamonddmgirl,horns redone from dark soldier rework(chaos soldiers in stendhal repository), and similar to old colors.
-Old dark mutant had a scepter/trident/pitchfork/etc.
rblacky

Ogre soldier redone using...

Ogre soldier redone using current ogre sprite from stendhal repository, Aristocrat-M-02 light.png hair from 24x32 characters pack extended by diamonddmgirl, 32x32 RPG Character Sprites row 5 from bottom(soldier hat only)(https://opengameart.org/content/32x32-rpg-character-sprites)(Eldiran)(CC0), hand axe 64x64(LordNeo)(https://opengameart.org/content/hand-axe-64x64)(CC0), and similar to old colors.
rsoogrewpn
In case the axe is way too big, here's ogre soldier without the axe.
rsoogrenowpn

Make CollisionAction.REVERSE or .REROUTE the default for NPCs

(server; enhancement / feature suggestion. Not a bug report because the only known issue with the current behavior has been fixed specifically in #61 )

The current default behavior has potential to trap players in corners or to block their path, because the NPC can not be pushed.

Note that when changing the default to "REVERSE", NPCs running in large circles might become less predictable and harder to find. I like the idea of "REROUTE" realistically making an NPC find a way around the obstruction without changing the general path.

Observer mechanism for changes

At the moment the web client updates certain information at the end of each perception. Some of these updates are rather expensive and may even result in flickering (e. g. the buddy list).

In the traditional client, there is an observer mechanism which allows subscription to specific changes. We need something similar for the webclient.

Support # and § highlighting in chatlog

The webclient should support highlighting of words and phrases in the chatlog window.

The traditional client uses # for blue words, players are supposed to repeat to NPCs. And § to underline the exact and complete name of items.

Static Keyboard for Web Client

I know that the web client is not optimized for mobile devices, but I was testing it on my Android phone & found the most difficult part being the devices software keyboard taking up so much space on my tiny screen.

I think a togglable keyboard on the web client's page would make mobile play more appealing.

Aura concept

Use shield sprite. https://opengameart.org/content/shield-sprite
Fill in colors.
shieldex
Package of auras before reducing size.
Reduce size.
shieldex1
Now you have package of auras for cabbit sprites. Two possible examples follow.
shieldex5
shieldex6
I'm not sure this would work, but there are no auras available right now.

Converting Outfit Code To Type Long Not Backward Compatible

Not sure if there is anything that can be done about this, but in the code I am testing I have converted the outfit code & RPEntity "outfit" attributes to type long. When a player logs in, the integer values are replaced with long in the database. This makes the database inaccessible if the code is reverted back to integer.

This is the server output in such a scenario:

ERROR [mmandQueue] DBCommandQueueBackgroundThread(67  ) [DelayedEventHandlerThread: LoadAllActiveCharactersCommand [username=deluge, characters=null]] - marauroa.common.game.SyntaxException: attribute code 0 isn't defined.
marauroa.common.game.SyntaxException: attribute code 0 isn't defined.
	at marauroa.common.game.RPClass.getName(RPClass.java:707)
	at marauroa.common.game.RPClass.getName(RPClass.java:704)
	at marauroa.common.game.RPClass.getName(RPClass.java:704)
	at marauroa.common.game.RPClass.getName(RPClass.java:704)
	at marauroa.common.game.Attributes.readObject(Attributes.java:738)
	at marauroa.common.game.RPObject.readObject(RPObject.java:1250)
	at marauroa.common.net.InputSerializer.readObject(InputSerializer.java:50)
	at marauroa.server.game.db.RPObjectDAO.readRPObject(RPObjectDAO.java:133)
	at marauroa.server.game.db.CharacterDAO.loadAllCharacters(CharacterDAO.java:408)
	at marauroa.server.game.db.CharacterDAO.loadAllActiveCharacters(CharacterDAO.java:458)
	at marauroa.server.game.dbcommand.LoadAllActiveCharactersCommand.execute(LoadAllActiveCharactersCommand.java:62)
	at marauroa.server.db.command.DBCommandQueueBackgroundThread.executeDBAction(DBCommandQueueBackgroundThread.java:103)
	at marauroa.server.db.command.DBCommandQueueBackgroundThread.processCommand(DBCommandQueueBackgroundThread.java:75)
	at marauroa.server.db.command.DBCommandQueueBackgroundThread.run(DBCommandQueueBackgroundThread.java:49)
	at java.lang.Thread.run(Thread.java:748)
ERROR [dlerThread] DelayedEventHandlerThread(67  ) - java.lang.NullPointerException
java.lang.NullPointerException
	at marauroa.server.game.messagehandler.SendCharacterListHandler.handleDelayedEvent(SendCharacterListHandler.java:62)
	at marauroa.server.game.messagehandler.DelayedEventHandlerThread.run(DelayedEventHandlerThread.java:100)

Not sure that this is really an issue that would ever come up as I don't know why there would be any reason to revert back to integer type. But wanted to post it for awareness sake.

Close corpse inventory automatically

The inventory windows of corpse should be closed automatically,

  • when the player walks away
  • the last item is taken from the corpse
  • the corpse is moved away
  • the corpse is removed from the zone due to timeout

Oni concept

A lot of our monsters are types of demons. When you do a search on google you find demons; however, no one wants a game like this full of demon demons plus it'd be boring. Kobold brings up your traditional demons, but our kobolds were more cutesy than demon and are now doggy/cutesy. Oni brings up Japanese demons, but our oni were purple "foreigners" with long chins. This style I suspect is part of the copyright sprite. It can't be copied and taking scalable inspiration from it may lead to something like happened with the apprentice assassin hood. There are some options. Draw your own head set. It'd probably take an artist. Find another style completely which would probably resemble demon demons more. Abandon the features and simply make the Cabbit sprites purple. These two run boredom. I found a sheet of head sprites that may remedy the situation.
rpgportraits
https://opengameart.org/content/rpg-portraits
Observe column 7, the long chinned alien.
By doubling the alien's ears, reorienting the ears, then adding nozzles, you can get...
roniqueen
The head would need cycling around on the base and contrasting. The nozzles don't have to be long and antennae like, they could be shortened again.
test

Moving entities may get out of sync with the server

Sometimes, the webclient shows rat in -1_semos_dungeon near the exit.

  • It walks from left to right and back. (e. g. it is known to the server)
  • It walks through players
  • It can be attacked and gets a red circle.
  • It cannot be hurt
  • It is invisible to the normal client.
  • It disappears on zone change or reload.
  • It can be *Inspected
    ghostrat

Zoom and pan minimap

The minimap should be zoomed in a little on large zones and automatically pan to keep the player at the center unless he reaches a zone boarder. (Just like the classical client does it)

Imperial demon redone no wings/wings/aurawings using...

Imperial demon without wings redone using Mask-M-01 light.png and TEMPLATE thin light.png from 24x32 characters pack extended by diamonddmgirl and similar to old colors.
rimpdnow

Imperial demon with wings redone using Mask-M-01 light.png and TEMPLATE thin light.png from 24x32 characters pack extended by diamonddmgirl, fallen_angel-001-48x64.xcf wings, and similar to old colors.
rimpdwi

Imperial demon with wings and aura redone using Mask-M-01 light.png and TEMPLATE thin light.png from 24x32 characters pack extended by diamonddmgirl, fallen_angel-001-48x64.xcf wings, similar to old colors, and Electrical disintegration animation(https://opengameart.org/content/electrical-disintegration-animation)(superjoe)(CC0).
rimpwiau

Archmage elf redone using...

Archmage elf redone using ears_long-light.png from the cabbit-bases-collection, Princess-01 light.png from 24x32 characters pack extended by diamonddmgirl, and similar to old colors.
rarchmage

eyesLabel & mouthLabel Not Initially Shown In Outfit Dialog

There is an issue when the VM argument -Dtesting.outfits is set: When the OutfitDialog is first brought up, the eyes & mouth previews are not displayed. Once they are displayed, after pressing one if the cycle buttons, the contents of the dialiog are shifted & the confirm/cancel buttons are placed outside the visible boundary. This can be remedied by calling the method setIndex on the related SelectorModel instances before pack is called: https://github.com/arianne/stendhal/tree/6a5e773/src/games/stendhal/client/gui/OutfitDialog.java#L157

I believe I can fix this, but haven't had the time yet. So I created this issue to remind myself.

Ghost hound color

Hey :) Just a quick thought. The new ghost hound is not red, but it drops carbuncles. Should we change drops or color maybe? I could imagine seeing it drop diamonds or sapphires. The color itself is nice and more "ghostly" than the original.

We could even introduce a new gem!

Elf sacerdotist conformation

Conformed elf sacerdotist with ears_long-light.png and reused Aristocrate-F-01 light.png to reforge contrast around new ears.
relfsacer1

Client Character Map: Not All Characters Display Correctly For Different Systems

(this is a development/testing feature)

The character map, that is enabled by setting the VM argument -Dtesting.chat, does not display all characters for different systems. Below is a screenshot of the client running on a MacOS system, displaying the character map with the current set of characters. The plan is to select a set of characters that are known to display correctly on multiple systems.

stendhal-charmap-macos

Performance improvements

The webclient uses more CPU resources than necessary. The following profiler samples show some problematic code fragments:

  • layout triggered by resetting the size of the canvas on every draw
  • layout triggered by resetting the buddy list on every perception
  • layout tirggered by setting a font in rpentity to determine the size of the title

bildschirmfoto vom 2017-03-21 01-01-34
bildschirmfoto vom 2017-03-21 01-03-09
bildschirmfoto vom 2017-03-21 01-04-36
bildschirmfoto vom 2017-03-21 00-56-07

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.