Archery Expansion First Version Out

[quote=“Flare, post:59, topic:837”]Banging out the recipes tonight, and came onto a problem about the techniques melee weapons use.

In itemdefs, (TEC_WBLOCK_1), exists. And in melee.json it is rerepresented as this “techniques”: [“WBLOCK_1”]

Currently for a well made shield I’ve given it “techniques”: [“WBLOCK_2”]. Would this still work or does each term need some coding in the other files to make the program recognize these tokens in melee.json?

If it is the case that it wouldn’t work, I’m going to go put them into the itemdefs for the moment.

Also, does “flags”: “SPEAR” in melee,json equivalent to mfb(TEC_RAPID) in itemdefs?[/quote]
Just checking: why WBlock2? That’s a good weapon-based parry. Shields were supposed to be WBlock3–better dice on the block roll. (d12s as opposed to d10s, IIRC.)

@Soron
Good to know. Would the rapid technique still be possible in melee.json?

@KA101
I did not pursue wblock_3 due to how wblock_ is written. wblock_1 and wblock_2 are single terms. The number at the end is not interchangeable due to the underscore making it a single term. I would very much like to give shield 3 blocking though to compensate for the mediocre damage.

Yeah, you can still use the rapid attack technique in the data files (as “RAPID” in the techniques list). It’s just that GG felt the pointy stick shouldn’t have it for balance reasons.

[quote=“Flare, post:62, topic:837”]@KA101
I did not pursue wblock_3 due to how wblock_ is written. wblock_1 and wblock_2 are single terms. The number at the end is not interchangeable due to the underscore making it a single term. I would very much like to give shield 3 blocking though to compensate for the mediocre damage.[/quote]

…I don’t follow. There IS a TEC_WBLOCK_3 in the code (“WBLOCK_3” if you do it in data files). So… I don’t really understand what stopped you from just using that O_o?

There is? Last I’ve check there are no TEC_WBLOCK_3 for any item in melee.json or in itemdefs.

Or do the martial art things count as well?

“block”, TEC_BLOCK, 2,
“block”, TEC_BLOCK, 3,

That equals

TEC_WBLOCK_2 and
TEC_WBLOCK_3 ?

Is there a 4 as well?

That’s just because there haven’t been any items added that use TEC_WBLOCK_3 (aside from the pseudo-item martial arts stuff). Check the technique_id enum in itype.h - TEC_WBLOCK_3 is listed there, but there’s no fourth entry in the series.

Thanks for informing me where to find the TECs.

What does the “flags”: “SPEAR”, do if it isn’t a signal that the item had TEC rapid?

It says that it has the item flag IF_SPEAR, of course :P.

More helpfully, it appears to be related to slashing vs. stabbing attacks. It looks like most of the implementation-related references are in melee.cpp, although I see a few references in inventory.cpp, item.cpp and player.cpp as well.

IIRC, if it has IF_SPEAR then its cutting damage actually equals its piercing damage.

So this

"damage": 8,
"cutting": 0,
"to_hit": 2,
"flags": "SPEAR",

would make the 8 damage be 8 piercing damage? Or if I put 8 into cutting, the damage would be 8?

Needs to be “cutting”: 8 not “damage”: 8, “damage” is for bashing I think.

Ah, so if an item in melee.json has “flags”: “SPEAR”, then the “cutting” damage turns into piercing damage, and so I can just leave all the other damage modifier blank. Thank you.

Edit: Is the speed modifier dropped?

Will this be getting implemented into the main game?

I actually renamed “damage” to “bashing” recently - we agreed it was confusing to have a plain “damage” field that refers to only one of 2 or 3 damage types.

I can’t say for sure at this point whether it will be incorporated into mainline or not, but I’m certainly keeping my eye on it. Depends on the final quality, basically.

Depends if I can get it balanced enough.

Some of the end bows are really powerful, and with the skill required to craft them, you might just be able to make the shots at long distances too. The only downside to them is the construction time I put on them. It will literally take you longer to craft the most powerful bow than to weld together a vehicle.

Of course though, don’t let me stop you from taking the code on the first page and compiling it for your own use.

Forgot to inform you guys about the wood pile testing.

I’ve tested fire duration for objects of 280 volume. With the PAPER modifier, it lasts a whole lot longer, I held 5 for 16+ game hours and the fire still didn’t go out. The fire oscillates between fire and raging fire, seemingly never quite going out even in rain. When in raging fire mode, the surrounding 8 tiles also turn into

The powder object with 280 volume went out in 45 minutes, admittedly with very little smoke compared to the PAPER object.

[hr]
There seems to be an issue with the shield and boards, as well as the bows.

There’s no explicit error message about where it is only:

DEBUG: JSON error at : value is not numeric value does not exist
Press space bar

After pressing the space bar a few times, everything seems to be fine though. All the items are in the game and functioning.

{
    "id": "bow_like_object",
    "type": "GUN",
    "symbol": "(",
    "color": "yellow",
    "name": "bow-like_object",
    "description": "An object that looks like a bow from afar, but closer inspection will reveal its masquerading nature. This is a bow someone with absolutely no knowledge of bows would make. Solely based on popular depictions from movies and video games, this object merely tries to look and act like a bow, nothing more.",
    "rarity": 0,
    "price": 0,
    "material": "WOOD",
    "flags": "RELOAD_AND_SHOOT",
    "skill": "archery",
    "ammo": "arrow",
    "weight": 18,
    "volume": 4,
    "bashing": 2,
    "cutting": 0,
    "to_hit": 1,
    "ranged_damage": 0,
    "range": 1,
    "accuracy": 45,
    "recoil": 0,
    "durability": 6,
    "burst": 0,
    "clip_size": 1,
    "reload": 70
  },

 {
    "id": "10kg_bow",
    "type": "GUN",
    "symbol": "(",
    "color": "yellow",
    "name": "10kg bow",
    "description": "The staple of hunter gatherers that predates history. Though made using the most rudimentary knowledge of bows, this short and weak bow is still perfect for taking down small game and, sometimes, humans with enough skill.",
    "rarity": 0,
    "price": 140,
    "material": "WOOD",
    "flags": "RELOAD_AND_SHOOT",
    "skill": "archery",
    "ammo": "arrow",
    "weight": 4,
    "volume": 4,
    "bashing": 2,
    "cutting": 0,
    "to_hit": 1,
    "ranged_damage": 2,
    "range": 7,
    "accuracy": 25,
    "recoil": 0,
    "durability": 6,
    "burst": 0,
    "clip_size": 1,
    "reload": 80
  },

 {
    "id": "20kg_bow",
    "type": "GUN",
    "symbol": "(",
    "color": "yellow",
    "name": "20kg_bow",
    "description": "A bow with double the draw weight of the previous bow. This six-foot long wooden bow is reminiscent with the english longbow but far weaker. Even so, this bow takes a fair amount of strength to draw. Arrows fired from this weapon have a good chance of remaining intact for re-use. It requires 10strength to fire, as do all subsequent bows.",
    "rarity": 0,
	"price": 1400,
    "material": "WOOD",
    "flags": ["STR10_DRAW", "RELOAD_AND_SHOOT"],
    "skill": "archery",
    "ammo": "arrow",
    "weight": 8,
    "volume": 5,
    "bashing": 2,
    "cutting": 0,
    "to_hit": 1,
    "ranged_damage": 4,
    "range": 10,
    "accuracy": 18,
    "recoil": 0,
    "durability": 6,
    "burst": 0,
    "clip_size": 1,
    "reload": 90
  },



 {
    "id": "30kg_bow",
    "type": "GUN",
    "symbol": "(",
    "color": "yellow",
    "name": "30kg bow",
    "description": "This bow is the gateway for the stronger bows with much heavier draw weights. The draw strength of this bow is slightly above the limit of the pre-cataclysm recreation and hunting bows.",
    "rarity": 0,
	"price": 1400,
    "material": "WOOD",
    "flags": ["STR10_DRAW", "RELOAD_AND_SHOOT"],
    "skill": "archery",
    "ammo": "arrow",
    "weight": 5,
    "volume": 7,
    "bashing": 2,
    "cutting": 0,
    "to_hit": 1,
    "ranged_damage": 7,
    "range": 13,
    "accuracy": 16,
    "recoil": 0,
    "durability": 6,
    "burst": 0,
    "clip_size": 1,
    "reload": 100
  },



  {
    "id": "30kg_bow_compound",
    "type": "GUN",
    "symbol": "(",
    "color": "yellow",
    "name": "30kg bow compound",
    "description": "A bow that uses a set of pulleys to take the strain off when a bow is fully drawn. This does not mean however that the draw weight on these must be less of other bows.",
    "rarity": 0,
	"price": 1400,
    "material": "WOOD",
    "flags": ["STR10_DRAW", "RELOAD_AND_SHOOT"],
    "skill": "archery",
    "ammo": "arrow",
    "weight": 7,
    "volume": 7,
    "bashing": 2,
    "cutting": 0,
    "to_hit": 1,
    "ranged_damage": 7,
    "range": 13,
    "accuracy": 12,
    "recoil": 0,
    "durability": 6,
    "burst": 0,
    "clip_size": 1,
    "reload": 100
  },

  
 {
    "id": "40kg_bow",
    "type": "GUN",
    "symbol": "(",
    "color": "yellow",
    "name": "40kg bow",
    "description": "With a draw strength of 40kg, this bow requires a great deal of experience and training to use properly. The equivalent of lifting an ugly small woman every draw, this bow can fling heavier arrows much better than its predecessors, and deal far more bashing because of it. This however comes at the cost of accuracy and draw rate.",
    "rarity": 0,
	"price": 1400,
    "material": "WOOD",
    "flags": ["STR10_DRAW", "RELOAD_AND_SHOOT"],
    "skill": "archery",
    "ammo": "arrow",
    "weight": 6,
    "volume": 5,
    "bashing": 4,
    "cutting": 0,
    "to_hit": 1,
    "ranged_damage": 12,
    "range": 18,
    "accuracy": 20,
    "recoil": 0,
    "durability": 6,
    "burst": 0,
    "clip_size": 1,
    "reload": 110
  }, 
  


 {
    "id": "50kg_bow",
    "type": "GUN",
    "symbol": "(",
    "color": "yellow",
    "name": "50kg bow",
    "description": "This bow has curled arms that turn away from the archer at the ends, and along with other techniques you've gained from bow construction and usage, puts an astonishing 50kgs of energy into the release. Solidly powerful, but it is even slower and more inaccurate than weaker bows due to the strain it puts on the user. However with experience, the 50kgs of draw weight is much more efficiently transfered into the arrow shaft than your previous bows.",
    "rarity": 0,
	"price": 1400,
    "material": "WOOD",
    "flags": ["STR10_DRAW", "RELOAD_AND_SHOOT"],
    "skill": "archery",
    "ammo": "arrow",
    "weight": 7,
    "volume": 9,
    "bashing": 4,
    "cutting": 0,
    "to_hit": 1,
    "ranged_damage": 16,
    "range": 22,
    "accuracy": 25,
    "recoil": 0,
    "durability": 6,
    "burst": 0,
    "clip_size": 1,
    "reload": 120
  }, 

 {
    "id": "65kg_bow",
    "type": "GUN",
    "symbol": "(",
    "color": "yellow",
    "name": "65kg bow",
    "description": "The massive frame of this weapon belies it's monstrous power. A supersized version of the 50kg bow, this bow trades increased draw weight for effeciency of release, giving more power per kg of draw weight than the previous version.",
    "rarity": 0,
	"price": 1400,
    "material": "WOOD",
    "flags": ["STR10_DRAW", "RELOAD_AND_SHOOT"],
    "skill": "archery",
    "ammo": "arrow",
    "weight": 9,
    "volume": 16,
    "bashing": 8,
    "cutting": 0,
    "to_hit": 1,
    "ranged_damage": 24,
    "range": 28,
    "accuracy": 34,
    "recoil": 0,
    "durability": 6,
    "burst": 0,
    "clip_size": 1,
    "reload": 135
  }, 

  {
    "id": "wood_pile1",
    "symbol": "O",
    "color": "brown",
    "name": "wood pile1",
    "description": "A large pile of wood cobbled together so that it would burn for long periods of time than simple logs.",
    "rarity": 0,
    "material": "PAPER",
    "weight": 40,
    "volume": 280,
    "bashing": 10,
    "cutting": 0,
    "to_hit": -10
  },

  {
    "id": "wood_pile2",
    "symbol": "O",
    "color": "brown",
    "name": "wood pile2",
    "description": "A large pile of wood cobbled together so that it would burn for long periods of time than simple logs.",
    "rarity": 0,
    "material": "POWDER",
    "weight": 40,
    "volume": 280,
    "bashing": 10,
    "cutting": 0,
    "to_hit": -10
  },

  { 
	"id": "impr_shield",
    "symbol" : "o",
    "color": "light_red",
    "name": "impr_shield",
    "description": "An improvised wooden shield. Using weak glue, wood that has not been fire hardened or dried, no boss in the middle, and no rim among other things, this shield is a mere shadow of what proper shield craft can produce though it is well built enough to stay in one piece.",
    "rarity": 0,
    "price": 0,
    "material": "WOOD",
    "volume": 10,
    "weight": 8,
    "bashing": 6,
    "cutting": 0,
    "to_hit": 2,
    "flags": "SPEAR",
    "techniques": ["WBLOCK_2"]
  },

  { 
	"id": "shield",
    "symbol" : "o",
    "color": "light_red",
    "name": "shield",
    "description": "A metal rimmed shield, with boss, and correct building processes. Not only does this shield shed unnecessary weight, it can also pack a decent strike.",
    "rarity": 0,
    "price": 0,
    "material": ["WOOD", "IRON"],
    "volume": 10,
    "weight": 7,
    "bashing": 8,
    "cutting": 0,
    "to_hit": 2,
    "flags": "SPEAR",
    "techniques": ["WBLOCK_3"]
  },

  { 
	"id": "impr_spear_and_impr_board",
    "symbol" : "/",
    "color": "light_red",
    "name": "impro spear and impro board",
    "description": "Ubiquitous the world over, not only due to the simplicity of make and complimenting pairing, but also for its effectiveness.",
    "rarity": 0,
    "price": 0,
    "material": "WOOD",
    "volume": 18,
    "weight": 12,
    "bashing": 0,
    "cutting": 10,
    "to_hit": 1,
    "flags": "SPEAR",
    "techniques": ["WBLOCK_2"]
  },

  { 
	"id": "impr_spear_and_board",
    "symbol" : "/",
    "color": "light_red",
    "name": "impr spear and board",
    "description": "Ubiquitous the world over, not only due to the simplicity of make and complimenting pairing, but also for its effectiveness.",
    "rarity": 0,
    "price": 0,
	"material": ["WOOD", "IRON"],
    "volume": 16,
    "weight": 12,
    "bashing": 0,
    "cutting": 10,
    "to_hit": 2,
    "flags": "SPEAR",
    "techniques": ["WBLOCK_3"]
  },

  { 
	"id": "spear_and_impr_board",
    "symbol" : "/",
    "color": "light_red",
    "name": "spear and impr board",
    "description": "Ubiquitous the world over, not only due to the simplicity of make and complimenting pairing, but also for its effectiveness.",
    "rarity": 0,
    "price": 0,
	"material": "WOOD",
    "volume": 16,
    "weight": 12,
    "bashing": 0,
    "cutting": 16,
    "to_hit": 2,
    "flags": "SPEAR",
    "techniques": ["WBLOCK_2", "RAPID"]
  },

  { 
	"id": "spear_and_board",
    "symbol" : "/",
    "color": "light_red",
    "name": "spear and board",
    "description": "A pair of weapons that has killed man since recorded history, and for many ages before that, and likely for many ages to come...",
    "rarity": 0,
    "price": 0,
	"material": ["WOOD", "IRON"],
    "volume": 14,
    "weight": 10,
    "bashing": 0,
    "cutting": 16,
    "to_hit": 4,
    "techniques": ["WBLOCK_3", "RAPID"]
  },

  { 
	"id": "buckler",
    "symbol" : "o",
    "color": "light_yellow",
    "name": "buckler",
    "description": "A small shield, the size of a dish, that encloses the front of the hand when holding it, allowing for quick, precise, and deadly strikes, as well as affording a measure of defence.",
    "rarity": 0,
    "price": 0,
	"material": "IRON",
    "volume": 3,
    "weight": 5,
    "bashing": 8,
    "cutting": 0,
    "to_hit": 3,
    "flags": "SPEAR",
    "techniques": ["WBLOCK_2"]
  }

I highly recommend putting wood_pile1 into your game and playing with it.

[quote=“Flare, post:75, topic:837”]There’s no explicit error message about where it is only:

DEBUG: JSON error at : value is not numeric value does not exist
Press space bar

After pressing the space bar a few times, everything seems to be fine though. All the items are in the game and functioning.[/quote]

Huh, I’ve seen that before when a bit of data it’s looking for doesn’t exist. I should probably tweak that error message so it’s a bit more obvious what’s going wrong.

Was there an error message BEFORE that, by any chance?

Before that message the screen was just black and empty. I had to hit space around 5 times before the game started.

Alright, I loaded your current data, and it looks like two items are missing a price, and one item is using “light_yellow” as a color (which doesn’t exist in-game). Didn’t bother checking which items, though.

Price is manditory? I didn’t know that. I’ll change the light yellow colour. Not sure where that came from.
Thanks for your help.

Edit: That worked perfectly.

hi all - been watching this thread intently - good work to all involved.
i personally really hope that an archery expansion makes it into the game. my character uses his longbow almost exclusively (except on those pesky armoured foes) - so to have some more variety in game would be fantastic! keep up the good work, it’s highly appreciated by myself at the very least! ahem, i know this was mentioned in another thread, any thoughts on quivers?