mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-13 16:13:49 +01:00
Merge remote-tracking branch 'remotes/upstream/dev' into definecrusade
This commit is contained in:
@@ -172,7 +172,7 @@
|
||||
/mob/living/carbon/human/blob_act()
|
||||
if(stat == 2) return
|
||||
show_message("\red The blob attacks you!")
|
||||
var/dam_zone = pick("chest", "l_hand", "r_hand", "l_leg", "r_leg")
|
||||
var/dam_zone = pick(organs_by_name)
|
||||
var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone))
|
||||
apply_damage(rand(30,40), BRUTE, affecting, run_armor_check(affecting, "melee"))
|
||||
return
|
||||
|
||||
@@ -295,7 +295,7 @@
|
||||
src.visible_message("<span class='danger'>[user] has [attack_message] [src]!</span>")
|
||||
user.do_attack_animation(src)
|
||||
|
||||
var/dam_zone = pick("head", "chest", "l_arm", "r_arm", "l_leg", "r_leg", "groin")
|
||||
var/dam_zone = pick(organs_by_name)
|
||||
var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone))
|
||||
var/armor_block = run_armor_check(affecting, "melee")
|
||||
apply_damage(damage, BRUTE, affecting, armor_block)
|
||||
|
||||
@@ -63,16 +63,30 @@
|
||||
poison_per_bite = 5
|
||||
move_to_delay = 4
|
||||
|
||||
/mob/living/simple_animal/hostile/giant_spider/AttackingTarget()
|
||||
/mob/living/simple_animal/hostile/giant_spider/New(var/location, var/atom/parent)
|
||||
get_light_and_color(parent)
|
||||
..()
|
||||
if(isliving(target_mob))
|
||||
var/mob/living/L = target_mob
|
||||
|
||||
/mob/living/simple_animal/hostile/giant_spider/AttackingTarget()
|
||||
var/target = ..()
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
if(L.reagents)
|
||||
L.reagents.add_reagent("toxin", poison_per_bite)
|
||||
if(prob(poison_per_bite))
|
||||
L << "\red You feel a tiny prick."
|
||||
L.reagents.add_reagent(poison_type, 5)
|
||||
|
||||
/mob/living/simple_animal/hostile/giant_spider/nurse/AttackingTarget()
|
||||
var/target = ..()
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
if(prob(poison_per_bite))
|
||||
var/obj/item/organ/external/O = pick(H.organs)
|
||||
if(!(O.status & ORGAN_ROBOT))
|
||||
var/eggs = PoolOrNew(/obj/effect/spider/eggcluster/, list(O, src))
|
||||
O.implants += eggs
|
||||
|
||||
/mob/living/simple_animal/hostile/giant_spider/Life()
|
||||
..()
|
||||
if(!stat)
|
||||
@@ -117,7 +131,7 @@
|
||||
var/obj/effect/spider/stickyweb/W = locate() in get_turf(src)
|
||||
if(!W)
|
||||
busy = SPINNING_WEB
|
||||
src.visible_message("\blue \the [src] begins to secrete a sticky substance.")
|
||||
src.visible_message("<span class='notice'>\The [src] begins to secrete a sticky substance.</span>")
|
||||
stop_automated_movement = 1
|
||||
spawn(40)
|
||||
if(busy == SPINNING_WEB)
|
||||
@@ -129,13 +143,13 @@
|
||||
var/obj/effect/spider/eggcluster/E = locate() in get_turf(src)
|
||||
if(!E && fed > 0)
|
||||
busy = LAYING_EGGS
|
||||
src.visible_message("\blue \the [src] begins to lay a cluster of eggs.")
|
||||
src.visible_message("<span class='notice'>\The [src] begins to lay a cluster of eggs.</span>")
|
||||
stop_automated_movement = 1
|
||||
spawn(50)
|
||||
if(busy == LAYING_EGGS)
|
||||
E = locate() in get_turf(src)
|
||||
if(!E)
|
||||
new /obj/effect/spider/eggcluster(src.loc)
|
||||
PoolOrNew(/obj/effect/spider/eggcluster, list(loc, src))
|
||||
fed--
|
||||
busy = 0
|
||||
stop_automated_movement = 0
|
||||
@@ -157,7 +171,7 @@
|
||||
else if(busy == MOVING_TO_TARGET && cocoon_target)
|
||||
if(get_dist(src, cocoon_target) <= 1)
|
||||
busy = SPINNING_COCOON
|
||||
src.visible_message("\blue \the [src] begins to secrete a sticky substance around \the [cocoon_target].")
|
||||
src.visible_message("<span class='notice'>\The [src] begins to secrete a sticky substance around \the [cocoon_target].</span>")
|
||||
stop_automated_movement = 1
|
||||
walk(src,0)
|
||||
spawn(50)
|
||||
@@ -172,7 +186,7 @@
|
||||
continue
|
||||
large_cocoon = 1
|
||||
fed++
|
||||
src.visible_message("\red \the [src] sticks a proboscis into \the [cocoon_target] and sucks a viscous substance out.")
|
||||
src.visible_message("<span class='warning'>\The [src] sticks a proboscis into \the [cocoon_target] and sucks a viscous substance out.</span>")
|
||||
M.loc = C
|
||||
C.pixel_x = M.pixel_x
|
||||
C.pixel_y = M.pixel_y
|
||||
|
||||
@@ -117,6 +117,13 @@
|
||||
self_recharge = 1
|
||||
charge_meter = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/staff/special_check(var/mob/user)
|
||||
if((user.mind && !wizards.is_antagonist(user.mind)))
|
||||
usr << "<span class='warning'>You focus your mind on \the [src], but nothing happens!</span>"
|
||||
return 0
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/gun/energy/staff/handle_click_empty(mob/user = null)
|
||||
if (user)
|
||||
user.visible_message("*fizzle*", "<span class='danger'>*fizzle*</span>")
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
playsound(src.loc, pick('sound/hallucinations/wail.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/far_noise.ogg'), 50, 1, -3)
|
||||
nearby_mobs.Add(M)
|
||||
|
||||
var/target = pick("chest","groin","head","l_arm","r_arm","r_leg","l_leg","l_hand","r_hand","l_foot","r_foot")
|
||||
var/target = pick(M.organs_by_name)
|
||||
M.apply_damage(rand(5, 10), BRUTE, target)
|
||||
M << "\red The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out."
|
||||
var/obj/effect/decal/cleanable/blood/splatter/animated/B = new(M.loc)
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
/obj/item/weapon/spellbook/attack_self(mob/user = usr)
|
||||
if(!user)
|
||||
return
|
||||
if((user.mind && !wizards.is_antagonist(user.mind)))
|
||||
usr << "<span class='warning'>You stare at the book but cannot make sense of the markings!</span>"
|
||||
return
|
||||
|
||||
user.set_machine(src)
|
||||
var/dat
|
||||
if(temp)
|
||||
|
||||
Reference in New Issue
Block a user