Skip to content

Commit

Permalink
VERSION 2.0.5 - 23x75 "Eco"/"Mutant Killer" Buff and Adjustment
Browse files Browse the repository at this point in the history
- 23x75 "Ecolog"/"Mutant Killer" rounds will ALWAYS one-shot mutants
 - To offset this, its crafting cost has been greatly increased and it is no longer sold from Ecologists
- Minor adjustment to 12ga. Magnum Buck to have better velocity
  • Loading branch information
ilrathCXV committed Aug 5, 2024
1 parent 58bde4d commit 2806d4d
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 45 deletions.
2 changes: 1 addition & 1 deletion gamedata/configs/items/ammo/ammo_zzzz_artigok.ltx
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,6 @@ ammo_12.7x55_ap_bad = 5, recipe_ammo_0, casing_r7,3,powder_3,7,bullet_r7,2,po
!ammo_44_mag
ammo_44_mag = 5, recipe_ammo_0, casing_p,2,powder_2,2,bullet_pistol,3

ammo_23_eco = 5, recipe_ammo_0, casing_s,3,bullet_shotgun_ap,2,powder_battery,4
ammo_23_eco = 5, recipe_ammo_0, casing_s,3,powder_3,2,bullet_shotgun_ap,2,powder_battery,8

ammo_50_bmg_bad = 5, recipe_ammo_0, casing_r7,5,powder_3,7,bullet_r7_ap,5, powder_battery,6

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ k_impulse = 0.5
k_ap = 0.0015
buck_shot = 12
impair = 1.0
k_bullet_speed = 1.5
k_bullet_speed = 1.75
k_cam_dispersion = 1.8
tier = 4

Expand Down
49 changes: 16 additions & 33 deletions gamedata/scripts/cxv_artigrok_bo.script
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ true_falloff = get_config("true_falloff") or true
difficulty_scaling = get_config("difficulty_scaling") or false
npc_use_special = get_config("npc_use_special") or false

local cxv_tick = 40000
local cxv_tick = 60000
local last_tick = 0
local bone_clear_time = 0

Expand Down Expand Up @@ -364,7 +364,7 @@ function mutant_on_before_hit(monster, shit, bone_id)
bone_mult = 1
is_critical = false

printf("/////////// Mutant Hit registered: ArtiGrok BO v2.0.3 //////////////////")
printf("/////////// Mutant Hit registered: ArtiGrok BO v2.0.5 //////////////////")
printf('%s about to be hit by %s in bone %s', monster and monster:name(), shit and shit.draftsman and shit.draftsman:name(), bone_id)

if (string.match(sec, "knife")) then
Expand Down Expand Up @@ -475,10 +475,6 @@ function mutant_on_before_hit(monster, shit, bone_id)
if string.find(monster:name(), "chimera") then
spec_monster_mult = 0.75

if ammo_section == "ammo_23_eco" then
ammo_mult = 3.3
end

if (bone_id == 33 or bone_id == 24 or bone_id == 25 or bone_id == 23 or bone_id == 28) then
bone_mult = 2.00
printf("Critical Hit!")
Expand All @@ -489,10 +485,6 @@ function mutant_on_before_hit(monster, shit, bone_id)
if string.find(monster:name(), "boar") then
spec_monster_mult = 0.95

if ammo_section == "ammo_23_eco" then -- to avoid insta-kills
spec_monster_mult = 0.85
end

if bone_id == 15 or bone_id == 33 then -- back legs/thighs
bone_mult = 1.20
printf("Critical Hit!")
Expand Down Expand Up @@ -576,20 +568,6 @@ function mutant_on_before_hit(monster, shit, bone_id)
end
end

-- ilrathCXV: Extra to avoid Eco from instakilling the below mutants

if string.find(monster:name(), "controller") then
if ammo_section == "ammo_23_eco" then
spec_monster_mult = 0.85
end
end

if string.find(monster:name(), "biblotekar") then
if ammo_section == "ammo_23_eco" then
spec_monster_mult = 0.85
end
end

-- ilrathCXV (04/01/2024): try to save on performance whereever possible (if no scaling, doesn't matter which index is used)
local game_num = 1

Expand Down Expand Up @@ -647,11 +625,16 @@ function mutant_on_before_hit(monster, shit, bone_id)
bas_handler.corrosive_cloud(monster, bone_id)
end

-- KS-23 Eco + 23x75 Cloudkill will OHK smaller targets instead of modifying the damage
if ammo_section == "ammo_23_eco" and spec_monster_mult > 0.86 then
monster:kill(db.actor)
printf("23mm Eco Intercept: %s dead ", monster and monster:name())
return
-- KS-23 Eco + 23x75 Cloudkill will OHK all mutants (take its remaining health and add it to the hit power)
if ammo_section == "ammo_23_eco" then
shit.power = shit.power + monster.health
monster:set_health_ex(0.0001)
-- monster:kill(db.actor)
-- printf("23mm Eco Intercept: %s dead ", monster and monster:name())
return {
["shit"] = shit,
["bone_id"] = bone_id
}
end

-----------------
Expand Down Expand Up @@ -914,7 +897,7 @@ function npc_on_before_hit(npc, shit, bone_id)

-- ////// Now, all of the GAMMA GBO + ArtiGrok stuff //////

printf("/////////// Stalker Hit registered: ArtiGrok BO v2.0.3 //////////////////")
printf("/////////// Stalker Hit registered: ArtiGrok BO v2.0.5 //////////////////")
printf('%s about to be hit by %s in bone %s', npc and npc:name(), shit and shit.draftsman and shit.draftsman:name(), bone_id)

--////////////// DATA PARSING OF HELL - A BONES AND BOOLETS TALE //////////////
Expand All @@ -933,15 +916,15 @@ function npc_on_before_hit(npc, shit, bone_id)
if sec and integrated_silencer[sec] then
silencer_boost = 1.03
elseif is_actor then -- cannot access if NPC's weapon has a suppressor, so limit weapons not on the list to the player
if wpn and wpn:weapon_is_silencer() then
if wpn and (wpn:weapon_silencer_status() == 1) or (wpn:weapon_silencer_status() == 2 and wpn:weapon_is_silencer()) then
silencer_boost = 1.03
end
end
else
if sec and integrated_silencer[sec] then
silencer_boost = 1.07
elseif is_actor then -- cannot access if NPC's weapon has a suppressor, so limit weapons not on the list to the player
if wpn and wpn:weapon_is_silencer() then
if wpn and (wpn:weapon_silencer_status() == 1) or (wpn:weapon_silencer_status() == 2 and wpn:weapon_is_silencer()) then
silencer_boost = 1.07
end
end
Expand Down Expand Up @@ -1834,7 +1817,7 @@ function actor_on_update()

empty_table(bas_handler.weakened)

printf("/////////// Bone Tables Reset: ArtiGrok BO v2.0.3 //////////////////")
printf("/////////// Bone Tables Reset: ArtiGrok BO v2.0.5 //////////////////")

end

Expand Down

0 comments on commit 2806d4d

Please sign in to comment.