mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 01:49:19 +00:00
Merge pull request #14102 from Hatterhat/somatobuff-50513
[READY] somatoray buff - mutation locks + revolution ray
This commit is contained in:
@@ -92,6 +92,11 @@
|
||||
return BULLET_ACT_HIT
|
||||
else if(istype(Proj , /obj/item/projectile/energy/florayield))
|
||||
return myseed.bullet_act(Proj)
|
||||
else if(istype(Proj , /obj/item/projectile/energy/florarevolution))
|
||||
if(myseed)
|
||||
if(myseed.mutatelist.len > 0)
|
||||
myseed.instability = (myseed.instability/2)
|
||||
mutatespecie()
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -384,7 +389,6 @@
|
||||
/obj/machinery/hydroponics/proc/hardmutate()
|
||||
mutate(4, 10, 2, 4, 50, 4, 10, 3)
|
||||
|
||||
|
||||
/obj/machinery/hydroponics/proc/mutatespecie() // Mutagent produced a new plant!
|
||||
if(!myseed || dead)
|
||||
return
|
||||
@@ -600,7 +604,34 @@
|
||||
desc = initial(desc)
|
||||
weedlevel = 0 //Has a side effect of cleaning up those nasty weeds
|
||||
update_icon()
|
||||
|
||||
else if(istype(O, /obj/item/gun/energy/floragun))
|
||||
var/obj/item/gun/energy/floragun/flowergun = O
|
||||
if(flowergun.cell.charge < flowergun.cell.maxcharge)
|
||||
to_chat(user, "<span class='notice'>[flowergun] must be fully charged to lock in a mutation!</span>")
|
||||
return
|
||||
if(!myseed)
|
||||
to_chat(user, "<span class='warning'>[src] is empty!</span>")
|
||||
return
|
||||
if(myseed.endurance <= 20)
|
||||
to_chat(user, "<span class='warning'>[myseed.plantname] isn't hardy enough to sequence its mutation!</span>")
|
||||
return
|
||||
if(!myseed.mutatelist)
|
||||
to_chat(user, "<span class='warning'>[myseed.plantname] has nothing else to mutate into!</span>")
|
||||
return
|
||||
else
|
||||
var/list/fresh_mut_list = list()
|
||||
for(var/muties in myseed.mutatelist)
|
||||
var/obj/item/seeds/another_mut = new muties
|
||||
fresh_mut_list[another_mut.plantname] = muties
|
||||
var/locked_mutation = (input(user, "Select a mutation to lock.", "Plant Mutation Locks") as null|anything in sortList(fresh_mut_list))
|
||||
if(!user.canUseTopic(src, BE_CLOSE) || !locked_mutation)
|
||||
return
|
||||
myseed.mutatelist = list(fresh_mut_list[locked_mutation])
|
||||
myseed.endurance = (myseed.endurance/2)
|
||||
flowergun.cell.use(flowergun.cell.charge)
|
||||
flowergun.update_icon()
|
||||
to_chat(user, "<span class='notice'>[myseed.plantname]'s mutation was set to [locked_mutation], depleting [flowergun]'s cell!</span>")
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -1985,6 +1985,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
H.show_message("<span class='notice'>The radiation beam dissipates harmlessly through your body.</span>")
|
||||
if(/obj/item/projectile/energy/florayield)
|
||||
H.show_message("<span class='notice'>The radiation beam dissipates harmlessly through your body.</span>")
|
||||
if(/obj/item/projectile/energy/florarevolution)
|
||||
H.show_message("<span class='notice'>The radiation beam dissipates harmlessly through your body.</span>")
|
||||
|
||||
/datum/species/proc/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H)
|
||||
// called before a projectile hit
|
||||
|
||||
@@ -64,6 +64,11 @@
|
||||
H.show_message("<span class='userdanger'>The radiation beam singes you!</span>")
|
||||
if(/obj/item/projectile/energy/florayield)
|
||||
H.adjust_nutrition(30, NUTRITION_LEVEL_FULL)
|
||||
if(/obj/item/projectile/energy/florarevolution)
|
||||
H.show_message("<span class='notice'>The radiation beam leaves you feeling disoriented!</span>")
|
||||
H.Dizzy(15)
|
||||
H.emote("flip")
|
||||
H.emote("spin")
|
||||
|
||||
/datum/species/pod/pseudo_weak
|
||||
name = "Anthromorphic Plant"
|
||||
|
||||
@@ -24,6 +24,11 @@
|
||||
projectile_type = /obj/item/projectile/energy/floramut
|
||||
select_name = "mutation"
|
||||
|
||||
/obj/item/ammo_casing/energy/flora/revolution
|
||||
projectile_type = /obj/item/projectile/energy/florarevolution
|
||||
select_name = "revolution"
|
||||
e_cost = 250
|
||||
|
||||
/obj/item/ammo_casing/energy/temp
|
||||
projectile_type = /obj/item/projectile/temp
|
||||
select_name = "freeze"
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
desc = "A tool that discharges controlled radiation which induces mutation in plant cells."
|
||||
icon_state = "flora"
|
||||
item_state = "gun"
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut)
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut, /obj/item/ammo_casing/energy/flora/revolution)
|
||||
modifystate = 1
|
||||
ammo_x_offset = 1
|
||||
selfcharge = EGUN_SELFCHARGE
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "alpha somatoray"
|
||||
icon_state = "energy"
|
||||
damage = 0
|
||||
damage_type = TOX
|
||||
damage_type = TRUE
|
||||
nodamage = 1
|
||||
flag = "energy"
|
||||
|
||||
@@ -21,5 +21,13 @@
|
||||
icon_state = "energy2"
|
||||
damage = 0
|
||||
damage_type = TOX
|
||||
nodamage = 1
|
||||
nodamage = TRUE
|
||||
flag = "energy"
|
||||
|
||||
/obj/item/projectile/energy/florarevolution
|
||||
name = "gamma somatorary"
|
||||
icon_state = "energy3"
|
||||
damage = 0
|
||||
damage_type = TOX
|
||||
nodamage = TRUE
|
||||
flag = "energy"
|
||||
|
||||
@@ -324,8 +324,7 @@
|
||||
desc = "A tool that discharges controlled radiation which induces mutation in plant cells. Harmless to other organic life."
|
||||
id = "flora_gun"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(/datum/material/iron = 2000, /datum/material/glass = 500)
|
||||
reagents_list = list(/datum/reagent/radium = 20)
|
||||
materials = list(/datum/material/iron = 2000, /datum/material/glass = 500, /datum/material/uranium = 2000)
|
||||
build_path = /obj/item/gun/energy/floragun
|
||||
category = list("Weapons")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 129 KiB |
Reference in New Issue
Block a user