materials rebalancing

This commit is contained in:
minjaesong
2023-11-30 13:51:09 +09:00
parent a8e1f235f4
commit 84ab32f4c1
4 changed files with 27 additions and 25 deletions

View File

@@ -1,24 +1,24 @@
idst;tens;impf;dsty;fmod;endurance;tcond;reach;rcs;sondrefl;comments
WOOD;10;10;800;1;0.173;0.17;5;18;0.5;just a generic wood
ROCK;15;210;3000;1;0.42;2.9;5;48;1.0;data is that of marble
GLSS;15;210;3000;1;0.42;2.9;5;48;1.0;glass
OORE;15;210;3000;1;0.42;2.9;5;100;0.2;data is that of marble
OGEM;15;210;3000;1;0.42;2.9;5;80;0.2;data is that of marble
CUPR;210;770;8960;2;1.00;401.0;5;120;1.0;copper
EGLS;33;1000;2325;4;0.82;1.0;6;10;1.0;elven glass/moldavite
IRON;350;1085;7874;5;1.42;80.4;6;120;1.0;not wrought iron,just natural iron
ARGN;170;595;10490;9;0.91;429.0;6;120;1.0;argentum/silver
AURM;120;350;19300;9;0.88;318.0;6;120;1.0;aurum/gold
STAL;531;2520;7874;14;1.73;26.0;7;120;1.0;steel
EAUR;768;0;8192;21;1.36;1.0;7;120;1.0;elven aurichalcum
TIAL;900;0;4420;33;2.16;1.0;8;120;1.0;titanium alloy (Ti6Al4V)
ADMT;2000;4090;2700;71;3.42;1.0;8;120;1.0;adamant
OOZE;20;0;1000;1;0.08;0.5;0;10;0.0;genetic ooze,data is about human skin
BONE;130;0;2000;1;0.23;0.55;4;10;0.1;data is that of bovine bone
BRAS;315;1015;8530;3;1.00;120;5;120;1.0;brass
BRNZ;310;843;8770;3;1.20;75;5;120;1.0;bronze
TINN;220;350;7310;2;1.00;69;5;120;1.0;tin
ZINC;90;525;7140;2;1.00;116;5;120;1.0;zinc
WOOD;10;10;800;0.3;0.12;0.17;5;18;0.5;just a generic wood
ROCK;15;210;3000;0.55;0.32;2.9;5;48;1.0;data is that of marble
GLSS;15;210;3000;0.01;0.32;2.9;5;48;1.0;glass
OORE;15;210;3000;0.55;0.32;2.9;5;100;0.2;data is that of marble
OGEM;15;210;3000;0.55;0.32;2.9;5;80;0.2;data is that of marble
CUPR;210;770;8960;1.0;1.00;401.0;5;120;1.0;copper
TINN;220;350;7310;1.0;1.00;69;5;120;1.0;tin
ZINC;90;525;7140;1.0;1.00;116;5;120;1.0;zinc
BRNZ;310;843;8770;1.2;1.20;75;5;120;1.0;bronze
BRAS;315;1015;8530;1.2;1.00;120;5;120;1.0;brass
EGLS;33;1000;2325;1.8;0.82;1.0;6;10;1.0;elven glass/moldavite
IRON;350;1085;7874;1.8;1.42;80.4;6;120;1.0;not wrought iron,just natural iron
ARGN;170;595;10490;2.2;0.91;429.0;6;120;1.0;argentum/silver
AURM;120;350;19300;2.2;0.88;318.0;6;120;1.0;aurum/gold
STAL;531;2520;7874;3.2;1.73;26.0;7;120;1.0;steel
EAUR;768;0;8192;2.9;1.36;1.0;7;120;1.0;elven aurichalcum
TIAL;900;0;4420;4.0;2.16;1.0;8;120;1.0;titanium alloy (Ti6Al4V)
ADMT;2000;4090;2700;6.0;3.42;1.0;8;120;1.0;adamant
OOZE;20;0;1000;0.0;0.08;0.5;0;10;0.0;genetic ooze,data is about human skin
BONE;130;0;2000;0.33;0.23;0.55;4;10;0.1;data is that of bovine bone
DIRT;1;1;1400;0.0;0.0;36;0;10;0.0;dirt
SAND;1;1;2400;0.0;0.0;36;0;36;0.0;sand
GRVL;1;1;2400;0.0;0.0;36;0;36;0.0;gravel
@@ -38,7 +38,6 @@ NULL;1;1;1;0.0;0.0;36;0;1;0.5;air
# dsty: density (grams per litre)
#
# fmod: forcemod -- related to attack points
# Attack points = `16 * forcemod.sqrt()` for each strike
#
# endurance: multiplier, using copper as reference;determines durability of tools/weapons/armours/etc.
# the base value for endurance differes to tool to tool. When integer is used, resulting value must be ROUNDED.
1 idst tens impf dsty fmod endurance tcond reach rcs sondrefl comments
2 WOOD 10 10 800 1 0.3 0.173 0.12 0.17 5 18 0.5 just a generic wood
3 ROCK 15 210 3000 1 0.55 0.42 0.32 2.9 5 48 1.0 data is that of marble
4 GLSS 15 210 3000 1 0.01 0.42 0.32 2.9 5 48 1.0 glass
5 OORE 15 210 3000 1 0.55 0.42 0.32 2.9 5 100 0.2 data is that of marble
6 OGEM 15 210 3000 1 0.55 0.42 0.32 2.9 5 80 0.2 data is that of marble
7 CUPR 210 770 8960 2 1.0 1.00 401.0 5 120 1.0 copper
8 EGLS TINN 33 220 1000 350 2325 7310 4 1.0 0.82 1.00 1.0 69 6 5 10 120 1.0 elven glass/moldavite tin
9 IRON ZINC 350 90 1085 525 7874 7140 5 1.0 1.42 1.00 80.4 116 6 5 120 1.0 not wrought iron,just natural iron zinc
10 ARGN BRNZ 170 310 595 843 10490 8770 9 1.2 0.91 1.20 429.0 75 6 5 120 1.0 argentum/silver bronze
11 AURM BRAS 120 315 350 1015 19300 8530 9 1.2 0.88 1.00 318.0 120 6 5 120 1.0 aurum/gold brass
12 STAL EGLS 531 33 2520 1000 7874 2325 14 1.8 1.73 0.82 26.0 1.0 7 6 120 10 1.0 steel elven glass/moldavite
13 EAUR IRON 768 350 0 1085 8192 7874 21 1.8 1.36 1.42 1.0 80.4 7 6 120 1.0 elven aurichalcum not wrought iron,just natural iron
14 TIAL ARGN 900 170 0 595 4420 10490 33 2.2 2.16 0.91 1.0 429.0 8 6 120 1.0 titanium alloy (Ti6Al4V) argentum/silver
15 ADMT AURM 2000 120 4090 350 2700 19300 71 2.2 3.42 0.88 1.0 318.0 8 6 120 1.0 adamant aurum/gold
16 OOZE STAL 20 531 0 2520 1000 7874 1 3.2 0.08 1.73 0.5 26.0 0 7 10 120 0.0 1.0 genetic ooze,data is about human skin steel
17 BONE EAUR 130 768 0 2000 8192 1 2.9 0.23 1.36 0.55 1.0 4 7 10 120 0.1 1.0 data is that of bovine bone elven aurichalcum
18 BRAS TIAL 315 900 1015 0 8530 4420 3 4.0 1.00 2.16 120 1.0 5 8 120 1.0 brass titanium alloy (Ti6Al4V)
19 BRNZ ADMT 310 2000 843 4090 8770 2700 3 6.0 1.20 3.42 75 1.0 5 8 120 1.0 bronze adamant
20 TINN OOZE 220 20 350 0 7310 1000 2 0.0 1.00 0.08 69 0.5 5 0 120 10 1.0 0.0 tin genetic ooze,data is about human skin
21 ZINC BONE 90 130 525 0 7140 2000 2 0.33 1.00 0.23 116 0.55 5 4 120 10 1.0 0.1 zinc data is that of bovine bone
22 DIRT 1 1 1400 0.0 0.0 36 0 10 0.0 dirt
23 SAND 1 1 2400 0.0 0.0 36 0 36 0.0 sand
24 GRVL 1 1 2400 0.0 0.0 36 0 36 0.0 gravel
38 #
39 # fmod: forcemod -- related to attack points
40 # Attack points = `16 * forcemod.sqrt()` for each strike #
#
41 # endurance: multiplier, using copper as reference determines durability of tools/weapons/armours/etc.
42 # the base value for endurance differes to tool to tool. When integer is used, resulting value must be ROUNDED.
43 #

View File

@@ -22,11 +22,11 @@ object Calculate {
* TODO Newtons as unit?
*/
@JvmStatic fun pickaxePower(actor: ActorWithBody, material: Material?): Float {
return (16.0 * (material?.forceMod?.toDouble() ?: 1.0).sqrt() * (actor.avStrength / 1000.0)).toFloat()
return (4.0 * (material?.forceMod?.toDouble() ?: 0.0) * (actor.avStrength / 1000.0)).toFloat()
}
@JvmStatic fun hatchetPower(actor: ActorWithBody, material: Material?): Float {
return (1.0 * (material?.forceMod?.toDouble() ?: 1.0).sqrt() * (actor.avStrength / 1000.0)).toFloat()
return (1.0 * (material?.forceMod?.toDouble() ?: 0.0) * (actor.avStrength / 1000.0)).toFloat()
}
private val fallDamageDampenMult = (32.0 / 1176.0).sqr()

View File

@@ -19,7 +19,7 @@ class Material {
var thermalConductivity: Float = 10f // watts per metre-kelven
var forceMod: Int = 1 // arbitrary unit. See Pickaxe_Power.xlsx
var forceMod: Float = 1f // arbitrary unit. See Pickaxe_Power.xlsx
var enduranceMod: Float = 1f // multiplier. Copper as 1.0
//var armourMod: Float // multiplier. Copper as 1.0
@@ -69,7 +69,7 @@ class MaterialCodex {
val prop = Material()
prop.strength = it.intVal("tens")
prop.density = it.intVal("dsty")
prop.forceMod = it.intVal("fmod")
prop.forceMod = it.floatVal("fmod")
prop.enduranceMod = it.floatVal("endurance")
prop.thermalConductivity = it.floatVal("tcond")
prop.identifier = it.get("idst").toUpperCase()