mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
The yield mode on the somatoray gun now uses a diminishing-returns formula to determine the chance of increasing yield (instead of a hard cap at 2)! Cleaned up somatoray code a bit too.
Doctor's Delight, the miracle drug, now requires tricordrazine to brew. Fixes Issue 858. The text is now gender sensitive. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4571 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -20,15 +20,21 @@
|
||||
var/planted = 0 // Is it occupied?
|
||||
var/harvest = 0 //Ready to harvest?
|
||||
var/obj/item/seeds/myseed = null // The currently planted seed
|
||||
New()
|
||||
|
||||
/obj/machinery/hydroponics/bullet_act(var/obj/item/projectile/Proj) //Works with the Somatoray to modify plant variables.
|
||||
if(istype(Proj ,/obj/item/projectile/energy/floramut))
|
||||
if(src.planted)
|
||||
src.mutate()
|
||||
else if(istype(Proj ,/obj/item/projectile/energy/florayield))
|
||||
if(src.planted && src.myseed.yield == 0)//Oh god don't divide by zero you'll doom us all.
|
||||
src.myseed.yield += 1
|
||||
//world << "Yield increased by 1, from 0, to a total of [src.myseed.yield]"
|
||||
else if (src.planted && (prob(1/(src.myseed.yield * src.myseed.yield) *100)))//This formula gives you diminishing returns based on yield. 100% with 1 yield, decreasing to 25%, 11%, 6, 4, 2...
|
||||
src.myseed.yield += 1
|
||||
//world << "Yield increased by 1, to a total of [src.myseed.yield]"
|
||||
else
|
||||
..()
|
||||
bullet_act(var/obj/item/projectile/Proj) //Works with the Somatoray to modify plant variables.
|
||||
if(istype(Proj ,/obj/item/projectile/energy/floramut))
|
||||
if(src.planted)
|
||||
src.mutate()
|
||||
else if(istype(Proj ,/obj/item/projectile/energy/florayield))
|
||||
if(src.planted && src.myseed.yield < 2)
|
||||
src.myseed.yield += 1
|
||||
return
|
||||
|
||||
/obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
..()
|
||||
|
||||
@@ -69,11 +69,11 @@
|
||||
if(buckled_mob != user)
|
||||
buckled_mob.visible_message(\
|
||||
"\blue [buckled_mob.name] was unbuckled by [user.name]!",\
|
||||
"You unbuckled from [src] by [user.name].",\
|
||||
"You were unbuckled from [src] by [user.name].",\
|
||||
"You hear metal clanking")
|
||||
else
|
||||
buckled_mob.visible_message(\
|
||||
"\blue [buckled_mob.name] unbuckled himself!",\
|
||||
"\blue [buckled_mob.name] unbuckled \himself!",\
|
||||
"You unbuckle yourself from [src].",\
|
||||
"You hear metal clanking")
|
||||
unbuckle()
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
if ((killing == 2 && state == 3))
|
||||
if(assailant.loc != kill_loc)
|
||||
for(var/mob/O in viewers(assailant, null))
|
||||
O.show_message(text("\red [] lost his tightened grip on []'s neck!", assailant, affecting), 1)
|
||||
O.show_message(text("\red [] lost \his tightened grip on []'s neck!", assailant, affecting), 1)
|
||||
killing = 0
|
||||
hud1.icon_state = "disarm/kill"
|
||||
return
|
||||
@@ -134,7 +134,7 @@
|
||||
if (state >= 3)
|
||||
if (!( killing ))
|
||||
for(var/mob/O in viewers(assailant, null))
|
||||
O.show_message(text("\red [] has temporarily tightened his grip on []!", assailant, affecting), 1)
|
||||
O.show_message(text("\red [] has temporarily tightened \his grip on []!", assailant, affecting), 1)
|
||||
//Foreach goto(97)
|
||||
assailant.next_move = world.time + 10
|
||||
//affecting.stunned = max(2, affecting.stunned)
|
||||
@@ -198,7 +198,7 @@
|
||||
return
|
||||
|
||||
for(var/mob/O in viewers(assailant, null))
|
||||
O.show_message(text("\red [] has reinforced his grip on [] (now neck)!", assailant, affecting), 1)
|
||||
O.show_message(text("\red [] has reinforced \his grip on [] (now neck)!", assailant, affecting), 1)
|
||||
|
||||
state = 3
|
||||
icon_state = "grabbed+1"
|
||||
@@ -212,7 +212,7 @@
|
||||
else
|
||||
if (state >= 3 && !killing)
|
||||
for(var/mob/O in viewers(assailant, null))
|
||||
O.show_message(text("\red [] starts to tighten his grip on []'s neck!", assailant, affecting), 1)
|
||||
O.show_message(text("\red [] starts to tighten \his grip on []'s neck!", assailant, affecting), 1)
|
||||
hud1.icon_state = "disarm/kill1"
|
||||
killing = 1
|
||||
if(do_after(assailant, 50))
|
||||
@@ -227,7 +227,7 @@
|
||||
killing = 2
|
||||
kill_loc = assailant.loc
|
||||
for(var/mob/O in viewers(assailant, null))
|
||||
O.show_message(text("\red [] has tightened his grip on []'s neck!", assailant, affecting), 1)
|
||||
O.show_message(text("\red [] has tightened \his grip on []'s neck!", assailant, affecting), 1)
|
||||
affecting.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been strangled (kill intent) by [assailant.name] ([assailant.ckey])</font>")
|
||||
assailant.attack_log += text("\[[time_stamp()]\] <font color='red'>Strangled (kill intent) [affecting.name] ([affecting.ckey])</font>")
|
||||
log_attack("<font color='red'>[assailant.name] ([assailant.ckey]) Strangled (kill intent) [affecting.name] ([affecting.ckey])</font>")
|
||||
@@ -236,7 +236,7 @@
|
||||
affecting.losebreath += 1
|
||||
else
|
||||
for(var/mob/O in viewers(assailant, null))
|
||||
O.show_message(text("\red [] was unable to tighten his grip on []'s neck!", assailant, affecting), 1)
|
||||
O.show_message(text("\red [] was unable to tighten \his grip on []'s neck!", assailant, affecting), 1)
|
||||
killing = 0
|
||||
hud1.icon_state = "disarm/kill"
|
||||
return
|
||||
|
||||
@@ -80,10 +80,9 @@
|
||||
on_hit(var/atom/target, var/blocked = 0)
|
||||
var/mob/living/M = target
|
||||
if(ishuman(target) && M.dna && M.dna.mutantrace == "plant") //Plantmen possibly get mutated and damaged by the rays.
|
||||
var/mob/living/L = target
|
||||
if(prob(15))
|
||||
L.apply_effect((rand(30,80)),IRRADIATE)
|
||||
L.Weaken(5)
|
||||
M.apply_effect((rand(30,80)),IRRADIATE)
|
||||
M.Weaken(5)
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red [M] writhes in pain as \his vacuoles boil.", 3, "\red You hear the crunching of leaves.", 2)
|
||||
if(prob(35))
|
||||
|
||||
@@ -1096,8 +1096,8 @@ datum
|
||||
name = "The Doctor's Delight"
|
||||
id = "doctordelight"
|
||||
result = "doctorsdelight"
|
||||
required_reagents = list("limejuice" = 1, "tomatojuice" = 1, "orangejuice" = 1, "cream" = 1)
|
||||
result_amount = 4
|
||||
required_reagents = list("limejuice" = 1, "tomatojuice" = 1, "orangejuice" = 1, "cream" = 1, "tricordrazine" = 1)
|
||||
result_amount = 5
|
||||
|
||||
irish_cream
|
||||
name = "Irish Cream"
|
||||
|
||||
Reference in New Issue
Block a user