Skip to content

Commit

Permalink
Горохострел 2.5 (TauCetiStation#13557)
Browse files Browse the repository at this point in the history
* Delete icons/obj/hydroponics/seeds.dmi

* Delete icons/obj/hydroponics/harvest.dmi

* Delete icons/obj/hydroponics/growing.dmi

* Add files via upload

* Update hydro.dm

* Update grown.dm

* Update bullets.dm

* Update magazines.dm

* Update pistol.dm

* Update bullets.dm

* Update grown.dm

* Update pistol.dm

* Update pistol.dm

* Update bullets.dm

* Update bullets.dm

* Update bullets.dm
  • Loading branch information
Danistans authored Oct 19, 2024
1 parent f456676 commit 41acb19
Show file tree
Hide file tree
Showing 10 changed files with 166 additions and 7 deletions.
33 changes: 29 additions & 4 deletions code/defines/obj/hydro.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,9 @@

/obj/item/seeds/peashooter
name = "pack of peashooter seeds"
cases = list("семена Горохострела", "семян Горохострела", "семенам Горохострела", "семена Горохострела", "семенами Горохострела", "семенах Горохострела")
cases = list("семена Горохострела обыкновенного", "семян Горохострела обыкновенного", "семенам Горохострела обыкновенного", "семена Горохострела обыкновенного", "семенами Горохострела обыкновенного", "семенах Горохострела обыкновенного")
desc = "Эти семена вырастают в Горохострел"
icon_state = "seed-gatfruit"
icon_state = "seed-peashooter"
species = "peashooter"
plantname = "Peashooter Tree"
product_type = /obj/item/weapon/reagent_containers/food/snacks/grown/peashooter
Expand All @@ -95,6 +95,30 @@
growthstages = 2
hydroponictray_icon_path = 'icons/obj/hydroponics/growing.dmi'

/obj/item/seeds/peashooter/react_to_disease_effect(obj/machinery/hydroponics/tray, datum/disease2/effect/E, datum/disease2/effectholder/holder)
if(!istype(E, /datum/disease2/effect/gibbingtons))
return
if(prob(holder.stage * 30))
mutatelist = list(/obj/item/seeds/peashooter/virus)
tray.mutatespecie()

/obj/item/seeds/peashooter/virus
name = "pack of virus peashooter seeds"
cases = list("семена Горохострела Гиббингтонского", "семян Горохострела Гиббингтонского", "семенам Горохострела Гиббингтонского", "семена Горохострела Гиббингтонского", "семенами Горохострела Гиббингтонского", "семенах Горохострела Гиббингтонского")
desc = "Эти семена вырастают в Горохострел Гиббингтонский"
icon_state = "seed-peashooter_virus"
species = "peashooter_virus"
plantname = "Virus Peashooter Tree"
product_type = /obj/item/weapon/reagent_containers/food/snacks/grown/peashooter
lifespan = 20
endurance = 20
maturation = 10
production = 10
yield = 2
potency = 60
growthstages = 2
hydroponictray_icon_path = 'icons/obj/hydroponics/growing.dmi'

/obj/item/seeds/blackpepper
name = "pack of piper nigrum seeds"
desc = "These seeds grow into black pepper plants. Spicy."
Expand All @@ -111,12 +135,13 @@
potency = 10
plant_type = 0
growthstages = 5
mutatelist = list(/obj/item/seeds/peashooter)

/obj/item/seeds/blackpepper/react_to_disease_effect(obj/machinery/hydroponics/tray, datum/disease2/effect/E, datum/disease2/effectholder/holder)
if(!istype(E, /datum/disease2/effect/gibbingtons))
return
if(prob(holder.stage * 10))
mutatelist = list(/obj/item/seeds/peashooter)
if(prob(holder.stage * 25))
mutatelist = list(/obj/item/seeds/peashooter/virus)
tray.mutatespecie()

/obj/item/seeds/chiliseed
Expand Down
5 changes: 5 additions & 0 deletions code/modules/cargo/exports/grown.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
cost = 150
export_types = list(/obj/item/weapon/reagent_containers/food/snacks/grown/peashooter)

/datum/export/peashooter/virus
unit_name = "strange fruit"
cost = 250
export_types = list(/obj/item/weapon/reagent_containers/food/snacks/grown/peashooter)

/*
/export/grown subtype
Expand Down
15 changes: 15 additions & 0 deletions code/modules/projectiles/ammunition/bullets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,21 @@
caliber = "Pea"
projectile_type = /obj/item/projectile/bullet/peabullet

/obj/item/ammo_casing/pea/in_fire
name = "Burned pea bullet casing"
cases = list("обгоревший гороховый патрон", "обгоревшего горохового патрона", "обгоревшему гороховому патрону", "обгоревший гороховый патрон", "обгоревшим гороховым патроном", "обгоревшем гороховом патроне")
projectile_type = /obj/item/projectile/bullet/peabullet/in_fire

/obj/item/ammo_casing/pea/virus
projectile_type = /obj/item/projectile/bullet/peabullet/virus

/obj/item/ammo_casing/pea/virus/in_fire
name = "Burned pea bullet casing"
cases = list("обгоревший гороховый патрон", "обгоревшего горохового патрона", "обгоревшему гороховому патрону", "обгоревший гороховый патрон", "обгоревшим гороховым патроном", "обгоревшем гороховом патроне")
desc = "Гороховый патрон"
caliber = "Pea"
projectile_type = /obj/item/projectile/bullet/peabullet/virus/in_fire

/obj/item/ammo_casing/c9mmr
desc = "Патрон от резиновой пули калибра 9мм."
icon_state = "casing_rubber"
Expand Down
9 changes: 9 additions & 0 deletions code/modules/projectiles/ammunition/magazines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -658,3 +658,12 @@
ammo_type = /obj/item/ammo_casing/pea
max_ammo = 6
origin_tech = "combat=2"

/obj/item/ammo_box/magazine/pea/in_fire
ammo_type = /obj/item/ammo_casing/pea/in_fire

/obj/item/ammo_box/magazine/pea/virus
ammo_type = /obj/item/ammo_casing/pea/virus

/obj/item/ammo_box/magazine/pea/virus/in_fire
ammo_type = /obj/item/ammo_casing/pea/virus/in_fire
69 changes: 68 additions & 1 deletion code/modules/projectiles/guns/projectile/pistol.dm
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,76 @@
item_state = "peashooter"
origin_tech = "combat=1;materials=1"
initial_mag = /obj/item/ammo_box/magazine/pea
suitable_mags = /obj/item/ammo_box/magazine/pea
suitable_mags = list(/obj/item/ammo_box/magazine/pea)
can_be_holstered = TRUE

/obj/item/weapon/gun/projectile/automatic/pistol/peashooter/update_icon()
if(magazine.ammo_count() < 6)
icon_state = "[initial(icon_state)]-[magazine.ammo_count()]"

/obj/item/weapon/gun/projectile/automatic/pistol/peashooter/attack_self(mob/living/user)
to_chat(user, "<span class='notice'>Вы не можете вынуть горох из [CASE(src, GENITIVE_CASE)].</span>")
return

/obj/item/weapon/gun/projectile/automatic/pistol/peashooter/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/lighter/zippo))
new /obj/item/weapon/gun/projectile/automatic/pistol/peashooter/in_fire(user.loc)
to_chat(user, "<span class='notice'>Горохострел обвил зажигалку намертво. Кажется, её уже не вытащить.</span>")
qdel(I)
qdel(src)
else
return ..()

/obj/item/weapon/gun/projectile/automatic/pistol/peashooter/in_fire
name = "Peashooter"
desc = "Горохострел. Стреляет горохом. У самого кончика стручка закреплена горящая зажигалка."
cases = list("горохострел", "горохострела", "горохострелу", "горохострел", "горохострелом", "горохостреле")
icon_state = "peashooter_in_fire"
item_state = "peashooter_in_fire"
origin_tech = "combat=1;materials=1"
initial_mag = /obj/item/ammo_box/magazine/pea/in_fire
suitable_mags = list(/obj/item/ammo_box/magazine/pea/in_fire)
can_be_holstered = TRUE

/obj/item/weapon/gun/projectile/automatic/pistol/peashooter/in_fire/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/lighter/zippo))
to_chat(user, "<span class='notice'>Горохострел игнорирует любые попытки добавить ещё одну зажигалку.</span>")
else
return

/obj/item/weapon/gun/projectile/automatic/pistol/peashooter/virus
name = "Virus Peashooter"
desc = "Горохострел Гиббингтоский. Стреляет особо большим горохом. У самого кончика стручка закреплена горящая зажигалка."
cases = list("горохострел", "горохострела", "горохострелу", "горохострел", "горохострелом", "горохостреле")
icon_state = "peashooter_virus"
item_state = "peashooter_virus"
origin_tech = "combat=1;materials=1"
initial_mag = /obj/item/ammo_box/magazine/pea/virus
suitable_mags = list(/obj/item/ammo_box/magazine/pea/virus)
can_be_holstered = TRUE

/obj/item/weapon/gun/projectile/automatic/pistol/peashooter/virus/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/lighter/zippo))
new /obj/item/weapon/gun/projectile/automatic/pistol/peashooter/virus/in_fire(user.loc)
to_chat(user, "<span class='notice'>Горохострел обвил зажигалку намертво. Кажется, её уже не вытащить.</span>")
qdel(I)
qdel(src)
else
return ..()

/obj/item/weapon/gun/projectile/automatic/pistol/peashooter/virus/in_fire
name = "Virus Peashooter"
desc = "Горохострел Гиббингтоский. Стреляет особо большим горохом."
cases = list("горохострел", "горохострела", "горохострелу", "горохострел", "горохострелом", "горохостреле")
icon_state = "peashooter_virus_in_fire"
item_state = "peashooter_virus_in_fire"
origin_tech = "combat=1;materials=1"
initial_mag = /obj/item/ammo_box/magazine/pea/virus/in_fire
suitable_mags = list(/obj/item/ammo_box/magazine/pea/virus/in_fire)
can_be_holstered = TRUE

/obj/item/weapon/gun/projectile/automatic/pistol/peashooter/virus/in_fire/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/lighter/zippo))
to_chat(user, "<span class='notice'>Горохострел игнорирует любые попытки добавить ещё одну зажигалку.</span>")
else
return
22 changes: 20 additions & 2 deletions code/modules/projectiles/projectile/bullets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,26 @@

/obj/item/projectile/bullet/peabullet
name = "pea bullet"
damage = 5
agony = 5
damage = 3
agony = 10

/obj/item/projectile/bullet/peabullet/in_fire
damage = 8
agony = 15
weaken = 1
incendiary = 2

/obj/item/projectile/bullet/peabullet/virus
name = "virus pea bullet"
damage = 15
agony = 15
weaken = 1

/obj/item/projectile/bullet/peabullet/virus/in_fire
damage = 18
agony = 20
stun = 3
incendiary = 5

/obj/item/projectile/bullet/midbullet2 // 9x19
damage = 25
Expand Down
20 changes: 20 additions & 0 deletions code/modules/reagents/reagent_containers/food/snacks/grown.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1200,6 +1200,7 @@
cases = list("горохострел", "горохострела", "горохострелу", "горохострел", "горохострелом", "горохостреле")
desc = "Нераскрывшийся плод горохострела, подозрительно напоминающий пистолет"
icon_state = "peashooter"
item_state_world = "peashooter_world"
potency = 25
filling_color = "#020108"
trash = /obj/item/weapon/gun/projectile/automatic/pistol/peashooter
Expand All @@ -1212,6 +1213,25 @@
reagents.add_reagent("sulfur", 1 + round(potency / 10, 1))
bitesize = 1 + round(reagents.total_volume / 2, 1)

/obj/item/weapon/reagent_containers/food/snacks/grown/peashooter/virus
seed_type = /obj/item/seeds/peashooter/virus
name = "virus peashooter"
cases = list("горохострел Гиббингтонский", "горохострела Гиббингтонского", "горохострелу Гиббингтонскому", "горохострел Гиббингтонский", "горохострелом Гиббингтонским", "горохостреле Гиббингтонском")
desc = "Нераскрывшийся плод горохострела Гиббингтонского, подозрительно напоминающий пистолет"
icon_state = "peashooter_virus"
item_state_world = "peashooter_virus_world"
potency = 25
filling_color = "#020108"
trash = /obj/item/weapon/gun/projectile/automatic/pistol/peashooter/virus

/obj/item/weapon/reagent_containers/food/snacks/grown/peashooter/virus/atom_init()
. = ..()
reagents.add_reagent("potassium", 1 + round(potency / 25, 1))
reagents.add_reagent("carbon", 1 + round(potency / 10, 1))
reagents.add_reagent("iron", 1 + round(potency / 10, 1))
reagents.add_reagent("chlorine", 1 + round(potency / 10, 1))
bitesize = 1 + round(reagents.total_volume / 2, 1)

/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco_space
seed_type = /obj/item/seeds/tobacco
name = "tobacco leaves"
Expand Down
Binary file modified icons/obj/hydroponics/growing.dmi
Binary file not shown.
Binary file modified icons/obj/hydroponics/harvest.dmi
Binary file not shown.
Binary file modified icons/obj/hydroponics/seeds.dmi
Binary file not shown.

0 comments on commit 41acb19

Please sign in to comment.