mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 15:14:27 +01:00
Merge pull request #1206 from ZomgPonies/piecannon
Adds Piecannons to HONKsquad
This commit is contained in:
@@ -117,8 +117,11 @@ var/global/sent_honksquad = 0
|
||||
equip_to_slot_or_del(new /obj/item/weapon/bikehorn(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/stamp/clown(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/toy/crayon/rainbow(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/gun/energy/clown(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/spray/waterflower(src), slot_in_backpack)
|
||||
if(prob(50))
|
||||
equip_to_slot_or_del(new /obj/item/weapon/gun/energy/clown(src), slot_in_backpack)
|
||||
else
|
||||
equip_to_slot_or_del(new /obj/item/weapon/gun/grenadelauncher/piecannon(src), slot_in_backpack)
|
||||
src.mutations.Add(CLUMSY)
|
||||
|
||||
|
||||
|
||||
@@ -163,6 +163,7 @@ obj/item/weapon/gun/energy/staff/focus
|
||||
icon_state = "energy"
|
||||
projectile_type = "/obj/item/projectile/clown"
|
||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
||||
clumsy_check = 0
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,26 +11,30 @@
|
||||
force = 5.0
|
||||
var/list/grenades = new/list()
|
||||
var/max_grenades = 3
|
||||
var/ammo_name = "grenade"
|
||||
var/ammo_type = /obj/item/weapon/grenade
|
||||
var/unloaded
|
||||
|
||||
m_amt = 2000
|
||||
|
||||
examine()
|
||||
set src in view()
|
||||
..()
|
||||
if (!(usr in view(2)) && usr!=src.loc) return
|
||||
usr << "\icon [src] Grenade launcher:"
|
||||
usr << "\blue [grenades] / [max_grenades] Grenades."
|
||||
usr << "\icon [src] [name]:"
|
||||
usr << "\blue [grenades.len] / [max_grenades] [ammo_name]s."
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
|
||||
if((istype(I, /obj/item/weapon/grenade)))
|
||||
if((istype(I, ammo_type)))
|
||||
if(grenades.len < max_grenades)
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
grenades += I
|
||||
user << "\blue You put the grenade in the grenade launcher."
|
||||
user << "\blue [grenades.len] / [max_grenades] Grenades."
|
||||
user << "\blue You put the [ammo_name] in the [name]."
|
||||
user << "\blue [grenades.len] / [max_grenades] [ammo_name]s."
|
||||
else
|
||||
usr << "\red The grenade launcher cannot hold more grenades."
|
||||
usr << "\red The grenade launcher cannot hold more [ammo_name]s."
|
||||
|
||||
afterattack(obj/target, mob/user , flag)
|
||||
|
||||
@@ -46,21 +50,68 @@
|
||||
if(grenades.len)
|
||||
spawn(0) fire_grenade(target,user)
|
||||
else
|
||||
usr << "\red The grenade launcher is empty."
|
||||
usr << "\red The [name] is empty."
|
||||
|
||||
proc
|
||||
fire_grenade(atom/target, mob/user)
|
||||
for(var/mob/O in viewers(world.view, user))
|
||||
O.show_message(text("\red [] fired a grenade!", user), 1)
|
||||
user << "\red You fire the grenade launcher!"
|
||||
O.show_message(text("\red [] fired a [ammo_name]!", user), 1)
|
||||
user << "\red You fire the [name]!"
|
||||
var/obj/item/weapon/grenade/chem_grenade/F = grenades[1] //Now with less copypasta!
|
||||
grenades -= F
|
||||
F.loc = user.loc
|
||||
F.throw_at(target, 30, 2, user)
|
||||
message_admins("[key_name_admin(user)] fired a grenade ([F.name]) from a grenade launcher ([src.name]).")
|
||||
log_game("[key_name_admin(user)] used a grenade ([src.name]).")
|
||||
message_admins("[key_name_admin(user)] fired a [ammo_name] ([F.name]) from a launcher ([src.name]).")
|
||||
log_game("[key_name_admin(user)] used a [ammo_name] ([src.name]).")
|
||||
F.active = 1
|
||||
F.icon_state = initial(icon_state) + "_active"
|
||||
playsound(user.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
|
||||
spawn(15)
|
||||
F.prime()
|
||||
F.prime()
|
||||
|
||||
/obj/item/weapon/gun/grenadelauncher/piecannon
|
||||
name = "pie cannon"
|
||||
icon = 'icons/obj/gun.dmi'
|
||||
icon_override = 'icons/mob/in-hand/guns.dmi'
|
||||
icon_state = "piecannon0"
|
||||
item_state = "piecannon0"
|
||||
w_class = 4.0
|
||||
throw_speed = 2
|
||||
throw_range = 10
|
||||
force = 5.0
|
||||
clumsy_check = 0
|
||||
grenades = new/list()
|
||||
max_grenades = 5
|
||||
ammo_name = "cream pie"
|
||||
ammo_type = /obj/item/weapon/reagent_containers/food/snacks/pie
|
||||
|
||||
/obj/item/weapon/gun/grenadelauncher/piecannon/New()
|
||||
..()
|
||||
for(var/i=0, i < max_grenades, i++)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/pie/P = new /obj/item/weapon/reagent_containers/food/snacks/pie(src)
|
||||
grenades += P
|
||||
|
||||
/obj/item/weapon/gun/grenadelauncher/piecannon/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if((istype(I, ammo_type)))
|
||||
if(grenades.len < max_grenades)
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
grenades += I
|
||||
user << "\blue You put the [ammo_name] in the [name]."
|
||||
user << "\blue [grenades.len] / [max_grenades] [ammo_name]s."
|
||||
icon_state = "piecannon1"
|
||||
else
|
||||
usr << "\red The grenade launcher cannot hold more [ammo_name]s."
|
||||
|
||||
/obj/item/weapon/gun/grenadelauncher/piecannon/fire_grenade(atom/target, mob/user)
|
||||
for(var/mob/O in viewers(world.view, user))
|
||||
O.show_message(text("\red [] fired a [ammo_name]!", user), 1)
|
||||
user << "\red You fire the [name]!"
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/pie/P = grenades[1] //Now with less copypasta!
|
||||
grenades -= P
|
||||
P.loc = user.loc
|
||||
P.throw_at(target, 30, 2, user)
|
||||
message_admins("[key_name_admin(user)] fired a [ammo_name] ([P.name]) from a launcher ([src.name]).")
|
||||
log_game("[key_name_admin(user)] used a [ammo_name] ([src.name]).")
|
||||
if(!grenades.len)
|
||||
icon_state = "piecannon0"
|
||||
|
||||
Reference in New Issue
Block a user