Git Product home page Git Product logo

cyberpunkzombiesurvival_jvm's Introduction

CyberpunkZombieSurvival_JVM

Server-side Java code used in the Neverwinter Nights Cyberpunk Zombie Survival module.

Game: Neverwinter Nights 1

Website: https://czs-web.azurewebsites.net/ Discord: https://discord.gg/Mt25sk8

Project Description

This project contains the Java source code used on the Cyberpunk Zombie Survival server.

It serves as a replacement for NWScript and handles most server features and functions. This is possible by using the NWNX_JVM plugin for NWNX. Refer to this forum for more info on what this is: http://www.nwnx.org/phpBB2/viewtopic.php?t=1478

This can ONLY be run on a Linux server due to the fact that there is no equivalent Windows plugin.

Refer to the quick start guide below and be sure to post any issues on our forums. The link to the forums is above.

Quick-start guide for CZS server developers

1.) Install Git from here: https://git-scm.com/downloads

2.) Install IntelliJ Community Edition (NOT Ultimate!) from here: https://www.jetbrains.com/idea/download/

3.) Start up IntelliJ

4.) Click the "Check out from Version Control" option.

5.) Select GitHub

6.) Enter in the following:

Git Repository URL: https://github.com/zunath/CyberpunkZombieSurvival_JVM.git

Parent Directory: Select a location on your hard drive where you want to store your projects or leave it as the default.

Directory Name: CyberpunkZombieSurvival_JVM

7.) Click Clone and wait until it finishes downloading the files.

8.) IntelliJ will load the project automatically.

Hosting Dependencies

1.) Neverwinter Nights: Enhanced Edition Server Files

2.) Linux OS

3.) NWNX + the following plugins: Chat, Creature, Events, JVM, Object, Player

4.) OpenJDK 8 JRE

5.) Microsoft SQL Server 2017

Using Docker

I highly recommend using Docker to speed up development time. You can read about how to use it for NWN:EE here: https://hub.docker.com/r/nwnxee/nwserver/

It'll take care of hosting dependencies #1-#4. You only need to set up the SQL Server database at that point.

Getting Help

If you need help with anything related to Cyberpunk Zombie Survival please feel free to contact us on our Discord.

For NWNX and Docker related issues please look for help in the NWNX Discord channel here: https://discord.gg/m2hJPDE

cyberpunkzombiesurvival_jvm's People

Contributors

taelon875 avatar zunath avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cyberpunkzombiesurvival_jvm's Issues

Energy Blades

Need to come up with a way to incorporate energy blades (aka lightsabers) into the game.

Initial thoughts:

  • Require that an ability be equipped in order to use energy blades.
  • Energy blades require some sort of resource to use
  • Need to come up with a reason to use energy blades over regular blades. Maybe they do fire / electrical / or energy damage?

Search Site Durability

Durability is being applied to all items instead of just those that should have it (weapons, armor, etc.)

Need to prevent regular items from receiving the item property.

Permissions on other territories getting wiped

The following scenario:

Step 1.) Add player to Territory A's permission list.
Step 2.) Add player to Territory B's permission list.

Result: Player is on Territory B's permission list but not Territory A's.
Expectation: Player is on Territory A and Territory B permission lists.

NPCs not dropping items

Player reports NPCs (zombies, etc) are not dropping items on death. Investigate + verify + fix

Researching craft

This is a new type of craft which will create ability discs and blueprints that can't be found or bought in the module.

The process will be as follows:

1.) Player builds a research station which has 1 or more "research slots".
2.) Player uses one of the research slots to create an ability disc or blueprint. The list of available options is determined based on upgrades using skill points. Each rank in Researching grants another group of blueprints/ability discs.
3.) Once an ability disc or blueprint is selected the player will be deducted the necessary amount of gold. If s/he does not have enough gold, they cannot build the item.
4.) If gold requirements are met the blueprint/ability disc goes into "Production" mode. This process takes a certain amount of real world time, depending on the item.
5.) Once the production phase is complete the player may retrieve the completed item from the research station and use it just like any other item.

DMs Getting added to PlayerCharacters table

DMs are getting added to PlayerCharacters table. Need to stop them from getting added.

Also need to make sure a DM/PC check exists on all systems to prevent errors being logged.

Big Brother - Auditing and Logging

The following activities need to be logged:

  • All DM activities (create items, create creatures, give/take gold, give/take XP, give/take levels, etc.)
  • Structure quick-build activities.
  • Player login and logout (including DMs) including timestamps, CD keys, accounts, and IP addresses

Add ability descriptions

Players need to know what an ability does before they equip it.

Descriptions of abilities need to be added to:

1.) The AMP menu
2.) Item examine descriptions
3.) Rest menu

Armor Appearance Crafting

Go to (say a number) does not work.

Copy to the other side and copy from the other side options do not work.

New Abilities / Spells

(Bolded = Coded)

Evocation:

Ice: Deals ice damage and slows target for a base amount of 6 seconds.
Poison: Inflicts poison on a single target for a short period of time.
Snare: Reduces the movement speed of a single target for a short period of time.

Enhancement:

Boost Search: Increases search by 1 point for a base amount of one minute.
Boost Hide: Increases hide by 1 point for a base amount of one minute.
Boost Stealth: Increases hide and move silently by 1 point for a base amount of one minute.
Refresh: Recover mana for a short period of time.

Holy:

Teleport-Cleiyra: Teleports you and all party members within 5 meters to a random location in Cleiyra Forest.
Teleport-Mason: Teleports you and all party members within 5 meters to a random location in Mason City.

Passive:

Energy Blade Adept: Enables the ability to equip Energy Blades.
Immune System: Increases resistance to the infection.
Sturdy Skin: Reduces chance of bleeding from zombies.
Infection Recovery: Increases the amount of infection removed through natural recovery.
Slowed Infection: Occasionally reduces the amount of time infection over time lasts.

Sturdiness: Increases HP by 10 points.
Evasive: Increases Dodge AC by 2 points.
Powerful: Increases STR by 2 points.
Tough: Increases CON by 2 points.
Smart: Increases INT by 2 points.
Personable: Increases CHA by 2 points.
Deft: Increases DEX by 2 points.
Insightful: Increases WIS by 2 points.

Quick Pick: Occasionally speed up lockpicking attempts.
Thief: Increases Hide and Move Silently by 2 points.

Crafting:

Lumber Collector: Occasionally increase the amount of wood broken off while logging.
Iron Collector: Occasionally increase the amount of iron broken off while mining.

Careful Hands: Reduces the chance of losing materials on crafting failure.
Research Efficiency: Reduces the gold cost of researching blueprints by 10%.

Melee:

Electric Fist: Your next unarmed melee attack deals electric damage.
Flame Blade: Your next blade attack deals fire damage.
Skull Bash: Your next blunt attack inflicts knockdown for a short period of time.

Range:

Piercing Toss: Your next throwing weapon attack inflicts bleeding for a short period of time.

Examine option on crafting menu

Players need to see what an item does and what stats it has before they craft it.

Add "Examine" option to the blueprint selection dialog as well as another option in the craft device's inventory that allows players to examine the item which will be made.

PVP Sanctuary - Put in database and fix issues

The PVP Sanctuary is currently tied to the database item in a PC's inventory. However, it needs to be moved to the database to be consistent with everything else.

On top of that, it doesn't look like it's wearing off after 72 hours of character creation. That needs to get fixed too.

Order menus by name alphabetically

The following menus should be organized alphabetically by name.

AMP Abilities
Crafting Blueprints
Research Blueprints
Structure Blueprints

Fix zombie script list

One or more of the zombie NPCs are not set up to use the correct zombie scripts. Need to make sure they're all set correctly.

Gun Damage Calculation Changes

Need to review gun damage calculations. Possibly adjust the firepower attribute to be something more in line with melee weapons?

Mixing Craft

Mixing is a craft which involves creating special types of food as well as first aid items and other curatives.

This item involves creating enough recipes for ranks 1-5 of the Mixing craft.

Make NPC conversations private

NPC conversations are currently public (all players within range can see it). They need to be private to only the player talking.

Invalid and Anime Heads

The head changer option in the rest menu has some anime heads which don't fit the setting and should be removed.

Additionally, some races have invalid (blank) heads which need to be removed from the list.

Tier 2 Implementation

Bold = Done

1.) Create tier 2 weapons and armors.
2.) Create crafting blueprints for new items.
3.) Create researching blueprints
4.) Create more difficult and varied enemies.
5.) Create new areas and populate with new enemies.
6.) Adjust spawn system to use spawning tables. Update all areas to use new system.
7.) Adjust exp calculation to take tier of enemy into account.
8.) Make enemies use loot tables to randomly spawn items on death.

Radios - Cannot use after login

1.) Turn on a radio
2.) Log out
3.) Log back in
4.) Radio cannot be used because the system thinks a radio is already turned on.

Save characters after initial log-in and heal

After characters log in for the first time, their HP is set and then they are healed. There isn't a save to the character after the heal (it happens after the initialization).

Need to save the healed HP into the DB so players don't log in half dead should the server go down before their char autosaves.

Territory Upkeep

Players which have more than one territory marker should be required to pay upkeep in the form of money and/or materials each week.

Failure to pay upkeep will put the territory in unusable mode before eventually being permanently razed.

The upkeep cost on all territories should increase for each territory the player owns. I.E: If you own two, your upkeep price will be cheaper than someone who owns 20.

Finally, all upkeep costs must be paid by individually using each marker. This is by design to make it a hassle to control multiple territories.

Items with casting times

Items with casting times cannot be cancelled once started.

Need to change it so that movement isn't restricted and if the user changes position at any time during casting it'll be considered as an interrupt.

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.