Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebalances tendril loot #2433

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions _maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1332,10 +1332,6 @@
/obj/effect/turf_decal/techfloor{
dir = 1
},
/obj/structure/cursed_money{
pixel_x = 3;
pixel_y = 10
},
/turf/open/floor/plasteel/tech,
/area/ruin/rockplanet/nanotrasen)
"Md" = (
Expand Down
2 changes: 0 additions & 2 deletions code/_globalvars/lists/maintenance_loot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -248,8 +248,6 @@ GLOBAL_LIST_INIT(oddity_loot, list(//oddity: strange or crazy items
/obj/item/clothing/head/helmet/abductor = 1,
/obj/item/clothing/head/helmet/justice =1,
/obj/item/clothing/suit/space/hardsuit/carp = 1,
/obj/item/dice/d20/fate/stealth/one_use = 1, //Looks like a d20, keep the d20 in the uncommon pool.
/obj/item/dice/d20/fate/stealth/cursed = 1, //Only rolls 1
/obj/item/clothing/shoes/jackboots/fast = 1,
/obj/item/clothing/suit/armor/reactive/table = 1,
/obj/item/storage/box/donkpockets/donkpocketgondola = 1,
Expand Down
4 changes: 1 addition & 3 deletions code/game/objects/structures/icemoon/cave_entrance.dm
Original file line number Diff line number Diff line change
Expand Up @@ -589,14 +589,12 @@ GLOBAL_LIST_INIT(ore_probability, list(
if(9)//Now's your chance to be a [[BIG SHOT]]
visible_message("<span class='userdanger'>You hear the sound of big money and bigger avarice.</span>")
playsound(loc,'sound/lavaland/cursed_slot_machine_jackpot.ogg', 150, FALSE, 50, TRUE, TRUE)
new /obj/structure/cursed_slot_machine(loc)
if(prob(35))
new /obj/item/spacecash/bundle/mediumrand(loc)
new /obj/item/spacecash/bundle/mediumrand(loc)
new /obj/item/coin/gold(loc)
new /mob/living/simple_animal/hostile/faithless(loc)
if(prob(35))
new /obj/item/clothing/mask/spamton(loc)
new /mob/living/simple_animal/hostile/faithless(loc)
if(prob(35))
new /obj/item/gem/fdiamond(loc)
Expand Down Expand Up @@ -913,7 +911,7 @@ GLOBAL_LIST_INIT(ore_probability, list(
playsound(loc,'sound/magic/knock.ogg', 100, FALSE, 50, TRUE, TRUE)
new /mob/living/simple_animal/hostile/big_legion(loc)
if(prob(75))
new /obj/structure/closet/crate/necropolis/tendril/greater(loc)
new /obj/structure/closet/crate/necropolis/tendril(loc)
new /turf/open/indestructible/necropolis(loc)
if(18)//xenobiologist's hubris
visible_message("<span class='userdanger'>You catch a glimpse of a wobbling sea of slimy friends. An abused-looking keeper slips through the portal.</span>")
Expand Down
226 changes: 0 additions & 226 deletions code/modules/awaymissions/mission_code/Academy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -162,232 +162,6 @@
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

/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(!used)
if(!ishuman(user) || !user.mind || (user.mind in SSticker.mode.wizards))
to_chat(user, "<span class='warning'>You feel the magic of the dice is restricted to ordinary humans!</span>")
return

if(!reusable)
used = TRUE

var/turf/T = get_turf(src)
T.visible_message("<span class='userdanger'>[src] flares briefly.</span>")

addtimer(CALLBACK(src, PROC_REF(effect), user, .), 1 SECONDS)

/obj/item/dice/d20/fate/equipped(mob/user, slot)
. = ..()
if(!ishuman(user) || !user.mind || (user.mind in SSticker.mode.wizards))
to_chat(user, "<span class='warning'>You feel the magic of the dice is restricted to ordinary humans! You should leave it alone.</span>")
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 class='userdanger'>[user] turns to dust!</span>")
user.hellbound = TRUE
user.dust()
if(2)
//Death
T.visible_message("<span class='userdanger'>[user] suddenly dies!</span>")
user.death()
if(3)
//Swarm of creatures
T.visible_message("<span class='userdanger'>A swarm of creatures surround [user]!</span>")
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 class='userdanger'>Everything [user] is holding and wearing disappears!</span>")
for(var/obj/item/I in user)
if(istype(I, /obj/item/implant))
continue
qdel(I)
if(5)
//Monkeying
T.visible_message("<span class='userdanger'>[user] transforms into a monkey!</span>")
user.monkeyize()
if(6)
//Cut speed
T.visible_message("<span class='userdanger'>[user] starts moving slower!</span>")
user.add_movespeed_modifier(/datum/movespeed_modifier/die_of_fate)
if(7)
//Throw
T.visible_message("<span class='userdanger'>Unseen forces throw [user]!</span>")
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)
//Fueltank Explosion
T.visible_message("<span class='userdanger'>An explosion bursts into existence around [user]!</span>")
explosion(get_turf(user),-1,0,2, flame_range = 2)
if(9)
//Cold
var/datum/disease/D = new /datum/disease/cold()
T.visible_message("<span class='userdanger'>[user] looks a little under the weather!</span>")
user.ForceContractDisease(D, FALSE, TRUE)
if(10)
//Nothing
T.visible_message("<span class='userdanger'>Nothing seems to happen.</span>")
if(11)
//Cookie
T.visible_message("<span class='userdanger'>A cookie appears out of thin air!</span>")
var/obj/item/reagent_containers/food/snacks/cookie/C = new(drop_location())
do_smoke(0, drop_location())
C.name = "Cookie of Fate"
if(12)
//Healing
T.visible_message("<span class='userdanger'>[user] looks very healthy!</span>")
user.revive(full_heal = TRUE, admin_revive = TRUE)
if(13)
//Mad Dosh
T.visible_message("<span class='userdanger'>Mad dosh shoots out of [src]!</span>")
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/spacecash/bundle/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 class='userdanger'>An impressive gun appears!</span>")
do_smoke(0, drop_location())
new /obj/item/gun/ballistic/revolver/mateba(drop_location())
if(15)
//Random One-use spellbook
T.visible_message("<span class='userdanger'>A magical looking book drops to the floor!</span>")
do_smoke(0, drop_location())
new /obj/item/book/granter/spell/random(drop_location())
if(16)
//Servant & Servant Summon
T.visible_message("<span class='userdanger'>A Dice Servant appears in a cloud of smoke!</span>")
var/mob/living/carbon/human/H = new(drop_location())
do_smoke(0, 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 = pollCandidatesForMob("Do you want to play as [user.real_name] Servant?", ROLE_WIZARD, null, ROLE_WIZARD, 50, 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/obj/effect/proc_holder/spell/targeted/summonmob/S = new
S.target_mob = H
user.mind.AddSpell(S)

if(17)
//Tator Kit
T.visible_message("<span class='userdanger'>A suspicious box appears!</span>")
new /obj/item/storage/box/syndicate/bundle_A(drop_location())
do_smoke(0, drop_location())
if(18)
//Captain ID
T.visible_message("<span class='userdanger'>A golden identification card appears!</span>")
new /obj/item/card/id/captains_spare(drop_location())
do_smoke(0, drop_location())
if(19)
//Instrinct Resistance
T.visible_message("<span class='userdanger'>[user] looks very robust!</span>")
user.physiology.brute_mod *= 0.5
user.physiology.burn_mod *= 0.5

if(20)
//Free wizard! //NOT ANY MORE FUCKING CHRIST
T.visible_message("<span class='userdanger'>Magic arches out of [src] and into ground under [user]!</span>")
new /obj/item/clothing/suit/wizrobe(drop_location())
new /obj/item/clothing/head/wizard(drop_location())
new /obj/item/clothing/gloves/combat/wizard(drop_location())
new /obj/item/clothing/suit/wizrobe/magusblue(drop_location())
new /obj/item/clothing/head/wizard/magus(drop_location())
new /obj/item/staff(drop_location())
new /obj/structure/mirror/magic(drop_location())

/datum/outfit/butler
name = "Butler"
uniform = /obj/item/clothing/under/suit/black_really
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

/obj/effect/proc_holder/spell/targeted/summonmob
name = "Summon Servant"
desc = "This spell can be used to call your servant, whenever you need it."
charge_max = 100
clothes_req = 0
invocation = "JE VES"
invocation_type = INVOCATION_WHISPER
range = -1
level_max = 0 //cannot be improved
cooldown_min = 100
include_user = 1

var/mob/living/target_mob

action_icon_state = "summons"

/obj/effect/proc_holder/spell/targeted/summonmob/cast(list/targets,mob/user = usr)
if(!target_mob)
return
var/turf/Start = get_turf(user)
for(var/direction in GLOB.alldirs)
var/turf/T = get_step(Start,direction)
if(!T.density)
target_mob.Move(T)

/obj/structure/ladder/unbreakable/rune
name = "\improper Teleportation Rune"
desc = "Could lead anywhere."
Expand Down
Loading