mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 18:44:48 +01:00
Fixes and pinpointer update
This commit is contained in:
@@ -25,16 +25,15 @@
|
||||
spawn(600)
|
||||
if(ghost_volunteers.len)
|
||||
var/mob/dead/observer/O = pick(ghost_volunteers)
|
||||
if(istype(O) && O.client && O.key)
|
||||
if(check_observer(O))
|
||||
transfer_personality(O)
|
||||
reset_search()
|
||||
|
||||
/obj/item/device/mmi/posibrain/proc/request_player()
|
||||
for(var/mob/dead/observer/O in player_list)
|
||||
if(O.client && O.client.prefs.be_special & BE_PAI && !jobban_isbanned(O, "Cyborg") && !jobban_isbanned(O,"nonhumandept"))
|
||||
if(check_observer(O))
|
||||
O << "\blue <b>\A [src] has been activated. (<a href='?src=\ref[O];jump=\ref[src]'>Teleport</a> | <a href='?src=\ref[src];signup=\ref[O]'>Sign Up</a>)"
|
||||
//question(O.client)
|
||||
if(check_observer(O))
|
||||
O << "\blue <b>\A [src] has been activated. (<a href='?src=\ref[O];jump=\ref[src]'>Teleport</a> | <a href='?src=\ref[src];signup=\ref[O]'>Sign Up</a>)"
|
||||
//question(O.client)
|
||||
|
||||
/obj/item/device/mmi/posibrain/proc/check_observer(var/mob/dead/observer/O)
|
||||
if(O.has_enabled_antagHUD == 1 && config.antag_hud_restricted)
|
||||
|
||||
@@ -279,6 +279,7 @@
|
||||
if(src.emag)
|
||||
var/obj/item/weapon/reagent_containers/food/drinks/cans/beer/B = src.emag
|
||||
B.reagents.add_reagent("beer2", 2)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/butler/add_languages(var/mob/living/silicon/robot/R)
|
||||
//full set of languages
|
||||
|
||||
@@ -1272,8 +1272,6 @@ mob/proc/yank_out_object()
|
||||
NPC.key = key
|
||||
spawn(5)
|
||||
respawnable_list += usr
|
||||
else
|
||||
// message_admins("Failed to check type")
|
||||
else
|
||||
usr << "You are not dead or you have given up your right to be respawned!"
|
||||
return
|
||||
|
||||
@@ -278,10 +278,6 @@
|
||||
var/list/mobtypes = typesof(/mob/living/simple_animal)
|
||||
var/mobpath = input("Which type of mob should [src] turn into?", "Choose a type") in mobtypes
|
||||
|
||||
if(!safe_animal(mobpath))
|
||||
usr << "\red Sorry but this mob type is currently unavailable."
|
||||
return
|
||||
|
||||
if(notransform)
|
||||
return
|
||||
for(var/obj/item/W in src)
|
||||
@@ -313,10 +309,6 @@
|
||||
var/list/mobtypes = typesof(/mob/living/simple_animal)
|
||||
var/mobpath = input("Which type of mob should [src] turn into?", "Choose a type") in mobtypes
|
||||
|
||||
if(!safe_animal(mobpath))
|
||||
usr << "\red Sorry but this mob type is currently unavailable."
|
||||
return
|
||||
|
||||
var/mob/new_mob = new mobpath(src.loc)
|
||||
|
||||
new_mob.key = key
|
||||
@@ -326,72 +318,10 @@
|
||||
|
||||
qdel(src)
|
||||
|
||||
/* Certain mob types have problems and should not be allowed to be controlled by players.
|
||||
*
|
||||
* This proc is here to force coders to manually place their mob in this list, hopefully tested.
|
||||
* This also gives a place to explain -why- players shouldnt be turn into certain mobs and hopefully someone can fix them.
|
||||
*/
|
||||
/mob/proc/safe_animal(var/MP)
|
||||
|
||||
//Bad mobs! - Remember to add a comment explaining what's wrong with the mob
|
||||
if(!MP)
|
||||
return 0 //Sanity, this should never happen.
|
||||
|
||||
if(ispath(MP, /mob/living/simple_animal/hostile/spaceWorm))
|
||||
return 0 //Unfinished. Very buggy, they seem to just spawn additional space worms everywhere and eating your own tail results in new worms spawning.
|
||||
|
||||
if(ispath(MP, /mob/living/simple_animal/construct/behemoth))
|
||||
return 0 //I think this may have been an unfinished WiP or something. These constructs should really have their own class simple_animal/construct/subtype
|
||||
|
||||
if(ispath(MP, /mob/living/simple_animal/construct/armoured))
|
||||
return 0 //Verbs do not appear for players. These constructs should really have their own class simple_animal/construct/subtype
|
||||
|
||||
if(ispath(MP, /mob/living/simple_animal/construct/wraith))
|
||||
return 0 //Verbs do not appear for players. These constructs should really have their own class simple_animal/construct/subtype
|
||||
|
||||
if(ispath(MP, /mob/living/simple_animal/construct/builder))
|
||||
return 0 //Verbs do not appear for players. These constructs should really have their own class simple_animal/construct/subtype
|
||||
|
||||
//Good mobs!
|
||||
if(ispath(MP, /mob/living/simple_animal/pet/cat))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/pet/corgi))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/crab))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/hostile/carp))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/hostile/mushroom))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/shade))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/tomato))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/mouse))
|
||||
return 1 //It is impossible to pull up the player panel for mice (Fixed! - Nodrak)
|
||||
if(ispath(MP, /mob/living/simple_animal/hostile/bear))
|
||||
return 1 //Bears will auto-attack mobs, even if they're player controlled (Fixed! - Nodrak)
|
||||
if(ispath(MP, /mob/living/simple_animal/parrot))
|
||||
return 1 //Parrots are no longer unfinished! -Nodrak
|
||||
if(ispath(MP, /mob/living/simple_animal/pony))
|
||||
return 1 // ZOMG PONIES WHEEE
|
||||
if(ispath(MP, /mob/living/simple_animal/pet/fox))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/chick))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/pet/pug))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/butterfly))
|
||||
return 1
|
||||
//Not in here? Must be untested!
|
||||
return 0
|
||||
|
||||
|
||||
/mob/proc/safe_respawn(var/MP)
|
||||
if(!MP)
|
||||
return 0 //Sanity, this should never happen.
|
||||
return 0
|
||||
|
||||
//Animals!
|
||||
if(ispath(MP, /mob/living/simple_animal/pet/cat))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/pet/corgi))
|
||||
@@ -415,15 +345,10 @@
|
||||
if(ispath(MP, /mob/living/simple_animal/butterfly))
|
||||
return 1
|
||||
|
||||
//Antag Creatures!
|
||||
if(ispath(MP, /mob/living/simple_animal/borer) && !jobban_isbanned(src, "alien") && !jobban_isbanned(src, "Syndicate"))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/hostile/statue) && !jobban_isbanned(src, "Syndicate"))
|
||||
return 1
|
||||
|
||||
//Friendly Creatures!
|
||||
|
||||
if(ispath(MP, /mob/living/simple_animal/diona) && !jobban_isbanned(src, "Dionaea"))
|
||||
return 1
|
||||
|
||||
//Not in here? Must be untested!
|
||||
return 0
|
||||
|
||||
@@ -69,11 +69,12 @@
|
||||
reagents.trans_to(M, gulp_size)
|
||||
|
||||
if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
|
||||
var/mob/living/silicon/robot/bro = user
|
||||
bro.cell.use(30)
|
||||
var/mob/living/silicon/robot/borg = user
|
||||
borg.cell.use(30)
|
||||
var/refill = R.get_master_reagent_id()
|
||||
spawn(600)
|
||||
R.add_reagent(refill, fillevel)
|
||||
if(refill in drinks) // Only synthesize drinks
|
||||
spawn(600)
|
||||
R.add_reagent(refill, fillevel)
|
||||
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
return 1
|
||||
@@ -125,15 +126,16 @@
|
||||
user << "\blue You transfer [trans] units of the solution to [target]."
|
||||
|
||||
if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
|
||||
var/mob/living/silicon/robot/bro = user
|
||||
var/chargeAmount = max(30,4*trans)
|
||||
bro.cell.use(chargeAmount)
|
||||
user << "Now synthesizing [trans] units of [refillName]..."
|
||||
if(refill in drinks) // Only synthesize drinks
|
||||
var/mob/living/silicon/robot/bro = user
|
||||
var/chargeAmount = max(30,4*trans)
|
||||
bro.cell.use(chargeAmount)
|
||||
user << "Now synthesizing [trans] units of [refillName]..."
|
||||
|
||||
|
||||
spawn(300)
|
||||
reagents.add_reagent(refill, trans)
|
||||
user << "Cyborg [src] refilled."
|
||||
spawn(300)
|
||||
reagents.add_reagent(refill, trans)
|
||||
user << "Cyborg [src] refilled."
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -14,11 +14,10 @@
|
||||
icon_state = "bottle16"
|
||||
reagent = "epinephrine"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("epinephrine", 60)
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/robot/epinephrine/New()
|
||||
..()
|
||||
reagents.add_reagent("epinephrine", 60)
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/robot/charcoal
|
||||
name = "internal charcoal bottle"
|
||||
@@ -27,7 +26,7 @@
|
||||
icon_state = "bottle17"
|
||||
reagent = "charcoal"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("charcoal", 60)
|
||||
return
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/robot/charcoal/New()
|
||||
..()
|
||||
reagents.add_reagent("charcoal", 60)
|
||||
return
|
||||
Reference in New Issue
Block a user