mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 21:12:24 +01:00
Fixing Charging bugs and Breeder bugs (#1296)
Breeders now need to breathe again. Sanity check for any gun that requires charging has been added. It's not been added to the master special_check and firing procs yet because weapons that need to charge remain fairly edge case.
This commit is contained in:
@@ -284,8 +284,14 @@
|
||||
src << "<span class='warning'>You cannot do that in your current state.</span>"
|
||||
return
|
||||
|
||||
var/obj/item/weapon/grab/G = get_aggressive_grab()
|
||||
if(!G) return
|
||||
var/obj/item/weapon/grab/G = src.get_active_hand()
|
||||
if(!istype(G))
|
||||
src << "<span class='warning'>We must be grabbing a creature in our active hand to devour their head.</span>"
|
||||
return
|
||||
|
||||
if(G.state != GRAB_KILL)
|
||||
src << "<span class='warning'>We must have a tighter grip to devour their head.</span>"
|
||||
return
|
||||
|
||||
if(istype(G.affecting,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = G.affecting
|
||||
@@ -300,9 +306,9 @@
|
||||
return
|
||||
|
||||
visible_message("<span class='danger'>\The [src] pulls \the [H] close, sticking \the [H]'s head into its maw!</span>")
|
||||
sleep(50)
|
||||
get_aggressive_grab()
|
||||
if(!G) return
|
||||
sleep(10)
|
||||
if(!src.Adjacent(G.affecting))
|
||||
return
|
||||
visible_message("<span class='danger'>\The [src] closes their jaws around \the [H]'s head!</span>")
|
||||
playsound(H.loc, 'sound/effects/blobattack.ogg', 50, 1)
|
||||
affecting.droplimb(0, DROPLIMB_BLUNT)
|
||||
|
||||
@@ -49,9 +49,6 @@
|
||||
brute_mod = 0.2 //note to self: remove is_synthetic checks for brmod and burnmod
|
||||
burn_mod = 0.8 //2x was a bit too much. we'll see how this goes.
|
||||
toxins_mod = 1 //they're not used to all our weird human bacteria.
|
||||
warning_low_pressure = 50
|
||||
hazard_low_pressure = 0
|
||||
ethanol_resistance = 2
|
||||
|
||||
speech_sounds = list('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg')
|
||||
speech_chance = 100
|
||||
@@ -66,10 +63,8 @@
|
||||
sprint_cost_factor = 0.80
|
||||
stamina_recovery = 3
|
||||
|
||||
vision_flags = SEE_SELF
|
||||
|
||||
spawn_flags = IS_RESTRICTED
|
||||
flags = NO_SCAN | HAS_SKIN_COLOR | NO_SLIP
|
||||
flags = NO_SCAN | NO_SLIP | NO_MINOR_CUT
|
||||
|
||||
inherent_verbs = list(
|
||||
/mob/living/carbon/human/proc/bugbite,
|
||||
@@ -78,10 +73,6 @@
|
||||
)
|
||||
|
||||
/datum/species/bug/type_c/equip_survival_gear(var/mob/living/carbon/human/H)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/typec(H),slot_shoes)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/typec(H), slot_wear_mask)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/under/gearharness(H), slot_w_uniform)
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/typec(H), slot_back)
|
||||
return
|
||||
|
||||
/datum/species/bug/type_c/handle_post_spawn(var/mob/living/carbon/human/H)
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
var/list/burst_accuracy = list(0) //allows for different accuracies for each shot in a burst. Applied on top of accuracy
|
||||
var/list/dispersion = list(0)
|
||||
|
||||
|
||||
var/next_fire_time = 0
|
||||
|
||||
var/sel_mode = 1 //index of the currently selected mode
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
item_state = "ionrifle-empty"
|
||||
else
|
||||
item_state = initial(item_state)
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/ionrifle/mounted
|
||||
name = "mounted ion rifle"
|
||||
self_recharge = 1
|
||||
@@ -170,6 +170,7 @@
|
||||
/obj/item/weapon/gun/energy/vaurca
|
||||
name = "Alien Firearm"
|
||||
desc = "Vaurcae weapons tend to be specialized and highly lethal. This one doesn't do much"
|
||||
var/is_charging = 0 //special var for sanity checks in the three guns that currently use charging as a special_check
|
||||
|
||||
/obj/item/weapon/gun/energy/vaurca/bfg
|
||||
name = "BFG 9000"
|
||||
@@ -232,6 +233,9 @@
|
||||
|
||||
/obj/item/weapon/gun/energy/vaurca/gatlinglaser/special_check(var/mob/user)
|
||||
..()
|
||||
if(is_charging)
|
||||
user << "<span class='danger'>\The [src] is already spinning!</span>"
|
||||
return 0
|
||||
if(!wielded)
|
||||
user << "<span class='danger'>You cannot fire this weapon with just one hand!</span>"
|
||||
return 0
|
||||
@@ -241,7 +245,11 @@
|
||||
"<span class='danger'>You begin spinning [src]'s barrels!</span>",
|
||||
"<span class='danger'>You hear the spin of a rotary gun!</span>"
|
||||
)
|
||||
is_charging = 1
|
||||
sleep(30)
|
||||
is_charging = 0
|
||||
if(!istype(user.get_active_hand(), src))
|
||||
return
|
||||
msg_admin_attack("[key_name_admin(user)] shot with \a [src.type] [key_name_admin(src)]'s target (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)")
|
||||
return 1
|
||||
|
||||
@@ -319,6 +327,9 @@
|
||||
|
||||
/obj/item/weapon/gun/energy/vaurca/typec/special_check(var/mob/user)
|
||||
..()
|
||||
if(is_charging)
|
||||
user << "<span class='danger'>\The [src] is already charging!</span>"
|
||||
return 0
|
||||
if(!wielded)
|
||||
user << "<span class='danger'>You could never fire this weapon with merely one hand!</span>"
|
||||
return 0
|
||||
@@ -328,7 +339,11 @@
|
||||
"<span class='danger'>You begin charging the [src]!</span>",
|
||||
"<span class='danger'>You hear a low pulsing roar!</span>"
|
||||
)
|
||||
is_charging = 1
|
||||
sleep(90)
|
||||
is_charging = 0
|
||||
if(!istype(user.get_active_hand(), src))
|
||||
return
|
||||
msg_admin_attack("[key_name_admin(user)] shot with \a [src.type] [key_name_admin(src)]'s target (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)")
|
||||
return 1
|
||||
|
||||
@@ -402,6 +417,9 @@
|
||||
|
||||
/obj/item/weapon/gun/energy/vaurca/thermaldrill/special_check(var/mob/user)
|
||||
..()
|
||||
if(is_charging)
|
||||
user << "<span class='danger'>\The [src] is already charging!</span>"
|
||||
return 0
|
||||
if(!wielded)
|
||||
user << "<span class='danger'>You cannot fire this weapon with just one hand!</span>"
|
||||
return 0
|
||||
@@ -411,7 +429,11 @@
|
||||
"<span class='danger'>You begin charging the [src]!</span>",
|
||||
"<span class='danger'>You hear a low pulsing roar!</span>"
|
||||
)
|
||||
is_charging = 1
|
||||
sleep(90)
|
||||
is_charging = 0
|
||||
if(!istype(user.get_active_hand(), src))
|
||||
return
|
||||
msg_admin_attack("[key_name_admin(user)] shot with \a [src.type] [key_name_admin(src)]'s target (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)")
|
||||
return 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user