diff --git a/code/modules/mining/drilling/difficulties.dm b/code/modules/mining/drilling/difficulties.dm index 656cac60a21..2bdd282ada5 100644 --- a/code/modules/mining/drilling/difficulties.dm +++ b/code/modules/mining/drilling/difficulties.dm @@ -19,16 +19,16 @@ /datum/cave_difficulty_level/proc/get_golem_spawns() var/list/golems_to_spawn = list() //list of golem types to spawn if(golem_count_melee) - for(var/c in 0 to golem_count_melee) + for(var/c = 1 to golem_count_melee) golems_to_spawn += pickweight(golem_weights_melee) if(golem_count_ranged) - for(var/c in 0 to golem_count_ranged) + for(var/c = 1 to golem_count_ranged) golems_to_spawn += pickweight(golem_weights_ranged) if(golem_count_mixed) var/list/golem_weights_mixed = golem_weights_melee + golem_weights_ranged - for(var/c in 0 to golem_count_mixed) + for(var/c = 1 to golem_count_mixed) golems_to_spawn += pickweight(golem_weights_mixed) return golems_to_spawn @@ -71,12 +71,12 @@ golem_count_melee = 1 golem_count_ranged = 1 - golem_count_mixed = 3 + golem_count_mixed = 2 golem_weights_melee = list( - /mob/living/carbon/superior_animal/golem/iron = 4, + /mob/living/carbon/superior_animal/golem/iron = 5, /mob/living/carbon/superior_animal/golem/coal = 2, - /mob/living/carbon/superior_animal/golem/platinum = 3) + /mob/living/carbon/superior_animal/golem/platinum = 2) golem_weights_ranged = list( /mob/living/carbon/superior_animal/golem/silver = 3, @@ -92,11 +92,11 @@ golem_count_melee = 1 golem_count_ranged = 1 - golem_count_mixed = 3 + golem_count_mixed = 2 golem_weights_melee = list( - /mob/living/carbon/superior_animal/golem/iron = 4, - /mob/living/carbon/superior_animal/golem/coal/enhanced = 2, + /mob/living/carbon/superior_animal/golem/iron = 8, + /mob/living/carbon/superior_animal/golem/coal/enhanced = 4, /mob/living/carbon/superior_animal/golem/platinum = 3, /mob/living/carbon/superior_animal/golem/plasma = 2) @@ -117,8 +117,8 @@ golem_count_mixed = 1 golem_weights_melee = list( - /mob/living/carbon/superior_animal/golem/iron = 3, - /mob/living/carbon/superior_animal/golem/coal/enhanced = 2, + /mob/living/carbon/superior_animal/golem/iron = 6, + /mob/living/carbon/superior_animal/golem/coal/enhanced = 4, /mob/living/carbon/superior_animal/golem/platinum = 3, /mob/living/carbon/superior_animal/golem/plasma = 2) golem_weights_ranged = list( @@ -139,8 +139,8 @@ golem_count_mixed = 1 golem_weights_melee = list( - /mob/living/carbon/superior_animal/golem/iron = 3, - /mob/living/carbon/superior_animal/golem/coal/enhanced = 2, + /mob/living/carbon/superior_animal/golem/iron = 8, + /mob/living/carbon/superior_animal/golem/coal/enhanced = 6, /mob/living/carbon/superior_animal/golem/platinum = 3, /mob/living/carbon/superior_animal/golem/plasma = 2, /mob/living/carbon/superior_animal/golem/diamond = 2) diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index aca6c84753e..b8e6833b97b 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -9,6 +9,7 @@ density = TRUE rarity_value = 10 spawn_tags = SPAWN_TAG_STRUCTURE_COMMON + climbable = TRUE var/last_update = 0 var/list/stored_ore = list() diff --git a/code/modules/mob/living/carbon/superior_animal/golem/types/gold.dm b/code/modules/mob/living/carbon/superior_animal/golem/types/gold.dm index 8358082536f..d85b8d45fdc 100644 --- a/code/modules/mob/living/carbon/superior_animal/golem/types/gold.dm +++ b/code/modules/mob/living/carbon/superior_animal/golem/types/gold.dm @@ -1,6 +1,6 @@ -#define GOLD_SPIKE_COOLDOWN 50 // 5 seconds -#define GOLD_SPIKE_WINDUP 20 -#define GOLD_SPIKE_DAMAGE 40 //equivalent to GOLEM_DMG_HIGH +#define GOLD_SPIKE_COOLDOWN 5 SECONDS +#define GOLD_SPIKE_WINDUP 2 SECONDS +#define GOLD_SPIKE_DAMAGE 25 /mob/living/carbon/superior_animal/golem/gold name = "gold golem" diff --git a/code/modules/mob/living/carbon/superior_animal/golem/types/platinum.dm b/code/modules/mob/living/carbon/superior_animal/golem/types/platinum.dm index c5a0b751fa4..8f40f65eec9 100644 --- a/code/modules/mob/living/carbon/superior_animal/golem/types/platinum.dm +++ b/code/modules/mob/living/carbon/superior_animal/golem/types/platinum.dm @@ -1,5 +1,5 @@ -#define PLATINUM_CHARGE_DAMAGE_OBSTACLES 50 -#define PLATINUM_CHARGE_DAMAGE_TARGET 50 +#define PLATINUM_CHARGE_DAMAGE_OBSTACLES 25 +#define PLATINUM_CHARGE_DAMAGE_TARGET 35 #define PLATINUM_CHARGE_CD 30 SECONDS #define PLATINUM_CHARGE_WINDUP 1.5 SECONDS #define PLATINUM_CHARGE_RANGE 5 @@ -70,15 +70,16 @@ charge_effect.icon = icon charge_effect.icon_state = icon_state // copy over the icon and direction charge_effect.dir = dir - charge_effect.alpha = 250 - (vfxfalloff * vfxindex) // todo: linear interpolation math so that this looks consistent at all distances + charge_effect.alpha = 250 - (vfxfalloff * vfxindex) animate(charge_effect, time = 25 - ((vfxfalloff * vfxindex) / 10), alpha = 0) for(var/mob/living/victim in targetturf.contents) if(victim != src) - victim.adjustBruteLoss(PLATINUM_CHARGE_DAMAGE_OBSTACLES) + victim.attack_generic(src, PLATINUM_CHARGE_DAMAGE_OBSTACLES, pick(charge_hit_verbs), FALSE, FALSE, FALSE, 1) else for(var/atom/victim in targetturf.contents) - victim.explosion_act(PLATINUM_CHARGE_DAMAGE_OBSTACLES * 4) //TEAR THROUGH ALL THAT IMPEDES YOU + if(victim.density) + victim.attack_generic(src, PLATINUM_CHARGE_DAMAGE_OBSTACLES, pick(charge_hit_verbs), FALSE, FALSE, FALSE, 1) break // if the turf is blocked (ie a wall/door/window), stop charging here visible_message(SPAN_DANGER("[src] [pick(charge_verbs)] at [target_mob]!")) diff --git a/code/modules/mob/living/carbon/superior_animal/golem/types/silver.dm b/code/modules/mob/living/carbon/superior_animal/golem/types/silver.dm index 173f20b5a6f..83ee78da849 100644 --- a/code/modules/mob/living/carbon/superior_animal/golem/types/silver.dm +++ b/code/modules/mob/living/carbon/superior_animal/golem/types/silver.dm @@ -9,7 +9,7 @@ health = GOLEM_HEALTH_LOW // Movement related variables - move_to_delay = GOLEM_SPEED_HIGH + move_to_delay = GOLEM_SPEED_MED turns_per_move = 5 // Damage related variables @@ -44,7 +44,7 @@ /obj/item/projectile/plasma/stun/golem //special projectile that passes straight through golems name = "stun plasma bolt" taser_effect = 1 - damage_types = list(HALLOSS = 20, BURN = 10) + damage_types = list(HALLOSS = 15, BURN = 5) impact_type = /obj/effect/projectile/stun/impact /obj/item/projectile/plasma/stun/golem/Bump(atom/A as mob|obj|turf|area, forced = FALSE) diff --git a/code/modules/mob/living/carbon/superior_animal/golem/types/uranium.dm b/code/modules/mob/living/carbon/superior_animal/golem/types/uranium.dm index 3fbcff002ad..683f00ccea9 100644 --- a/code/modules/mob/living/carbon/superior_animal/golem/types/uranium.dm +++ b/code/modules/mob/living/carbon/superior_animal/golem/types/uranium.dm @@ -22,7 +22,7 @@ armor = list( melee = 0, bullet = GOLEM_ARMOR_MED, - energy = GOLEM_ARMOR_ULTRA, + energy = GOLEM_ARMOR_HIGH, bomb = 0, bio = 0, rad = 0 diff --git a/code/modules/mob/living/carbon/superior_animal/superior_animal.dm b/code/modules/mob/living/carbon/superior_animal/superior_animal.dm index da499bf2ce6..e3db526ee2d 100644 --- a/code/modules/mob/living/carbon/superior_animal/superior_animal.dm +++ b/code/modules/mob/living/carbon/superior_animal/superior_animal.dm @@ -396,6 +396,7 @@ stance = HOSTILE_STANCE_ATTACK else return TRUE + /mob/living/carbon/superior_animal/death() breakgrab() . = ..()