mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
[MIRROR] Removes the code for the four removed gateways [MDB IGNORE] (#14769)
* Removes the code for four removed gateways (#68038) * gets rid of the four axed gateways's code - Wizard Academy, Challenge, Space Battle, and Wild West. * Removes the code for the four removed gateways * WWSR removal Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -543,4 +543,17 @@ GLOBAL_LIST_INIT(orion_events, generate_orion_events())
|
||||
explosion(src, devastation_range = 2, heavy_impact_range = 4, light_impact_range = 8, flame_range = 16)
|
||||
qdel(src)
|
||||
|
||||
/obj/singularity/orion
|
||||
move_self = FALSE
|
||||
|
||||
/obj/singularity/orion/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
var/datum/component/singularity/singularity = singularity_component.resolve()
|
||||
singularity?.grav_pull = 1
|
||||
|
||||
/obj/singularity/orion/process(delta_time)
|
||||
if(DT_PROB(0.5, delta_time))
|
||||
mezzer()
|
||||
|
||||
#undef ORION_TRAIL_WINTURN
|
||||
|
||||
@@ -437,7 +437,7 @@
|
||||
playsound(game.loc, 'sound/effects/supermatter.ogg', 100, TRUE)
|
||||
game.say("A miniature black hole suddenly appears in front of [game], devouring [gamer] alive!")
|
||||
gamer.Stun(200, ignore_canstun = TRUE) //you can't run :^)
|
||||
var/black_hole = new /obj/singularity/academy(gamer.loc)
|
||||
var/black_hole = new /obj/singularity/orion(gamer.loc)
|
||||
addtimer(CALLBACK(game, /atom/movable/proc/say, "[black_hole] winks out, just as suddenly as it appeared."), 50)
|
||||
QDEL_IN(black_hole, 5 SECONDS)
|
||||
|
||||
|
||||
@@ -231,3 +231,248 @@
|
||||
rigged = DICE_BASICALLY_RIGGED
|
||||
rigged_value = result
|
||||
..(M)
|
||||
|
||||
// Die of fate stuff
|
||||
/obj/item/dice/d20/fate
|
||||
name = "\improper Die of Fate"
|
||||
desc = "A die with twenty sides. You can feel unearthly energies radiating from it. Using this might be VERY risky."
|
||||
icon_state = "d20"
|
||||
sides = 20
|
||||
microwave_riggable = FALSE
|
||||
var/reusable = TRUE
|
||||
var/used = FALSE
|
||||
/// So you can't roll the die 20 times in a second and stack a bunch of effects that might conflict
|
||||
COOLDOWN_DECLARE(roll_cd)
|
||||
|
||||
/obj/item/dice/d20/fate/one_use
|
||||
reusable = FALSE
|
||||
|
||||
/obj/item/dice/d20/fate/cursed
|
||||
name = "cursed Die of Fate"
|
||||
desc = "A die with twenty sides. You feel that rolling this is a REALLY bad idea."
|
||||
color = "#00BB00"
|
||||
|
||||
rigged = DICE_TOTALLY_RIGGED
|
||||
rigged_value = 1
|
||||
|
||||
/obj/item/dice/d20/fate/cursed/one_use
|
||||
reusable = FALSE
|
||||
|
||||
/obj/item/dice/d20/fate/stealth
|
||||
name = "d20"
|
||||
desc = "A die with twenty sides. The preferred die to throw at the GM."
|
||||
|
||||
/obj/item/dice/d20/fate/stealth/one_use
|
||||
reusable = FALSE
|
||||
|
||||
/obj/item/dice/d20/fate/stealth/cursed
|
||||
rigged = DICE_TOTALLY_RIGGED
|
||||
rigged_value = 1
|
||||
|
||||
/obj/item/dice/d20/fate/stealth/cursed/one_use
|
||||
reusable = FALSE
|
||||
|
||||
/obj/item/dice/d20/fate/diceroll(mob/user)
|
||||
if(!COOLDOWN_FINISHED(src, roll_cd))
|
||||
to_chat(user, span_warning("Hold on, [src] isn't caught up with your last roll!"))
|
||||
return
|
||||
|
||||
. = ..()
|
||||
if(used)
|
||||
return
|
||||
|
||||
if(!ishuman(user) || !user.mind || IS_WIZARD(user))
|
||||
to_chat(user, span_warning("You feel the magic of the dice is restricted to ordinary humans!"))
|
||||
return
|
||||
|
||||
if(!reusable)
|
||||
used = TRUE
|
||||
|
||||
var/turf/selected_turf = get_turf(src)
|
||||
selected_turf.visible_message(span_userdanger("[src] flares briefly."))
|
||||
|
||||
addtimer(CALLBACK(src, .proc/effect, user, .), 1 SECONDS)
|
||||
COOLDOWN_START(src, roll_cd, 2.5 SECONDS)
|
||||
|
||||
/obj/item/dice/d20/fate/equipped(mob/user, slot)
|
||||
. = ..()
|
||||
if(!ishuman(user) || !user.mind || IS_WIZARD(user))
|
||||
to_chat(user, span_warning("You feel the magic of the dice is restricted to ordinary humans! You should leave it alone."))
|
||||
user.dropItemToGround(src)
|
||||
|
||||
|
||||
/obj/item/dice/d20/fate/proc/effect(mob/living/carbon/human/user,roll)
|
||||
var/turf/selected_turf = get_turf(src)
|
||||
switch(roll)
|
||||
if(1)
|
||||
//Dust
|
||||
selected_turf.visible_message(span_userdanger("[user] turns to dust!"))
|
||||
user.dust()
|
||||
if(2)
|
||||
//Death
|
||||
selected_turf.visible_message(span_userdanger("[user] suddenly dies!"))
|
||||
user.death()
|
||||
if(3)
|
||||
//Swarm of creatures
|
||||
selected_turf.visible_message(span_userdanger("A swarm of creatures surrounds [user]!"))
|
||||
for(var/direction in GLOB.alldirs)
|
||||
var/turf/stepped_turf = get_step(get_turf(user), direction)
|
||||
do_sparks(3, FALSE, stepped_turf)
|
||||
new /mob/living/simple_animal/hostile/netherworld(stepped_turf)
|
||||
if(4)
|
||||
//Destroy Equipment
|
||||
selected_turf.visible_message(span_userdanger("Everything [user] is holding and wearing disappears!"))
|
||||
for(var/obj/item/non_implant in user)
|
||||
if(istype(non_implant, /obj/item/implant))
|
||||
continue
|
||||
qdel(non_implant)
|
||||
if(5)
|
||||
//Monkeying
|
||||
selected_turf.visible_message(span_userdanger("[user] transforms into a monkey!"))
|
||||
user.monkeyize()
|
||||
if(6)
|
||||
//Cut speed
|
||||
selected_turf.visible_message(span_userdanger("[user] starts moving slower!"))
|
||||
user.add_movespeed_modifier(/datum/movespeed_modifier/die_of_fate)
|
||||
if(7)
|
||||
//Throw
|
||||
selected_turf.visible_message(span_userdanger("Unseen forces throw [user]!"))
|
||||
user.Stun(60)
|
||||
user.adjustBruteLoss(50)
|
||||
var/throw_dir = pick(GLOB.cardinals)
|
||||
var/atom/throw_target = get_edge_target_turf(user, throw_dir)
|
||||
user.throw_at(throw_target, 200, 4)
|
||||
if(8)
|
||||
//Fuel tank Explosion
|
||||
selected_turf.visible_message(span_userdanger("An explosion bursts into existence around [user]!"))
|
||||
explosion(get_turf(user), devastation_range = -1, light_impact_range = 2, flame_range = 2, explosion_cause = src)
|
||||
if(9)
|
||||
//Cold
|
||||
var/datum/disease/cold = new /datum/disease/cold()
|
||||
selected_turf.visible_message(span_userdanger("[user] looks a little under the weather!"))
|
||||
user.ForceContractDisease(cold, FALSE, TRUE)
|
||||
if(10)
|
||||
//Nothing
|
||||
selected_turf.visible_message(span_userdanger("Nothing seems to happen."))
|
||||
if(11)
|
||||
//Cookie
|
||||
selected_turf.visible_message(span_userdanger("A cookie appears out of thin air!"))
|
||||
var/obj/item/food/cookie/C = new(drop_location())
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
C.name = "Cookie of Fate"
|
||||
if(12)
|
||||
//Healing
|
||||
selected_turf.visible_message(span_userdanger("[user] looks very healthy!"))
|
||||
user.revive(full_heal = TRUE, admin_revive = TRUE)
|
||||
if(13)
|
||||
//Mad Dosh
|
||||
selected_turf.visible_message(span_userdanger("Mad dosh shoots out of [src]!"))
|
||||
var/turf/Start = get_turf(src)
|
||||
for(var/direction in GLOB.alldirs)
|
||||
var/turf/dirturf = get_step(Start,direction)
|
||||
if(prob(50))
|
||||
new /obj/item/stack/spacecash/c1000(dirturf)
|
||||
continue
|
||||
var/obj/item/storage/bag/money/bag_money = new(dirturf)
|
||||
for(var/i in 1 to rand(5,50))
|
||||
new /obj/item/coin/gold(bag_money)
|
||||
if(14)
|
||||
//Free Gun
|
||||
selected_turf.visible_message(span_userdanger("An impressive gun appears!"))
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
new /obj/item/gun/ballistic/revolver/mateba(drop_location())
|
||||
if(15)
|
||||
//Random One-use spellbook
|
||||
selected_turf.visible_message(span_userdanger("A magical looking book drops to the floor!"))
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
new /obj/item/book/granter/action/spell/random(drop_location())
|
||||
if(16)
|
||||
//Servant & Servant Summon
|
||||
selected_turf.visible_message(span_userdanger("A Dice Servant appears in a cloud of smoke!"))
|
||||
var/mob/living/carbon/human/human_servant = new(drop_location())
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
|
||||
human_servant.equipOutfit(/datum/outfit/butler)
|
||||
var/datum/mind/servant_mind = new /datum/mind()
|
||||
var/datum/antagonist/magic_servant/servant_antagonist = new
|
||||
servant_mind.add_antag_datum(servant_antagonist)
|
||||
servant_antagonist.setup_master(user)
|
||||
servant_mind.transfer_to(human_servant)
|
||||
|
||||
var/list/mob/dead/observer/candidates = poll_candidates_for_mob("Do you want to play as [user.real_name]'s Servant?", ROLE_WIZARD, ROLE_WIZARD, 5 SECONDS, human_servant)
|
||||
if(LAZYLEN(candidates))
|
||||
var/mob/dead/observer/candidate = pick(candidates)
|
||||
message_admins("[ADMIN_LOOKUPFLW(candidate)] was spawned as Dice Servant")
|
||||
human_servant.key = candidate.key
|
||||
|
||||
var/datum/action/cooldown/spell/summon_mob/summon_servant = new(user.mind || user, human_servant)
|
||||
summon_servant.Grant(user)
|
||||
|
||||
if(17)
|
||||
//Tator Kit
|
||||
selected_turf.visible_message(span_userdanger("A suspicious box appears!"))
|
||||
new /obj/item/storage/box/syndicate/bundle_a(drop_location())
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
if(18)
|
||||
//Captain ID
|
||||
selected_turf.visible_message(span_userdanger("A golden identification card appears!"))
|
||||
new /obj/item/card/id/advanced/gold/captains_spare(drop_location())
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
if(19)
|
||||
//Instrinct Resistance
|
||||
selected_turf.visible_message(span_userdanger("[user] looks very robust!"))
|
||||
user.physiology.brute_mod *= 0.5
|
||||
user.physiology.burn_mod *= 0.5
|
||||
|
||||
if(20)
|
||||
//Free wizard!
|
||||
selected_turf.visible_message(span_userdanger("Magic flows out of [src] and into [user]!"))
|
||||
user.mind.make_wizard()
|
||||
|
||||
/datum/outfit/butler
|
||||
name = "Butler"
|
||||
uniform = /obj/item/clothing/under/suit/black_really
|
||||
neck = /obj/item/clothing/neck/tie/red/tied
|
||||
shoes = /obj/item/clothing/shoes/laceup
|
||||
head = /obj/item/clothing/head/bowler
|
||||
glasses = /obj/item/clothing/glasses/monocle
|
||||
gloves = /obj/item/clothing/gloves/color/white
|
||||
|
||||
/datum/action/cooldown/spell/summon_mob
|
||||
name = "Summon Servant"
|
||||
desc = "This spell can be used to call your servant, whenever you need it."
|
||||
button_icon_state = "summons"
|
||||
|
||||
school = SCHOOL_CONJURATION
|
||||
cooldown_time = 10 SECONDS
|
||||
|
||||
invocation = "JE VES"
|
||||
invocation_type = INVOCATION_WHISPER
|
||||
spell_requirements = NONE
|
||||
spell_max_level = 0 //cannot be improved
|
||||
|
||||
smoke_type = /datum/effect_system/fluid_spread/smoke
|
||||
smoke_amt = 2
|
||||
|
||||
var/datum/weakref/summon_weakref
|
||||
|
||||
/datum/action/cooldown/spell/summon_mob/New(Target, mob/living/summoned_mob)
|
||||
. = ..()
|
||||
if(summoned_mob)
|
||||
summon_weakref = WEAKREF(summoned_mob)
|
||||
|
||||
/datum/action/cooldown/spell/summon_mob/cast(atom/cast_on)
|
||||
. = ..()
|
||||
var/mob/living/to_summon = summon_weakref?.resolve()
|
||||
if(QDELETED(to_summon))
|
||||
to_chat(cast_on, span_warning("You can't seem to summon your servant - it seems they've vanished from reality, or never existed in the first place..."))
|
||||
return
|
||||
|
||||
do_teleport(
|
||||
to_summon,
|
||||
get_turf(cast_on),
|
||||
precision = 1,
|
||||
asoundin = 'sound/magic/wand_teleport.ogg',
|
||||
asoundout = 'sound/magic/wand_teleport.ogg',
|
||||
channel = TELEPORT_CHANNEL_MAGIC,
|
||||
)
|
||||
|
||||
@@ -1,422 +0,0 @@
|
||||
|
||||
//Academy Areas
|
||||
|
||||
/area/awaymission/academy
|
||||
name = "Academy Asteroids"
|
||||
icon_state = "away"
|
||||
|
||||
/area/awaymission/academy/headmaster
|
||||
name = "Academy Fore Block"
|
||||
icon_state = "away1"
|
||||
|
||||
/area/awaymission/academy/classrooms
|
||||
name = "Academy Classroom Block"
|
||||
icon_state = "away2"
|
||||
|
||||
/area/awaymission/academy/academyaft
|
||||
name = "Academy Ship Aft Block"
|
||||
icon_state = "away3"
|
||||
|
||||
/area/awaymission/academy/academygate
|
||||
name = "Academy Gateway"
|
||||
icon_state = "away4"
|
||||
|
||||
/area/awaymission/academy/academycellar
|
||||
name = "Academy Cellar"
|
||||
icon_state = "away4"
|
||||
|
||||
/area/awaymission/academy/academyengine
|
||||
name = "Academy Engine"
|
||||
icon_state = "away4"
|
||||
|
||||
//Academy Items
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/academy/console_maint
|
||||
name = "Console Maintenance"
|
||||
info = "We're upgrading to the latest mainframes for our consoles, the shipment should be in before spring break is over!"
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/academy/class/automotive
|
||||
name = "Automotive Repair 101"
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/academy/class/pyromancy
|
||||
name = "Pyromancy 250"
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/academy/class/biology
|
||||
name = "Biology Lab"
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/academy/grade/aplus
|
||||
name = "Summoning Midterm Exam"
|
||||
info = "Grade: A+ Educator's Notes: Excellent form."
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/academy/grade/bminus
|
||||
name = "Summoning Midterm Exam"
|
||||
info = "Grade: B- Educator's Notes: Keep applying yourself, you're showing improvement."
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/academy/grade/dminus
|
||||
name = "Summoning Midterm Exam"
|
||||
info = "Grade: D- Educator's Notes: SEE ME AFTER CLASS."
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/academy/grade/failure
|
||||
name = "Pyromancy Evaluation"
|
||||
info = "Current Grade: F. Educator's Notes: No improvement shown despite multiple private lessons. Suggest additional tutelage."
|
||||
|
||||
/// The immobile, close pulling singularity seen in the academy away mission
|
||||
/obj/singularity/academy
|
||||
move_self = FALSE
|
||||
|
||||
/obj/singularity/academy/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
var/datum/component/singularity/singularity = singularity_component.resolve()
|
||||
singularity?.grav_pull = 1
|
||||
|
||||
/obj/singularity/academy/process(delta_time)
|
||||
if(DT_PROB(0.5, delta_time))
|
||||
mezzer()
|
||||
|
||||
/obj/item/clothing/glasses/meson/truesight
|
||||
name = "The Lens of Truesight"
|
||||
desc = "I can see forever!"
|
||||
icon_state = "monocle"
|
||||
inhand_icon_state = "headset"
|
||||
|
||||
|
||||
/obj/structure/academy_wizard_spawner
|
||||
name = "Academy Defensive System"
|
||||
desc = "Made by Abjuration, Inc."
|
||||
icon = 'icons/obj/cult/structures.dmi'
|
||||
icon_state = "forge"
|
||||
anchored = TRUE
|
||||
max_integrity = 200
|
||||
var/mob/living/current_wizard = null
|
||||
var/next_check = 0
|
||||
var/cooldown = 600
|
||||
var/faction = ROLE_WIZARD
|
||||
var/braindead_check = 0
|
||||
|
||||
/obj/structure/academy_wizard_spawner/New()
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/structure/academy_wizard_spawner/Destroy()
|
||||
if(!broken)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
return ..()
|
||||
|
||||
/obj/structure/academy_wizard_spawner/process()
|
||||
if(next_check < world.time)
|
||||
if(!current_wizard)
|
||||
for(var/mob/living/L in GLOB.player_list)
|
||||
if(L.z == src.z && L.stat != DEAD && !(faction in L.faction))
|
||||
summon_wizard()
|
||||
break
|
||||
else
|
||||
if(current_wizard.stat == DEAD)
|
||||
current_wizard = null
|
||||
summon_wizard()
|
||||
if(!current_wizard.client)
|
||||
if(!braindead_check)
|
||||
braindead_check = 1
|
||||
else
|
||||
braindead_check = 0
|
||||
give_control()
|
||||
next_check = world.time + cooldown
|
||||
|
||||
/obj/structure/academy_wizard_spawner/proc/give_control()
|
||||
set waitfor = FALSE
|
||||
|
||||
if(!current_wizard)
|
||||
return
|
||||
var/list/mob/dead/observer/candidates = poll_candidates_for_mob("Do you want to play as Wizard Academy Defender?", ROLE_WIZARD, ROLE_WIZARD, 5 SECONDS, current_wizard, POLL_IGNORE_ACADEMY_WIZARD)
|
||||
|
||||
if(LAZYLEN(candidates))
|
||||
var/mob/dead/observer/C = pick(candidates)
|
||||
message_admins("[ADMIN_LOOKUPFLW(C)] was spawned as Wizard Academy Defender")
|
||||
current_wizard.ghostize() // on the off chance braindead defender gets back in
|
||||
current_wizard.key = C.key
|
||||
|
||||
/obj/structure/academy_wizard_spawner/proc/summon_wizard()
|
||||
var/turf/T = src.loc
|
||||
var/mob/living/carbon/human/wizbody = new(T)
|
||||
wizbody.fully_replace_character_name(wizbody.real_name, "Academy Teacher")
|
||||
wizbody.mind_initialize()
|
||||
var/datum/mind/wizmind = wizbody.mind
|
||||
wizmind.special_role = "Academy Defender"
|
||||
wizmind.add_antag_datum(/datum/antagonist/wizard/academy)
|
||||
current_wizard = wizbody
|
||||
|
||||
give_control()
|
||||
|
||||
/obj/structure/academy_wizard_spawner/deconstruct(disassembled = TRUE)
|
||||
if(!broken)
|
||||
broken = 1
|
||||
visible_message(span_warning("[src] breaks down!"))
|
||||
icon_state = "forge_off"
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
/datum/outfit/wizard/academy
|
||||
name = "Academy Wizard"
|
||||
r_pocket = null
|
||||
r_hand = null
|
||||
suit = /obj/item/clothing/suit/wizrobe/red
|
||||
head = /obj/item/clothing/head/wizard/red
|
||||
backpack_contents = list(/obj/item/storage/box/survival = 1)
|
||||
|
||||
/obj/item/dice/d20/fate
|
||||
name = "\improper Die of Fate"
|
||||
desc = "A die with twenty sides. You can feel unearthly energies radiating from it. Using this might be VERY risky."
|
||||
icon_state = "d20"
|
||||
sides = 20
|
||||
microwave_riggable = FALSE
|
||||
var/reusable = TRUE
|
||||
var/used = FALSE
|
||||
/// So you can't roll the die 20 times in a second and stack a bunch of effects that might conflict
|
||||
COOLDOWN_DECLARE(roll_cd)
|
||||
|
||||
/obj/item/dice/d20/fate/one_use
|
||||
reusable = FALSE
|
||||
|
||||
/obj/item/dice/d20/fate/cursed
|
||||
name = "cursed Die of Fate"
|
||||
desc = "A die with twenty sides. You feel that rolling this is a REALLY bad idea."
|
||||
color = "#00BB00"
|
||||
|
||||
rigged = DICE_TOTALLY_RIGGED
|
||||
rigged_value = 1
|
||||
|
||||
/obj/item/dice/d20/fate/cursed/one_use
|
||||
reusable = FALSE
|
||||
|
||||
/obj/item/dice/d20/fate/stealth
|
||||
name = "d20"
|
||||
desc = "A die with twenty sides. The preferred die to throw at the GM."
|
||||
|
||||
/obj/item/dice/d20/fate/stealth/one_use
|
||||
reusable = FALSE
|
||||
|
||||
/obj/item/dice/d20/fate/stealth/cursed
|
||||
rigged = DICE_TOTALLY_RIGGED
|
||||
rigged_value = 1
|
||||
|
||||
/obj/item/dice/d20/fate/stealth/cursed/one_use
|
||||
reusable = FALSE
|
||||
|
||||
/obj/item/dice/d20/fate/diceroll(mob/user)
|
||||
if(!COOLDOWN_FINISHED(src, roll_cd))
|
||||
to_chat(user, span_warning("Hold on, [src] isn't caught up with your last roll!"))
|
||||
return
|
||||
|
||||
. = ..()
|
||||
if(used)
|
||||
return
|
||||
|
||||
if(!ishuman(user) || !user.mind || IS_WIZARD(user))
|
||||
to_chat(user, span_warning("You feel the magic of the dice is restricted to ordinary humans!"))
|
||||
return
|
||||
|
||||
if(!reusable)
|
||||
used = TRUE
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
T.visible_message(span_userdanger("[src] flares briefly."))
|
||||
|
||||
addtimer(CALLBACK(src, .proc/effect, user, .), 1 SECONDS)
|
||||
COOLDOWN_START(src, roll_cd, 2.5 SECONDS)
|
||||
|
||||
/obj/item/dice/d20/fate/equipped(mob/user, slot)
|
||||
. = ..()
|
||||
if(!ishuman(user) || !user.mind || IS_WIZARD(user))
|
||||
to_chat(user, span_warning("You feel the magic of the dice is restricted to ordinary humans! You should leave it alone."))
|
||||
user.dropItemToGround(src)
|
||||
|
||||
|
||||
/obj/item/dice/d20/fate/proc/effect(mob/living/carbon/human/user,roll)
|
||||
var/turf/T = get_turf(src)
|
||||
switch(roll)
|
||||
if(1)
|
||||
//Dust
|
||||
T.visible_message(span_userdanger("[user] turns to dust!"))
|
||||
user.dust()
|
||||
if(2)
|
||||
//Death
|
||||
T.visible_message(span_userdanger("[user] suddenly dies!"))
|
||||
user.death()
|
||||
if(3)
|
||||
//Swarm of creatures
|
||||
T.visible_message(span_userdanger("A swarm of creatures surrounds [user]!"))
|
||||
for(var/direction in GLOB.alldirs)
|
||||
new /mob/living/simple_animal/hostile/netherworld(get_step(get_turf(user),direction))
|
||||
if(4)
|
||||
//Destroy Equipment
|
||||
T.visible_message(span_userdanger("Everything [user] is holding and wearing disappears!"))
|
||||
for(var/obj/item/I in user)
|
||||
if(istype(I, /obj/item/implant))
|
||||
continue
|
||||
qdel(I)
|
||||
if(5)
|
||||
//Monkeying
|
||||
T.visible_message(span_userdanger("[user] transforms into a monkey!"))
|
||||
user.monkeyize()
|
||||
if(6)
|
||||
//Cut speed
|
||||
T.visible_message(span_userdanger("[user] starts moving slower!"))
|
||||
user.add_movespeed_modifier(/datum/movespeed_modifier/die_of_fate)
|
||||
if(7)
|
||||
//Throw
|
||||
T.visible_message(span_userdanger("Unseen forces throw [user]!"))
|
||||
user.Stun(60)
|
||||
user.adjustBruteLoss(50)
|
||||
var/throw_dir = pick(GLOB.cardinals)
|
||||
var/atom/throw_target = get_edge_target_turf(user, throw_dir)
|
||||
user.throw_at(throw_target, 200, 4)
|
||||
if(8)
|
||||
//Fuel tank Explosion
|
||||
T.visible_message(span_userdanger("An explosion bursts into existence around [user]!"))
|
||||
explosion(get_turf(user), devastation_range = -1, light_impact_range = 2, flame_range = 2, explosion_cause = src)
|
||||
if(9)
|
||||
//Cold
|
||||
var/datum/disease/D = new /datum/disease/cold()
|
||||
T.visible_message(span_userdanger("[user] looks a little under the weather!"))
|
||||
user.ForceContractDisease(D, FALSE, TRUE)
|
||||
if(10)
|
||||
//Nothing
|
||||
T.visible_message(span_userdanger("Nothing seems to happen."))
|
||||
if(11)
|
||||
//Cookie
|
||||
T.visible_message(span_userdanger("A cookie appears out of thin air!"))
|
||||
var/obj/item/food/cookie/C = new(drop_location())
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
C.name = "Cookie of Fate"
|
||||
if(12)
|
||||
//Healing
|
||||
T.visible_message(span_userdanger("[user] looks very healthy!"))
|
||||
user.revive(full_heal = TRUE, admin_revive = TRUE)
|
||||
if(13)
|
||||
//Mad Dosh
|
||||
T.visible_message(span_userdanger("Mad dosh shoots out of [src]!"))
|
||||
var/turf/Start = get_turf(src)
|
||||
for(var/direction in GLOB.alldirs)
|
||||
var/turf/dirturf = get_step(Start,direction)
|
||||
if(rand(0,1))
|
||||
new /obj/item/stack/spacecash/c1000(dirturf)
|
||||
else
|
||||
var/obj/item/storage/bag/money/M = new(dirturf)
|
||||
for(var/i in 1 to rand(5,50))
|
||||
new /obj/item/coin/gold(M)
|
||||
if(14)
|
||||
//Free Gun
|
||||
T.visible_message(span_userdanger("An impressive gun appears!"))
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
new /obj/item/gun/ballistic/revolver/mateba(drop_location())
|
||||
if(15)
|
||||
//Random One-use spellbook
|
||||
T.visible_message(span_userdanger("A magical looking book drops to the floor!"))
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
new /obj/item/book/granter/action/spell/random(drop_location())
|
||||
if(16)
|
||||
//Servant & Servant Summon
|
||||
T.visible_message(span_userdanger("A Dice Servant appears in a cloud of smoke!"))
|
||||
var/mob/living/carbon/human/H = new(drop_location())
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
|
||||
H.equipOutfit(/datum/outfit/butler)
|
||||
var/datum/mind/servant_mind = new /datum/mind()
|
||||
var/datum/antagonist/magic_servant/A = new
|
||||
servant_mind.add_antag_datum(A)
|
||||
A.setup_master(user)
|
||||
servant_mind.transfer_to(H)
|
||||
|
||||
var/list/mob/dead/observer/candidates = poll_candidates_for_mob("Do you want to play as [user.real_name] Servant?", ROLE_WIZARD, ROLE_WIZARD, 5 SECONDS, H)
|
||||
if(LAZYLEN(candidates))
|
||||
var/mob/dead/observer/C = pick(candidates)
|
||||
message_admins("[ADMIN_LOOKUPFLW(C)] was spawned as Dice Servant")
|
||||
H.key = C.key
|
||||
|
||||
var/datum/action/cooldown/spell/summon_mob/summon_servant = new(user.mind || user, H)
|
||||
summon_servant.Grant(user)
|
||||
|
||||
if(17)
|
||||
//Tator Kit
|
||||
T.visible_message(span_userdanger("A suspicious box appears!"))
|
||||
new /obj/item/storage/box/syndicate/bundle_a(drop_location())
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
if(18)
|
||||
//Captain ID
|
||||
T.visible_message(span_userdanger("A golden identification card appears!"))
|
||||
new /obj/item/card/id/advanced/gold/captains_spare(drop_location())
|
||||
do_smoke(0, holder = src, location = drop_location())
|
||||
if(19)
|
||||
//Instrinct Resistance
|
||||
T.visible_message(span_userdanger("[user] looks very robust!"))
|
||||
user.physiology.brute_mod *= 0.5
|
||||
user.physiology.burn_mod *= 0.5
|
||||
|
||||
if(20)
|
||||
//Free wizard!
|
||||
T.visible_message(span_userdanger("Magic flows out of [src] and into [user]!"))
|
||||
user.mind.make_wizard()
|
||||
|
||||
/datum/outfit/butler
|
||||
name = "Butler"
|
||||
uniform = /obj/item/clothing/under/suit/black_really
|
||||
neck = /obj/item/clothing/neck/tie/red/tied
|
||||
shoes = /obj/item/clothing/shoes/laceup
|
||||
head = /obj/item/clothing/head/bowler
|
||||
glasses = /obj/item/clothing/glasses/monocle
|
||||
gloves = /obj/item/clothing/gloves/color/white
|
||||
|
||||
/datum/action/cooldown/spell/summon_mob
|
||||
name = "Summon Servant"
|
||||
desc = "This spell can be used to call your servant, whenever you need it."
|
||||
button_icon_state = "summons"
|
||||
|
||||
school = SCHOOL_CONJURATION
|
||||
cooldown_time = 10 SECONDS
|
||||
|
||||
invocation = "JE VES"
|
||||
invocation_type = INVOCATION_WHISPER
|
||||
spell_requirements = NONE
|
||||
spell_max_level = 0 //cannot be improved
|
||||
|
||||
smoke_type = /datum/effect_system/fluid_spread/smoke
|
||||
smoke_amt = 2
|
||||
|
||||
var/datum/weakref/summon_weakref
|
||||
|
||||
/datum/action/cooldown/spell/summon_mob/New(Target, mob/living/summoned_mob)
|
||||
. = ..()
|
||||
if(summoned_mob)
|
||||
summon_weakref = WEAKREF(summoned_mob)
|
||||
|
||||
/datum/action/cooldown/spell/summon_mob/cast(atom/cast_on)
|
||||
. = ..()
|
||||
var/mob/living/to_summon = summon_weakref?.resolve()
|
||||
if(QDELETED(to_summon))
|
||||
to_chat(cast_on, span_warning("You can't seem to summon your servant - it seems they've vanished from reality, or never existed in the first place..."))
|
||||
return
|
||||
|
||||
do_teleport(
|
||||
to_summon,
|
||||
get_turf(cast_on),
|
||||
precision = 1,
|
||||
asoundin = 'sound/magic/wand_teleport.ogg',
|
||||
asoundout = 'sound/magic/wand_teleport.ogg',
|
||||
channel = TELEPORT_CHANNEL_MAGIC,
|
||||
)
|
||||
|
||||
/obj/structure/ladder/unbreakable/rune
|
||||
name = "\improper Teleportation Rune"
|
||||
desc = "Could lead anywhere."
|
||||
icon = 'icons/obj/rune.dmi'
|
||||
icon_state = "1"
|
||||
color = rgb(0,0,255)
|
||||
|
||||
/obj/structure/ladder/unbreakable/rune/ComponentInitialize()
|
||||
. = ..()
|
||||
AddElement(/datum/element/update_icon_blocker)
|
||||
|
||||
/obj/structure/ladder/unbreakable/rune/show_fluff_message(up,mob/user)
|
||||
user.visible_message(span_notice("[user] activates \the [src]."), span_notice("You activate \the [src]."))
|
||||
|
||||
/obj/structure/ladder/unbreakable/rune/use(mob/user, is_ghost=FALSE)
|
||||
if(is_ghost || !IS_WIZARD(user))
|
||||
..()
|
||||
@@ -103,6 +103,24 @@
|
||||
..()
|
||||
new L.plank_type(src.loc, 1 + round(potency / 25))
|
||||
|
||||
/obj/structure/ladder/unbreakable/rune
|
||||
name = "\improper Teleportation Rune"
|
||||
desc = "Could lead anywhere."
|
||||
icon = 'icons/obj/rune.dmi'
|
||||
icon_state = "1"
|
||||
color = rgb(0,0,255)
|
||||
|
||||
/obj/structure/ladder/unbreakable/rune/Initialize()
|
||||
. = ..()
|
||||
AddElement(/datum/element/update_icon_blocker)
|
||||
|
||||
/obj/structure/ladder/unbreakable/rune/show_fluff_message(up,mob/user)
|
||||
user.visible_message(span_notice("[user] activates \the [src]."), span_notice("You activate \the [src]."))
|
||||
|
||||
/obj/structure/ladder/unbreakable/rune/use(mob/user, is_ghost=FALSE)
|
||||
if(is_ghost || !IS_WIZARD(user))
|
||||
..()
|
||||
|
||||
/*Cabin's forest. Removed in the new cabin map since it was buggy and I prefer manual placement.*/
|
||||
/datum/map_generator/snowy
|
||||
modules = list(/datum/map_generator_module/bottomlayer/snow, \
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
//Challenge Areas
|
||||
|
||||
/area/awaymission/challenge/start
|
||||
name = "Where Am I?"
|
||||
icon_state = "away"
|
||||
|
||||
/area/awaymission/challenge/main
|
||||
name = "Danger Room"
|
||||
icon_state = "away1"
|
||||
requires_power = FALSE
|
||||
|
||||
/area/awaymission/challenge/end
|
||||
name = "Administration"
|
||||
icon_state = "away2"
|
||||
requires_power = FALSE
|
||||
|
||||
|
||||
/obj/machinery/power/emitter/energycannon
|
||||
name = "Energy Cannon"
|
||||
desc = "A heavy duty industrial laser."
|
||||
icon = 'icons/obj/singularity.dmi'
|
||||
icon_state = "emitter_+a"
|
||||
base_icon_state = "emitter_+a"
|
||||
anchored = TRUE
|
||||
density = TRUE
|
||||
resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF
|
||||
|
||||
use_power = NO_POWER_USE
|
||||
idle_power_usage = 0
|
||||
active_power_usage = 0
|
||||
|
||||
active = TRUE
|
||||
locked = TRUE
|
||||
welded = TRUE
|
||||
|
||||
/obj/machinery/power/emitter/energycannon/RefreshParts()
|
||||
SHOULD_CALL_PARENT(FALSE)
|
||||
return
|
||||
@@ -1,51 +0,0 @@
|
||||
//Spacebattle Areas
|
||||
|
||||
/area/awaymission/spacebattle
|
||||
name = "Space Battle"
|
||||
icon_state = "awaycontent1"
|
||||
requires_power = FALSE
|
||||
|
||||
/area/awaymission/spacebattle/cruiser
|
||||
name = "\improper Nanotrasen Cruiser"
|
||||
icon_state = "awaycontent2"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate1
|
||||
name = "Syndicate Assault Ship 1"
|
||||
icon_state = "awaycontent3"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate2
|
||||
name = "Syndicate Assault Ship 2"
|
||||
icon_state = "awaycontent4"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate3
|
||||
name = "Syndicate Assault Ship 3"
|
||||
icon_state = "awaycontent5"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate4
|
||||
name = "Syndicate War Sphere 1"
|
||||
icon_state = "awaycontent6"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate5
|
||||
name = "Syndicate War Sphere 2"
|
||||
icon_state = "awaycontent7"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate6
|
||||
name = "Syndicate War Sphere 3"
|
||||
icon_state = "awaycontent8"
|
||||
|
||||
/area/awaymission/spacebattle/syndicate7
|
||||
name = "Syndicate Fighter"
|
||||
icon_state = "awaycontent9"
|
||||
|
||||
/area/awaymission/spacebattle/secret
|
||||
name = "Hidden Chamber"
|
||||
icon_state = "awaycontent10"
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/ranged/spacebattle
|
||||
loot = list(/obj/effect/mob_spawn/corpse/human/syndicatesoldier,
|
||||
/obj/item/gun/ballistic/automatic/c20r,
|
||||
/obj/item/shield/energy)
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/melee/spacebattle
|
||||
deathmessage = "falls limp as they release their grip from the energy weapons, activating their self-destruct function!"
|
||||
loot = list(/obj/effect/mob_spawn/corpse/human/syndicatesoldier)
|
||||
@@ -1,173 +0,0 @@
|
||||
/* Code for the Wild West map by Brotemis
|
||||
* Contains:
|
||||
* Wish Granter
|
||||
* Meat Grinder
|
||||
*/
|
||||
|
||||
//Areas
|
||||
|
||||
/area/awaymission/wildwest/mines
|
||||
name = "Wild West Mines"
|
||||
icon_state = "away1"
|
||||
requires_power = FALSE
|
||||
|
||||
/area/awaymission/wildwest/gov
|
||||
name = "Wild West Mansion"
|
||||
icon_state = "away2"
|
||||
requires_power = FALSE
|
||||
|
||||
/area/awaymission/wildwest/refine
|
||||
name = "Wild West Refinery"
|
||||
icon_state = "away3"
|
||||
requires_power = FALSE
|
||||
|
||||
/area/awaymission/wildwest/vault
|
||||
name = "Wild West Vault"
|
||||
icon_state = "away3"
|
||||
|
||||
/area/awaymission/wildwest/vaultdoors
|
||||
name = "Wild West Vault Doors" // this is to keep the vault area being entirely lit because of requires_power
|
||||
icon_state = "away2"
|
||||
requires_power = FALSE
|
||||
|
||||
|
||||
///////// wildwest papers
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/wildwest/grinder
|
||||
info = "meat grinder requires sacri"
|
||||
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/wildwest/journal/page1
|
||||
name = "Planer Saul's Journal: Page 1"
|
||||
info = "We've discovered something floating in space. We can't really tell how old it is, but it is scraped and bent to hell. There object is the size of about a room with double doors that we have yet to break into. It is a lot sturdier than we could have imagined. We have decided to call it 'The Vault' "
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/wildwest/journal/page4
|
||||
name = "Planer Saul's Journal: Page 4"
|
||||
info = " The miners in the town have become sick and almost all production has stopped. They, in a fit of delusion, tossed all of their mining equipment into the furnaces. They all claimed the same thing. A voice beckoning them to lay down their arms. Stupid miners."
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/wildwest/journal/page7
|
||||
name = "Planer Sauls' Journal: Page 7"
|
||||
info = "The Vault...it just keeps growing and growing. I went on my daily walk through the garden and now it's just right outside the mansion... a few days ago it was only barely visible. But whatever is inside...it's calling to me."
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/wildwest/journal/page8
|
||||
name = "Planer Saul's Journal: Page 8"
|
||||
info = "The syndicate have invaded. Their ships appeared out of nowhere and now they likely intend to kill us all and take everything. On the off-chance that the Vault may grant us sanctuary, many of us have decided to force our way inside and bolt the door, taking as many provisions with us as we can carry. In case you find this, send for help immediately and open the Vault. Find us inside."
|
||||
|
||||
|
||||
/*
|
||||
* Wish Granter
|
||||
*/
|
||||
/obj/machinery/wish_granter_dark
|
||||
name = "Wish Granter"
|
||||
desc = "You're not so sure about this, anymore..."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "syndbeacon"
|
||||
|
||||
density = TRUE
|
||||
use_power = NO_POWER_USE
|
||||
|
||||
var/chargesa = 1
|
||||
var/insistinga = 0
|
||||
|
||||
/obj/machinery/wish_granter_dark/interact(mob/living/carbon/human/user)
|
||||
if(chargesa <= 0)
|
||||
to_chat(user, "The Wish Granter lies silent.")
|
||||
return
|
||||
|
||||
else if(!ishuman(user))
|
||||
to_chat(user, "You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.")
|
||||
return
|
||||
|
||||
else if(is_special_character(user))
|
||||
to_chat(user, "Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.")
|
||||
|
||||
else if (!insistinga)
|
||||
to_chat(user, "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?")
|
||||
insistinga++
|
||||
|
||||
else
|
||||
chargesa--
|
||||
insistinga = 0
|
||||
var/wish = input("You want...","Wish") as null|anything in sort_list(list("Power","Wealth","Immortality","Peace"))
|
||||
switch(wish)
|
||||
if("Power")
|
||||
to_chat(user, "<B>Your wish is granted, but at a terrible cost...</B>")
|
||||
to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")
|
||||
user.dna.add_mutation(/datum/mutation/human/laser_eyes)
|
||||
user.dna.add_mutation(/datum/mutation/human/pressure_adaptation)
|
||||
user.dna.add_mutation(/datum/mutation/human/xray)
|
||||
user.set_species(/datum/species/shadow)
|
||||
if("Wealth")
|
||||
to_chat(user, "<B>Your wish is granted, but at a terrible cost...</B>")
|
||||
to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")
|
||||
new /obj/structure/closet/syndicate/resources/everything(loc)
|
||||
user.set_species(/datum/species/shadow)
|
||||
if("Immortality")
|
||||
to_chat(user, "<B>Your wish is granted, but at a terrible cost...</B>")
|
||||
to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")
|
||||
add_verb(user, /mob/living/carbon/proc/immortality)
|
||||
user.set_species(/datum/species/shadow)
|
||||
if("Peace")
|
||||
to_chat(user, "<B>Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence.</B>")
|
||||
to_chat(user, "You feel as if you just narrowly avoided a terrible fate...")
|
||||
for(var/mob/living/simple_animal/hostile/faithless/F in GLOB.mob_living_list)
|
||||
F.death()
|
||||
|
||||
|
||||
///////////////Meatgrinder//////////////
|
||||
|
||||
|
||||
/obj/effect/meatgrinder
|
||||
name = "Meat Grinder"
|
||||
desc = "What is that thing?"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blobpod"
|
||||
var/triggered = 0
|
||||
|
||||
/obj/effect/meatgrinder/Initialize(mapload)
|
||||
. = ..()
|
||||
var/static/list/loc_connections = list(
|
||||
COMSIG_ATOM_ENTERED = .proc/on_entered,
|
||||
)
|
||||
AddElement(/datum/element/connect_loc, loc_connections)
|
||||
|
||||
/obj/effect/meatgrinder/proc/on_entered(datum/source, atom/movable/AM)
|
||||
SIGNAL_HANDLER
|
||||
Bumped(AM)
|
||||
|
||||
/obj/effect/meatgrinder/Bumped(atom/movable/AM)
|
||||
|
||||
if(triggered)
|
||||
return
|
||||
if(!ishuman(AM))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/M = AM
|
||||
|
||||
if(M.stat != DEAD && M.ckey)
|
||||
visible_message(span_warning("[M] triggered [src]!"))
|
||||
triggered = 1
|
||||
|
||||
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
explosion(src, devastation_range = 1, explosion_cause = src)
|
||||
qdel(src)
|
||||
|
||||
/////For the Wishgranter///////////
|
||||
|
||||
/mob/living/carbon/proc/immortality() //Mob proc so people cant just clone themselves to get rid of the shadowperson race. No hiding your wickedness.
|
||||
set category = "Immortality"
|
||||
set name = "Resurrection"
|
||||
|
||||
var/mob/living/carbon/C = usr
|
||||
if(!C.stat)
|
||||
to_chat(C, span_notice("You're not dead yet!"))
|
||||
return
|
||||
if(C.has_status_effect(/datum/status_effect/wish_granters_gift))
|
||||
to_chat(C, span_warning("You're already resurrecting!"))
|
||||
return
|
||||
C.apply_status_effect(/datum/status_effect/wish_granters_gift)
|
||||
return 1
|
||||
@@ -368,6 +368,14 @@
|
||||
head = /obj/item/clothing/head/wizard/marisa
|
||||
shoes = /obj/item/clothing/shoes/sneakers/marisa
|
||||
|
||||
/datum/outfit/wizard/academy
|
||||
name = "Academy Wizard"
|
||||
r_pocket = null
|
||||
r_hand = null
|
||||
suit = /obj/item/clothing/suit/wizrobe/red
|
||||
head = /obj/item/clothing/head/wizard/red
|
||||
backpack_contents = list(/obj/item/storage/box/survival = 1)
|
||||
|
||||
/datum/outfit/centcom/soviet
|
||||
name = "Soviet Admiral"
|
||||
|
||||
|
||||
@@ -3,6 +3,28 @@
|
||||
// Wabbajack statue, a sleeping frog statue that shoots bolts of change if
|
||||
// living carbons are put on its altar/tables
|
||||
|
||||
/obj/machinery/power/emitter/energycannon
|
||||
name = "Energy Cannon"
|
||||
desc = "A heavy duty industrial laser."
|
||||
icon = 'icons/obj/singularity.dmi'
|
||||
icon_state = "emitter_+a"
|
||||
base_icon_state = "emitter_+a"
|
||||
anchored = TRUE
|
||||
density = TRUE
|
||||
resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF
|
||||
|
||||
use_power = NO_POWER_USE
|
||||
idle_power_usage = 0
|
||||
active_power_usage = 0
|
||||
|
||||
active = TRUE
|
||||
locked = TRUE
|
||||
welded = TRUE
|
||||
|
||||
/obj/machinery/power/emitter/energycannon/RefreshParts()
|
||||
SHOULD_CALL_PARENT(FALSE)
|
||||
return
|
||||
|
||||
/obj/machinery/power/emitter/energycannon/magical
|
||||
name = "wabbajack statue"
|
||||
desc = "Who am I? What is my purpose in life? What do I mean by who am I?"
|
||||
|
||||
@@ -2548,19 +2548,15 @@
|
||||
#include "code\modules\awaymissions\signpost.dm"
|
||||
#include "code\modules\awaymissions\super_secret_room.dm"
|
||||
#include "code\modules\awaymissions\zlevel.dm"
|
||||
#include "code\modules\awaymissions\mission_code\Academy.dm"
|
||||
#include "code\modules\awaymissions\mission_code\Cabin.dm"
|
||||
#include "code\modules\awaymissions\mission_code\caves.dm"
|
||||
#include "code\modules\awaymissions\mission_code\centcomAway.dm"
|
||||
#include "code\modules\awaymissions\mission_code\challenge.dm"
|
||||
#include "code\modules\awaymissions\mission_code\moonoutpost19.dm"
|
||||
#include "code\modules\awaymissions\mission_code\murderdome.dm"
|
||||
#include "code\modules\awaymissions\mission_code\research.dm"
|
||||
#include "code\modules\awaymissions\mission_code\snowdin.dm"
|
||||
#include "code\modules\awaymissions\mission_code\spacebattle.dm"
|
||||
#include "code\modules\awaymissions\mission_code\stationCollision.dm"
|
||||
#include "code\modules\awaymissions\mission_code\undergroundoutpost45.dm"
|
||||
#include "code\modules\awaymissions\mission_code\wildwest.dm"
|
||||
#include "code\modules\balloon_alert\balloon_alert.dm"
|
||||
#include "code\modules\buildmode\bm_mode.dm"
|
||||
#include "code\modules\buildmode\buildmode.dm"
|
||||
|
||||
Reference in New Issue
Block a user