Game folder

This commit is contained in:
Poojawa
2018-09-11 04:06:45 -05:00
parent b6430559e9
commit 8b9ef1e400
270 changed files with 3120 additions and 2523 deletions
@@ -18,6 +18,7 @@
var/ignition_temp = 10 // The amount of heat added to the reagents when this grenade goes off.
var/threatscale = 1 // Used by advanced grenades to make them slightly more worthy.
var/no_splash = FALSE //If the grenade deletes even if it has no reagents to splash with. Used for slime core reactions.
var/casedesc = "This basic model accepts both beakers and bottles. It heats contents by 10°K upon ignition." // Appears when examining empty casings.
/obj/item/grenade/chem_grenade/Initialize()
. = ..()
@@ -76,8 +77,7 @@
to_chat(user, "<span class='notice'>You add [I] to the [initial(name)] assembly.</span>")
beakers += I
var/reagent_list = pretty_string_from_reagent_list(I.reagents)
add_logs(user, src, "inserted [I]", addition = "[reagent_list] inside.")
log_game("[key_name(user)] inserted [I] into [src] containing [reagent_list] ")
user.log_message("inserted [I] ([reagent_list]) into [src]",LOG_GAME)
else
to_chat(user, "<span class='warning'>[I] is empty!</span>")
@@ -117,8 +117,7 @@
if(!O.reagents)
continue
var/reagent_list = pretty_string_from_reagent_list(O.reagents)
add_logs(user, src, "removed [O]", addition = "[reagent_list] inside.")
log_game("[key_name(user)] removed [O] from [src] containing [reagent_list]")
user.log_message("removed [O] ([reagent_list]) from [src]")
beakers = list()
to_chat(user, "<span class='notice'>You open the [initial(name)] assembly and remove the payload.</span>")
return // First use of the wrench remove beakers, then use the wrench to remove the activation mechanism.
@@ -138,7 +137,7 @@
stage = N
if(stage == EMPTY)
name = "[initial(name)] casing"
desc = "A do it yourself [initial(name)]!"
desc = "A do it yourself [initial(name)]! [initial(casedesc)]"
icon_state = initial(icon_state)
else if(stage == WIRED)
name = "unsecured [initial(name)]"
@@ -174,8 +173,7 @@
var/message = "[src] primed by [user] at [ADMIN_VERBOSEJMP(T)] contained [reagent_string]."
GLOB.bombers += message
message_admins(message)
log_game("[src] primed by [user] at [AREACOORD(T)] contained [reagent_string].")
add_logs(user, src, "primed", addition = "[reagent_string] inside.")
user.log_message("primed [src] ([reagent_string])",LOG_GAME)
/obj/item/grenade/chem_grenade/prime()
if(stage != READY)
@@ -211,10 +209,10 @@
//Large chem grenades accept slime cores and use the appropriately.
/obj/item/grenade/chem_grenade/large
name = "large grenade"
desc = "A custom made large grenade. It affects a larger area."
desc = "A custom made large grenade. Larger splash range and increased ignition temperature compared to basic grenades. Fits exotic containers."
casedesc = "This casing affects a larger area than the basic model and can fit exotic containers, including slime cores. Heats contents by 25°K upon ignition."
icon_state = "large_grenade"
allowed_containers = list(/obj/item/reagent_containers/glass, /obj/item/reagent_containers/food/condiment,
/obj/item/reagent_containers/food/drinks)
allowed_containers = list(/obj/item/reagent_containers/glass, /obj/item/reagent_containers/food/condiment, /obj/item/reagent_containers/food/drinks)
affected_area = 5
ignition_temp = 25 // Large grenades are slightly more effective at setting off heat-sensitive mixtures than smaller grenades.
threatscale = 1.1 // 10% more effective.
@@ -255,21 +253,23 @@
/obj/item/grenade/chem_grenade/cryo // Intended for rare cryogenic mixes. Cools the area moderately upon detonation.
name = "cryo grenade"
desc = "A custom made cryogenic grenade. It rapidly cools its contents upon detonation."
desc = "A custom made cryogenic grenade. Rapidly cools contents upon ignition."
casedesc = "Upon ignition, it rapidly cools contents by 100°K. Smaller splash range than regular casings."
icon_state = "cryog"
affected_area = 2
ignition_temp = -100
/obj/item/grenade/chem_grenade/pyro // Intended for pyrotechnical mixes. Produces a small fire upon detonation, igniting potentially flammable mixtures.
name = "pyro grenade"
desc = "A custom made pyrotechnical grenade. It heats up and ignites its contents upon detonation."
desc = "A custom made pyrotechnical grenade. Heats up contents upon ignition."
casedesc = "Upon ignition, it rapidly heats contents by 500°K."
icon_state = "pyrog"
affected_area = 3
ignition_temp = 500 // This is enough to expose a hotspot.
/obj/item/grenade/chem_grenade/adv_release // Intended for weaker, but longer lasting effects. Could have some interesting uses.
name = "advanced release grenade"
desc = "A custom made advanced release grenade. It is able to be detonated more than once. Can be configured using a multitool."
casedesc = "This casing is able to detonate more than once. Can be configured using a multitool."
icon_state = "timeg"
var/unit_spread = 10 // Amount of units per repeat. Can be altered with a multitool.
@@ -324,7 +324,7 @@
/obj/item/grenade/chem_grenade/metalfoam
name = "metal foam grenade"
desc = "Used for emergency sealing of air breaches."
desc = "Used for emergency sealing of hull breaches."
stage = READY
/obj/item/grenade/chem_grenade/metalfoam/Initialize()
@@ -342,7 +342,7 @@
/obj/item/grenade/chem_grenade/smart_metal_foam
name = "smart metal foam grenade"
desc = "Used for sealing and reconstruction of air breaches."
desc = "Used for emergency sealing of hull breaches, while keeping areas accessible."
stage = READY
/obj/item/grenade/chem_grenade/smart_metal_foam/Initialize()
@@ -562,9 +562,9 @@
beakers += B2
/obj/item/grenade/chem_grenade/tuberculosis
name = "Fungal tuberculosis grenade"
desc = "WARNING: GRENADE WILL RELEASE DEADLY SPORES CONTAINING ACTIVE AGENTS. SEAL SUIT AND AIRFLOW BEFORE USE."
stage = READY
name = "Fungal tuberculosis grenade"
desc = "WARNING: GRENADE WILL RELEASE DEADLY SPORES CONTAINING ACTIVE AGENTS. SEAL SUIT AND AIRFLOW BEFORE USE."
stage = READY
/obj/item/grenade/chem_grenade/tuberculosis/Initialize()
. = ..()
+5 -39
View File
@@ -99,6 +99,7 @@
to_chat(user, "Timer set for [det_time] seconds.")
/obj/item/grenade/plastic/afterattack(atom/movable/AM, mob/user, flag)
. = ..()
aim_dir = get_dir(user,AM)
if(!flag)
return
@@ -141,12 +142,12 @@
else if(UM.has_antag_datum(/datum/antagonist/changeling))
message_say = "FOR THE HIVE!"
else if(UM.has_antag_datum(/datum/antagonist/cult))
message_say = "FOR NAR-SIE!"
message_say = "FOR NAR'SIE!"
else if(UM.has_antag_datum(/datum/antagonist/clockcult))
message_say = "FOR RATVAR!"
else if(UM.has_antag_datum(/datum/antagonist/rev))
message_say = "VIVA LA REVOLUTION!"
M.say(message_say)
M.say(message_say, forced="C4 suicide")
/obj/item/grenade/plastic/suicide_act(mob/user)
message_admins("[ADMIN_LOOKUPFLW(user)] suicided with [src] at [ADMIN_VERBOSEJMP(user)]")
@@ -171,7 +172,6 @@
name = "C4"
desc = "Used to put holes in specific areas without too much extra hole. A saboteur's favorite."
gender = PLURAL
var/timer = 10
var/open_panel = 0
can_attach_mob = TRUE
@@ -192,7 +192,7 @@
message_admins("[ADMIN_LOOKUPFLW(user)] suicided with [name] at [ADMIN_VERBOSEJMP(src)]")
log_game("[key_name(user)] suicided with [name] at [AREACOORD(user)]")
sleep(10)
explode(get_turf(user))
prime()
user.gib(1, 1)
/obj/item/grenade/plastic/c4/attackby(obj/item/I, mob/user, params)
@@ -204,41 +204,7 @@
else
return ..()
/obj/item/grenade/plastic/c4/attack_self(mob/user)
var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num
if(user.get_active_held_item() == src)
newtime = CLAMP(newtime, 10, 60000)
timer = newtime
to_chat(user, "Timer set for [timer] seconds.")
/obj/item/grenade/plastic/c4/afterattack(atom/movable/AM, mob/user, flag)
if (!flag)
return
if(ismob(AM) && !can_attach_mob)
return
if(loc == AM)
return
if(SEND_SIGNAL(AM, COMSIG_CONTAINS_STORAGE) && !SEND_SIGNAL(AM, COMSIG_IS_STORAGE_LOCKED))
return
to_chat(user, "<span class='notice'>You start planting the bomb...</span>")
if(do_after(user, 30, target = AM))
if(!user.temporarilyRemoveItemFromInventory(src))
return
src.target = AM
moveToNullspace()
var/message = "[ADMIN_LOOKUPFLW(user)] planted [name] on [target.name] at [ADMIN_VERBOSEJMP(target)] with [timer] second fuse"
GLOB.bombers += message
message_admins(message,0,1)
log_game("[key_name(user)] planted [name] on [target.name] at [AREACOORD(target)] with [timer] second fuse")
target.add_overlay(plastic_overlay, TRUE)
to_chat(user, "<span class='notice'>You plant the bomb. Timer counting down from [timer].</span>")
addtimer(CALLBACK(src, .proc/explode), timer * 10)
/obj/item/grenade/plastic/c4/proc/explode()
/obj/item/grenade/plastic/c4/prime()
if(QDELETED(src))
return
var/turf/location
@@ -34,3 +34,10 @@
/obj/item/grenade/spawnergrenade/syndiesoap
name = "Mister Scrubby"
spawner_type = /obj/item/soap/syndie
/obj/item/grenade/spawnergrenade/buzzkill
name = "Buzzkill grenade"
desc = "The label reads: \"WARNING: DEVICE WILL RELEASE LIVE SPECIMENS UPON ACTIVATION. SEAL SUIT BEFORE USE.\" It is warm to the touch and vibrates faintly."
icon_state = "holy_grenade"
spawner_type = /mob/living/simple_animal/hostile/poison/bees/toxin
deliveryamt = 10