From 800e0777be031cca05772c074ddca71a85bbd843 Mon Sep 17 00:00:00 2001 From: XDTM Date: Wed, 30 Nov 2016 22:30:49 +0100 Subject: [PATCH 01/10] fix --- code/modules/mob/living/carbon/human/species_types.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm index 2f1238dce5c..e387668f968 100644 --- a/code/modules/mob/living/carbon/human/species_types.dm +++ b/code/modules/mob/living/carbon/human/species_types.dm @@ -899,7 +899,7 @@ var/mob/living/carbon/human/H = owner H.visible_message("[H] starts vibrating!", "You start charging your bluespace core...") playsound(get_turf(H), 'sound/weapons/flash.ogg', 25, 1) - addtimer(src, "teleport", 15) + addtimer(src, "teleport", 15, TIMER_NORMAL, H) /datum/action/innate/unstable_teleport/proc/teleport(mob/living/carbon/human/H) H.visible_message("[H] disappears in a shower of sparks!", "You teleport!") From 0ed1c630664f6eabfbb4d7fac892b0d1d50c0697 Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Wed, 30 Nov 2016 14:43:09 -0800 Subject: [PATCH 02/10] Fixes a small oversight in timer subsystem hashlist was designed to ensure that timers on different objects with the same name didn't get detected as the same timer, but when I added it, i forgot to make this line actually use the hashlist. --- code/controllers/subsystem/timer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index 5885fc6d5d8..9b1f698d3ba 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -75,7 +75,7 @@ var/datum/subsystem/timer/SStimer var/hashlist = args.Copy() hashlist[1] = "[thingToCall](\ref[thingToCall])" - event.hash = jointext(args, null) + event.hash = jointext(hashlist, null) var/bad_args = unique != TIMER_NORMAL && unique != TIMER_UNIQUE if(args.len > 4 || bad_args) From b30d0a5782f076e4890e1227a1e4d65a34cbedfa Mon Sep 17 00:00:00 2001 From: ExcessiveUseOfCobblestone Date: Wed, 30 Nov 2016 21:25:23 -0500 Subject: [PATCH 03/10] Fixes Revolver not being able to be redescribed /obj/item/weapon already cover this so not sure why the revolver had its own. --- code/modules/projectiles/guns/ballistic/revolver.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 0882277de8f..fc777fd4c35 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -32,10 +32,6 @@ update_icon() chamber_round(0) - if(unique_rename) - if(istype(A, /obj/item/weapon/pen)) - rename_weapon(user) - /obj/item/weapon/gun/ballistic/revolver/attack_self(mob/living/user) var/num_unloaded = 0 chambered = null From 01d42325705d7b4f78185b8657b3589cb5ee90b6 Mon Sep 17 00:00:00 2001 From: Mervill Date: Wed, 30 Nov 2016 19:23:15 -0800 Subject: [PATCH 04/10] Remove slash from end of type refs/defs --- code/datums/mutations.dm | 2 +- code/game/area/Space_Station_13_areas.dm | 8 ++++---- code/game/area/areas/ruins.dm | 2 +- code/game/gamemodes/gang/recaller.dm | 2 +- code/game/gamemodes/malfunction/Malf_Modules.dm | 4 ++-- code/game/machinery/computer/arcade.dm | 2 +- code/game/machinery/syndicatebomb.dm | 8 ++++---- code/game/objects/items/devices/radio/encryptionkey.dm | 2 +- code/game/objects/items/stacks/medical.dm | 2 +- code/game/objects/items/stacks/rods.dm | 2 +- code/game/objects/items/weapons/storage/backpack.dm | 2 +- code/game/objects/items/weapons/storage/belt.dm | 4 ++-- code/game/objects/items/weapons/storage/uplink_kits.dm | 4 ++-- code/game/objects/items/weapons/twohanded.dm | 2 +- code/game/objects/items/weapons/weaponry.dm | 2 +- code/game/objects/structures/fluff.dm | 2 +- code/game/objects/weapons.dm | 2 +- code/modules/atmospherics/gasmixtures/gas_types.dm | 2 +- code/modules/events/wizard/aid.dm | 4 ++-- code/modules/events/wizard/blobies.dm | 2 +- code/modules/events/wizard/curseditems.dm | 4 ++-- code/modules/events/wizard/departmentrevolt.dm | 2 +- code/modules/events/wizard/fakeexplosion.dm | 2 +- code/modules/events/wizard/ghost.dm | 2 +- code/modules/events/wizard/greentext.dm | 2 +- code/modules/events/wizard/imposter.dm | 2 +- code/modules/events/wizard/invincible.dm | 2 +- code/modules/events/wizard/lava.dm | 4 ++-- code/modules/events/wizard/magicarp.dm | 4 ++-- code/modules/events/wizard/petsplosion.dm | 4 ++-- code/modules/events/wizard/race.dm | 2 +- code/modules/events/wizard/rpgloot.dm | 2 +- code/modules/events/wizard/shuffle.dm | 8 ++++---- code/modules/events/wizard/summons.dm | 4 ++-- code/modules/flufftext/Hallucination.dm | 2 +- code/modules/mining/lavaland/ash_flora.dm | 2 +- code/modules/mining/machine_vending.dm | 2 +- code/modules/mob/living/carbon/carbon_defines.dm | 2 +- .../mob/living/simple_animal/hostile/mining_mobs.dm | 4 ++-- code/modules/mob/living/simple_animal/hostile/stickman.dm | 2 +- .../modules/modular_computers/NTNet/NTNRC/conversation.dm | 2 +- code/modules/modular_computers/NTNet/NTNet.dm | 2 +- .../modular_computers/file_system/computer_file.dm | 2 +- code/modules/paperwork/contract.dm | 2 +- code/modules/power/singularity/generator.dm | 2 +- code/modules/projectiles/ammunition/ammo_casings.dm | 2 +- code/modules/projectiles/guns/magic/staff.dm | 2 +- code/modules/projectiles/guns/magic/wand.dm | 2 +- code/modules/projectiles/projectile/reusable.dm | 2 +- code/modules/reagents/chemistry/recipes/pyrotechnics.dm | 2 +- code/modules/spells/spell_types/touch_attacks.dm | 2 +- code/modules/surgery/bodyparts/helpers.dm | 4 ++-- 52 files changed, 72 insertions(+), 72 deletions(-) diff --git a/code/datums/mutations.dm b/code/datums/mutations.dm index d8eda098861..1dddd656616 100644 --- a/code/datums/mutations.dm +++ b/code/datums/mutations.dm @@ -1,6 +1,6 @@ /var/global/list/mutations_list = list() -/datum/mutation/ +/datum/mutation var/name diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index 9e4d1cc228e..342ccec825c 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -16,11 +16,11 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /*-----------------------------------------------------------------------------*/ -/area/engine/ +/area/engine /area/ai_monitored //stub defined ai_monitored.dm -/area/ai_monitored/turret_protected/ +/area/ai_monitored/turret_protected /area/arrival requires_power = 0 @@ -642,7 +642,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Mech Bay" icon_state = "yellow" -/area/janitor/ +/area/janitor name = "Custodial Closet" icon_state = "janitor" flags = NONE @@ -798,7 +798,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "storage" -/area/ai_monitored/turret_protected/ +/area/ai_monitored/turret_protected ambientsounds = list('sound/ambience/ambimalf.ogg') /area/ai_monitored/turret_protected/ai_upload diff --git a/code/game/area/areas/ruins.dm b/code/game/area/areas/ruins.dm index 2bb051630ee..fcca1edcfea 100644 --- a/code/game/area/areas/ruins.dm +++ b/code/game/area/areas/ruins.dm @@ -1,6 +1,6 @@ //Parent types -/area/ruin/ +/area/ruin name = "\improper Unexplored Location" icon_state = "away" has_gravity = 1 diff --git a/code/game/gamemodes/gang/recaller.dm b/code/game/gamemodes/gang/recaller.dm index 375075ce85e..e758d1732d4 100644 --- a/code/game/gamemodes/gang/recaller.dm +++ b/code/game/gamemodes/gang/recaller.dm @@ -250,7 +250,7 @@ if(gang.bosses.len < 3) usr << "Gangtools allow you to promote a gangster to be your Lieutenant, enabling them to recruit and purchase items like you. Simply have them register the gangtool. You may promote up to [3-gang.bosses.len] more Lieutenants" else - item_type = /obj/item/device/gangtool/spare/ + item_type = /obj/item/device/gangtool/spare pointcost = 10 if("dominator") if(!gang.dom_attempts) diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index cdb45b7f346..aebdaccfba4 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -9,10 +9,10 @@ var/power_type -/datum/AI_Module/large/ +/datum/AI_Module/large uses = 1 -/datum/AI_Module/small/ +/datum/AI_Module/small uses = 5 /datum/AI_Module/large/nuke_station diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 2da4add41da..50689b6cf47 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -1,4 +1,4 @@ -/obj/machinery/computer/arcade/ +/obj/machinery/computer/arcade name = "random arcade" desc = "random arcade machine" icon_state = "arcade" diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index e124f26a549..4caeb17d40b 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -219,12 +219,12 @@ name = "training bomb" icon_state = "training-bomb" desc = "A salvaged syndicate device gutted of its explosives to be used as a training aid for aspiring bomb defusers." - payload = /obj/item/weapon/bombcore/training/ + payload = /obj/item/weapon/bombcore/training /obj/machinery/syndicatebomb/badmin name = "generic summoning badmin bomb" desc = "Oh god what is in this thing?" - payload = /obj/item/weapon/bombcore/badmin/summon/ + payload = /obj/item/weapon/bombcore/badmin/summon /obj/machinery/syndicatebomb/badmin/clown name = "clown bomb" @@ -234,7 +234,7 @@ beepsound = 'sound/items/bikehorn.ogg' /obj/machinery/syndicatebomb/badmin/varplosion - payload = /obj/item/weapon/bombcore/badmin/explosion/ + payload = /obj/item/weapon/bombcore/badmin/explosion /obj/machinery/syndicatebomb/empty name = "bomb" @@ -333,7 +333,7 @@ qdel(B) qdel(src) -/obj/item/weapon/bombcore/badmin/summon/ +/obj/item/weapon/bombcore/badmin/summon var/summon_path = /obj/item/weapon/reagent_containers/food/snacks/cookie var/amt_summon = 1 diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 5d03a509327..8d8b66db8f2 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -1,5 +1,5 @@ -/obj/item/device/encryptionkey/ +/obj/item/device/encryptionkey name = "standard encryption key" desc = "An encryption key for a radio headset. Has no special codes in it. WHY DOES IT EXIST? ASK NANOTRASEN." icon = 'icons/obj/radio.dmi' diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index e7f16358c8b..543ac42c375 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -125,7 +125,7 @@ desc = "A roll of cloth roughly cut from something that can stop bleeding, but does not heal wounds." stop_bleeding = 900 -/obj/item/stack/medical/gauze/cyborg/ +/obj/item/stack/medical/gauze/cyborg materials = list() is_cyborg = 1 cost = 250 diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 15c576c6335..38f700ebd76 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -66,7 +66,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \ else return ..() -/obj/item/stack/rods/cyborg/ +/obj/item/stack/rods/cyborg materials = list() is_cyborg = 1 cost = 250 diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 2255627fe97..d65bb9d37cb 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -293,7 +293,7 @@ SSpersistence.new_secret_satchels -= src return ..() -/obj/item/weapon/storage/backpack/satchel/flat/secret/ +/obj/item/weapon/storage/backpack/satchel/flat/secret var/list/reward_one_of_these = list() //Intended for map editing var/list/reward_all_of_these = list() //use paths! var/revealed = 0 diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 07b82aceab8..8f2d4faefab 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -33,7 +33,7 @@ /obj/item/device/analyzer, /obj/item/weapon/extinguisher/mini, /obj/item/device/radio, - /obj/item/clothing/gloves/ + /obj/item/clothing/gloves ) /obj/item/weapon/storage/belt/utility/chief @@ -355,7 +355,7 @@ /obj/item/weapon/soap, /obj/item/weapon/holosign_creator, /obj/item/key/janitor, - /obj/item/clothing/gloves/ + /obj/item/clothing/gloves ) /obj/item/weapon/storage/belt/bandolier diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 2222df6ce95..a1006458143 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/storage/box/syndicate/ +/obj/item/weapon/storage/box/syndicate /obj/item/weapon/storage/box/syndicate/New() ..() @@ -131,7 +131,7 @@ new /obj/item/weapon/grenade/plastic/c4 (src) // 1 tc new /obj/item/weapon/card/emag(src) // 6 tc return - + if("ninja") // 33 tc worth new /obj/item/weapon/katana(src) // Unique , hard to tell how much tc this is worth. 8 tc? new /obj/item/weapon/implanter/adrenalin(src) // 8 tc diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index b0701436967..44734e35ce9 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -128,7 +128,7 @@ ///////////Two hand required objects/////////////// //This is for objects that require two hands to even pick up -/obj/item/weapon/twohanded/required/ +/obj/item/weapon/twohanded/required w_class = 5 /obj/item/weapon/twohanded/required/attack_self() diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 4e162181db2..527052f52bc 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -559,7 +559,7 @@ var/highlander_claymores = 0 /mob/living/simple_animal/hostile/poison/bees/, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/cockroach, - /obj/item/queen_bee/ + /obj/item/queen_bee )) /obj/item/weapon/melee/flyswatter/afterattack(atom/target, mob/user, proximity_flag) diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm index aed387bf300..eef73b53451 100644 --- a/code/game/objects/structures/fluff.dm +++ b/code/game/objects/structures/fluff.dm @@ -71,7 +71,7 @@ icon_state = "drake_statue_falling" -/obj/structure/fluff/bus/ +/obj/structure/fluff/bus name = "bus" desc = "GO TO SCHOOL. READ A BOOK." icon = 'icons/obj/bus.dmi' diff --git a/code/game/objects/weapons.dm b/code/game/objects/weapons.dm index e85375ba5ed..eb1a025e85c 100644 --- a/code/game/objects/weapons.dm +++ b/code/game/objects/weapons.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/ +/obj/item/weapon name = "weapon" icon = 'icons/obj/weapons.dmi' diff --git a/code/modules/atmospherics/gasmixtures/gas_types.dm b/code/modules/atmospherics/gasmixtures/gas_types.dm index 439026c2551..74f025e93e3 100644 --- a/code/modules/atmospherics/gasmixtures/gas_types.dm +++ b/code/modules/atmospherics/gasmixtures/gas_types.dm @@ -87,7 +87,7 @@ var/list/hardcoded_gases = list("o2","n2","co2","plasma") //the main four gases, specific_heat = 20 name = "BZ" -/obj/effect/overlay/gas/ +/obj/effect/overlay/gas icon = 'icons/effects/tile_effects.dmi' mouse_opacity = 0 layer = FLY_LAYER diff --git a/code/modules/events/wizard/aid.dm b/code/modules/events/wizard/aid.dm index b472ab9796d..fc37888411e 100644 --- a/code/modules/events/wizard/aid.dm +++ b/code/modules/events/wizard/aid.dm @@ -3,7 +3,7 @@ /datum/round_event_control/wizard/robelesscasting //EI NUDTH! name = "Robeless Casting" weight = 2 - typepath = /datum/round_event/wizard/robelesscasting/ + typepath = /datum/round_event/wizard/robelesscasting max_occurrences = 1 earliest_start = 0 @@ -24,7 +24,7 @@ /datum/round_event_control/wizard/improvedcasting //blink x5 disintergrate x5 here I come! name = "Improved Casting" weight = 3 - typepath = /datum/round_event/wizard/improvedcasting/ + typepath = /datum/round_event/wizard/improvedcasting max_occurrences = 4 //because that'd be max level spells earliest_start = 0 diff --git a/code/modules/events/wizard/blobies.dm b/code/modules/events/wizard/blobies.dm index 2f9f04053fd..6953370e458 100644 --- a/code/modules/events/wizard/blobies.dm +++ b/code/modules/events/wizard/blobies.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/blobies //avast! name = "Zombie Outbreak" weight = 3 - typepath = /datum/round_event/wizard/blobies/ + typepath = /datum/round_event/wizard/blobies max_occurrences = 3 earliest_start = 12000 // 20 minutes (gotta get some bodies made!) diff --git a/code/modules/events/wizard/curseditems.dm b/code/modules/events/wizard/curseditems.dm index cb0add4374d..1e24e29369b 100644 --- a/code/modules/events/wizard/curseditems.dm +++ b/code/modules/events/wizard/curseditems.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/cursed_items //fashion disasters name = "Cursed Items" weight = 3 - typepath = /datum/round_event/wizard/cursed_items/ + typepath = /datum/round_event/wizard/cursed_items max_occurrences = 3 earliest_start = 0 @@ -24,7 +24,7 @@ if("swords") loadout[5] = /obj/item/weapon/katana/cursed if("bigfatdoobie") - loadout[4] = /obj/item/clothing/mask/cigarette/rollie/trippy/ + loadout[4] = /obj/item/clothing/mask/cigarette/rollie/trippy ruins_spaceworthiness = 1 if("boxing") loadout[4] = /obj/item/clothing/mask/luchador diff --git a/code/modules/events/wizard/departmentrevolt.dm b/code/modules/events/wizard/departmentrevolt.dm index 0408f97169a..0774aaaeb4d 100644 --- a/code/modules/events/wizard/departmentrevolt.dm +++ b/code/modules/events/wizard/departmentrevolt.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/deprevolt //stationwide! name = "Departmental Uprising" weight = 0 //An order that requires order in a round of chaos was maybe not the best idea. Requiescat in pace departmental uprising August 2014 - March 2015 - typepath = /datum/round_event/wizard/deprevolt/ + typepath = /datum/round_event/wizard/deprevolt max_occurrences = 1 earliest_start = 0 diff --git a/code/modules/events/wizard/fakeexplosion.dm b/code/modules/events/wizard/fakeexplosion.dm index 3b2dfe80a06..770f876e688 100644 --- a/code/modules/events/wizard/fakeexplosion.dm +++ b/code/modules/events/wizard/fakeexplosion.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/fake_explosion //Oh no the station is gone! name = "Fake Nuclear Explosion" weight = 0 //Badmin exclusive now because once it's expected its not funny - typepath = /datum/round_event/wizard/fake_explosion/ + typepath = /datum/round_event/wizard/fake_explosion max_occurrences = 1 earliest_start = 0 diff --git a/code/modules/events/wizard/ghost.dm b/code/modules/events/wizard/ghost.dm index bb60ee25214..9f0e41d8856 100644 --- a/code/modules/events/wizard/ghost.dm +++ b/code/modules/events/wizard/ghost.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/ghost //The spook is real name = "G-G-G-Ghosts!" weight = 3 - typepath = /datum/round_event/wizard/ghost/ + typepath = /datum/round_event/wizard/ghost max_occurrences = 5 earliest_start = 0 diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index 4579f917e66..d2fd7d9a639 100644 --- a/code/modules/events/wizard/greentext.dm +++ b/code/modules/events/wizard/greentext.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/greentext //Gotta have it! name = "Greentext" weight = 4 - typepath = /datum/round_event/wizard/greentext/ + typepath = /datum/round_event/wizard/greentext max_occurrences = 1 earliest_start = 0 diff --git a/code/modules/events/wizard/imposter.dm b/code/modules/events/wizard/imposter.dm index 15b07a1c12d..b579ee834fb 100644 --- a/code/modules/events/wizard/imposter.dm +++ b/code/modules/events/wizard/imposter.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/imposter //Mirror Mania name = "Imposter Wizard" weight = 1 - typepath = /datum/round_event/wizard/imposter/ + typepath = /datum/round_event/wizard/imposter max_occurrences = 1 earliest_start = 0 diff --git a/code/modules/events/wizard/invincible.dm b/code/modules/events/wizard/invincible.dm index b2cc9a803b2..8bc43b158f4 100644 --- a/code/modules/events/wizard/invincible.dm +++ b/code/modules/events/wizard/invincible.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/invincible //Boolet Proof name = "Invincibility" weight = 3 - typepath = /datum/round_event/wizard/invincible/ + typepath = /datum/round_event/wizard/invincible max_occurrences = 5 earliest_start = 0 diff --git a/code/modules/events/wizard/lava.dm b/code/modules/events/wizard/lava.dm index 80d144688a4..f33fecf669c 100644 --- a/code/modules/events/wizard/lava.dm +++ b/code/modules/events/wizard/lava.dm @@ -1,11 +1,11 @@ /datum/round_event_control/wizard/lava //THE LEGEND NEVER DIES name = "The Floor Is LAVA!" weight = 2 - typepath = /datum/round_event/wizard/lava/ + typepath = /datum/round_event/wizard/lava max_occurrences = 3 earliest_start = 0 -/datum/round_event/wizard/lava/ +/datum/round_event/wizard/lava endWhen = 0 var/started = FALSE diff --git a/code/modules/events/wizard/magicarp.dm b/code/modules/events/wizard/magicarp.dm index aba0bccfb45..02663047287 100644 --- a/code/modules/events/wizard/magicarp.dm +++ b/code/modules/events/wizard/magicarp.dm @@ -1,11 +1,11 @@ /datum/round_event_control/wizard/magicarp //these fish is loaded name = "Magicarp" weight = 1 - typepath = /datum/round_event/wizard/magicarp/ + typepath = /datum/round_event/wizard/magicarp max_occurrences = 1 earliest_start = 0 -/datum/round_event/wizard/magicarp/ +/datum/round_event/wizard/magicarp announceWhen = 3 startWhen = 50 diff --git a/code/modules/events/wizard/petsplosion.dm b/code/modules/events/wizard/petsplosion.dm index b5a2be80b02..30d6d631ac5 100644 --- a/code/modules/events/wizard/petsplosion.dm +++ b/code/modules/events/wizard/petsplosion.dm @@ -1,11 +1,11 @@ /datum/round_event_control/wizard/petsplosion //the horror name = "Petsplosion" weight = 2 - typepath = /datum/round_event/wizard/petsplosion/ + typepath = /datum/round_event/wizard/petsplosion max_occurrences = 1 //Exponential growth is nothing to sneeze at! earliest_start = 0 -/datum/round_event/wizard/petsplosion/ +/datum/round_event/wizard/petsplosion endWhen = 61 //1 minute (+1 tick for endWhen not to interfere with tick) var/countdown = 0 diff --git a/code/modules/events/wizard/race.dm b/code/modules/events/wizard/race.dm index cb4f4896f1b..46f420e380e 100644 --- a/code/modules/events/wizard/race.dm +++ b/code/modules/events/wizard/race.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/race //Lizard Wizard? Lizard Wizard. name = "Race Swap" weight = 2 - typepath = /datum/round_event/wizard/race/ + typepath = /datum/round_event/wizard/race max_occurrences = 5 earliest_start = 0 diff --git a/code/modules/events/wizard/rpgloot.dm b/code/modules/events/wizard/rpgloot.dm index cacf2ba4fce..92cda4a8e12 100644 --- a/code/modules/events/wizard/rpgloot.dm +++ b/code/modules/events/wizard/rpgloot.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/rpgloot //its time to minmax your shit name = "RPG Loot" weight = 3 - typepath = /datum/round_event/wizard/rpgloot/ + typepath = /datum/round_event/wizard/rpgloot max_occurrences = 1 earliest_start = 0 diff --git a/code/modules/events/wizard/shuffle.dm b/code/modules/events/wizard/shuffle.dm index 68777664d81..145c099066a 100644 --- a/code/modules/events/wizard/shuffle.dm +++ b/code/modules/events/wizard/shuffle.dm @@ -4,7 +4,7 @@ /datum/round_event_control/wizard/shuffleloc //Somewhere an AI is crying name = "Change Places!" weight = 2 - typepath = /datum/round_event/wizard/shuffleloc/ + typepath = /datum/round_event/wizard/shuffleloc max_occurrences = 5 earliest_start = 0 @@ -40,7 +40,7 @@ /datum/round_event_control/wizard/shufflenames //Face/off joke name = "Change Faces!" weight = 4 - typepath = /datum/round_event/wizard/shufflenames/ + typepath = /datum/round_event/wizard/shufflenames max_occurrences = 5 earliest_start = 0 @@ -74,7 +74,7 @@ /datum/round_event_control/wizard/shuffleminds //Basically Mass Ranged Mindswap name = "Change Minds!" weight = 1 - typepath = /datum/round_event/wizard/shuffleminds/ + typepath = /datum/round_event/wizard/shuffleminds max_occurrences = 3 earliest_start = 0 @@ -91,7 +91,7 @@ shuffle(mobs) - var/obj/effect/proc_holder/spell/targeted/mind_transfer/swapper = new /obj/effect/proc_holder/spell/targeted/mind_transfer/ + var/obj/effect/proc_holder/spell/targeted/mind_transfer/swapper = new /obj/effect/proc_holder/spell/targeted/mind_transfer while(mobs.len > 1) var/mob/living/carbon/human/H = pick(mobs) mobs -= H diff --git a/code/modules/events/wizard/summons.dm b/code/modules/events/wizard/summons.dm index 7b3e27e16c6..dfdcd889cac 100644 --- a/code/modules/events/wizard/summons.dm +++ b/code/modules/events/wizard/summons.dm @@ -1,7 +1,7 @@ /datum/round_event_control/wizard/summonguns //The Classic name = "Summon Guns" weight = 1 - typepath = /datum/round_event/wizard/summonguns/ + typepath = /datum/round_event/wizard/summonguns max_occurrences = 1 earliest_start = 0 @@ -16,7 +16,7 @@ /datum/round_event_control/wizard/summonmagic //The Somewhat Less Classic name = "Summon Magic" weight = 1 - typepath = /datum/round_event/wizard/summonmagic/ + typepath = /datum/round_event/wizard/summonmagic max_occurrences = 1 earliest_start = 0 diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index bdce37094ca..96fe7d6c232 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -11,7 +11,7 @@ Gunshots/explosions/opening doors/less rare audio (done) */ -/mob/living/carbon/ +/mob/living/carbon var/image/halimage var/image/halbody var/obj/halitem diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index f1d0192c094..42eff6e75a6 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -150,7 +150,7 @@ H.visible_message("[H] steps on a cactus!", \ "You step on a cactus!") -/obj/item/weapon/reagent_containers/food/snacks/ash_flora/ +/obj/item/weapon/reagent_containers/food/snacks/ash_flora name = "mushroom shavings" desc = "Some shavings from a tall mushroom. With enough, might serve as a bowl." icon = 'icons/obj/lavaland/ash_flora.dmi' diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index d35d747ec07..6b42ae20595 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -55,7 +55,7 @@ new /datum/data/mining_equipment("Jump Boots", /obj/item/clothing/shoes/bhop, 2500), ) -/datum/data/mining_equipment/ +/datum/data/mining_equipment var/equipment_name = "generic" var/equipment_path = null var/cost = 0 diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 6d9fb617145..e163cb6dc35 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -31,7 +31,7 @@ var/co2overloadtime = null var/temperature_resistance = T0C+75 has_limbs = 1 - var/obj/item/weapon/reagent_containers/food/snacks/meat/slab/type_of_meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/ + var/obj/item/weapon/reagent_containers/food/snacks/meat/slab/type_of_meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab var/list/obj/effect/proc_holder/alien/abilities = list() var/gib_type = /obj/effect/decal/cleanable/blood/gibs diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index 37508393d7f..d881fb07d7e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -1,4 +1,4 @@ -/mob/living/simple_animal/hostile/asteroid/ +/mob/living/simple_animal/hostile/asteroid vision_range = 2 atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) faction = list("mining") @@ -479,7 +479,7 @@ if(icon_state != icon_aggro) icon_state = icon_aggro -/obj/effect/goliath_tentacle/ +/obj/effect/goliath_tentacle name = "Goliath tentacle" icon = 'icons/mob/lavaland/lavaland_monsters.dmi' icon_state = "Goliath_tentacle" diff --git a/code/modules/mob/living/simple_animal/hostile/stickman.dm b/code/modules/mob/living/simple_animal/hostile/stickman.dm index 2d9b3d189ff..5d56f16a336 100644 --- a/code/modules/mob/living/simple_animal/hostile/stickman.dm +++ b/code/modules/mob/living/simple_animal/hostile/stickman.dm @@ -29,7 +29,7 @@ faction = list("hostile","stickman") check_friendly_fire = 1 status_flags = CANPUSH - var/datum/action/boss/wizard_summon_minions/changesummons = /datum/action/boss/wizard_summon_minions/ + var/datum/action/boss/wizard_summon_minions/changesummons = /datum/action/boss/wizard_summon_minions var/summoned_by_wizard = 0 /mob/living/simple_animal/hostile/stickman/ranged diff --git a/code/modules/modular_computers/NTNet/NTNRC/conversation.dm b/code/modules/modular_computers/NTNet/NTNRC/conversation.dm index 075bef313fe..e46f77cf0ac 100644 --- a/code/modules/modular_computers/NTNet/NTNRC/conversation.dm +++ b/code/modules/modular_computers/NTNet/NTNRC/conversation.dm @@ -1,6 +1,6 @@ var/global/static/ntnrc_uid = 0 -/datum/ntnet_conversation/ +/datum/ntnet_conversation var/id = null var/title = "Untitled Conversation" var/datum/computer_file/program/chatclient/operator // "Administrator" of this channel. Creator starts as channel's operator, diff --git a/code/modules/modular_computers/NTNet/NTNet.dm b/code/modules/modular_computers/NTNet/NTNet.dm index b80668361b8..6816a402c70 100644 --- a/code/modules/modular_computers/NTNet/NTNet.dm +++ b/code/modules/modular_computers/NTNet/NTNet.dm @@ -2,7 +2,7 @@ var/global/datum/ntnet/ntnet_global = new() // This is the NTNet datum. There can be only one NTNet datum in game at once. Modular computers read data from this. -/datum/ntnet/ +/datum/ntnet var/list/relays = list() var/list/logs = list() var/list/available_station_software = list() diff --git a/code/modules/modular_computers/file_system/computer_file.dm b/code/modules/modular_computers/file_system/computer_file.dm index c2b809ad46a..15ae12a2859 100644 --- a/code/modules/modular_computers/file_system/computer_file.dm +++ b/code/modules/modular_computers/file_system/computer_file.dm @@ -1,6 +1,6 @@ var/global/file_uid = 0 -/datum/computer_file/ +/datum/computer_file var/filename = "NewFile" // Placeholder. No spacebars var/filetype = "XXX" // File full names are [filename].[filetype] so like NewFile.XXX in this case var/size = 1 // File size in GQ. Integers only! diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index 68501d21260..0762e2fd597 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -94,7 +94,7 @@ target = nTarget update_text() -/obj/item/weapon/paper/contract/infernal/ +/obj/item/weapon/paper/contract/infernal /obj/item/weapon/paper/contract/infernal/suicide_act(mob/user) if(signed && (user == target.current) && istype(user,/mob/living/carbon/human/)) diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm index 38c5b81c650..c1aba816b87 100644 --- a/code/modules/power/singularity/generator.dm +++ b/code/modules/power/singularity/generator.dm @@ -1,5 +1,5 @@ /////SINGULARITY SPAWNER -/obj/machinery/the_singularitygen/ +/obj/machinery/the_singularitygen name = "Gravitational Singularity Generator" desc = "An Odd Device which produces a Gravitational Singularity when set up." icon = 'icons/obj/singularity.dmi' diff --git a/code/modules/projectiles/ammunition/ammo_casings.dm b/code/modules/projectiles/ammunition/ammo_casings.dm index 791b913cfc5..515051e10bb 100644 --- a/code/modules/projectiles/ammunition/ammo_casings.dm +++ b/code/modules/projectiles/ammunition/ammo_casings.dm @@ -208,7 +208,7 @@ variance = 25 -/obj/item/ammo_casing/shotgun/improvised/overload/ +/obj/item/ammo_casing/shotgun/improvised/overload name = "overloaded improvised shell" desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards. This one has been packed with even more \ propellant. It's like playing russian roulette, with a shotgun." diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm index a47c14d29a9..ba81adbae21 100644 --- a/code/modules/projectiles/guns/magic/staff.dm +++ b/code/modules/projectiles/guns/magic/staff.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/magic/staff/ +/obj/item/weapon/gun/magic/staff slot_flags = SLOT_BACK /obj/item/weapon/gun/magic/staff/change diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index 57c3cfdf6d5..6f69cf73666 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/gun/magic/wand/ +/obj/item/weapon/gun/magic/wand name = "wand of nothing" desc = "It's not just a stick, it's a MAGIC stick!" ammo_type = /obj/item/ammo_casing/magic diff --git a/code/modules/projectiles/projectile/reusable.dm b/code/modules/projectiles/projectile/reusable.dm index abb4af2296c..9bcad0db7ba 100644 --- a/code/modules/projectiles/projectile/reusable.dm +++ b/code/modules/projectiles/projectile/reusable.dm @@ -1,7 +1,7 @@ /obj/item/projectile/bullet/reusable name = "reusable bullet" desc = "How do you even reuse a bullet?" - var/ammo_type = /obj/item/ammo_casing/caseless/ + var/ammo_type = /obj/item/ammo_casing/caseless var/dropped = 0 impact_effect_type = null diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index 4b548a50e85..9da53bc87a8 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -135,7 +135,7 @@ PoolOrNew(/obj/effect/hotspot, turf) holder.chem_temp = 1000 // hot as shit -/datum/chemical_reaction/reagent_explosion/methsplosion/ +/datum/chemical_reaction/reagent_explosion/methsplosion name = "Meth explosion" id = "methboom1" results = list("methboom1" = 1) diff --git a/code/modules/spells/spell_types/touch_attacks.dm b/code/modules/spells/spell_types/touch_attacks.dm index 7cc593a1d0d..bc9df91d058 100644 --- a/code/modules/spells/spell_types/touch_attacks.dm +++ b/code/modules/spells/spell_types/touch_attacks.dm @@ -1,4 +1,4 @@ -/obj/effect/proc_holder/spell/targeted/touch/ +/obj/effect/proc_holder/spell/targeted/touch var/hand_path = "/obj/item/weapon/melee/touch_attack" var/obj/item/weapon/melee/touch_attack/attached_hand = null invocation_type = "none" //you scream on connecting, not summoning diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index c58526b347b..85d4e87055f 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -245,12 +245,12 @@ if((!O.use_digitigrade && swap_back == FALSE) || (O.use_digitigrade && swap_back == TRUE)) if(O.body_part == LEG_LEFT) if(swap_back == TRUE) - N = new /obj/item/bodypart/l_leg/ + N = new /obj/item/bodypart/l_leg else N = new /obj/item/bodypart/l_leg/digitigrade else if(O.body_part == LEG_RIGHT) if(swap_back == TRUE) - N = new /obj/item/bodypart/r_leg/ + N = new /obj/item/bodypart/r_leg else N = new /obj/item/bodypart/r_leg/digitigrade if(!N) From d83f68ee667843fd0cbcf3dd33139317cb8178a4 Mon Sep 17 00:00:00 2001 From: Mervill Date: Wed, 30 Nov 2016 20:08:24 -0800 Subject: [PATCH 05/10] das ist verboten --- code/modules/power/port_gen.dm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index e6214771ca6..4d05e59f7eb 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -332,8 +332,9 @@ display round(lastgen) and plasmatank amount power_gen = 15000 time_per_sheet = 85 board_path = /obj/item/weapon/circuitboard/machine/pacman/super - overheat() - explosion(src.loc, 3, 3, 3, -1) + +/obj/machinery/power/port_gen/pacman/super/overheat() + explosion(src.loc, 3, 3, 3, -1) /obj/machinery/power/port_gen/pacman/mrs name = "\improper M.R.S.P.A.C.M.A.N.-type portable generator" @@ -342,5 +343,6 @@ display round(lastgen) and plasmatank amount power_gen = 40000 time_per_sheet = 80 board_path = /obj/item/weapon/circuitboard/machine/pacman/mrs - overheat() - explosion(src.loc, 4, 4, 4, -1) + +/obj/machinery/power/port_gen/pacman/mrs/overheat() + explosion(src.loc, 4, 4, 4, -1) From 726a527244390724e12d038e78be7a69d506bd7d Mon Sep 17 00:00:00 2001 From: Mervill Date: Wed, 30 Nov 2016 20:28:04 -0800 Subject: [PATCH 06/10] Ventcrawler var now uses a define for it's options --- code/__DEFINES/misc.dm | 5 +++++ code/game/gamemodes/devil/true_devil/_true_devil.dm | 2 +- code/game/gamemodes/miniantags/abduction/gland.dm | 2 +- code/game/gamemodes/miniantags/borer/borer.dm | 2 +- code/game/gamemodes/miniantags/bot_swarm/swarmer.dm | 2 +- code/game/gamemodes/miniantags/morph/morph.dm | 2 +- code/modules/mob/living/carbon/alien/alien.dm | 2 +- code/modules/mob/living/carbon/alien/humanoid/queen.dm | 2 +- code/modules/mob/living/carbon/monkey/monkey.dm | 2 +- code/modules/mob/living/simple_animal/friendly/butterfly.dm | 2 +- code/modules/mob/living/simple_animal/friendly/cat.dm | 2 +- code/modules/mob/living/simple_animal/friendly/cockroach.dm | 2 +- code/modules/mob/living/simple_animal/friendly/crab.dm | 2 +- .../mob/living/simple_animal/friendly/drone/_drone.dm | 2 +- .../living/simple_animal/friendly/drone/extra_drone_types.dm | 2 +- .../mob/living/simple_animal/friendly/drone/interaction.dm | 2 +- .../mob/living/simple_animal/friendly/farm_animals.dm | 4 ++-- code/modules/mob/living/simple_animal/friendly/lizard.dm | 2 +- code/modules/mob/living/simple_animal/friendly/mouse.dm | 2 +- .../modules/mob/living/simple_animal/hostile/giant_spider.dm | 2 +- code/modules/mob/living/simple_animal/hostile/headcrab.dm | 2 +- .../modules/mob/living/simple_animal/hostile/killertomato.dm | 2 +- .../mob/living/simple_animal/hostile/megafauna/colossus.dm | 2 +- code/modules/mob/living/simple_animal/hostile/mining_mobs.dm | 2 +- code/modules/mob/living/simple_animal/hostile/mushroom.dm | 2 +- .../mob/living/simple_animal/hostile/retaliate/bat.dm | 2 +- .../mob/living/simple_animal/hostile/retaliate/frog.dm | 2 +- code/modules/mob/living/simple_animal/slime/slime.dm | 2 +- 28 files changed, 33 insertions(+), 28 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index f1c88130f75..3f00f3f7fb5 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -591,3 +591,8 @@ var/global/list/ghost_others_options = list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define TIMER_NORMAL "normal" #define TIMER_UNIQUE "unique" + +// Ventcrawling +#define VENTCRAWLER_NONE 0 +#define VENTCRAWLER_NUDE 1 +#define VENTCRAWLER_ALWAYS 2 diff --git a/code/game/gamemodes/devil/true_devil/_true_devil.dm b/code/game/gamemodes/devil/true_devil/_true_devil.dm index daa84b6b34d..e108e5d7d23 100644 --- a/code/game/gamemodes/devil/true_devil/_true_devil.dm +++ b/code/game/gamemodes/devil/true_devil/_true_devil.dm @@ -11,7 +11,7 @@ gender = NEUTER health = 350 maxHealth = 350 - ventcrawler = 0 + ventcrawler = VENTCRAWLER_NONE density = 1 pass_flags = 0 var/ascended = 0 diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm index 5f95588ac4d..ead066e8ccd 100644 --- a/code/game/gamemodes/miniantags/abduction/gland.dm +++ b/code/game/gamemodes/miniantags/abduction/gland.dm @@ -118,7 +118,7 @@ /obj/item/organ/gland/ventcrawling/activate() owner << "You feel very stretchy." - owner.ventcrawler = 2 + owner.ventcrawler = VENTCRAWLER_ALWAYS return diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm index d47ecbd8a0b..e35ab6b6bde 100644 --- a/code/game/gamemodes/miniantags/borer/borer.dm +++ b/code/game/gamemodes/miniantags/borer/borer.dm @@ -72,7 +72,7 @@ var/total_borer_hosts_needed = 10 pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_SMALL faction = list("creature") - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 maxbodytemp = 1500 diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index ca2dd8e5c25..03a81adeed4 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -93,7 +93,7 @@ AIStatus = AI_OFF pass_flags = PASSTABLE mob_size = MOB_SIZE_TINY - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS ranged = 1 projectiletype = /obj/item/projectile/beam/disabler ranged_cooldown_time = 20 diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm index 5450ff9a9fe..7dd333eb5f7 100644 --- a/code/game/gamemodes/miniantags/morph/morph.dm +++ b/code/game/gamemodes/miniantags/morph/morph.dm @@ -15,7 +15,7 @@ stop_automated_movement = 1 status_flags = CANPUSH pass_flags = PASSTABLE - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 maxHealth = 150 diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 42572b1c03c..e1cf5ade791 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -10,7 +10,7 @@ gender = FEMALE //All xenos are girls!! dna = null faction = list("alien") - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS languages_spoken = ALIEN languages_understood = ALIEN sight = SEE_MOBS diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index 5559ebffe01..0776679df1c 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -2,7 +2,7 @@ //Common stuffs for Praetorian and Queen icon = 'icons/mob/alienqueen.dmi' status_flags = 0 - ventcrawler = 0 //pull over that ass too fat + ventcrawler = VENTCRAWLER_NONE //pull over that ass too fat unique_name = 0 pixel_x = -16 bubble_icon = "alienroyal" diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 186a1d08ca7..15af40fa62a 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -8,7 +8,7 @@ pass_flags = PASSTABLE languages_spoken = MONKEY languages_understood = MONKEY - ventcrawler = 1 + ventcrawler = VENTCRAWLER_NUDE butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/monkey = 5, /obj/item/stack/sheet/animalhide/monkey = 1) type_of_meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/monkey gib_type = /obj/effect/decal/cleanable/blood/gibs diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm index a359d8810f0..869d067cd79 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm @@ -16,7 +16,7 @@ density = 0 movement_type = FLYING pass_flags = PASSTABLE | PASSGRILLE | PASSMOB - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY gold_core_spawnable = 2 verb_say = "flutters" diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index d9823b36322..61990c8e8f2 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -14,7 +14,7 @@ speak_chance = 1 turns_per_move = 5 see_in_dark = 6 - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE mob_size = MOB_SIZE_SMALL minbodytemp = 200 diff --git a/code/modules/mob/living/simple_animal/friendly/cockroach.dm b/code/modules/mob/living/simple_animal/friendly/cockroach.dm index fc4045ae569..1142f0ddafc 100644 --- a/code/modules/mob/living/simple_animal/friendly/cockroach.dm +++ b/code/modules/mob/living/simple_animal/friendly/cockroach.dm @@ -17,7 +17,7 @@ response_disarm = "shoos" response_harm = "splats" density = 0 - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS gold_core_spawnable = 2 var/squish_chance = 50 loot = list(/obj/effect/decal/cleanable/deadcockroach) diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index 9e3e2be0a6f..192651f1a75 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -16,7 +16,7 @@ response_harm = "stomps" stop_automated_movement = 1 friendly = "pinches" - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS var/obj/item/inventory_head var/obj/item/inventory_mask gold_core_spawnable = 2 diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index c236f0bd6f9..b84931b3816 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -27,7 +27,7 @@ unsuitable_atmos_damage = 0 wander = 0 speed = 0 - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS healable = 0 density = 0 pass_flags = PASSTABLE | PASSMOB diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index 93974faa899..d805ec7b36e 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -104,7 +104,7 @@ harm_intent_damage = 5 density = TRUE speed = 1 - ventcrawler = 0 + ventcrawler = VENTCRAWLER_NONE faction = list("ratvar") speak_emote = list("clanks", "clinks", "clunks", "clangs") verb_ask = "requests" diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm index 3bfefb165ab..60ae81bc93f 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm @@ -140,7 +140,7 @@ hacked = 1 mind.special_role = "hacked drone" seeStatic = 0 //I MUST SEE THEIR TERRIFIED FACES - ventcrawler = 0 //Again, balance + ventcrawler = VENTCRAWLER_NONE //Again, balance speed = 1 //gotta go slow message_admins("[src] ([src.key]) became a hacked drone hellbent on [clockwork ? "serving Ratvar" : "destroying the station"]!") else diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index e2a2c7ffc89..9751db4b4c2 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -175,7 +175,7 @@ attacktext = "kicks" health = 3 maxHealth = 3 - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS var/amount_grown = 0 pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY @@ -226,7 +226,7 @@ var/global/chicken_count = 0 attacktext = "kicks" health = 15 maxHealth = 15 - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS var/eggsleft = 0 var/eggsFertile = TRUE var/body_color diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index a9079e99134..b1d36ff2b9c 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -14,7 +14,7 @@ response_help = "pets" response_disarm = "shoos" response_harm = "stomps on" - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS density = 0 pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_SMALL diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 0ccee510e45..3dc0e000b6d 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -18,7 +18,7 @@ response_disarm = "gently pushes aside" response_harm = "splats" density = 0 - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY var/body_color //brown, gray and white, leave blank for random diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 52285f23a68..f6d9e0c1c81 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -42,7 +42,7 @@ var/busy = 0 pass_flags = PASSTABLE move_to_delay = 6 - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS attacktext = "bites" attack_sound = 'sound/weapons/bite.ogg' unique_name = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index cf528306b21..5443f76f458 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -19,7 +19,7 @@ obj_damage = 0 environment_smash = 0 speak_emote = list("squeaks") - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS var/datum/mind/origin var/egg_lain = 0 gold_core_spawnable = 1 //are you sure about this?? diff --git a/code/modules/mob/living/simple_animal/hostile/killertomato.dm b/code/modules/mob/living/simple_animal/hostile/killertomato.dm index 0cd0050c2b2..3273a8c3d91 100644 --- a/code/modules/mob/living/simple_animal/hostile/killertomato.dm +++ b/code/modules/mob/living/simple_animal/hostile/killertomato.dm @@ -18,7 +18,7 @@ melee_damage_upper = 12 attacktext = "slams" attack_sound = 'sound/weapons/punch1.ogg' - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS faction = list("plants") atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 1d871bed651..d47ca2ff075 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -608,7 +608,7 @@ Difficulty: Very Hard density = 0 movement_type = FLYING pass_flags = PASSTABLE | PASSGRILLE | PASSMOB - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY gold_core_spawnable = 0 verb_say = "warps" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index 37508393d7f..108663093f0 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -875,7 +875,7 @@ response_harm = "squishes" friendly = "pinches" a_intent = "help" - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS gold_core_spawnable = 2 stat_attack = 1 gender = NEUTER diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index 023774cf439..3e19b2de01e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -24,7 +24,7 @@ stat_attack = 2 mouse_opacity = 1 speed = 1 - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS robust_searching = 1 unique_name = 1 speak_emote = list("squeaks") diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm index 9684ec508b6..d2ebe6f0f95 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm @@ -23,7 +23,7 @@ attack_sound = 'sound/weapons/bite.ogg' obj_damage = 0 environment_smash = 0 - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY movement_type = FLYING speak_emote = list("squeaks") diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm index 81f40c3b9c6..0d93a7f2b46 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm @@ -17,7 +17,7 @@ response_disarm = "pokes" response_harm = "splats" density = 0 - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS faction = list("hostile") attack_sound = 'sound/effects/Reee.ogg' butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/nugget = 1) diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 6e22327d8a1..dcf9a98f51c 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -9,7 +9,7 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange", icon = 'icons/mob/slimes.dmi' icon_state = "grey baby slime" pass_flags = PASSTABLE - ventcrawler = 2 + ventcrawler = VENTCRAWLER_ALWAYS gender = NEUTER var/is_adult = 0 var/docile = 0 From 99c2de3093a4605fe324e0feb20bbf9868c43057 Mon Sep 17 00:00:00 2001 From: sybil-tgstation13 Date: Fri, 2 Dec 2016 10:25:29 +0000 Subject: [PATCH 07/10] Automatic changelog compile, [ci skip] --- html/changelog.html | 16 ++++++++++++++++ html/changelogs/.all_changelog.yml | 14 ++++++++++++++ html/changelogs/AutoChangeLog-pr-21584.yml | 6 ------ html/changelogs/AutoChangeLog-pr-21845.yml | 4 ---- html/changelogs/AutoChangeLog-pr-21853.yml | 4 ---- 5 files changed, 30 insertions(+), 14 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-21584.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-21845.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-21853.yml diff --git a/html/changelog.html b/html/changelog.html index e25bcf795c1..3a89cd16699 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,22 @@ -->
+

02 December 2016

+

Cobby updated:

+
    +
  • Removes the exploit that allowed you to bypass grabcooldowns with Ctrl+Click
  • +
+

PeopleAreStrange updated:

+
    +
  • Changed F7 to buildmode, F8 to Invismin (again). Removed stealthmin toggle
  • +
+

RemieRichards updated:

+
    +
  • Added a new lavaland "boss"
  • +
  • Hostile mobs will now find a new target if they failed to attack their current one for 30 seconds, this reduces cheese by simply making the mob find something else to do/someone to kill
  • +
  • Hostile mobs with search_objects will now regain that value after a certain amount of time (per-mob, base 3 seconds), this is because being attacked causes mobs with this var to turn it off, so they can run away, however it was literally never turned on which caused swarmers to get depression and never do anything.
  • +
+

30 November 2016

ANGRY CODER updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 42ebd1b40ac..f8574425d17 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -8180,3 +8180,17 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - rscadd: Added anti-armour launcher. A single-use rocket launcher capable of penetrating all but the heaviest of armour. Deals massively increased damage to cyborgs and mechs. +2016-12-02: + Cobby: + - bugfix: Removes the exploit that allowed you to bypass grabcooldowns with Ctrl+Click + PeopleAreStrange: + - tweak: Changed F7 to buildmode, F8 to Invismin (again). Removed stealthmin toggle + RemieRichards: + - rscadd: Added a new lavaland "boss" + - tweak: Hostile mobs will now find a new target if they failed to attack their + current one for 30 seconds, this reduces cheese by simply making the mob find + something else to do/someone to kill + - bugfix: Hostile mobs with search_objects will now regain that value after a certain + amount of time (per-mob, base 3 seconds), this is because being attacked causes + mobs with this var to turn it off, so they can run away, however it was literally + never turned on which caused swarmers to get depression and never do anything. diff --git a/html/changelogs/AutoChangeLog-pr-21584.yml b/html/changelogs/AutoChangeLog-pr-21584.yml deleted file mode 100644 index d0d931d632c..00000000000 --- a/html/changelogs/AutoChangeLog-pr-21584.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "RemieRichards" -delete-after: True -changes: - - rscadd: "Added a new lavaland \"boss\"" - - tweak: "Hostile mobs will now find a new target if they failed to attack their current one for 30 seconds, this reduces cheese by simply making the mob find something else to do/someone to kill" - - bugfix: "Hostile mobs with search_objects will now regain that value after a certain amount of time (per-mob, base 3 seconds), this is because being attacked causes mobs with this var to turn it off, so they can run away, however it was literally never turned on which caused swarmers to get depression and never do anything." diff --git a/html/changelogs/AutoChangeLog-pr-21845.yml b/html/changelogs/AutoChangeLog-pr-21845.yml deleted file mode 100644 index 3bd468c9ab6..00000000000 --- a/html/changelogs/AutoChangeLog-pr-21845.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "PeopleAreStrange" -delete-after: True -changes: - - tweak: "Changed F7 to buildmode, F8 to Invismin (again). Removed stealthmin toggle" diff --git a/html/changelogs/AutoChangeLog-pr-21853.yml b/html/changelogs/AutoChangeLog-pr-21853.yml deleted file mode 100644 index 6d3f84ddadf..00000000000 --- a/html/changelogs/AutoChangeLog-pr-21853.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Cobby" -delete-after: True -changes: - - bugfix: "Removes the exploit that allowed you to bypass grabcooldowns with Ctrl+Click" From 0fc959d694406c0aea2d4944b310791f5cb04c34 Mon Sep 17 00:00:00 2001 From: Joan Lung Date: Fri, 2 Dec 2016 06:56:31 -0500 Subject: [PATCH 08/10] Improves Geis binding resist (#21846) * Improves Geis binding resist * rrrrgh * FINE LIMIT IT OKAY --- .../clock_helpers/slab_abilities.dm | 126 +++++++++++++----- .../clock_scriptures/scripture_drivers.dm | 6 +- code/game/objects/buckling.dm | 5 +- code/game/objects/effects/overlays.dm | 6 + code/modules/mob/mob.dm | 4 + code/modules/mob/mob_movement.dm | 13 +- 6 files changed, 122 insertions(+), 38 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm index 45c69af7eca..f33c0fdd9eb 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm @@ -29,31 +29,40 @@ if(!isturf(T)) return TRUE - if(isliving(target) && ranged_ability_user.Adjacent(target)) - var/mob/living/L = target - if(is_servant_of_ratvar(L)) - if(L != ranged_ability_user) - ranged_ability_user << "\"[L.p_they(TRUE)] already serve[L.p_s()] Ratvar. [text2ratvar("Perhaps [ranged_ability_user.p_theyre()] into bondage?")]\"" - return TRUE - if(L.stat == DEAD) - ranged_ability_user << "\"[L.p_theyre(TRUE)] dead, idiot.\"" - return TRUE + var/target_is_binding = istype(target, /obj/structure/destructible/clockwork/geis_binding) - if(istype(L.buckled, /obj/structure/destructible/clockwork/geis_binding)) //if they're already bound, just stun them - L.Stun(1) + if((target_is_binding || isliving(target)) && ranged_ability_user.Adjacent(target)) + if(target_is_binding) + var/obj/structure/destructible/clockwork/geis_binding/GB = target + GB.repair_and_interrupt() successful = TRUE else - in_progress = TRUE - clockwork_say(ranged_ability_user, text2ratvar("Be bound, heathen!")) - remove_mousepointer(ranged_ability_user.client) - ranged_ability_user.notransform = TRUE - addtimer(src, "reset_user_notransform", 5, TIMER_NORMAL, ranged_ability_user) //stop us moving for a little bit so we don't break the scripture following this - slab.busy = null - var/datum/clockwork_scripture/geis/conversion = new - conversion.slab = slab - conversion.invoker = ranged_ability_user - conversion.target = target - successful = conversion.run_scripture() + var/mob/living/L = target + if(is_servant_of_ratvar(L)) + if(L != ranged_ability_user) + ranged_ability_user << "\"[L.p_they(TRUE)] already serve[L.p_s()] Ratvar. [text2ratvar("Perhaps [ranged_ability_user.p_theyre()] into bondage?")]\"" + return TRUE + if(L.stat == DEAD) + ranged_ability_user << "\"[L.p_theyre(TRUE)] dead, idiot.\"" + return TRUE + + if(istype(L.buckled, /obj/structure/destructible/clockwork/geis_binding)) //if they're already bound, just stun them + var/obj/structure/destructible/clockwork/geis_binding/GB = L.buckled + GB.repair_and_interrupt() + successful = TRUE + else + in_progress = TRUE + clockwork_say(ranged_ability_user, text2ratvar("Be bound, heathen!")) + remove_mousepointer(ranged_ability_user.client) + if(slab.speed_multiplier >= 0.5) //excuse my debug... + ranged_ability_user.notransform = TRUE + addtimer(src, "reset_user_notransform", 5, TIMER_NORMAL, ranged_ability_user) //stop us moving for a little bit so we don't break the scripture following this + slab.busy = null + var/datum/clockwork_scripture/geis/conversion = new + conversion.slab = slab + conversion.invoker = ranged_ability_user + conversion.target = target + successful = conversion.run_scripture() remove_ranged_ability() @@ -71,12 +80,15 @@ obj_integrity = 30 density = 0 icon = 'icons/effects/clockwork_effects.dmi' - icon_state = "geisbinding" - break_message = "The glowing ring shatters!" + icon_state = "geisbinding_full" + break_message = null break_sound = 'sound/magic/Repulse.ogg' debris = list() can_buckle = TRUE buckle_lying = 0 + buckle_prevents_pull = TRUE + var/resisting = FALSE + var/mob_layer = MOB_LAYER /obj/structure/destructible/clockwork/geis_binding/examine(mob/user) icon_state = "geisbinding_full" @@ -90,6 +102,8 @@ if(M.buckled == src) desc = "A flickering, glowing purple ring around [M]." clockwork_desc = "A binding ring around [M], preventing [M.p_them()] from taking action while [M.p_theyre()] being converted." + icon_state = "geisbinding" + mob_layer = M.layer layer = M.layer - 0.01 var/image/GB = new('icons/effects/clockwork_effects.dmi', src, "geisbinding_top", M.layer + 0.01) add_overlay(GB) @@ -102,18 +116,68 @@ M.visible_message("A [name] appears around [M]!", \ "A [name] appears around you!\nResist!") else + var/obj/effect/overlay/temp/ratvar/geis_binding/G = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding, M.loc) + var/obj/effect/overlay/temp/ratvar/geis_binding/T = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding/top, M.loc) + G.layer = mob_layer - 0.01 + T.layer = mob_layer + 0.01 + G.alpha = alpha + T.alpha = alpha + animate(G, transform = matrix()*2, alpha = 0, time = 8, easing = EASE_OUT) + animate(T, transform = matrix()*2, alpha = 0, time = 8, easing = EASE_OUT) M.visible_message("[src] snaps into glowing pieces and dissipates!") - for(var/obj/item/geis_binding/G in M.held_items) - M.unEquip(G, TRUE) + for(var/obj/item/geis_binding/GB in M.held_items) + M.unEquip(GB, TRUE) qdel(src) +/obj/structure/destructible/clockwork/geis_binding/relaymove(mob/user, direction) + if(isliving(user)) + var/mob/living/L = user + L.resist() + +/obj/structure/destructible/clockwork/geis_binding/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) + playsound(src, 'sound/effects/EMPulse.ogg', 50, 1) + +/obj/structure/destructible/clockwork/geis_binding/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) + . = ..() + if(.) + update_icon() + +/obj/structure/destructible/clockwork/geis_binding/update_icon() + alpha = min(initial(alpha) + ((obj_integrity - max_integrity) * 5), 255) + +/obj/structure/destructible/clockwork/geis_binding/proc/repair_and_interrupt() + obj_integrity = max_integrity + update_icon() + for(var/m in buckled_mobs) + var/mob/living/L = m + if(L) + L.Stun(1, 1, 1) + visible_message("[src] flares brightly!") + var/obj/effect/overlay/temp/ratvar/geis_binding/G1 = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding, loc) + var/obj/effect/overlay/temp/ratvar/geis_binding/G2 = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding, loc) + var/obj/effect/overlay/temp/ratvar/geis_binding/T1 = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding/top, loc) + var/obj/effect/overlay/temp/ratvar/geis_binding/T2 = PoolOrNew(/obj/effect/overlay/temp/ratvar/geis_binding/top, loc) + G1.layer = mob_layer - 0.01 + G2.layer = mob_layer - 0.01 + T1.layer = mob_layer + 0.01 + T2.layer = mob_layer + 0.01 + animate(G1, pixel_y = pixel_y + 9, alpha = 0, time = 8, easing = EASE_IN) + animate(G2, pixel_y = pixel_y - 9, alpha = 0, time = 8, easing = EASE_IN) + animate(T1, pixel_y = pixel_y + 9, alpha = 0, time = 8, easing = EASE_IN) + animate(T2, pixel_y = pixel_y - 9, alpha = 0, time = 8, easing = EASE_IN) + /obj/structure/destructible/clockwork/geis_binding/user_unbuckle_mob(mob/living/buckled_mob, mob/user) if(buckled_mob == user) - user.visible_message("[user] starts struggling against [src]...", "You start breaking out of [src]...") - if(do_after(user, 40, target = src)) - user.visible_message("[user] breaks [src]!", "You break [src]!") - unbuckle_mob(user, TRUE) - return user + if(!resisting) + resisting = TRUE + user.visible_message("[user] starts struggling against [src]...", "You start breaking out of [src]...") + while(do_after(user, 7.5, target = src) && resisting && obj_integrity) + if(obj_integrity - 5 <= 0) + user.visible_message("[user] breaks [src]!", "You break [src]!") + take_damage(5) + return user + take_damage(5) + resisting = FALSE else return ..() diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm index 47af2653823..53076f4671b 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm @@ -111,7 +111,7 @@ descname = "Melee Convert Attack" name = "Geis" desc = "Charges your slab with divine energy, allowing you to bind a nearby heretic for conversion. This is very obvious and will make your slab visible in-hand." - invocations = list("Divinity, grant me strength...", "...to enlighten the heathen!") + invocations = list("Divinity, grant...", "...me strength...", "...to enlighten...", "...the heathen!") whispered = TRUE channel_time = 20 required_components = list(GEIS_CAPACITOR = 1) @@ -135,6 +135,8 @@ servants++ if(servants > SCRIPT_SERVANT_REQ) whispered = FALSE + servants -= SCRIPT_SERVANT_REQ + channel_time = min(channel_time + servants*3, 50) return ..() //The scripture that does the converting. @@ -162,7 +164,7 @@ servants++ if(servants > SCRIPT_SERVANT_REQ) servants -= SCRIPT_SERVANT_REQ - channel_time = min(channel_time + servants*5, 100) + channel_time = min(channel_time + servants*7, 120) if(target.buckled) target.buckled.unbuckle_mob(target, TRUE) binding = new(get_turf(target)) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 9a5f75f2af4..fa52d86a9ce 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -6,6 +6,7 @@ var/buckle_requires_restraints = 0 //require people to be handcuffed before being able to buckle. eg: pipes var/list/mob/living/buckled_mobs = null //list() var/max_buckled_mobs = 1 + var/buckle_prevents_pull = FALSE //Interaction /atom/movable/attack_hand(mob/living/user) @@ -49,12 +50,14 @@ usr << "You are unable to buckle [M] to the [src]!" return 0 + if(M.pulledby && buckle_prevents_pull) + M.pulledby.stop_pulling() M.buckled = src M.setDir(dir) buckled_mobs |= M M.update_canmove() - post_buckle_mob(M) M.throw_alert("buckled", /obj/screen/alert/restrained/buckled, new_master = src) + post_buckle_mob(M) return 1 diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index 59dd35d7b54..e4e2dc1a036 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -306,6 +306,12 @@ pixel_y = -16 pixel_x = -16 +/obj/effect/overlay/temp/ratvar/geis_binding + icon_state = "geisbinding" + +/obj/effect/overlay/temp/ratvar/geis_binding/top + icon_state = "geisbinding_top" + /obj/effect/overlay/temp/ratvar/component icon = 'icons/obj/clockwork_objects.dmi' icon_state = "belligerent_eye" diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 3fe868b9e82..27ebcc958c0 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -302,6 +302,10 @@ var/next_mob_id = 0 return if(AM.anchored || AM.throwing) return + if(isliving(AM)) + var/mob/living/L = AM + if(L.buckled && L.buckled.buckle_prevents_pull) + return if(throwing || incapacitated()) return diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index ea5182b8494..2f1f1319a16 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -309,14 +309,19 @@ //moves the mob/object we're pulling /mob/proc/Move_Pulled(atom/A) - if (!pulling) + if(!pulling) return - if (pulling.anchored || !pulling.Adjacent(src)) + if(pulling.anchored || !pulling.Adjacent(src)) stop_pulling() return - if (A == loc && pulling.density) + if(isliving(pulling)) + var/mob/living/L = pulling + if(L.buckled && L.buckled.buckle_prevents_pull) //if they're buckled to something that disallows pulling, prevent it + stop_pulling() + return + if(A == loc && pulling.density) return - if (!Process_Spacemove(get_dir(pulling.loc, A))) + if(!Process_Spacemove(get_dir(pulling.loc, A))) return step(pulling, get_dir(pulling.loc, A)) From fa623f505c91508113d5c903d28d64f0838d4dcd Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Fri, 2 Dec 2016 11:56:32 +0000 Subject: [PATCH 09/10] Automatic changelog generation for PR #21846 [ci skip] --- html/changelogs/AutoChangeLog-pr-21846.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-21846.yml diff --git a/html/changelogs/AutoChangeLog-pr-21846.yml b/html/changelogs/AutoChangeLog-pr-21846.yml new file mode 100644 index 00000000000..60b408ee804 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-21846.yml @@ -0,0 +1,7 @@ +author: "Joan" +delete-after: True +changes: + - rscadd: "Trying to move while bound by Geis will cause you to start resisting, but the time required to resist is up by half a second." + - experiment: "Resisting out of Geis now does damage to the binding, and as such being stunned while bound will no longer totally reset your resist progress." + - rscadd: "Using Geis on someone already bound by Geis will interrupt them resisting out of it and will fully repair the binding." + - tweak: "Geis's pre-binding channel now takes longer for each servant above 5. Geis's conversion channel also takes slightly longer for each servant above 5." From f38469b9971fe3b3339eb5ab2f975d7f82b345c8 Mon Sep 17 00:00:00 2001 From: XDTM Date: Fri, 2 Dec 2016 20:17:44 +0100 Subject: [PATCH 10/10] Easy peasy fix (#21878) --- code/modules/food_and_drinks/recipes/drinks_recipes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 9562e18bde0..cda31880972 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -488,7 +488,7 @@ /datum/chemical_reaction/grape_soda name = "grape soda" id = "grapesoda" - results = list("grape_soda" = 2) + results = list("grapesoda" = 2) required_reagents = list("grapejuice" = 1, "sodawater" = 1) /datum/chemical_reaction/grappa