From ad3b9fd99b03b33ddc01ad38fd286cf47ed11add Mon Sep 17 00:00:00 2001 From: KR Da Mystic Date: Sat, 2 Nov 2024 19:10:52 +0900 Subject: [PATCH 1/8] Weapon Value adj Adjusts the power of weapons according to Weapon balance doc. --- scripts/scr_weapon/scr_weapon.gml | 508 +++++++++++++++++------------- 1 file changed, 286 insertions(+), 222 deletions(-) diff --git a/scripts/scr_weapon/scr_weapon.gml b/scripts/scr_weapon/scr_weapon.gml index 459e9f753e..89ee2ecea8 100644 --- a/scripts/scr_weapon/scr_weapon.gml +++ b/scripts/scr_weapon/scr_weapon.gml @@ -157,9 +157,9 @@ global.weapons = { "Combat Knife": { "abbreviation": "CbKnf", "attack": { - "standard": 25, - "master_crafted": 30, - "artifact": 35 + "standard": 50, + "master_crafted": 75, + "artifact": 100 }, "description": "More of a sword than a knife, this tough and thick blade becomes a deadly weapon in the hand of an Astartes.", "melee_hands": 0, @@ -174,8 +174,8 @@ global.weapons = { "abbreviation": "Saris", "attack": { "standard": 40, - "master_crafted": 45, - "artifact": 50 + "master_crafted": 50, + "artifact": 60 }, "description": "A vicious combat attachment that is attached to Bolters, in order to allow them to be used in melee combat.", "melee_hands": 0, @@ -189,9 +189,9 @@ global.weapons = { "Chainsword": { "abbreviation": "ChSwrd", "attack": { - "standard": 50, - "master_crafted": 60, - "artifact": 70 + "standard": 130, + "master_crafted": 150, + "artifact": 200 }, "description": "A standard Chainsword. It is popular among Assault Marines due to their raw power while maintaining speed.", "melee_hands": 1, @@ -200,14 +200,14 @@ global.weapons = { "range": 1, "spli": 4, "arp": 0, - "tags": ["chain", "sword"], + "tags": ["chain", "sword","savage", "boarding 1"], }, "Chainaxe": { "abbreviation": "ChAxe", "attack": { - "standard": 90, - "master_crafted": 100, - "artifact": 110 + "standard": 110, + "master_crafted": 130, + "artifact": 150 }, "melee_mod": { "standard": 5, @@ -221,7 +221,7 @@ global.weapons = { "range": 1, "spli": 6, "arp": 0, - "tags": ["chain", "axe", "dual"], + "tags": ["chain", "axe", "dual", "savage", "boarding 2"], }, "Company Standard": { "abbreviation": "CmpStnd", @@ -246,9 +246,9 @@ global.weapons = { "Eviscerator": { "abbreviation": "Evisc", "attack": { - "standard": 180, - "master_crafted": 190, - "artifact": 200 + "standard": 260, + "master_crafted": 290, + "artifact": 330 }, "melee_mod": { "standard": 2, @@ -260,16 +260,16 @@ global.weapons = { "ranged_hands": 1, "ammo": 0, "range": 1, - "spli": 3, + "spli": 6, "arp": 1, - "tags": ["chain", "sword"], + "tags": ["chain", "sword", "savage"], }, "Power Sword": { "abbreviation": "PwrSwrd", "attack": { - "standard": 180, - "master_crafted": 200, - "artifact": 240 + "standard": 225, + "master_crafted": 260, + "artifact": 300 }, "melee_mod": { "standard": 1, @@ -284,14 +284,14 @@ global.weapons = { "spli": 4, "arp": 1, "special_properties": ["Parry"], - "tags": ["power", "sword"], + "tags": ["power", "sword", "martial", "boarding 1"], }, "Power Spear": { "abbreviation": "PwrSpear", "attack": { - "standard": 200, - "master_crafted": 220, - "artifact": 260 + "standard": 225, + "master_crafted": 260, + "artifact": 300 }, "melee_mod": { "standard": 1, @@ -306,7 +306,7 @@ global.weapons = { "spli": 6, "arp": 1, "special_properties": ["Parry"], - "tags": ["power", "spear"], + "tags": ["power", "spear", "martial"], }, "Chainfist": { "abbreviation": "ChFst", @@ -316,12 +316,12 @@ global.weapons = { "artifact": 700 }, "description": "Created by mounting a chainsword to a power fist, this weapon is easily able to carve through armoured bulkheads.", - "melee_hands": 1.25, - "ranged_hands": 1, + "melee_hands": 3, + "ranged_hands": 0, "range": 1, - "spli": 2, + "spli": 4, "arp": 1, - "tags": ["power","boarding", "chain", "fist", "dual", "siege"], + "tags": ["power","boarding 3", "chain", "fist", "dual", "siege", "savage"], }, "Lascutter": { "abbreviation": "Lasct", @@ -382,9 +382,9 @@ global.weapons = { "Power Axe": { "abbreviation": "PwrAxe", "attack": { - "standard": 190, - "master_crafted": 220, - "artifact": 260 + "standard": 200, + "master_crafted": 225, + "artifact": 300 }, "melee_mod": { "standard": 1, @@ -398,14 +398,14 @@ global.weapons = { "range": 1, "spli": 5, "arp": 1, - "tags": ["power", "axe", "dual"], + "tags": ["power", "axe", "dual","savage", "boarding 2"], }, "Executioner Power Axe": { "abbreviation": "ExPwrAxe", "attack": { - "standard": 300, - "master_crafted": 350, - "artifact": 400 + "standard": 800, + "master_crafted": 850, + "artifact": 925 }, "melee_mod": { "standard": 10, @@ -419,7 +419,7 @@ global.weapons = { "range": 1, "spli": 2, "arp": 1, - "tags": ["power", "axe"], + "tags": ["power", "axe", "martial"], }, "Power Fist": { "abbreviation": "PwrFst", @@ -440,7 +440,7 @@ global.weapons = { "range": 1, "spli": 2, "arp": 1, - "tags": ["power", "dual", "fist"], + "tags": ["power", "dual", "fist", "savage", "boarding 2"], }, "Power Fists": { "abbreviation": "PwrFsts", @@ -456,7 +456,7 @@ global.weapons = { "range": 1, "spli": 4, "arp": 1, - "tags": ["power", "fist", "pair"], + "tags": ["power", "fist", "pair","savage" ,"boarding 2"], }, "Servo-arm(M)": { "abbreviation": "MchArm", @@ -489,7 +489,7 @@ global.weapons = { "spli": 2, "arp": 1, "second_profiles": ["Integrated Bolter"], - "tags": ["power", "fist"], + "tags": ["power", "fist", "savage", "boarding 2"], }, "Lightning Claw": { "abbreviation": "LghtClw", @@ -505,7 +505,7 @@ global.weapons = { "range": 1, "spli": 5, "arp": 1, - "tags": ["power", "dual", "fist"], + "tags": ["power", "dual", "fist", "boarding 2", "martial"], }, "Dreadnought Lightning Claw": { "abbreviation": "LghtClw", @@ -545,17 +545,17 @@ global.weapons = { "ranged_hands": 1, "ammo": 0, "range": 1, - "spli": 10, + "spli": 4, "arp": 1, - "tags": ["power", "hammer", "siege"], + "tags": ["power", "hammer", "siege", "savage", "boarding 2"], "req_exp": 100, }, "Heavy Thunder Hammer": { "abbreviation": "HvyThndHmr", "attack": { - "standard": 975, - "master_crafted": 1125, - "artifact": 1350, + "standard": 800, + "master_crafted": 950, + "artifact": 1100, }, "melee_mod": { "standard": 1.3, @@ -567,9 +567,9 @@ global.weapons = { "ranged_hands": 2, "ammo": 0, "range": 1, - "spli": 15, + "spli": 8, "arp": 1, - "tags": ["heavy_melee", "power", "hammer", "siege"], + "tags": ["heavy_melee", "power", "hammer", "siege", "martial"], "req_exp": 100, }, "Power Mace": { @@ -589,9 +589,9 @@ global.weapons = { "ranged_hands": 2, "ammo": 0, "range": 1, - "spli": 10, + "spli": 8, "arp": 1, - "tags": ["power", "mace", "siege"], + "tags": ["power", "mace", "siege", "savage"], "req_exp": 100, }, "Mace of Absolution": { @@ -614,7 +614,7 @@ global.weapons = { "range": 1, "spli": 10, "arp": 1, - "tags": ["power", "mace", "siege", "pious"], + "tags": ["power", "mace", "siege", "pious", "savage"], "req_exp": 100, }, "Tome": { @@ -636,14 +636,14 @@ global.weapons = { "range": 1, "spli": 0, "arp": 0, - "tags": ["arcane"], + "tags": ["arcane", "savage"], }, "Crozius Arcanum": { "abbreviation": "Crzus", "attack": { - "standard": 220, + "standard": 200, "master_crafted": 250, - "artifact": 300 + "artifact": 325 }, "melee_mod": { "standard": 1, @@ -657,14 +657,14 @@ global.weapons = { "range": 1, "spli": 4, "arp": 1, - "tags": ["power", "mace", "pious"], + "tags": ["power", "mace", "pious", "savage", "boarding 2"], }, "Relic Blade": { "abbreviation": "RlcBld", "attack": { - "standard": 700, - "master_crafted": 850, - "artifact": 1000 + "standard": 850, + "master_crafted": 950, + "artifact": 1100 }, "melee_mod": { "standard": 1, @@ -679,23 +679,39 @@ global.weapons = { "spli": 8, "arp": 1, "special_properties": ["Parry"], - "tags": ["power", "sword"], + "tags": ["power", "sword", "martial"], }, "Bolt Pistol": { "abbreviation": "BltPstl", "attack": { - "standard": 30, - "master_crafted": 35, - "artifact": 40 + "standard": 100, + "master_crafted": 120, + "artifact": 150 }, "description": "A smaller, more compact version of the venerable Boltgun. This model is produced in the standard Godwyn pattern.", "melee_hands": 0, "ranged_hands": 1, "ammo": 18, "range": 3.1, - "spli": 1, + "spli": 3, + "arp": 0, + "tags": ["bolt", "pistol", "boarding 2"], + }, + "Wrist-Mounted Storm Bolter": { + "abbreviation": "WrstStBlt", + "attack": { + "standard": 200, + "master_crafted": 240, + "artifact": 300 + }, + "description": "A smaller, more compact version of the venerable Boltgun. This model is produced in the standard Godwyn pattern.", + "melee_hands": 0, + "ranged_hands": 1, + "ammo": 18, + "range": 3.1, + "spli": 6, "arp": 0, - "tags": ["bolt", "pistol"], + "tags": ["bolt", "pistol", "boarding 2"], }, "Webber": { "abbreviation": "Webbr", @@ -716,31 +732,47 @@ global.weapons = { "Grav-Pistol": { "abbreviation": "GrvPstl", "attack": { - "standard": 100, - "master_crafted": 110, - "artifact": 120 + "standard": 300, + "master_crafted": 350, + "artifact": 425 }, "description": "A smaller version of the Grav-Gun which utilises the gravitic reaction principle most commonly seen powering grav-vehicles such as the Land Speeder.", "melee_hands": 0, "ranged_hands": 1, "ammo": 4, - "range": 2.1, + "range": 3.1, "spli": 1, "arp": 1, "tags": ["grav", "pistol"] }, + "Integrated-Grav": { + "abbreviation": "IntMlt", + "attack": { + "standard": 400, + "master_crafted": 450, + "artifact": 500 + }, + "description": "", + "melee_hands": 1, + "ranged_hands": 2, + "ammo": 5, + "range": 2.1, + "spli": 1, + "arp": 1, + "tags": ["grav"] + }, "Grav-Gun": { "abbreviation": "GrvGn", "attack": { - "standard": 450, - "master_crafted": 475, - "artifact": 500 + "standard": 500, + "master_crafted": 550, + "artifact": 625 }, "description": "A medium-sized weapon which utilises the gravitic reaction principle most commonly seen powering grav-vehicles such as the Land Speeder.", "melee_hands": 1, "ranged_hands": 2, - "ammo": 4, - "range": 4, + "ammo": 6, + "range": 5, "spli": 3, "arp": 1, "tags": ["grav"] @@ -750,13 +782,13 @@ global.weapons = { "attack": { "standard": 800, "master_crafted": 850, - "artifact": 900 + "artifact": 960 }, "description": "A bigger version of the Grav-Gun which utilises the gravitic reaction principle most commonly seen powering grav-vehicles such as the Land Speeder.", "melee_hands": 1, "ranged_hands": 2, "ammo": 8, - "range": 8, + "range": 6, "spli": 6, "arp": 1, "tags": ["grav", "heavy_weapon"] @@ -764,9 +796,9 @@ global.weapons = { "Underslung Bolter": { "abbreviation": "UndBltr", "attack": { - "standard": 60, - "master_crafted": 70, - "artifact": 80 + "standard": 100, + "master_crafted": 125, + "artifact": 150 }, "description": "A compact, secondary Bolter weapon often attached under the barrel of a larger firearm. It allows for rapid fire in close quarters combat.", "melee_hands": 0, @@ -780,34 +812,34 @@ global.weapons = { "Stalker Pattern Bolter": { "abbreviation": "StlkBltr", "attack": { - "standard": 100, - "master_crafted": 110, - "artifact": 120 + "standard": 180, + "master_crafted": 200, + "artifact": 240 }, "description": "The Stalker Bolter is a scoped long-range variant of the standard Bolter. Depending on the specific modifications made by the wielder, the Stalker Bolter can serve as a precision battle rifle or a high-powered sniper weapon.", "melee_hands": 0, "ranged_hands": 2, "ammo": 20, - "range": 15, - "spli": 0, + "range": 16, + "spli": 3, "arp": 1, "tags": ["bolt", "precision"] }, "Bolter": { "abbreviation": "Bltr", "attack": { - "standard": 50, - "master_crafted": 55, - "artifact": 60 + "standard": 150, + "master_crafted": 175, + "artifact": 200 }, "description": "A standard Bolter, a two-handed firearm that launches rocket propelled projectiles that detonate after penetrating the target. It is a versatile and iconic weapon of Adeptus Astartes, their resounding detonations carry the Emperor's Wrath.", "melee_hands": 1, "ranged_hands": 2, "ammo": 16, - "range": 12, - "spli": 3, + "range": 10, + "spli": 5, "arp": 0, - "tags": ["bolt"] + "tags": ["bolt", "boarding 1"] }, "Heavy Flamer": { "abbreviation": "HvyFlmr", @@ -821,23 +853,23 @@ global.weapons = { "ranged_hands": 2.25, "ammo": 8, "range": 2, - "spli": 5, + "spli": 20, "arp": -1, - "tags": ["flame", "heavy_ranged"] + "tags": ["flame", "heavy_ranged", "boarding 3"] }, "CCW Heavy Flamer": { "abbreviation": "CCWHvyFlmr", "attack": { - "standard": 250, - "master_crafted": 275, - "artifact": 300 + "standard": 500, + "master_crafted": 550, + "artifact": 600 }, "description": "A powerful close combat weapon integrated with a flamer. Enemeies rarely expect a dreadnough claw to spew promethium.", "melee_hands": 1, "ranged_hands": 0, "ammo": 6, "range": 2.1, - "spli": 5, + "spli": 20, "arp": -1, "tags": ["dreadnought","heavy_ranged", "flame"] }, @@ -885,53 +917,69 @@ global.weapons = { "arp": -1, "tags": ["vehicle","heavy_ranged", "flame", "dreadnought"] }, + "Integrated-Melta": { + "abbreviation": "IntMlt", + "attack": { + "standard": 325, + "master_crafted": 375, + "artifact": 500 + }, + "description": "", + "melee_hands": 1, + "ranged_hands": 2, + "ammo": 5, + "range": 2.1, + "spli": 1, + "arp": 1, + "tags": ["melta"] + }, "Meltagun": { "abbreviation": "Mltgn", "attack": { - "standard": 450, + "standard": 400, "master_crafted": 475, "artifact": 500 }, "description": "A loud weapon that roars with fury, this gun vaporizes flesh and armor alike. Due to heat dissipation, it has only a short range.", "melee_hands": 1, "ranged_hands": 2, - "ammo": 4, + "ammo": 6, "range": 2.1, - "spli": 1, + "spli": 6, "arp": 1, - "tags": ["melta","boarding"] + "tags": ["melta","boarding 3"] }, "Multi-Melta": { "abbreviation": "MltMelt", "attack": { - "standard": 800, - "master_crafted": 850, - "artifact": 900 + "standard": 700, + "master_crafted": 800, + "artifact": 950 }, "description": "Though bearing longer range than the Meltagun, this weapon's great size usually restricts it to vehicles though those with Power Armor can carry this cumbersome weapon into battle.", "melee_hands": 1, "ranged_hands": 2.25, "ammo": 8, "range": 4.1, - "spli": 1, + "spli": 10, "arp": 1, - "tags": ["melta", "heavy_ranged", "dreadnought"] + "tags": ["melta", "heavy_ranged", "dreadnought", "boarding 1"] }, "Plasma Pistol": { "abbreviation": "PlsmPstl", "attack": { - "standard": 115, - "master_crafted": 130, - "artifact": 150 + "standard": 250, + "master_crafted": 290, + "artifact": 320 }, "description": "A pistol variant of the plasma gun, this dangerous-to-use weapon has exceptional armor-piercing capabilities.", "melee_hands": 0, "ranged_hands": 1, "ammo": 0, - "range": 3.1, - "spli": 1, + "range": 5.1, + "spli": 2, "arp": 1, - "tags": ["plasma", "energy", "pistol"] + "tags": ["plasma", "energy", "pistol", "boarding 1"] }, "Plasma Cutter": { // Basically a dual-linked plasma pistol "abbreviation": "PlsmCt", @@ -952,9 +1000,9 @@ global.weapons = { "Infernus Pistol": { "abbreviation": "InfPstl", "attack": { - "standard": 100, - "master_crafted": 110, - "artifact": 120 + "standard": 250, + "master_crafted": 280, + "artifact": 325 }, "description": "The Infernus Pistol is a compact pistol varient of the melta gun. A brutal blast of heat to burn away the The Emperor's foes.", "melee_hands": 0, @@ -963,62 +1011,78 @@ global.weapons = { "range": 2.1, "spli": 3, "arp": 1, - "tags": ["melta", "pistol"] + "tags": ["melta", "pistol", "boarding 2"] + }, + "Integrated-Plasma": { + "abbreviation": "IntPls", + "attack": { + "standard": 300, + "master_crafted": 375, + "artifact": 450 + }, + "description": "", + "melee_hands": 1, + "ranged_hands": 2, + "ammo": 6, + "range": 10, + "spli": 2, + "arp": 1, + "tags": ["plasma"] }, "Plasma Gun": { "abbreviation": "PlsmGn", "attack": { - "standard": 250, - "master_crafted": 275, - "artifact": 300 + "standard": 350, + "master_crafted": 400, + "artifact": 475 }, "description": "A two-handed weapon that launches blobs of plasma at the target. They are considered both sacred and dangerous, overheating through rapid firing of the weapon. Overheating can result in detonation of the weapon, killing the wielder.", "melee_hands": 0, "ranged_hands": 2, "ammo": 16, - "range": 12, + "range": 10, "spli": 3, "arp": 1, - "tags": ["plasma", "energy"] + "tags": ["plasma", "energy", "boarding 1"] }, "Plasma Cannon": { "abbreviation": "PlsmCan", "attack": { - "standard": 500, - "master_crafted": 600, - "artifact": 750 + "standard": 700, + "master_crafted": 800, + "artifact": 900 }, "description": "A heavy variant of the plasma gun, its power output is significantly higher and its damage capability shows. However, it maintains the overheating risk of the Plasma Gun", "melee_hands": 1, "ranged_hands": 3, "ammo": 16, - "range": 14, - "spli": 2, + "range": 10, + "spli": 8, "arp": 1, "tags": ["plasma","energy","heavy_ranged", "dreadnought"] }, "Sniper Rifle": { "abbreviation": "SnprRfl", "attack": { - "standard": 80, - "master_crafted": 88, - "artifact": 96 + "standard": 120, + "master_crafted": 150, + "artifact": 200 }, "description": "The Sniper Rifle fires a solid shell over long range and boasts powerful telescopic sights to assist, allowing the user to target enemy weak points and distant foes.", "melee_hands": 1, "ranged_hands": 2, "ammo": 20, - "range": 18, + "range": 14, "spli": 1, - "arp": 0, + "arp": 1, "tags": ["precision", "rifle"] }, "Assault Cannon": { "abbreviation": "AssCann", "attack": { - "standard": 240, - "master_crafted": 264, - "artifact": 288 + "standard": 400, + "master_crafted": 440, + "artifact": 500 }, "description": "A heavy rotary autocannon with a devastating fire rate that can be counted in the hundreds per minute. It is incredibly effective against infantry and light armored targets.", "melee_hands": 2.1, @@ -1032,33 +1096,33 @@ global.weapons = { "Autocannon": { "abbreviation": "Autocnn", "attack": { - "standard": 380, - "master_crafted": 400, - "artifact": 430 + "standard": 450, + "master_crafted": 500, + "artifact": 600 }, "description": "A rapid-firing weapon able to use a wide variety of ammunition, from mass-reactive explosive to solid shells. It has been found to be incredibly effective against large groups of targets and even Traitor Astartes to an extent.", "melee_hands": 0, "ranged_hands": 2.25, "ammo": 25, - "range": 18, - "spli": 15, + "range": 14, + "spli": 12, "arp": 1, "tags": ["heavy_ranged", "dreadnought"] }, "Missile Launcher": { "abbreviation": "MsslLnch", "attack": { - "standard": 250, - "master_crafted": 275, - "artifact": 300 + "standard": 300, + "master_crafted": 350, + "artifact": 425 }, - "description": "This shoulder mounted weapon is capable of firing either armor-piercing or fragmentation rockets. It's ammunition is limited by what the bearer has carried with them.", + "description": "This shoulder fired weapon is capable of firing either armor-piercing or fragmentation rockets. It's ammunition is limited by what the bearer has carried with them.", "melee_hands": 1, "ranged_hands": 2, "ammo": 6, - "range": 24, - "spli": 3, - "arp": 0, + "range": 15, + "spli": 10, + "arp": 1, "tags": ["heavy_ranged", "dreadnought"] }, "Lascannon": { @@ -1072,7 +1136,7 @@ global.weapons = { "melee_hands": 1, "ranged_hands": 2.25, "ammo": 8, - "range": 24, + "range": 20, "spli": 1, "arp": 1, "tags": ["heavy_ranged", "las", "energy"] @@ -1096,9 +1160,9 @@ global.weapons = { "Integrated Bolter": { "abbreviation": "IntgBltr", "attack": { - "standard": 50, - "master_crafted": 55, - "artifact": 60 + "standard": 150, + "master_crafted": 175, + "artifact": 200 }, "description": "A Bolter that can be built directly into the structure of the vehicle, armor, another weapon or Dreadnought. When used as a weapon, it leaves both hands free, allowing to use any, even a twohanded weapon, efficiently.", "melee_hands": 0, @@ -1144,16 +1208,16 @@ global.weapons = { "Heavy Bolter": { "abbreviation": "HvyBltr", "attack": { - "standard": 320, - "master_crafted": 352, - "artifact": 384 + "standard": 300, + "master_crafted": 350, + "artifact": 390 }, "description": "The Heavy Bolter is a heavy weapon that fires larger and more powerful bolt shells compared to the standard Bolter.", "melee_hands": 1, "ranged_hands": 2, "ammo": 10, - "range": 16, - "spli": 6, + "range": 14, + "spli": 12, "arp": 1, "tags": ["heavy_ranged", "bolt"] }, @@ -1454,34 +1518,34 @@ global.weapons = { "Storm Bolter": { "abbreviation": "StrmBltr", "attack": { - "standard": 80, - "master_crafted": 88, - "artifact": 96 + "standard": 275, + "master_crafted": 300, + "artifact": 350 }, "description": "Compact and double-barreled, this bolt weapon is inaccurate but grants an enormous amount of firepower. Its psychological effect on the enemy should not be understated.", - "melee_hands": 1.1, - "ranged_hands": 1.1, + "melee_hands": 1, + "ranged_hands": 2, "ammo": 10, - "range": 10, - "spli": 6, + "range": 8, + "spli": 8, "arp": 0, - "tags": ["bolt"] + "tags": ["bolt", "boarding 2"] }, "Hand Flamer": { "abbreviation": "HndFlmr", "attack": { - "standard": 125, - "master_crafted": 190, - "artifact": 210 + "standard": 250, + "master_crafted": 275, + "artifact": 350 }, "description": "Along with using a lower-capacity fuel tank it has much reduced range, which makes it suited for assault and close-combat purposes, incinerating foes at short range. The weapon is often used by assault squads.", "melee_hands": 0, "ranged_hands": 1, - "ammo": 2, - "range": 1.1, - "spli": 2, + "ammo": 3, + "range": 2.1, + "spli": 8, "arp": -1, - "tags": ["pistol", "flame"] + "tags": ["pistol", "flame", "boarding 2"] }, "Flamer": { "abbreviation": "Flmr", @@ -1498,24 +1562,24 @@ global.weapons = { "description": "Blackened at the tip, this weapon unleashes a torrent of burning promethium - all the better to cleanse sin and impurity with.", "melee_hands": 1, "ranged_hands": 2, - "ammo": 4, - "range": 2.1, - "spli": 4, + "ammo": 6, + "range": 4.1, + "spli": 14, "arp": -1, - "tags": ["flame"] + "tags": ["flame", "boarding 2"] }, - "Underslung Flamer": { + "Integrated-Flamer": { "attack": { - "standard": 200, - "master_crafted": 220, - "artifact": 240 + "standard": 300, + "master_crafted": 350, + "artifact": 425 }, "description": "", - "abbreviation": "UndrFlmr", + "abbreviation": "IntFlmr", "melee_hands": 0, "ranged_hands": 0, "ammo": 4, - "range": 2.1, + "range": 3.1, "spli": 3, "arp": -1, "tags": ["flame", "attached"] @@ -1523,92 +1587,92 @@ global.weapons = { "Combiflamer": { "abbreviation": "CmbFlmr", "attack": { - "standard": 100, - "master_crafted": 130, - "artifact": 160 + "standard": 150, + "master_crafted": 175, + "artifact": 200 }, "description": "A standard Bolter with an underbarrel Flamer for expanded tactical utility.", "melee_hands": 1, "ranged_hands": 2, "ammo": 15, "range": 10, - "spli": 3, + "spli": 5, "arp": 0, - "second_profiles": ["Flamer"], + "second_profiles": ["Integrated-Flamer"], "tags": ["combi", "bolt"] }, "Combiplasma": { "abbreviation": "CmbPlsm", "attack": { - "standard": 100, - "master_crafted": 130, - "artifact": 160 + "standard": 150, + "master_crafted": 175, + "artifact": 200 }, "description": "A standard Bolter with an underbarrel Plasma Gun for expanded tactical utility.", "melee_hands": 1, "ranged_hands": 2, - "ammo": 15, + "ammo": 8, "range": 10, - "spli": 3, + "spli": 5, "arp": 0, - "second_profiles": ["Plasma Gun"], + "second_profiles": ["Integrated-Plasma"], "tags": ["combi", "bolt"] }, "Combigrav": { "abbreviation": "CmbGrv", "attack": { - "standard": 100, - "master_crafted": 130, - "artifact": 160 + "standard": 150, + "master_crafted": 175, + "artifact": 200 }, "description": "A standard Bolter with an underbarrel Grav-Gun for expanded tactical utility.", "melee_hands": 1, "ranged_hands": 2, - "ammo": 15, + "ammo": 8, "range": 10, - "spli": 3, + "spli": 5, "arp": 0, - "second_profiles": ["Grav-Gun"], + "second_profiles": ["Integrated-Grav"], "tags": ["combi", "bolt"] }, "Combimelta": { "abbreviation": "CmbMlt", "attack": { - "standard": 100, - "master_crafted": 130, - "artifact": 160 + "standard": 150, + "master_crafted": 175, + "artifact": 200 }, "description": "A standard Bolter with an underbarrel Meltagun for expanded tactical utility.", "melee_hands": 1, "ranged_hands": 2, - "ammo": 15, + "ammo": 8, "range": 10, - "spli": 3, + "spli": 5, "arp": 0, - "second_profiles": ["Meltagun"], + "second_profiles": ["Integrated-Melta"], "tags": ["combi", "bolt"] }, "Incinerator": { "attack": { - "standard": 200, - "master_crafted": 220, - "artifact": 240 + "standard": 500, + "master_crafted": 550, + "artifact": 600 }, "description": "This flamer weapon utilizes psychically-charged promethium and blessed oils concoction to create an azure flame that bypasses psychich protections. It is particularly effective against Daemons and their ilk.", "abbreviation": "Incnrtr", "melee_hands": 1, "ranged_hands": 1, "ammo": 4, - "range": 2.1, - "spli": 3, + "range": 4.1, + "spli": 20, "arp": -1, - "tags": ["flame"] + "tags": ["flame","boarding 3"] }, "Force Staff": { "attack": { - "standard": 200, - "master_crafted": 230, - "artifact": 270 + "standard": 225, + "master_crafted": 270, + "artifact": 350 }, "melee_mod": { "standard": 1, @@ -1623,20 +1687,20 @@ global.weapons = { "spli": 5, "arp": 1, "special_description": "Spell Damage +100%", - "tags": ["force", ] + "tags": ["force", "savage"] }, "Force Sword": { - "abbreviation": "FrcSwrd", "attack": { - "standard": 180, - "master_crafted": 200, - "artifact": 240 + "standard": 225, + "master_crafted": 270, + "artifact": 350 }, "melee_mod": { "standard": 1, "master_crafted": 1.1, "artifact": 1.2 }, + "abbreviation": "FrcSwrd", "description": "The Force Sword is a psychically-attuned close combat weapon that is only fully effective in the hands of a psyker.", "melee_hands": 1, "ranged_hands": 0, @@ -1646,20 +1710,20 @@ global.weapons = { "arp": 1, "special_description": "Spell damage +25%", "special_properties": ["Parry"], - "tags": ["force", "sword"], + "tags": ["force", "sword", "martial", "boarding 1"], }, "Force Axe": { - "abbreviation": "FrcAxe", "attack": { - "standard": 190, - "master_crafted": 220, - "artifact": 260 + "standard": 200, + "master_crafted": 250, + "artifact": 350 }, "melee_mod": { "standard": 1, "master_crafted": 1.1, "artifact": 1.2 }, + "abbreviation": "FrcAxe", "description": "The Force Axe is a psychically-attuned close combat weapon that is only fully effective in the hands of a psyker.", "melee_hands": 1, "ranged_hands": 0, @@ -1668,7 +1732,7 @@ global.weapons = { "spli": 5, "arp": 1, "special_description": "Able to be dual-wielded, Spell damage +25%", - "tags": ["force", "axe", "dual"], + "tags": ["force", "axe", "dual", "savage", "boarding 2"], }, "Twin Linked Lascannon Turret": { "attack": { From 72bd4ce3a09d755a703f911b34191198069961c3 Mon Sep 17 00:00:00 2001 From: KR Da Mystic Date: Sun, 10 Nov 2024 16:22:05 +0900 Subject: [PATCH 2/8] Vehicle weapons --- scripts/scr_weapon/scr_weapon.gml | 218 +++++++++++++++--------------- 1 file changed, 109 insertions(+), 109 deletions(-) diff --git a/scripts/scr_weapon/scr_weapon.gml b/scripts/scr_weapon/scr_weapon.gml index 89ee2ecea8..3e34d69841 100644 --- a/scripts/scr_weapon/scr_weapon.gml +++ b/scripts/scr_weapon/scr_weapon.gml @@ -904,9 +904,9 @@ global.weapons = { "Inferno Cannon": { "abbreviation": "InfCann", "attack": { - "standard": 400, - "master_crafted": 440, - "artifact": 480 + "standard": 750, + "master_crafted": 875, + "artifact": 1000 }, "description": "A huge vehicle-mounted flame weapon that fires with explosive force. The reservoir is liable to explode.", "melee_hands": 0, @@ -1176,25 +1176,25 @@ global.weapons = { "Twin Linked Heavy Bolter": { "abbreviation": "TwnHvyBltr", "attack": { - "standard": 320, - "master_crafted": 352, - "artifact": 384 + "standard": 450, + "master_crafted": 500, + "artifact": 650 }, "description": "Twin-linked Heavy Bolters are an upgraded version of the standard Heavy Bolter weapon, which is known for its high rate of fire and effectiveness against infantry and light vehicles.", "melee_hands": 0, "ranged_hands": 0, "ammo": 20, "range": 16, - "spli": 9, - "arp": 1, + "spli": 28, + "arp": 0, "tags": ["bolt", "heavy_ranged", "vehicle", "dreadnought"] }, "Twin Linked Lascannon": { "abbreviation": "TwnLascnn", "attack": { - "standard": 600, - "master_crafted": 700, - "artifact": 900 + "standard": 800, + "master_crafted": 900, + "artifact": 1000 }, "description": "The Twin-Linked Lascannons is a powerful anti-armour weapons that fire highly focused and devastating duel energy beams capable of penetrating even the toughest armor.", "melee_hands": 0, @@ -1223,9 +1223,9 @@ global.weapons = { }, "Whirlwind Missiles": { "attack": { - "standard": 400, - "master_crafted": 440, - "artifact": 480 + "standard": 600, + "master_crafted": 650, + "artifact": 800 }, "description": "The Whirlwind Missile Launcher is a vehicle-mounted artillery weapon that launches a barrage of powerful missiles at the enemy.", "abbreviation": "WhrlMssl", @@ -1233,7 +1233,7 @@ global.weapons = { "ranged_hands": 0, "ammo": 6, "range": 20, - "spli": 25, + "spli": 40, "arp": 1, "tags": ["vehicle","heavy_ranged", "indirect"] }, @@ -1244,9 +1244,9 @@ global.weapons = { }, "Twin Linked Heavy Bolter Mount": { "attack": { - "standard": 240, - "master_crafted": 264, - "artifact": 288 + "standard": 450, + "master_crafted": 550, + "artifact": 700 }, "description": "The Twin-linked Heavy Bolters are an upgraded version of the standard Heavy Bolter weapon. They are mounted onto vehicles to create effective fire support platforms.", "abbreviation": "TwnHvyBltr", @@ -1254,15 +1254,15 @@ global.weapons = { "ranged_hands": 0, "ammo": 20, "range": 16, - "spli": 3, + "spli": 21, "arp": 1, "tags": ["vehicle", "dreadnought", "heavy_ranged", "bolt"] }, "Twin Linked Lascannon Mount": { "attack": { - "standard": 250, - "master_crafted": 275, - "artifact": 300 + "standard": 800, + "master_crafted": 900, + "artifact": 1000 }, "description": "The Twin-Lascannons are powerful anti-armour weapons that fire highly focused and devastating energy beams capable of penetrating even the toughest armour. This version is mounted onto vehicles to incease anti-armor capabilities.", "abbreviation": "TwnLascnn", @@ -1270,15 +1270,15 @@ global.weapons = { "ranged_hands": 0, "ammo": 10, "range": 20, - "spli": 3, + "spli": 2, "arp": 1, "tags": ["las", "energy", "vehicle", "heavy_ranged", "dreadnought"] }, "Twin Linked Assault Cannon Mount": { "attack": { - "standard": 240, - "master_crafted": 264, - "artifact": 288 + "standard": 800, + "master_crafted": 900, + "artifact": 1100 }, "description": "A twin mount of rotary autocannons, boasting an incredible rate of fire numbering in the hundreds of shots fired per second.", "abbreviation": "TwnAssCnn", @@ -1286,15 +1286,15 @@ global.weapons = { "ranged_hands": 0, "ammo": 6, "range": 12, - "spli": 30, + "spli": 40, "arp": 1, "tags": ["vehicle","heavy_ranged", "pintle", "dreadnought"] }, "Reaper Autocannon Mount": { "attack": { - "standard": 500, - "master_crafted": 550, - "artifact": 600 + "standard": 700, + "master_crafted": 850, + "artifact": 1000 }, "description": "An archaic twin-linked autocannon design dating back to the Great Crusade. The Reaper Autocannon is effective against infantry and armored targets. This version is mounted onto vehicles.", "abbreviation": "RprAtcnn", @@ -1302,15 +1302,15 @@ global.weapons = { "ranged_hands": 0, "ammo": 25, "range": 15, - "spli": 6, + "spli": 24, "arp": 1, "tags": ["vehicle","heavy_ranged", "pintle"] }, "Quad Linked Heavy Bolter Sponsons": { "attack": { - "standard": 320, - "master_crafted": 352, - "artifact": 384 + "standard": 800, + "master_crafted": 900, + "artifact": 1100 }, "description": "Quad-linked Heavy Bolters are a significantly upgraded version of the standard Heavy Bolter mount; already punishing in a single mount, this quad mount is devastating against a variety of targets.", "abbreviation": "QdHvyBltrs", @@ -1318,15 +1318,15 @@ global.weapons = { "ranged_hands": 0, "ammo": 15, "range": 16, - "spli": 5, - "arp": 1, + "spli": 50, + "arp": 0, "tags": ["bolt","heavy_ranged", "vehicle", "sponson"] }, "Twin Linked Lascannon Sponsons": { "attack": { - "standard": 600, - "master_crafted": 700, - "artifact": 900 + "standard": 800, + "master_crafted": 1000, + "artifact": 1200 }, "description": "The Twin-Linked Lascannons are powerful anti-armour weapons that fire highly focused and devastating energy beams capable of penetrating even the toughest armour. This version is mounted onto the sides of vehicles.", "abbreviation": "TwnLascnns", @@ -1334,15 +1334,15 @@ global.weapons = { "ranged_hands": 0, "ammo": 5, "range": 20, - "spli": 3, + "spli": 4, "arp": 1, "tags": ["las", "energy", "vehicle", "heavy_ranged", "sponson", "twin_linked"] }, "Lascannon Sponsons": { "attack": { - "standard": 500, - "master_crafted": 600, - "artifact": 750 + "standard": 700, + "master_crafted": 850, + "artifact": 1000 }, "description": "Lascannons are powerful anti-armour weapons that fire highly focused and devastating energy beams capable of penetrating even the toughest armour. This version is mounted onto the sides of vehicles.", "abbreviation": "Lscnns", @@ -1350,15 +1350,15 @@ global.weapons = { "ranged_hands": 0, "ammo": 8, "range": 20, - "spli": 1, + "spli": 2, "arp": 1, "tags": ["las", "energy","heavy_ranged", "vehicle", "sponson"] }, "Hurricane Bolter Sponsons": { "attack": { - "standard": 50, - "master_crafted": 55, - "artifact": 60 + "standard": 600, + "master_crafted": 700, + "artifact": 800 }, "description": "Hurricane Bolters are large hex-mount bolter arrays that are able to deliver a withering hail of anti-infantry fire at short ranges. This version is mounted onto the sides of vehicles.", "abbreviation": "HrcBltrs", @@ -1372,41 +1372,41 @@ global.weapons = { }, "Flamestorm Cannon Sponsons": { "attack": { - "standard": 600, - "master_crafted": 660, - "artifact": 720 + "standard": 750, + "master_crafted": 850, + "artifact": 900 }, "description": "A huge vehicle-mounted flamethrower cannon, the heat produced by this terrifying weapon can melt armoured ceramite.", "abbreviation": "FlmstCnns", "melee_hands": 0, "ranged_hands": 0, "ammo": 6, - "range": 2, - "spli": 3, + "range": 4.1, + "spli": 30, "arp": 1, "tags": ["flame","heavy_ranged", "vehicle", "sponson"] }, "Twin Linked Heavy Flamer Sponsons": { "attack": { - "standard": 500, - "master_crafted": 550, - "artifact": 600 + "standard": 600, + "master_crafted": 750, + "artifact": 900 }, "description": "A twin-linked significantly heavier flamer attached to the sponsons on a vehicle.", "abbreviation": "TwnHvyFlmrs", "melee_hands": 0, "ranged_hands": 0, "ammo": 8, - "range": 2.1, - "spli": 8, + "range": 4.1, + "spli": 40, "arp": -1, "tags": ["flame","heavy_ranged", "vehicle", "dreadnought", "sponson"] }, "Twin Linked Bolters": { "attack": { - "standard": 80, - "master_crafted": 140, - "artifact": 180 + "standard": 225, + "master_crafted": 350, + "artifact": 450 }, "description": "A Twin-linked Bolter consists of two Bolter weapons mounted side by side, typically on a vehicle or a dedicated weapons platform.", "abbreviation": "TwnBltrs", @@ -1414,56 +1414,56 @@ global.weapons = { "ranged_hands": 2, "ammo": 30, "range": 12, - "spli": 6, + "spli": 8, "arp": 0, "tags": ["bolt", "vehicle"] }, "Twin Linked Multi-Melta Sponsons": { "abbreviation": "TwnMltMelts", "attack": { - "standard": 800, - "master_crafted": 850, - "artifact": 900 + "standard": 1200, + "master_crafted": 1400, + "artifact": 1650 }, "description": "Though bearing longer range than the Meltagun, this weapon's great size usually restricts it to vehicles. In this case it is mounted to the sponsons on a vehicle.", "melee_hands": 0, "ranged_hands": 0, "ammo": 8, "range": 4.1, - "spli": 2, + "spli": 20, "arp": 1, "tags": ["vehicle","heavy_ranged", "Sponson", "melta"] }, "Twin Linked Volkite Culverin Sponsons": { "abbreviation": "TwnVlkCulvs", "attack": { - "standard": 480, - "master_crafted": 510, - "artifact": 540 + "standard": 950, + "master_crafted": 1150, + "artifact": 1300 }, "description": "An advanced thermal weapon from a bygone era, Volkite Culverins are able to ignite entire formations of enemy forces. In this case it is mounted to the sponsons on a vehicle.", "melee_hands": 0, "ranged_hands": 0, "ammo": 25, "range": 18, - "spli": 9, - "arp": 0, + "spli": 12, + "arp": 1, "tags": ["vehicle","heavy_ranged", "Sponson", "volkite", "ancient"] }, "Heavy Bolter Sponsons": { "abbreviation": "HvyBltrs", "attack": { - "standard": 240, - "master_crafted": 264, - "artifact": 288 + "standard": 450, + "master_crafted": 550, + "artifact": 750 }, "description": "Heavy Bolters are mounted in sponsons. They are known for high rates of fire and effectiveness against infantry and light vehicles.", "melee_hands": 0, "ranged_hands": 0, "ammo": 20, "range": 16, - "spli": 4, - "arp": 1, + "spli": 28, + "arp": 0, "tags": ["heavy_ranged", "vehicle", "sponson", "bolt"] }, "Heavy Flamer Sponsons": { @@ -1478,8 +1478,8 @@ global.weapons = { "melee_hands": 0, "ranged_hands": 0, "ammo": 8, - "range": 2.1, - "spli": 4, + "range": 4.1, + "spli": 40, "arp": -1, "tags": ["flame","heavy_ranged", "vehicle", "sponson"] }, @@ -1487,32 +1487,32 @@ global.weapons = { "abbreviation": "VlkClvs", "attack": { "standard": 480, - "master_crafted": 528, - "artifact": 576 + "master_crafted": 600, + "artifact": 750 }, "description": "An advanced thermal weapon from a bygone era, Volkite Culverins are able to ignite entire formations of enemy forces. In this case it is mounted to the sponsons on a vehicle.", "melee_hands": 0, "ranged_hands": 0, "ammo": 25, "range": 18, - "spli": 5, + "spli": 6, "arp": 1, "tags": ["vehicle","heavy_ranged", "Sponson", "volkite", "ancient"] }, "Autocannon Turret": { "abbreviation": "Autocnn", "attack": { - "standard": 380, - "master_crafted": 528, - "artifact": 576 + "standard": 600, + "master_crafted": 700, + "artifact": 850 }, "description": "A Predator-compatible turret mounting a reliable all-purpose autocannon capable of doing effective damage to infantry and lightly armored targets.", "melee_hands": 0, "ranged_hands": 0, - "ammo": 25, + "ammo": 18, "range": 18, "spli": 15, - "arp": 0, + "arp": 1, "tags": ["vehicle","heavy_ranged", "turret"] }, "Storm Bolter": { @@ -1736,48 +1736,48 @@ global.weapons = { }, "Twin Linked Lascannon Turret": { "attack": { - "standard": 600, - "master_crafted": 700, - "artifact": 900 + "standard": 1000, + "master_crafted": 1100, + "artifact": 1300 }, "abbreviation": "TwnLscnn", "description": "A Predator-compatible turret mounting a twin-linked lascannon.", "arp": 1, "range": 24, "ammo": 5, - "spli": 2, + "spli": 1, "tags": ["las", "energy", "twin_linked","heavy_ranged", "vehicle", "turret"] }, "Twin Linked Assault Cannon Turret": { "abbreviation": "TwnAssCnn", "attack": { - "standard": 240, - "master_crafted": 264, - "artifact": 288 + "standard": 800, + "master_crafted": 900, + "artifact": 1100 }, "description": "A heavy rotary autocannon with a devastating fire rate that can be counted in the hundreds per minute, in a twin mount. It is incredibly effective against infantry and lightly armored targets.", "melee_hands": 2.1, "ranged_hands": 2.25, "ammo": 5, "range": 12, - "spli": 30, - "arp": 1, + "spli": 40, + "arp": 0, "tags": ["heavy_ranged", "twin_linked", "vehicle", "turret"] }, "Flamestorm Cannon Turret": { "abbreviation": "FlmstCnn", "attack": { - "standard": 600, - "master_crafted": 660, - "artifact": 720 + "standard": 700, + "master_crafted": 850, + "artifact": 900 }, "description": "A huge vehicle-mounted flamethrower cannon, the heat produced by this terrifying weapon can melt armoured ceramite.", "melee_hands": 0, "ranged_hands": 0, "ammo": 12, - "range": 2, - "spli": 3, - "arp": 1, + "range": 4.1, + "spli": 25, + "arp": -1, "tags": ["flame","heavy_ranged", "vehicle", "turret"] }, "Magna-Melta Turret": { @@ -1791,24 +1791,24 @@ global.weapons = { "melee_hands": 0, "ranged_hands": 0, "ammo": 6, - "range": 5.1, - "spli": 2, + "range": 4.1, + "spli": 20, "arp": 1, "tags": ["vehicle","heavy_ranged", "turret", "melta"] }, "Plasma Destroyer Turret": { "abbreviation": "PlsmDestr", "attack": { - "standard": 500, - "master_crafted": 600, - "artifact": 750 + "standard": 800, + "master_crafted": 900, + "artifact": 1000 }, "description": "A heavy variant of the plasma gun, its power output is significantly higher and its damage capability shows. However, it is mounted in a tank turret.", "melee_hands": 1, "ranged_hands": 3, "ammo": 16, "range": 14, - "spli": 3, + "spli": 12, "arp": 1, "tags": ["plasma", "energy","heavy_ranged", "vehicle", "turret"] }, @@ -1847,9 +1847,9 @@ global.weapons = { "Volkite Saker Turret": { "abbreviation": "VlkSkr", "attack": { - "standard": 300, - "master_crafted": 333, - "artifact": 375 + "standard": 1000, + "master_crafted": 1150, + "artifact": 1400 }, "description": "An advanced thermal weapon from a bygone era, Volkite sakers are optimized for spreading damage across swaths of enemy troops.", "melee_hands": 0, From bf37f580d8f29647c6c6c3facfe11ae5bc2f9387 Mon Sep 17 00:00:00 2001 From: KR Da Mystic Date: Sat, 30 Nov 2024 04:28:06 +0900 Subject: [PATCH 3/8] changes --- scripts/scr_weapon/scr_weapon.gml | 84 +++++++++++++++---------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/scripts/scr_weapon/scr_weapon.gml b/scripts/scr_weapon/scr_weapon.gml index 3e34d69841..7463e5f232 100644 --- a/scripts/scr_weapon/scr_weapon.gml +++ b/scripts/scr_weapon/scr_weapon.gml @@ -133,7 +133,7 @@ global.weapons = { "melee_hands": 0, "ranged_hands": 0.5, "ammo": 30, - "range": 3.1, + "range": 4.1, "spli": 0, "arp": 0, "tags": ["pistol", "ancient", "las", "energy"], @@ -149,7 +149,7 @@ global.weapons = { "melee_hands": 0, "ranged_hands": 0.25, "ammo": 30, - "range": 3.1, + "range": 4.1, "spli": 0, "arp": 0, "tags": ["pistol", "las", "energy"], @@ -289,9 +289,9 @@ global.weapons = { "Power Spear": { "abbreviation": "PwrSpear", "attack": { - "standard": 225, - "master_crafted": 260, - "artifact": 300 + "standard": 300, + "master_crafted": 375, + "artifact": 450 }, "melee_mod": { "standard": 1, @@ -692,13 +692,13 @@ global.weapons = { "melee_hands": 0, "ranged_hands": 1, "ammo": 18, - "range": 3.1, + "range": 4.1, "spli": 3, "arp": 0, "tags": ["bolt", "pistol", "boarding 2"], }, "Wrist-Mounted Storm Bolter": { - "abbreviation": "WrstStBlt", + "abbreviation": "WrstBlt", "attack": { "standard": 200, "master_crafted": 240, @@ -708,7 +708,7 @@ global.weapons = { "melee_hands": 0, "ranged_hands": 1, "ammo": 18, - "range": 3.1, + "range": 4.1, "spli": 6, "arp": 0, "tags": ["bolt", "pistol", "boarding 2"], @@ -740,7 +740,7 @@ global.weapons = { "melee_hands": 0, "ranged_hands": 1, "ammo": 4, - "range": 3.1, + "range": 4.1, "spli": 1, "arp": 1, "tags": ["grav", "pistol"] @@ -748,15 +748,15 @@ global.weapons = { "Integrated-Grav": { "abbreviation": "IntMlt", "attack": { - "standard": 400, - "master_crafted": 450, - "artifact": 500 + "standard": 500, + "master_crafted": 550, + "artifact": 625 }, "description": "", - "melee_hands": 1, - "ranged_hands": 2, - "ammo": 5, - "range": 2.1, + "melee_hands": 0, + "ranged_hands": 0, + "ammo": 3, + "range": 5.1, "spli": 1, "arp": 1, "tags": ["grav"] @@ -912,7 +912,7 @@ global.weapons = { "melee_hands": 0, "ranged_hands": 3, "ammo": 0, - "range": 3.1, + "range": 4.1, "spli": 20, "arp": -1, "tags": ["vehicle","heavy_ranged", "flame", "dreadnought"] @@ -920,13 +920,13 @@ global.weapons = { "Integrated-Melta": { "abbreviation": "IntMlt", "attack": { - "standard": 325, - "master_crafted": 375, - "artifact": 500 + "standard": 400, + "master_crafted": 475, + "artifact": 600 }, "description": "", - "melee_hands": 1, - "ranged_hands": 2, + "melee_hands": 0, + "ranged_hands": 0, "ammo": 5, "range": 2.1, "spli": 1, @@ -938,7 +938,7 @@ global.weapons = { "attack": { "standard": 400, "master_crafted": 475, - "artifact": 500 + "artifact": 600 }, "description": "A loud weapon that roars with fury, this gun vaporizes flesh and armor alike. Due to heat dissipation, it has only a short range.", "melee_hands": 1, @@ -992,7 +992,7 @@ global.weapons = { "melee_hands": 0, "ranged_hands": 0, "ammo": 0, - "range": 3.1, + "range": 4.1, "spli": 1, "arp": 1, "tags": ["plasma", "energy", "pistol"] @@ -1016,13 +1016,13 @@ global.weapons = { "Integrated-Plasma": { "abbreviation": "IntPls", "attack": { - "standard": 300, - "master_crafted": 375, - "artifact": 450 + "standard": 350, + "master_crafted": 400, + "artifact": 475 }, "description": "", - "melee_hands": 1, - "ranged_hands": 2, + "melee_hands": 0, + "ranged_hands": 0, "ammo": 6, "range": 10, "spli": 2, @@ -1122,7 +1122,7 @@ global.weapons = { "ammo": 6, "range": 15, "spli": 10, - "arp": 1, + "arp": 0, "tags": ["heavy_ranged", "dreadnought"] }, "Lascannon": { @@ -1157,7 +1157,7 @@ global.weapons = { "arp": 1, "tags": ["heavy_ranged", "ancient"] }, - "Integrated Bolter": { + "Integrated-Bolter": { "abbreviation": "IntgBltr", "attack": { "standard": 150, @@ -1167,7 +1167,7 @@ global.weapons = { "description": "A Bolter that can be built directly into the structure of the vehicle, armor, another weapon or Dreadnought. When used as a weapon, it leaves both hands free, allowing to use any, even a twohanded weapon, efficiently.", "melee_hands": 0, "ranged_hands": 0, - "ammo": 20, + "ammo": 8, "range": 12, "spli": 4, "arp": 0, @@ -1413,8 +1413,8 @@ global.weapons = { "melee_hands": 1, "ranged_hands": 2, "ammo": 30, - "range": 12, - "spli": 8, + "range": 10, + "spli": 10, "arp": 0, "tags": ["bolt", "vehicle"] }, @@ -1461,7 +1461,7 @@ global.weapons = { "melee_hands": 0, "ranged_hands": 0, "ammo": 20, - "range": 16, + "range": 14, "spli": 28, "arp": 0, "tags": ["heavy_ranged", "vehicle", "sponson", "bolt"] @@ -1541,7 +1541,7 @@ global.weapons = { "description": "Along with using a lower-capacity fuel tank it has much reduced range, which makes it suited for assault and close-combat purposes, incinerating foes at short range. The weapon is often used by assault squads.", "melee_hands": 0, "ranged_hands": 1, - "ammo": 3, + "ammo": 4, "range": 2.1, "spli": 8, "arp": -1, @@ -1562,7 +1562,7 @@ global.weapons = { "description": "Blackened at the tip, this weapon unleashes a torrent of burning promethium - all the better to cleanse sin and impurity with.", "melee_hands": 1, "ranged_hands": 2, - "ammo": 6, + "ammo": 8, "range": 4.1, "spli": 14, "arp": -1, @@ -1570,16 +1570,16 @@ global.weapons = { }, "Integrated-Flamer": { "attack": { - "standard": 300, - "master_crafted": 350, - "artifact": 425 + "standard": 350, + "master_crafted": 385, + "artifact": 420 }, "description": "", "abbreviation": "IntFlmr", "melee_hands": 0, "ranged_hands": 0, "ammo": 4, - "range": 3.1, + "range": 4.1, "spli": 3, "arp": -1, "tags": ["flame", "attached"] @@ -1857,7 +1857,7 @@ global.weapons = { "ammo": 25, "range": 18, "spli": 30, - "arp": 0, + "arp": 1, "tags": ["vehicle","heavy_ranged", "turret", "volkite", "ancient"] }, } From 4845d99e05f240973fc05cd6a2e3adc8288c3e4f Mon Sep 17 00:00:00 2001 From: EttyKitty <20323032+EttyKitty@users.noreply.github.com> Date: Mon, 2 Dec 2024 02:52:35 +0300 Subject: [PATCH 4/8] Apply suggestions from code review --- scripts/scr_weapon/scr_weapon.gml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/scr_weapon/scr_weapon.gml b/scripts/scr_weapon/scr_weapon.gml index 7463e5f232..d74d0977a1 100644 --- a/scripts/scr_weapon/scr_weapon.gml +++ b/scripts/scr_weapon/scr_weapon.gml @@ -697,7 +697,7 @@ global.weapons = { "arp": 0, "tags": ["bolt", "pistol", "boarding 2"], }, - "Wrist-Mounted Storm Bolter": { + "Wrist-Mounted Storm Bolter": { // TODO: Not used outside of this file atm; "abbreviation": "WrstBlt", "attack": { "standard": 200, @@ -746,7 +746,7 @@ global.weapons = { "tags": ["grav", "pistol"] }, "Integrated-Grav": { - "abbreviation": "IntMlt", + "abbreviation": "IntGrv", "attack": { "standard": 500, "master_crafted": 550, @@ -1383,7 +1383,7 @@ global.weapons = { "ammo": 6, "range": 4.1, "spli": 30, - "arp": 1, + "arp": -1, "tags": ["flame","heavy_ranged", "vehicle", "sponson"] }, "Twin Linked Heavy Flamer Sponsons": { @@ -1761,7 +1761,7 @@ global.weapons = { "ammo": 5, "range": 12, "spli": 40, - "arp": 0, + "arp": 1, "tags": ["heavy_ranged", "twin_linked", "vehicle", "turret"] }, "Flamestorm Cannon Turret": { From 0a34029cf14136af3c338253344ce1c7e5a3724d Mon Sep 17 00:00:00 2001 From: EttyKitty <20323032+EttyKitty@users.noreply.github.com> Date: Mon, 2 Dec 2024 02:57:09 +0300 Subject: [PATCH 5/8] AP to 0 on the leftover heavy bolters --- scripts/scr_weapon/scr_weapon.gml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/scr_weapon/scr_weapon.gml b/scripts/scr_weapon/scr_weapon.gml index d74d0977a1..38b118960f 100644 --- a/scripts/scr_weapon/scr_weapon.gml +++ b/scripts/scr_weapon/scr_weapon.gml @@ -1218,7 +1218,7 @@ global.weapons = { "ammo": 10, "range": 14, "spli": 12, - "arp": 1, + "arp": 0, "tags": ["heavy_ranged", "bolt"] }, "Whirlwind Missiles": { @@ -1255,7 +1255,7 @@ global.weapons = { "ammo": 20, "range": 16, "spli": 21, - "arp": 1, + "arp": 0, "tags": ["vehicle", "dreadnought", "heavy_ranged", "bolt"] }, "Twin Linked Lascannon Mount": { From ddb6b1adfe13d4df691620275fdcccb2e82c016d Mon Sep 17 00:00:00 2001 From: Da Fist <144086663+KRdaMystic@users.noreply.github.com> Date: Tue, 24 Dec 2024 11:23:45 +0900 Subject: [PATCH 6/8] feat: Boarding tags (#232) Adds functionality to boarding 1-3 tagged weapons. --- objects/obj_p_assra/Step_0.gml | 173 +++++++++++++++--------------- scripts/scr_weapon/scr_weapon.gml | 6 +- 2 files changed, 87 insertions(+), 92 deletions(-) diff --git a/objects/obj_p_assra/Step_0.gml b/objects/obj_p_assra/Step_0.gml index f5c2a12894..7ed50f72c3 100644 --- a/objects/obj_p_assra/Step_0.gml +++ b/objects/obj_p_assra/Step_0.gml @@ -67,8 +67,8 @@ if (boarding=true) and (board_cooldown>=0) and (instance_exists(target)) and (in board_cooldown-=1; if (board_cooldown=0){board_cooldown=60; - var o,challenge,difficulty,roll1,roll2,attack,arp,wep,ac,dr,co,i,hits,hurt,damaged_ship; - o=firstest-1;difficulty=50;challenge=0;roll1=0;roll2=0;attack=0;arp=0;wep="";hits=0;hurt=0;damaged_ship=0; + var o,challenge,boarding_odds,boarding_difficulty,boarding_advantage,boarding_disadvantage,gear_bonus,marine_bonus,outcome_roll,damage_roll,attack,arp,wep,ac,dr,co,i,hits,hurt,damaged_ship,bridge_damage; + o=firstest-1;boarding_odds=0;challenge=0;outcome_roll=0;damage_roll=0;attack=0;arp=0;wep="";hits=0;hurt=0;damaged_ship=0,bridge_damage=1; co=0;i=0;ac=0;dr=1; repeat(boarders){ @@ -80,38 +80,60 @@ if (boarding=true) and (board_cooldown>=0) and (instance_exists(target)) and (in co=origin.board_co[o]; i=origin.board_id[o]; - difficulty=50; ac=0; dr=1; unit=fetch_unit([co,i]); + gear_bonus=0; + marine_bonus=0; + boarding_odds=50; + boarding_advantage=0; + boarding_disadvantage=0; if (unit.hp()>0){ // Bonuses - difficulty+=unit.experience/20; - difficulty+=(1-(target.hp/target.maxhp))*33; - //TODO define tag for bording weapons - if (array_contains(["Chainfist","Meltagun","Lascutter","Boarding Shield"], unit.weapon_one())) then difficulty+=3; - if (array_contains(["Chainfist","Meltagun","Lascutter","Boarding Shield"], unit.weapon_two())) then difficulty+=3; + marine_bonus+=unit.experience/20; + marine_bonus+=(1-(target.hp/target.maxhp))*33; // if wounded marine will perform worse - if (scr_has_adv("Boarders")) then difficulty+=7; - if (scr_has_adv("Assault Doctrine")) then difficulty+=3; - if (scr_has_adv("Lightning Warriors")) then difficulty+=3; + var _weapons = [gear_weapon_data("weapon", unit.weapon_one()), gear_weapon_data("weapon", unit.weapon_two())]; + if (_weapons[0] == "" && _weapons[1] == "") { + gear_bonus -= 10; + } else { + for (var i = 0; i <= 1; i++) { + var _weapon = _weapons[i]; + if (!is_struct(_weapon)) then break + + if (_weapon.has_tag("boarding 1")) { + gear_bonus += 2; + bridge_damage = max(bridge_damage, 3); + } else if (_weapon.has_tag("boarding 2")) { + gear_bonus += 4; + bridge_damage = max(bridge_damage, 5); + } else if (_weapon.has_tag("boarding 3")) { + gear_bonus += 6; + bridge_damage = max(bridge_damage, 7); + } + } + } + if (scr_has_adv("Boarders")) then marine_bonus+=7; + if (scr_has_adv("Assault Doctrine")) then marine_bonus+=3; + if (scr_has_adv("Lightning Warriors")) then marine_bonus+=3; + + boarding_advantage+=(gear_bonus+marine_bonus) // Penalties - if (unit.weapon_one()=="")then difficulty-=10; - if (unit.weapon_two()=="")then difficulty-=10; if (unit.base_group == "astartes"){ - if (unit.gene_seed_mutations.occulobe==1) then difficulty-=5; + if (unit.gene_seed_mutations.occulobe==1) then boarding_disadvantage-=5; } - if (target.owner = eFACTION.Imperium) or ((target.owner = eFACTION.Chaos) and (obj_fleet.csm_exp=0)) then difficulty-=0;// Cultists/Pirates/Humans - if (target.owner = eFACTION.Player) or (target.owner = eFACTION.Ecclesiarchy) or (target.owner = eFACTION.Ork) or (target.owner = eFACTION.Eldar) or (target.owner = eFACTION.Necrons) then difficulty-=10; - if (target.owner = eFACTION.Chaos) and (obj_fleet.csm_exp=1) then difficulty-=20;// Veteran marines - if ((target.owner = eFACTION.Chaos) and (obj_fleet.csm_exp=2)) or (target.owner = eFACTION.Tyranids) then difficulty-=30;// Daemons, veteran CSM, tyranids - - roll1=floor(random(100))+1; + if (target.owner = eFACTION.Imperium) or ((target.owner = eFACTION.Chaos) and (obj_fleet.csm_exp=0)) then boarding_disadvantage-=0;// Cultists/Pirates/Humans + if (target.owner = eFACTION.Player) or (target.owner = eFACTION.Ecclesiarchy) or (target.owner = eFACTION.Ork) or (target.owner = eFACTION.Eldar) or (target.owner = eFACTION.Necrons) then boarding_disadvantage-=10; + if (target.owner = eFACTION.Chaos) and (obj_fleet.csm_exp=1) then boarding_disadvantage-=20;// Veteran marines + if ((target.owner = eFACTION.Chaos) and (obj_fleet.csm_exp=2)) or (target.owner = eFACTION.Tyranids) then boarding_disadvantage-=30;// Daemons, veteran CSM, tyranids + + boarding_odds+=boarding_advantage+boarding_disadvantage; + outcome_roll=floor(random(100))+1; - if (roll1<=difficulty){// Success + if (outcome_roll<=boarding_odds){// Success if (damage=true) and (steal=false){// Damaging var to_bomb;to_bomb=false; if (plasma_bomb=true) and (obj_ini.gear[co][i]="Plasma Bomb") then to_bomb=true; @@ -125,39 +147,12 @@ if (boarding=true) and (board_cooldown>=0) and (instance_exists(target)) and (in obj_ini.gear[co][i]=""; } } + if (steal=true) and (damage=false){// Stealing - var bridge_damage=0; damaged_ship=max(1,damaged_ship); - - var we,whi,we1,we2;we=""; - we1=unit.weapon_one(); - we2=unit.weapon_two(); - whi=0; - - bridge_damage=3; - //TODO tagging system to slove this - we="Heavy Thunder Hammer"; - if (we1=we) or (we2=we) then bridge_damage=max(bridge_damage,8); - we="Eviscerator"; - if (we1=we) or (we2=we) then bridge_damage=max(bridge_damage,7); - we="Chainfist"; - if (we1=we) or (we2=we) then bridge_damage=max(bridge_damage,7); - we="Lascutter"; - if (we1=we) or (we2=we) then bridge_damage=max(bridge_damage,7); - we="Meltagun"; - if (we1=we) or (we2=we) then bridge_damage=max(bridge_damage,7); - we="Power Fist"; - if (we1=we) or (we2=we) then bridge_damage=max(bridge_damage,6); - we="Thunder Hammer"; - if (we1=we) or (we2=we) then bridge_damage=max(bridge_damage,6); - we="Plasma Gun"; - if (we1=we) or (we2=we) then bridge_damage=max(bridge_damage,5); - we="Relic Blade"; - if (we1=we) or (we2=we) then bridge_damage=max(bridge_damage,4); - if (string_pos("&",string(obj_ini.wep1[co][i])+string(obj_ini.wep2[co][i]))>0) then bridge_damage=9; - target.bridge-=bridge_damage; } + if ((target.hp<=0) or (target.bridge<=0)){ var husk=instance_create(target.x,target.y,obj_en_husk); @@ -197,67 +192,67 @@ if (boarding=true) and (board_cooldown>=0) and (instance_exists(target)) and (in } - if (roll1>difficulty){// FAILURE + if (outcome_roll>boarding_odds){// FAILURE ac=unit.armour_calc() dr = unit.damage_resistance()/100 - roll2=floor(random(100))+1; + damage_roll=floor(random(100))+1; //TODO streamline enemy weapons if (target.owner = eFACTION.Imperium) or (target.owner = eFACTION.Chaos) or (target.owner = eFACTION.Ecclesiarchy){ // Make worse for CSM wep="Lasgun"; hits=1; - if (roll2<=90) then hits=2; - if (roll2<=75) then hits=3; - if (roll2<=50){wep="Bolt Pistol";hits=1;} - if (roll2<=40){wep="Bolter";hits=1;} - if (roll2<=30){wep="Bolter";hits=2;} - if (roll2<=20){wep="Heavy Bolter";hits=1;} - if (roll2<=10){wep="Plasma Pistol";hits=1;} - if (roll2<=5){wep="Meltagun";hits=1;} + if (damage_roll<=90) then hits=2; + if (damage_roll<=75) then hits=3; + if (damage_roll<=50){wep="Bolt Pistol";hits=1;} + if (damage_roll<=40){wep="Bolter";hits=1;} + if (damage_roll<=30){wep="Bolter";hits=2;} + if (damage_roll<=20){wep="Heavy Bolter";hits=1;} + if (damage_roll<=10){wep="Plasma Pistol";hits=1;} + if (damage_roll<=5){wep="Meltagun";hits=1;} } if (target.owner = eFACTION.Eldar){ wep="Shuriken Pistol";hits=1; - if (roll2<=90) then hits=2; - if (roll2<=75) then hits=3; - if (roll2<=60){wep="Shuriken Catapult";hits=2;} - if (roll2<=50){wep="Shuriken Catapult";hits=3;} - if (roll2<=40){wep="Shuriken Catapult";hits=4;} - if (roll2<=30){wep="Wraith Cannon";hits=1;} - if (roll2<=20){wep="Singing Spear";hits=1;} - if (roll2<=10){wep="Meltagun";hits=1;} + if (damage_roll<=90) then hits=2; + if (damage_roll<=75) then hits=3; + if (damage_roll<=60){wep="Shuriken Catapult";hits=2;} + if (damage_roll<=50){wep="Shuriken Catapult";hits=3;} + if (damage_roll<=40){wep="Shuriken Catapult";hits=4;} + if (damage_roll<=30){wep="Wraith Cannon";hits=1;} + if (damage_roll<=20){wep="Singing Spear";hits=1;} + if (damage_roll<=10){wep="Meltagun";hits=1;} } if (target.owner = eFACTION.Ork){ wep="Shoota";hits=1; - if (roll2<=90) then hits=2; - if (roll2<=75) then hits=3; - if (roll2<=60) then hits=4; - if (roll2<=50){wep="Dakkagun";hits=1;} - if (roll2<=40){wep="Big Shoota";hits=1;} - if (roll2<=30){wep="Big Shoota";hits=2;} - if (roll2<=15){wep="Rokkit";hits=1;} + if (damage_roll<=90) then hits=2; + if (damage_roll<=75) then hits=3; + if (damage_roll<=60) then hits=4; + if (damage_roll<=50){wep="Dakkagun";hits=1;} + if (damage_roll<=40){wep="Big Shoota";hits=1;} + if (damage_roll<=30){wep="Big Shoota";hits=2;} + if (damage_roll<=15){wep="Rokkit";hits=1;} } if (target.owner = eFACTION.Tau){ wep="Pulse Rifle";hits=1; - if (roll2<=80) then hits=2; - if (roll2<=65) then hits=3; - if (roll2<=50) then hits=4; - if (roll2<=40){wep="Missile Pod";hits=1;} - if (roll2<=30){wep="Burst Rifle";hits=1;} - if (roll2<=15){wep="Meltagun";hits=1;} + if (damage_roll<=80) then hits=2; + if (damage_roll<=65) then hits=3; + if (damage_roll<=50) then hits=4; + if (damage_roll<=40){wep="Missile Pod";hits=1;} + if (damage_roll<=30){wep="Burst Rifle";hits=1;} + if (damage_roll<=15){wep="Meltagun";hits=1;} } if (target.owner = eFACTION.Tyranids){ wep="Flesh Hooks";hits=1; - if (roll2<=90) then hits=2; - if (roll2<=75) then hits=3; - if (roll2<=60){wep="Devourer";hits=2;} - if (roll2<=50){wep="Devourer";hits=3;} - if (roll2<=40){wep="Devourer";hits=4;} - if (roll2<=30){wep="Venom Cannon";hits=1;} - if (roll2<=20){wep="Lictor Claws";hits=1;} - if (roll2<=10){wep="Zoanthrope Blast";hits=1;} + if (damage_roll<=90) then hits=2; + if (damage_roll<=75) then hits=3; + if (damage_roll<=60){wep="Devourer";hits=2;} + if (damage_roll<=50){wep="Devourer";hits=3;} + if (damage_roll<=40){wep="Devourer";hits=4;} + if (damage_roll<=30){wep="Venom Cannon";hits=1;} + if (damage_roll<=20){wep="Lictor Claws";hits=1;} + if (damage_roll<=10){wep="Zoanthrope Blast";hits=1;} } if (wep="Lasgun"){attack=25;arp=0;} diff --git a/scripts/scr_weapon/scr_weapon.gml b/scripts/scr_weapon/scr_weapon.gml index 38b118960f..5f6e8b6bc0 100644 --- a/scripts/scr_weapon/scr_weapon.gml +++ b/scripts/scr_weapon/scr_weapon.gml @@ -695,7 +695,7 @@ global.weapons = { "range": 4.1, "spli": 3, "arp": 0, - "tags": ["bolt", "pistol", "boarding 2"], + "tags": ["bolt", "pistol", "boarding 1"], }, "Wrist-Mounted Storm Bolter": { // TODO: Not used outside of this file atm; "abbreviation": "WrstBlt", @@ -1599,7 +1599,7 @@ global.weapons = { "spli": 5, "arp": 0, "second_profiles": ["Integrated-Flamer"], - "tags": ["combi", "bolt"] + "tags": ["combi", "bolt", "boarding 2"] }, "Combiplasma": { "abbreviation": "CmbPlsm", @@ -1650,7 +1650,7 @@ global.weapons = { "spli": 5, "arp": 0, "second_profiles": ["Integrated-Melta"], - "tags": ["combi", "bolt"] + "tags": ["combi", "bolt", "boarding 3"] }, "Incinerator": { "attack": { From d2760a932911c726dec2953dfc6da4b039b6f7f3 Mon Sep 17 00:00:00 2001 From: Da Fist <144086663+KRdaMystic@users.noreply.github.com> Date: Wed, 25 Dec 2024 04:08:50 +0900 Subject: [PATCH 7/8] chore: Adjustments to weapon balance (#219) Adjusts tags on some weapons and AP values on assault cannon --- scripts/scr_weapon/scr_weapon.gml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/scr_weapon/scr_weapon.gml b/scripts/scr_weapon/scr_weapon.gml index 5f6e8b6bc0..820fe80648 100644 --- a/scripts/scr_weapon/scr_weapon.gml +++ b/scripts/scr_weapon/scr_weapon.gml @@ -569,7 +569,7 @@ global.weapons = { "range": 1, "spli": 8, "arp": 1, - "tags": ["heavy_melee", "power", "hammer", "siege", "martial"], + "tags": ["heavy_melee", "power", "hammer", "siege", "savage"], "req_exp": 100, }, "Power Mace": { @@ -1090,7 +1090,7 @@ global.weapons = { "ammo": 5, "range": 12, "spli": 20, - "arp": 1, + "arp": 0, "tags": ["heavy_ranged", "dreadnought"] }, "Autocannon": { @@ -1287,7 +1287,7 @@ global.weapons = { "ammo": 6, "range": 12, "spli": 40, - "arp": 1, + "arp": 0, "tags": ["vehicle","heavy_ranged", "pintle", "dreadnought"] }, "Reaper Autocannon Mount": { @@ -1687,7 +1687,7 @@ global.weapons = { "spli": 5, "arp": 1, "special_description": "Spell Damage +100%", - "tags": ["force", "savage"] + "tags": ["force"] }, "Force Sword": { "attack": { @@ -1761,7 +1761,7 @@ global.weapons = { "ammo": 5, "range": 12, "spli": 40, - "arp": 1, + "arp": 0, "tags": ["heavy_ranged", "twin_linked", "vehicle", "turret"] }, "Flamestorm Cannon Turret": { From 6e8af19885b13a5903fbd107fb858b3c5b44c903 Mon Sep 17 00:00:00 2001 From: Da Fist <144086663+KRdaMystic@users.noreply.github.com> Date: Sat, 28 Dec 2024 11:16:00 +0900 Subject: [PATCH 8/8] feat: New weapon tags for custom stat scaling (#192) - Add "martial" and "savage" weapon tags to enable custom stat scaling for melee attacks. - Rewrite the melee damage formula, to account for the new tags and be less extreme in general. --- .../scr_marine_struct/scr_marine_struct.gml | 85 ++++++++++++++----- 1 file changed, 62 insertions(+), 23 deletions(-) diff --git a/scripts/scr_marine_struct/scr_marine_struct.gml b/scripts/scr_marine_struct/scr_marine_struct.gml index 07aa676892..dc8e26211d 100644 --- a/scripts/scr_marine_struct/scr_marine_struct.gml +++ b/scripts/scr_marine_struct/scr_marine_struct.gml @@ -1923,16 +1923,19 @@ function TTRPG_stats(faction, comp, mar, class = "marine", other_spawn_data={}) carry_string+=$"{mobility_item()}: {format_number_with_sign(mobility_carry)}#"; } return [melee_carrying,melee_hands_limit,carry_string] - } + } + static melee_attack = function(weapon_slot=0){ + var _format_sign = function(_num) { + _num = format_number_with_sign(round(_num)); + return _num; + } + encumbered_melee=false; - melee_att = 100*(((weapon_skill/100) * (strength/20)) + (experience/1000)+0.1); - var explanation_string = string_concat("#Stats: ", format_number_with_sign(round(((melee_att/100)-1)*100)), "%#"); - explanation_string += " Base: +10%#"; - explanation_string += string_concat(" WSxSTR: ", format_number_with_sign(round((((weapon_skill/100)*(strength/20))-1)*100)), "%#"); - explanation_string += string_concat(" EXP: ", format_number_with_sign(round((experience/1000)*100)), "%#"); + var _melee_mod = 1; + var explanation_string = ""; - melee_carrying = melee_hands_limit(); + var melee_carrying = melee_hands_limit(); var _wep1 = get_weapon_one_data(); var _wep2 = get_weapon_two_data(); if (!is_struct(_wep1)) then _wep1 = new EquipmentStruct({},""); @@ -1969,7 +1972,7 @@ function TTRPG_stats(faction, comp, mar, class = "marine", other_spawn_data={}) secondary_weapon=highest; } else { primary_weapon=highest; - melee_att*=0.5; + _melee_mod += 0.5; if (primary_weapon.has_tag("flame")){ explanation_string+=$"Primary is Flame: -50%#" } else if primary_weapon.has_tag("pistol"){ @@ -1986,19 +1989,53 @@ function TTRPG_stats(faction, comp, mar, class = "marine", other_spawn_data={}) primary_weapon=_wep2; } }; + var basic_wep_string = $"{primary_weapon.name}: {primary_weapon.attack}#"; + explanation_string = basic_wep_string + explanation_string; + + _melee_mod += (weapon_skill / 100) + (experience / 500); + explanation_string += $"#Stats:#"; + explanation_string += $" WS: {_format_sign((weapon_skill / 100) * 100)}%#"; + explanation_string += $" EXP: {_format_sign((experience / 500) * 100)}%#"; + + if (primary_weapon.has_tag("martial") || primary_weapon.has_tag("savage")) { + var bonus_modifier = 0; + var martial_bonus = 0; + var savage_bonus = 0; + + if (primary_weapon.has_tag("martial")) { + martial_bonus = dexterity / 100; + } + if (primary_weapon.has_tag("savage")) { + savage_bonus = strength / 100; + } + + bonus_modifier = martial_bonus + savage_bonus; + _melee_mod += bonus_modifier; + + if (martial_bonus != 0) { + explanation_string += $" DEX (Martial): {_format_sign(martial_bonus * 100)}%#"; + } + if (savage_bonus != 0) { + explanation_string += $" STR (Savage): {_format_sign(savage_bonus * 100)}%#"; + } + } else { + _melee_mod += (strength / 200) + (dexterity / 200); + explanation_string += $" STR: {_format_sign((strength / 200) * 100)}%#"; + explanation_string += $" DEX: {_format_sign((dexterity / 200) * 100)}%#"; + } + if IsSpecialist("libs") or has_trait("warp_touched"){ - if (primary_weapon.has_tag("force") ||_wep2.has_tag("force")){ - var force_modifier = (((weapon_skill/100) * (psionic/10) * (intelligence/10)) + (experience/1000)+0.1); - primary_weapon.attack *= force_modifier; - basic_wep_string += $"Active Force Weapon: x{force_modifier}# Base: 0.10# WSxPSIxINT: x{(weapon_skill/100)*(psionic/10)*(intelligence/10)}# EXP: x{experience/1000}#"; + if (primary_weapon.has_tag("force")){ + var force_modifier = (psionic * 3) * (intelligence/40); + _melee_mod += force_modifier / 100; + explanation_string += $" PSYxINT (Force): {_format_sign(force_modifier)}%#"; } - }; - explanation_string = basic_wep_string + explanation_string + } if (melee_carrying[0]>melee_carrying[1]){ encumbered_melee=true; - melee_att*=0.6; + _melee_mod*=0.6; explanation_string+=$"Encumbered: x0.6#" } if (!encumbered_melee){ @@ -2008,23 +2045,24 @@ function TTRPG_stats(faction, comp, mar, class = "marine", other_spawn_data={}) total_gear_mod+=get_mobility_data("melee_mod"); total_gear_mod+=_wep1.melee_mod; total_gear_mod+=_wep2.melee_mod; - melee_att+=total_gear_mod; - explanation_string+=$"#Gear Mod: {(total_gear_mod/100)*100}%#"; + total_gear_mod/=100; + _melee_mod += total_gear_mod; + explanation_string+=$"#Gear Mod: {_format_sign(total_gear_mod * 100)}%#"; //TODO make trait data like this more structured to be able to be moddable if (has_trait("feet_floor") && mobility_item()!=""){ - melee_att*=0.9; + _melee_mod*=0.9; explanation_string+=$"{global.trait_list.feet_floor.display_name}: x0.9#"; } if (primary_weapon.has_tag("fist") && has_trait("brawler")){ - melee_att*=1.1; + _melee_mod*=1.1; explanation_string+=$"{global.trait_list.brawler.display_name}: x1.1#"; } if (primary_weapon.has_tag("power") && has_trait("duelist")){ - melee_att*=1.3; + _melee_mod*=1.3; explanation_string+=$"{global.trait_list.duelist.display_name}: x1.3#"; } } - var final_attack = floor((melee_att/100)*primary_weapon.attack); + var final_attack = floor((_melee_mod)*primary_weapon.attack); if (secondary_weapon!="none" && !encumbered_melee){ var side_arm_data="Standard: x0.5"; var secondary_modifier = 0.5; @@ -2042,12 +2080,13 @@ function TTRPG_stats(faction, comp, mar, class = "marine", other_spawn_data={}) secondary_modifier = 0.3; side_arm_data="Flame: x0.3"; } - var side_arm = floor(secondary_modifier*((melee_att/100)*secondary_weapon.attack)); + var side_arm = floor(secondary_modifier*(_melee_mod*secondary_weapon.attack)); if (side_arm>0){ final_attack+=side_arm; - explanation_string+=$"Side Arm: +{side_arm}({side_arm_data})#"; + explanation_string+=$"Side Arm: +{side_arm} ({side_arm_data})#"; } } + melee_damage_data=[final_attack,explanation_string,melee_carrying,primary_weapon, secondary_weapon]; return melee_damage_data; };