Skip to content

Commit

Permalink
Фикс выпадания в лимбо
Browse files Browse the repository at this point in the history
  • Loading branch information
PhantornRU committed Mar 28, 2024
1 parent 9b8cc83 commit bf5e11f
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 45 deletions.
7 changes: 3 additions & 4 deletions modular_ss220/antagonists/code/antag_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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',
// )
15 changes: 12 additions & 3 deletions modular_ss220/antagonists/code/vox_raider/objects/vox_trade.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit bf5e11f

Please sign in to comment.