[WIP] New weapons and equipment

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
Equipment Expansion Pack

I'm writing new weapons for the game, I'm mostly filling gaps and adding more types of weapons like flamethrowers, grenade launchers, rocket launchers, living weapons; using new types of damage like corrosive, freezing, psionic or poison.

For the moment I'm focusing on ranged weapons, then I'll move to melee weapons, then accessories, armors and drones, with consumables as a stretch goal.

5VeyYt0.png


============================================================================

Spreadsheet

This is a spreadsheet which is a bit more beautiful and easier to understand.

Nice spreadsheet, click here.

-------------------------------------------------------------------------------------------------------------------------------------

Weapon descriptions

I've compiled the weapon descriptions in an independent doc, so you don't have to rummage through the code looking for them.

Weapon descriptions, click here.

-------------------------------------------------------------------------------------------------------------------------------------

Weapon design

In the following document I keep my design philosophy, some keywords and concepts as well as basic info.

Design philosophy, click here.

-------------------------------------------------------------------------------------------------------------------------------------

Raw code


Raw code might be a bit confusing; at the end of this post you can find a tutorial on how to read it.

Raw code, click here.

============================================================================

I also need your comments, suggestions and help with proofreading.
Did I miss a t or an s? did I write can when I meant can't? did I write something in mutant English? weird grammar? is a word missing? the usual.

Ideas and requests for new weapons are also welcome.
Do you want something specific? Simply ask, if it's not to overly complicated I'll probably write it or if you have the basic idea with numbers, a name and a description, I'll code it.

============================================================================

Reading and understanding the code:

package classes.Items.Guns //This classifies the item and indicates where to store it.


import classes.Engine.Combat.DamageTypes.DamageFlag; //Imports are other scripts your weapon will depend on, in this case this indicates a damage flag, which is a flag that indicates how to modify the damage against certain armor flags. This is an optional import, necessary if you have a damage flag, for example bullet or energy weapon.

import classes.GameData.CombatAttacks; //This indicates the weapon uses an special attack modifier that's stored in the CombatAttacks script. Drones and certain weapons rely on this for more complex types of attacks. This is an optional import.

import classes.Engine.Combat.DamageTypes.TypeCollection;
import classes.GLOBAL;
import classes.GameData.TooltipManager;
import classes.ItemSlotClass;
import classes.StringUtil; //all those imports are necessary for a weapon to function.

public class FreezeRay extends ItemSlotClass
public function FreezeRay() //these 2 lines indicate the name of your weapon to the code, so other pieces of code can call for the weapon.

super();
this._latestVersion = 1; //don't touch this

this.quantity = 1;
this.stackSize = 1; //this indicated the quantity and stack size of the item, you shouldn't touch the quantity. 1 is the standard for gear, consumables and other items usually go up to 10.

this.type = GLOBAL.RANGED_WEAPON; //the type of item, in this case a ranged weapon.

this.shortName = "Freeze R."; //the short name you'll see in your inventory
this.longName = "LM22 “Freeze Ray” kinetic decelerator"; //the long name you'll see when the item is equipped an in the description.

TooltipManager.addFullName(this.shortName,StringUtil.toTitleCase(this.longName)); //this function shows the full name of the weapon in game. Don't touch this.

this.description = "a freeze ray"; //basic description
this.tooltip = "The LM22 is an experimental weapon; an upgraded version of its predecessor the LM19. Like the LM19, it also operates by slowing down the movement of atomic and subatomic particles. As an experimental weapon, its reliability is a bit lower than that of the finished product."; //long description

this.attackVerb = "shoot"; //this indicates the attack verb, certain scenes might call this function.
this.attackNoun = "energy beam"; //the attack noun. Certain scenes might call for this function for example: you [attackverb] with your [weapon], its [attacknoun] hits the target.

TooltipManager.addTooltip(this.shortName,this.tooltip); //this function adds the description in-game.

this.basePrice = 27500; //base price in credits
baseDamage.freezing.damageValue = 25; //how much damage the weapon does and its type, in this case 25 points of freezing damage.
baseDamage.addFlag(DamageFlag.ENERGY_WEAPON); //a damage flag
this.addFlag(GLOBAL.ITEM_FLAG_ENERGY_WEAPON); //a global flag, I'm not entirely sure but I think this is just an informative and decorative flag, it does nothing per se, but tags the weapon for other stuff.

this.attack = 2; //accuracy value
this.defense = 0; //defense value
this.shieldDefense = 0; //shield defense value
this.shields = 0; //total shield value
this.sexiness = 0; //sexiness value, note: cannot go under -10
this.critBonus = 2; //critical hit value
this.evasion = 0; //evasion value
this.fortification = 0; //max HP modifier

this.version = _latestVersion; //don't touch this

attackImplementor = CombatAttacks.FZRAttackImpl; //this is a modified attack, in this case this one applies a debuff. Some weapons might have it, they are coded independently.

resistances.kinetic.resistanceValue = 10; //damage resistance value, in this case 10% kinetic damage resistance. Weapons don't usually have this, I just added it here as an example.

Damage types:

HP damage:: Kinetic, Electric, Burning, Freezing, Corrosive, Poison, True/Unresistable Damage.

Lust damage: Psionic, Drug, Pheromone, Tease, True/Unresistable Lust.

Damage flags:

FlagNames[PENETRATING] = "Penetrating";
FlagNames[ABLATIVE] = "Ablative";
FlagNames[PLATED] = "Plated";
FlagNames[CRUSHING] = "Crushing";
FlagNames[BULLET] = "Bullet";
FlagNames[LASER] = "Laser";
FlagNames[MIRRORED] = "Mirrored";
FlagNames[CRYSTAL] = "Crystal";
FlagNames[PSIONIC] = "Psionic";
FlagNames[NULLIFYING] = "Nullifying";
FlagNames[AMPLIFYING] = "Amplifying";
FlagNames[EXPLOSIVE] = "Explosive";
FlagNames[ENERGY_WEAPON] = "Energy Weaponry";
FlagNames[GROUNDED] = "Grounded";
FlagNames[BYPASS_SHIELD] = "Shield Bypass";
FlagNames[ONLY_SHIELD] = "Targets Shield";
FlagNames[EASY] = "Easy";
FlagNames[CHANCE_APPLY_BURN] = "Burn DoT Chance";
FlagNames[DRAINING] = "Draining";
FlagNames[GREATER_DRAINING] = "Greater Draining";
FlagNames[VAMPIRIC] = "Vampiric";
FlagNames[GREATER_VAMPIRIC] = "Greater Vampiric";
FlagNames[CRYSTALGOOARMOR] = "Crystal Goo Armor";
FlagNames[SYDIANARMOR] = "Sydian Armor";
FlagNames[CHANCE_APPLY_STUN] = "Stun Chance";

Armor flags:

  • Ablative: 25% resistant to Penetrating, 15% resistant to Bullet, 25% vulnerable to Crushing.
  • Amplifying: 25% vulnerable to Psionic, +25% outgoing psionic damage.
  • Crystal: 40% resistant to Laser, 40% vulnerable to Explosive.
  • Mirrored: 90% resistant to Laser.
  • Nullifying: 25% resistant to Psionic, -25% outgoing psionic damage.
  • Plated: 25% resistant to Crushing, 15% resistant to Bullet, 25% vulnerable to Penetrating.
  • Easy: easy mode flag, +50% to all resistances.

Weapon Flags:
Indicate what type of attack your weapon uses, this flags are used as tags to calculate resistances.
  • Penetrating
  • Crushing
  • Bullet
  • Laser
  • Psionic
  • Explosive
  • Energy Weapon
Effect flags:
  • Shield Bypass (ignores shields)
  • Target Shields (only deals shield damage)
  • Apply Burn Chance (can deal extra DoT burning damage)
  • Stun Chance (might stun the target)
  • Draining (steals 50% of shield damage dealt)
  • Greater Draining (steals 90% of shield damage dealt)
  • Vampiric (steals 50% of HP damage dealt)
  • Greater Vampiric (steals 90% of HP damage dealt)

Goo and sydian armor: those are NPC modifiers that influence their armor resistances.

Note: Just in case; if for whatever reason I leave this project unfinished, anyone who wants to finish the job has my permission, no need to ask, no credit needed, just go ahead.

Update 28/07/2017:
Ranged weapons are now fully planned and I'll begin coding and writing them soon. I've also made a full, ranged weapon rebalance to make ranged weapons more consistent and standardized. there is now a better sense of progression, but there are still plenty of choices. Check the spreadsheet for more info.

Update 02/08/2017: Descriptions for all ranged weapons are already done. Proofreading and coding are next. Feel free to check the descriptions here and point out any mistakes, weird grammar, etc.

Update 12/08/2017: Coding is done, testing comes next.

Update: 16/08/2017: Testing is done. Final edit phase.
 
Last edited:

XBoxMaster131

Well-Known Member
Oct 18, 2016
4,580
1,319
Right, so, I got to thinking about all the small arms weapons you get, and how you quickly shift to bigger, more powerful guns. It just seems like a waste. My solution? Dual-wielding.

Some weapons, like the LP-17 Laser Pistol and the Eagle Handgun, can have a "small arms" flag. Eventually, you unlock the ability to equip a "small arms" weapon into your accessory slot. You get double the damage, but half the hit chance. You could also do it for melee weapons, with things like the Thermal Scalpel and Plasma Hawk.

So, what do ya think?
 
  • Like
Reactions: ShySquare

Noob Salad

Captain Shitpost
Aug 26, 2015
4,374
1,560
Uh, nice of you to code everything.
 
  • Like
Reactions: KidRodent

Zavos

Well-Known Member
May 7, 2016
2,428
1,302
30
Wow, that hardlight omnitool looks ultra cool for techs to use. I feel conflicted, this or the hardlight dagger.

Also, the hardlight buckler, despite being really cool, isn't better than the xplorer cloak. both offer one defense, cloak also offers 3 evasion.
 

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
I 100% guarantee Fen's not going to allow dildo-launchers in the game.

I read a post of someone requesting it, so I decided to write it. Anyway, I don't expect all weapons to make it into the game, but I hope at least the cool ones make it, instead of the generic ones.
 

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
Wow, that hardlight omnitool looks ultra cool for techs to use. I feel conflicted, this or the hardlight dagger.

Also, the hardlight buckler, despite being really cool, isn't better than the xplorer cloak. both offer one defense, cloak also offers 3 evasion.

The hardlight buckler costs less credits and provides 10% kinetic resistance instead of evasion. Not every item needs to be an improvement, I've made several items of different tiers.

and a giant dildo bat?
latest

That's also one of the items I've made.
 

Zavos

Well-Known Member
May 7, 2016
2,428
1,302
30
Could you write a drone that provides additional shields, and no offensive support? It would also be cool if shield techs got an additional benefit from it, such as shield defense, extra shield resist or shield evasion.
 

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
Could you write a drone that provides additional shields, and no offensive support? It would also be cool if shield techs got an additional benefit from it, such as shield defense, extra shield resist or shield evasion.

Yeah that wouldn't be too difficult, but it wouldn't be much different from a simple shield boosting accessory, except it would disable the tech specialist's passive drone attack.

I don't know how to make it give extra benefits to tech specialists only, I don't even know if it's possible without modifying core mechanics. Of course, it's possible to make another version of the drone that can only be acquired by tech specialists, kinda like the way you get a repaired tam-wolf instead of a damaged one if you are a tech specialist.

As for shield resist and shield evasion, I don't think those stats exist. Shield defense does exists and I think resistances apply to both shields and HP. Evasion is a global stat, it affects your PC.

Edit: oh, wait, there are shield resistances; the sydian and goo armor count as shield resistance flags, but I don't know if it's possible to add other types of resistances.

Edit2: maybe this will do it:

this.baseShieldKineticResistance = shield.resistances.kinetic.resistanceValue = 10;

So far I can't seem to make it work.
 
Last edited:

Zavos

Well-Known Member
May 7, 2016
2,428
1,302
30
Yeah that wouldn't be too difficult, but it wouldn't be much different from a simple shield boosting accessory, except it would disable the tech specialist's passive drone attack.

I don't know how to make it give extra benefits to tech specialists only, I don't even know if it's possible without modifying core mechanics. Of course, it's possible to make another version of the drone that can only be acquired by tech specialists, kinda like the way you get a repaired tam-wolf instead of a damaged one if you are a tech specialist.

As for shield resist and shield evasion, I don't think those stats exist. Shield defense does exists and I think resistances apply to both shields and HP. Evasion is a global stat, it affects your PC.
Is it possible to have stats check the character has the Shield Booster perk?
 

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
Is it possible to have stats check the character has the Shield Booster perk?

What for?

You mean you what the item to check if you have that perk and give you different stats if you do? I mean, you can always use the if(this.pc.characterClass == GLOBAL.CLASS_ENGINEER) tag instead I think, not entirely sure.

I know there is code available to make items check if you have a status effect and then do something different, but I don't know if it works for perks or if it can be made to change the base stats of the item, in any case that stuff is way too complicated for me.

Although, maybe with:

if(this.pc.characterClass == GLOBAL.CLASS_ENGINEER)
{
this.shieldDefense = 1;
}
else
{
this.shieldDefense = 0;
}
I don't know, I'm just a lowly amateur, I would need one of the pro coders we have to confirm it.
 
Last edited:

NotYouNorI

Well-Known Member
Aug 26, 2015
2,269
807
The Myr are supposed to have like World War 1 era weaponry, but with a bigger caliber and stronger gunpowder. And I'm pretty sure assault rifles weren't a thing in WW1.
 

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
The Myr are supposed to have like World War 1 era weaponry, but with a bigger caliber and stronger gunpowder. And I'm pretty sure assault rifles weren't a thing in WW1.

I think remember reading they recently invented them, but I'm not sure. There is also an unused bust of a Myr with an assault rifle, so I decided to write the weapon.

They red Myr seem to be more technologically advanced than the Golds, almost on WWII level of technology, I mean, they do have nukes.
 
Last edited:

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
Added 15 more weapons, still mostly guns. I think I'm done with the burning guns for now and I'll begin writing some ice and electric guns tomorrow. There are still probably a lot of typos and weird grammar.
 

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
Finally updated the damn post. Well, so far I've added 88 items, 77 are ranged weapons, so I think I'm done with ranged weapons for now.

I'll probably submit the ranged weapons soon, after thoroughly checking for grammar and spelling errors.

Suggestions, requests and comments are always welcome.
 

Aullama

Well-Known Member
Creator
Dec 12, 2016
171
406
30
I can't help but feel a lot of these are redundant and already in the game. I might be wrong, though.

Edit: Also holy shit those stats. Better hope Fen doesn't see that shit.
 
Last edited:
  • Like
Reactions: RanmaChan and Zavos

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
I can't help but feel a lot of these are redundant and already in the game. I might be wrong, though.

Edit: Also holy shit those stats. Better hope Fen doesn't see that shit.


About redundancy, I've made sure not to overlap the same damage type and value with any weapon in-game, with the exception of the Hammer and Anvil weapon for flavor reasons. Those marked red are already in-game and they're just there for comparison. Maybe you though I made those.

About stats, I followed the only patterns I could find:
  • Lasers deal 1 electric damage+X burning.
  • Pistols have more crit, rifles have more accuracy.
  • Weapons that fire a projectile delivering drugs/poison/acid deal at least 1 point of kinetic damage.
  • Weapons around 15 damage had a maximum of 6 points to distribute between crit and accuracy, weapons around 25 damage had 8 points, so I followed the same pattern and gave a maximum 10 points to weapons around 35 damage.
  • Items with backpack or large/cumbersome weapons have an stat penalty according to the descriptions from the FZR system, bolt-action rifle and Saurmorian railgun. Backpacks give a large evasion penalty and large/cumbersome weapons affect accuracy and/or crit, sometimes with a minor evasion penalty.
  • Shotguns and blast weapons like flamers get very high accuracy but no crit.

Pricing was a bit tricky, because it seems mostly random, other than increasing the price the bigger the dakka, I couldn't find any specific pattern.

Of course, weapons above 25 damage are unbalanced, mainly because there is nothing to compare them to. I've made them for the future.

Anyway, stats can be changed in a second, it's just a matter of replacing a numerical value. I've been doing some re-balancing recently, currently only implemented in the spreadsheet.

What's important for me are not the stats, but the diversity and flavor.
Currently we have several generic laser, plasma and bullet firing weapons a few unique bows and lust weapons, but nothing dealing explosive, poison, psionic or pheromone damage, only one active weapon dealing freezing damage and only one weapon dealing corrosive damage.
I wanted to include more weapon types, rocket launchers, grenade launchers, flamethrowers, living weapons, freeze rays and several unique and unconventional weapons., we have very few of those.
 
Last edited:
  • Like
Reactions: KidRodent and Zavos

Aullama

Well-Known Member
Creator
Dec 12, 2016
171
406
30
About redundancy, I've made sure not to overlap the same damage type and value with any weapon in-game, with the exception of the Hammer and Anvil weapon for flavor reasons. Those marked red are already in-game and they're just there for comparison. Maybe you though I made those.

About stats, I followed the only patterns I could find:
  • Lasers deal 1 electric damage+X burning.
  • Pistols have more crit, rifles have more accuracy.
  • Weapons that fire a projectile delivering drugs/poison/acid deal at least 1 point of kinetic damage.
  • Weapons around 15 damage had a maximum of 6 points to distribute between crit and accuracy, weapons around 25 damage had 8 points, so I followed the same pattern and gave a maximum 10 points to weapons around 35 damage.
  • Items with backpack or large/cumbersome weapons have an stat penalty according to the descriptions from the FZR system, bolt-action rifle and Saurmorian railgun. Backpacks give a large evasion penalty and large/cumbersome weapons affect accuracy and/or crit, sometimes with a minor evasion penalty.
  • Shotguns and blast weapons like flamers get very high accuracy but no crit.

Pricing was a bit tricky, because it seems mostly random, other than increasing the price the bigger the dakka, I couldn't find any specific pattern.

Of course, weapons above 25 damage are unbalanced, mainly because there is nothing to compare them to. I've made them for the future.

Anyway, stats can be changed in a second, it's just a matter of replacing a numerical value. I've been doing some re-balancing recently, currently only implemented in the spreadsheet.

What's important for me are not the stats, but the diversity and flavor.
Currently we have several generic laser, plasma and bullet firing weapons a few unique bows and lust weapons, but nothing dealing explosive, poison, psionic or pheromone damage, only one active weapon dealing freezing damage and only one weapon dealing corrosive damage.
I wanted to include more weapon types, rocket launchers, grenade launchers, flamethrowers, living weapons, freeze rays and several unique and unconventional weapons., we have very few of those.

You're really going to want to be in close contact with Fenoxo about all this. Otherwise you'll be disrupting what small balance the game has as is, despite your intentions, as well as weapons that have no context; unless you're also going to be including race/faction codexes too.
 
  • Like
Reactions: Thebiologist

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
You're really going to want to be in close contact with Fenoxo about all this. Otherwise you'll be disrupting what small balance the game has as is, despite your intentions, as well as weapons that have no context; unless you're also going to be including race/faction codexes too.

I'm currently writing the codex of a species I mention and a company they own, they're supposed to be the ones that sell those living weapons.
I plan on writing vendors for some unique weapons too, like the set of elemental rifles (pyro, cryo, electro, acid, lust and poison-rifles), an old gunsmith, a Reaper Armament's ex-employee.
Those labeled prototypes are meant to be rewards for exploring dungeons, stuff you find on a locker, a lab or a safe.

Others are generic enough to be sold by common vendors or awarded as loot from dungeons and random enemies. Some are not even meant to be added to the game until new content arrives, namely those above 25 damage.

I'll follow your advice and I'll try to contact Fenoxo, I'll PM one of the admins to see if it's ok to contact him.

Thanks for your comments and your advice, it's always nice to have a creator give you some tips and criticism.
 

Zavos

Well-Known Member
May 7, 2016
2,428
1,302
30
I hope most of your stuff gets in with minimal alteration. I really, really do.
 
Last edited:
  • Like
Reactions: Thebiologist

Aullama

Well-Known Member
Creator
Dec 12, 2016
171
406
30
I hope most of your stuff gets in with minimal alteration. I really, really do.

If they do, then several weapons already in will need varying amounts of adjustment to match. Hell, maybe this could result in actual - consistent - weapon balance...
 
  • Like
Reactions: Thebiologist

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
If they do, then several weapons already in will need varying amounts of adjustment to match. Hell, maybe this could result in actual - consistent - weapon balance...

I wouldn't mind working on a full weapon rebalance to make all weapons a bit more consistent.
 

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
I wish that were the case.
I think most of the balancing is on Gedan's end, actually.

In any case, just to be safe, I've added, Savin, Gedan and Fenoxo to a group conversation, asking them if it's ok to continue. Now all I have to do is wait.

Still, I keep brainstorming new ideas, I have a ton of post-its laying around to room with several weapon concepts.
 

Thebiologist

Well-Known Member
Jun 24, 2017
585
641
31
Today I've just finished with the ranged weapons' spreadsheet. What you se there is supposed to be a semi-definitive version. I'll begin coding and writing those missing weapons and update the stats of those I've already coded. Then comes the boring process of testing each weapon in-game to make sure they don't crash or glitch the game.