mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
Re-balances ant damage values & lets you pour ants on the floor (#60543)
One final change I wanted to make to ants was to rework their rather low damage values. While they by no means were ever intended to be a kill-chem, the fact that they only did 25 brute after being injected with 200u was just far too low. To change this, I've reworked their damage formula, so now you do roughly 32 brute damage with 100u of ants. This scales significantly once you add more ants after that point. This is still a rather low amount of damage for the amount of u it takes, so to balance that I made the chance for one to vomit out the ants also stun the user, however to balance that balance it will purge anywhere from 5-10u of ants upon doing so. I have also changed how the debuff works somewhat. While it still does its normal damage over time, I have increased the damage done by the user scratching at themselves, which yielded an average of 100 brute when dumped with 200u ants during testing. Finally, you can pour ants back onto the ground now, with the amount of ants being poured being directly proportional to the amount of damage they will do. You must pour more than 10 ants for it to appear, and the amount of ants will only change the maximum damage that the resulting caltrop will do, not the minimum damage. There is a hard-cap at a 10 damage maximum, with the minimum always being 0.5. The amount of damage this caltrop does is equal to `ant_volume * 0.2` Finally to balance this a little more, breeding ants has gone from requiring 6u sugar to 8u sugar, making farming take a little longer.
This commit is contained in:
@@ -262,15 +262,28 @@
|
||||
name = "space ants"
|
||||
desc = "A small colony of space ants. They're normally used to the vacuum of space, so they can't climb too well."
|
||||
icon = 'icons/obj/objects.dmi'
|
||||
icon_state = "spaceants"
|
||||
icon_state = "ants"
|
||||
beauty = -150
|
||||
layer = LOW_OBJ_LAYER
|
||||
var/ant_bite_damage = 0.1
|
||||
var/ant_volume
|
||||
|
||||
/obj/effect/decal/cleanable/ants/Initialize(mapload)
|
||||
. = ..()
|
||||
var/scale = (rand(6, 8) / 10) + (rand(2, 5) / 50)
|
||||
transform = matrix(transform, scale, scale, MATRIX_SCALE)
|
||||
setDir(pick(GLOB.cardinals))
|
||||
reagents.add_reagent(/datum/reagent/ants, rand(2, 5))
|
||||
pixel_x = rand(-5, 5)
|
||||
pixel_y = rand(-5, 5)
|
||||
AddComponent(/datum/component/caltrop, min_damage = 0.2, max_damage = 1, flags = (CALTROP_NOCRAWL | CALTROP_NOSTUN | CALTROP_BYPASS_SHOES), soundfile = 'sound/weapons/bite.ogg')
|
||||
ant_volume = rand(3, 5)
|
||||
reagents.add_reagent(/datum/reagent/ants, ant_volume)
|
||||
update_ant_damage()
|
||||
|
||||
/obj/effect/decal/cleanable/ants/proc/update_ant_damage(spilled_ants)
|
||||
ant_volume += spilled_ants
|
||||
ant_bite_damage = min(10, round((ant_volume * 0.1),0.1)) // 100u ants = 10 max_damage
|
||||
AddComponent(/datum/component/caltrop, min_damage = 0.1, max_damage = ant_bite_damage, flags = (CALTROP_NOCRAWL | CALTROP_NOSTUN | CALTROP_BYPASS_SHOES), soundfile = 'sound/weapons/bite.ogg')
|
||||
switch(ant_bite_damage)
|
||||
if(0 to 1)
|
||||
icon_state = initial(icon_state)
|
||||
if(1.1 to 4)
|
||||
icon_state = "[initial(icon_state)]_2"
|
||||
if(4.1 to 7)
|
||||
icon_state = "[initial(icon_state)]_3"
|
||||
if(7.1 to 10)
|
||||
icon_state = "[initial(icon_state)]_4"
|
||||
|
||||
@@ -40,6 +40,8 @@
|
||||
var/venue_value
|
||||
///Food that's immune to decomposition.
|
||||
var/preserved_food = FALSE
|
||||
///Food that needs to be picked up in order to decompose.
|
||||
var/decomp_req_handle = FALSE
|
||||
|
||||
/obj/item/food/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -97,6 +99,7 @@
|
||||
return
|
||||
|
||||
///This proc makes things decompose. Set preserved_food to TRUE to make it never decompose.
|
||||
///Set decomp_req_handle to TRUE to only make it decompose when someone picks it up.
|
||||
/obj/item/food/proc/MakeDecompose(mapload)
|
||||
if(!preserved_food)
|
||||
AddComponent(/datum/component/decomposition, mapload, decomp_flags = foodtypes)
|
||||
AddComponent(/datum/component/decomposition, mapload, decomp_req_handle, decomp_flags = foodtypes)
|
||||
|
||||
Reference in New Issue
Block a user