From bf5e11f59439c0c7c2b025cd798b4721a678cf31 Mon Sep 17 00:00:00 2001 From: PhantornRU Date: Thu, 28 Mar 2024 18:28:57 +1000 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=B2=D1=8B=D0=BF?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D0=BB=D0=B8?= =?UTF-8?q?=D0=BC=D0=B1=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/antagonists/code/antag_datum.dm | 7 ++-- .../code/vox_raider/clothing/vox_outfit.dm | 5 +-- .../vox_raider/clothing/vox_suit_armor.dm | 38 ++----------------- .../code/vox_raider/objects/vox_trade.dm | 15 ++++++-- .../code/vox_raider/vox_raider_datum.dm | 2 +- 5 files changed, 22 insertions(+), 45 deletions(-) diff --git a/modular_ss220/antagonists/code/antag_datum.dm b/modular_ss220/antagonists/code/antag_datum.dm index 274d28baa6aa..62bb85284391 100644 --- a/modular_ss220/antagonists/code/antag_datum.dm +++ b/modular_ss220/antagonists/code/antag_datum.dm @@ -2,11 +2,10 @@ var/datum/character_save/character var/mob/living/carbon/human/H = mind.current if(!H) - H = new(loc_spawn) - else - H.forceMove(get_turf(loc_spawn)) + H = new + H.forceMove(get_turf(loc_spawn)) - var/client/client = owner.current.client + var/client/client = mind.current.client if(try_use_preference && client && client.prefs && length(client.prefs.character_saves)) for(var/datum/character_save/temp_character in client.prefs.character_saves) var/temp_species_name = species_name diff --git a/modular_ss220/antagonists/code/vox_raider/clothing/vox_outfit.dm b/modular_ss220/antagonists/code/vox_raider/clothing/vox_outfit.dm index 0d4693e5a72d..277f6eea560f 100644 --- a/modular_ss220/antagonists/code/vox_raider/clothing/vox_outfit.dm +++ b/modular_ss220/antagonists/code/vox_raider/clothing/vox_outfit.dm @@ -7,14 +7,13 @@ l_ear = /obj/item/radio/headset/vox id = /obj/item/card/id/syndicate/vox l_pocket = /obj/item/melee/classic_baton/telescopic - //mask = /obj/item/clothing/mask/breath/vox/respirator - belt = /obj/item/tank/internals/emergency_oxygen/double/vox back = /obj/item/storage/backpack/vox backpack_contents = list( + /obj/item/clothing/mask/breath/vox/respirator = 1, + /obj/item/tank/internals/emergency_oxygen/double/vox = 1, /obj/item/flashlight = 1, /obj/item/flash = 1, - // /obj/item/gun/energy/noisecannon = 1, /obj/item/clothing/suit/space/vox/pressure = 1, /obj/item/clothing/head/helmet/space/vox/pressure = 1, ) diff --git a/modular_ss220/antagonists/code/vox_raider/clothing/vox_suit_armor.dm b/modular_ss220/antagonists/code/vox_raider/clothing/vox_suit_armor.dm index a20cca813d7f..e1f95a3cc627 100644 --- a/modular_ss220/antagonists/code/vox_raider/clothing/vox_suit_armor.dm +++ b/modular_ss220/antagonists/code/vox_raider/clothing/vox_suit_armor.dm @@ -161,7 +161,7 @@ armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 15, RAD = INFINITY, FIRE = INFINITY, ACID = 80) strip_delay = 6 SECONDS put_on_delay = 4 SECONDS - var/obj/effect/proc_holder/spell/mimic/mimic_spell = new + var/obj/effect/proc_holder/spell/mimic/mimic_spell /obj/item/clothing/head/helmet/vox_merc/stealth name = "vox mercenary stealth helmet" @@ -174,46 +174,16 @@ /obj/item/clothing/suit/armor/vox_merc/stealth/equipped(mob/living/user, slot) ..() if(isvox(user) && slot == SLOT_HUD_OUTER_SUIT) + if(!mimic_spell) + mimic_spell = new user.AddSpell(mimic_spell) - // !!!!! доделать эту способность, а то она не конвертирует корректно - // Click on a target to remember it's form. Click on yourself to change form. - // You start becoming desk lamp. -- Я тут выбрал "Деск ламп" - // You take form of The comfy chair. -- он почему-то начал выбирать предыдущую форму. - // И всё еще ДАЖЕ В НЕЁ не превратился /obj/item/clothing/suit/armor/vox_merc/stealth/dropped(mob/user) . = ..() - if(user) + if(user && mimic_spell) user.RemoveSpell(mimic_spell) /obj/item/clothing/suit/armor/vox_merc/stealth/Destroy() . = ..() if(mimic_spell) QDEL_NULL(mimic_spell) - - - - - - - - - - - - -// Clothing -// Vox space gear (vaccuum suit, low pressure armour) -// Can't be equipped by any other species due to bone structure and vox cybernetics. -// /obj/item/clothing/suit/space/vox -// w_class = WEIGHT_CLASS_NORMAL -// allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber, /obj/item/restraints/handcuffs,/obj/item/tank/internals) -// armor = list(melee = 40, bullet = 40, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30, fire = 80, acid = 85) -// heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS -// max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT -// icon = 'icons/obj/clothing/species/vox/suits.dmi' -// species_restricted = list("Vox", "Vox Armalis") -// sprite_sheets = list( -// "Vox" = 'icons/mob/species/vox/suit.dmi', -// "Vox Armalis" = 'icons/mob/species/armalis/suit.dmi', -// ) diff --git a/modular_ss220/antagonists/code/vox_raider/objects/vox_trade.dm b/modular_ss220/antagonists/code/vox_raider/objects/vox_trade.dm index d1d7f39a03a4..03e56cbc7cc0 100644 --- a/modular_ss220/antagonists/code/vox_raider/objects/vox_trade.dm +++ b/modular_ss220/antagonists/code/vox_raider/objects/vox_trade.dm @@ -468,18 +468,26 @@ /obj/machinery/vox_trader/proc/get_trade_contents(mob/user) var/turf/current_turf = get_turf(src) var/list/items_list = current_turf.GetAllContents(7) + for(var/I in items_list) - if(istype(I, /obj/item/organ)) + if(istype(I, /obj/item/organ)) // Inner organs var/obj/item/organ/organ = I if(organ.owner) - items_list.Remove(organ) + items_list.Remove(I) continue + if(isobj(I)) + var/obj/O = I + if(ismob(O.loc)) // Cyborg Parts, wearing clothes, but not contents + items_list.Remove(I) + continue if(isliving(I)) var/mob/living/M = I - items_list.Remove(M) + items_list.Remove(I) if(!isvox(M)) send_to_station(M) continue + + // Make new Vox Raider if(!M.mind) continue var/datum/antagonist/vox_raider/antag = locate() in M.mind.antag_datums @@ -490,6 +498,7 @@ if(team) team.add_member(M.mind, TRUE) break + return items_list /obj/machinery/vox_trader/proc/send_to_station(mob/living/M) diff --git a/modular_ss220/antagonists/code/vox_raider/vox_raider_datum.dm b/modular_ss220/antagonists/code/vox_raider/vox_raider_datum.dm index 56b20734e7b1..fac850727a5c 100644 --- a/modular_ss220/antagonists/code/vox_raider/vox_raider_datum.dm +++ b/modular_ss220/antagonists/code/vox_raider/vox_raider_datum.dm @@ -140,7 +140,7 @@ return for(var/datum/mind/mind in candidates_list) if(!isvox(mind.current)) - make_body(get_turf(src), mind, TRUE, "Vox") + make_body(mind.current, mind, TRUE, "Vox") var/mob/living/carbon/human/H = mind.current if(mind.current) H.equipOutfit(/datum/outfit/vox, visualsOnly)