mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-27 14:08:44 +01:00
Merge branch 'master' of https://github.com/PolarisSS13/Polaris into weapon_dulling
This commit is contained in:
@@ -162,7 +162,8 @@ var/list/admin_verbs_server = list(
|
||||
/client/proc/check_customitem_activity,
|
||||
/client/proc/nanomapgen_DumpImage,
|
||||
/client/proc/modify_server_news,
|
||||
/client/proc/recipe_dump
|
||||
/client/proc/recipe_dump,
|
||||
/client/proc/panicbunker
|
||||
)
|
||||
var/list/admin_verbs_debug = list(
|
||||
/client/proc/getruntimelog, //allows us to access runtime logs to somebody,
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
/client/proc/panicbunker()
|
||||
set category = "Server"
|
||||
set name = "Toggle Panic Bunker"
|
||||
if (!config.sql_enabled)
|
||||
to_chat(usr, "<span class='adminnotice'>The Database is not enabled!</span>")
|
||||
return
|
||||
|
||||
config.panic_bunker = (!config.panic_bunker)
|
||||
|
||||
log_admin("[key_name(usr)] has toggled the Panic Bunker, it is now [(config.panic_bunker?"on":"off")]")
|
||||
message_admins("[key_name_admin(usr)] has toggled the Panic Bunker, it is now [(config.panic_bunker?"enabled":"disabled")].")
|
||||
if (config.panic_bunker && (!dbcon || !dbcon.IsConnected()))
|
||||
message_admins("The Database is not connected! Panic bunker will not work until the connection is reestablished.")
|
||||
feedback_add_details("admin_verb","PANIC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -461,14 +461,17 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
//Write the appearance and whatnot out to the character
|
||||
picked_client.prefs.copy_to(new_character)
|
||||
if(new_character.dna)
|
||||
new_character.dna.ResetUIFrom(new_character)
|
||||
new_character.sync_organ_dna()
|
||||
if(inhabit)
|
||||
new_character.key = player_key
|
||||
|
||||
//Were they any particular special role? If so, copy.
|
||||
var/datum/antagonist/antag_data = get_antag_data(new_character.mind.special_role)
|
||||
if(antag_data)
|
||||
antag_data.add_antagonist(new_character.mind)
|
||||
antag_data.place_mob(new_character)
|
||||
//Were they any particular special role? If so, copy.
|
||||
if(new_character.mind)
|
||||
var/datum/antagonist/antag_data = get_antag_data(new_character.mind.special_role)
|
||||
if(antag_data)
|
||||
antag_data.add_antagonist(new_character.mind)
|
||||
antag_data.place_mob(new_character)
|
||||
|
||||
//If desired, apply equipment.
|
||||
if(equipment)
|
||||
|
||||
@@ -251,6 +251,14 @@
|
||||
var/sql_computerid = sql_sanitize_text(src.computer_id)
|
||||
var/sql_admin_rank = sql_sanitize_text(admin_rank)
|
||||
|
||||
//Panic bunker code
|
||||
if (isnum(player_age) && player_age == 0) //first connection
|
||||
if (config.panic_bunker && !holder && !deadmin_holder)
|
||||
log_access("Failed Login: [key] - New account attempting to connect during panic bunker")
|
||||
message_admins("<span class='adminnotice'>Failed Login: [key] - New account attempting to connect during panic bunker</span>")
|
||||
to_chat(src, "Sorry but the server is currently not accepting connections from never before seen players.")
|
||||
qdel(src)
|
||||
return 0
|
||||
|
||||
if(sql_id)
|
||||
//Player already identified previously, we need to just update the 'lastseen', 'ip' and 'computer_id' variables
|
||||
@@ -266,7 +274,6 @@
|
||||
var/DBQuery/query_accesslog = dbcon.NewQuery("INSERT INTO `erro_connection_log`(`id`,`datetime`,`serverip`,`ckey`,`ip`,`computerid`) VALUES(null,Now(),'[serverip]','[sql_ckey]','[sql_ip]','[sql_computerid]');")
|
||||
query_accesslog.Execute()
|
||||
|
||||
|
||||
#undef TOPIC_SPAM_DELAY
|
||||
#undef UPLOAD_LIMIT
|
||||
#undef MIN_CLIENT_VERSION
|
||||
|
||||
@@ -149,17 +149,19 @@
|
||||
/obj/item/rig_module/chem_dispenser/ninja
|
||||
interface_desc = "Dispenses loaded chemicals directly into the wearer's bloodstream. This variant is made to be extremely light and flexible."
|
||||
|
||||
//just over a syringe worth of each. Want more? Go refill. Gives the ninja another reason to have to show their face.
|
||||
//Want more? Go refill. Gives the ninja another reason to have to show their face.
|
||||
charges = list(
|
||||
list("tricordrazine", "tricordrazine", 0, 20),
|
||||
list("tramadol", "tramadol", 0, 20),
|
||||
list("dexalin plus", "dexalinp", 0, 20),
|
||||
list("antibiotics", "spaceacillin", 0, 20),
|
||||
list("antitoxins", "anti_toxin", 0, 20),
|
||||
list("nutrients", "glucose", 0, 80),
|
||||
list("clotting agent", "myelamine", 0, 80),
|
||||
list("hyronalin", "hyronalin", 0, 20),
|
||||
list("radium", "radium", 0, 20)
|
||||
list("tricordrazine", "tricordrazine", 0, 30),
|
||||
list("tramadol", "tramadol", 0, 30),
|
||||
list("dexalin plus", "dexalinp", 0, 30),
|
||||
list("antibiotics", "spaceacillin", 0, 30),
|
||||
list("antitoxins", "anti_toxin", 0, 60),
|
||||
list("nutrients", "glucose", 0, 80),
|
||||
list("bicaridine", "bicaridine", 0, 30),
|
||||
list("clotting agent", "myelamine", 0, 30),
|
||||
list("peridaxon", "peridaxon", 0, 30),
|
||||
list("hyronalin", "hyronalin", 0, 30),
|
||||
list("radium", "radium", 0, 30)
|
||||
)
|
||||
|
||||
/obj/item/rig_module/chem_dispenser/accepts_item(var/obj/item/input_item, var/mob/living/user)
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
/obj/item/rig_module/vision,
|
||||
/obj/item/rig_module/voice,
|
||||
/obj/item/rig_module/fabricator/energy_net,
|
||||
/obj/item/rig_module/chem_dispenser,
|
||||
/obj/item/rig_module/chem_dispenser/ninja,
|
||||
/obj/item/rig_module/grenade_launcher,
|
||||
/obj/item/rig_module/ai_container,
|
||||
/obj/item/rig_module/power_sink,
|
||||
|
||||
@@ -921,9 +921,9 @@
|
||||
|
||||
//Brain damage from Oxyloss
|
||||
if(should_have_organ("brain"))
|
||||
var/brainOxPercent = 0.02 //Default2% of your current oxyloss is applied as brain damage, 50 oxyloss is 1 brain damage
|
||||
var/brainOxPercent = 0.015 //Default 1.5% of your current oxyloss is applied as brain damage, 50 oxyloss is 1 brain damage
|
||||
if(CE_STABLE in chem_effects)
|
||||
brainOxPercent = 0.01 //Halved in effect
|
||||
brainOxPercent = 0.008 //Halved in effect
|
||||
if(oxyloss >= 20 && prob(5))
|
||||
adjustBrainLoss(brainOxPercent * oxyloss)
|
||||
|
||||
|
||||
@@ -75,9 +75,14 @@
|
||||
if(affecting)
|
||||
if(affecting.buckled)
|
||||
return null
|
||||
if(!affecting.Adjacent(affecting.grabbed_by))
|
||||
qdel(src)
|
||||
return null
|
||||
if(state >= GRAB_AGGRESSIVE)
|
||||
animate(affecting, pixel_x = 0, pixel_y = 0, 4, 1)
|
||||
return affecting
|
||||
. = affecting
|
||||
qdel(src)
|
||||
return
|
||||
return null
|
||||
|
||||
|
||||
@@ -294,6 +299,9 @@
|
||||
return
|
||||
if(world.time < (last_action + 20))
|
||||
return
|
||||
if(!M.Adjacent(user))
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
last_action = world.time
|
||||
reset_kill_state() //using special grab moves will interrupt choking them
|
||||
@@ -339,6 +347,9 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/grab/proc/reset_kill_state()
|
||||
if(!assailant)
|
||||
qdel(src)
|
||||
return
|
||||
if(state == GRAB_KILL)
|
||||
assailant.visible_message("<span class='warning'>[assailant] lost \his tight grip on [affecting]'s neck!</span>")
|
||||
hud.icon_state = "kill"
|
||||
@@ -365,12 +376,20 @@
|
||||
break_strength++
|
||||
break_chance_table = list(3, 18, 45, 100)
|
||||
|
||||
|
||||
if(GRAB_KILL)
|
||||
grab_name = "stranglehold"
|
||||
break_chance_table = list(5, 20, 40, 80, 100)
|
||||
|
||||
//It's easier to break out of a grab by a smaller mob
|
||||
break_strength += max(size_difference(affecting, assailant), 0)
|
||||
|
||||
var/break_chance = break_chance_table[Clamp(break_strength, 1, break_chance_table.len)]
|
||||
if(prob(break_chance))
|
||||
if(grab_name)
|
||||
if(state == GRAB_KILL)
|
||||
reset_kill_state()
|
||||
return
|
||||
else if(grab_name)
|
||||
affecting.visible_message("<span class='warning'>[affecting] has broken free of [assailant]'s [grab_name]!</span>")
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
M.adjustToxLoss(-4 * removed)
|
||||
|
||||
/datum/reagent/carthatoline
|
||||
name = "carthatoline"
|
||||
name = "Carthatoline"
|
||||
id = "carthatoline"
|
||||
description = "Carthatoline is strong evacuant used to treat severe poisoning."
|
||||
reagent_state = LIQUID
|
||||
|
||||
Reference in New Issue
Block a user