Conflicts:
	maps/cyberiad.dmm
This commit is contained in:
Markolie
2014-12-18 17:13:18 +01:00
20 changed files with 12430 additions and 12189 deletions
+5 -5
View File
@@ -27,7 +27,7 @@
icon_power_button = "spell_missile"
/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/magic_missile
amt_weakened = 5
amt_weakened = 3
amt_dam_fire = 10
/obj/effect/proc_holder/spell/wizard/noclothes
@@ -119,7 +119,7 @@
smoke_spread = 1
smoke_amt = 10
smoke_amt = 1
inner_tele_radius = 0
outer_tele_radius = 6
@@ -268,7 +268,7 @@
icon_power_button = "spell_fireball"
/obj/effect/proc_holder/spell/wizard/turf/fireball/cast(var/turf/T)
explosion(T, -1, 0, 2, 0)
explosion(T, -1, 0, 2, 3, 0)
/obj/effect/proc_holder/spell/wizard/targeted/inflict_handler/fireball
@@ -277,5 +277,5 @@
/obj/effect/proc_holder/spell/wizard/targeted/explosion/fireball
ex_severe = -1
ex_heavy = 0
ex_light = 2
ex_heavy = -1
ex_light = 2
+2 -1
View File
@@ -550,7 +550,7 @@
throwforce = 5.0
sharp = 1
edge = 1
throw_speed = 1
throw_speed = 2
throw_range = 3
w_class = 4.0
flags = FPRINT | TABLEPASS | NOSHIELD
@@ -594,6 +594,7 @@
desc = "Special mechanical module made to store, sort, and apply standard machine parts."
icon_state = "RPED"
item_state = "RPED"
icon_override = 'icons/mob/in-hand/tools.dmi'
w_class = 5
can_hold = list("/obj/item/weapon/stock_parts","/obj/item/weapon/cell")
storage_slots = 50
+1 -1
View File
@@ -373,7 +373,7 @@
/obj/item/weapon/spellbook/oneuse/fireball/recoil(mob/user as mob)
..()
explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2)
explosion(user.loc, -1, 0, 2, 3, 0)
del(src)
/obj/item/weapon/spellbook/oneuse/smoke
+1 -1
View File
@@ -20,7 +20,7 @@
flag = CYBORG
department_flag = ENGSEC
total_positions = 0
spawn_positions = 2
spawn_positions = 1
supervisors = "your laws and the AI" //Nodrak
selection_color = "#ddffdd"
minimal_player_age = 21
+9 -14
View File
@@ -713,24 +713,19 @@
check_level_sanity()
update_icon()
//Check if container is Plant-B-Gone spray (doesn't work with other sprays, may add in future)
else if (istype(O, /obj/item/weapon/reagent_containers/spray/plantbgone))
//Check if container is any spray container
else if (istype(O, /obj/item/weapon/reagent_containers/spray))
var/obj/item/weapon/reagent_containers/spray/S = O
//Check if there is a plant in the tray
if(seed)
health -= rand(5,20)
if(pestlevel > 0)
pestlevel -= 2
if(weedlevel > 0)
weedlevel -= 3
toxins += 4
check_level_sanity()
if(!S.reagents.total_volume)
user << "\red [S] is empty."
return
//Container not empty, transfer contents to tray
S.reagents.trans_to(src, S.amount_per_transfer_from_this)
visible_message("\red <B>\The [src] has been sprayed with \the [O][(user ? " by [user]." : ".")]")
playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6)
check_level_sanity()
update_icon()
else
user << "There's nothing in [src] to spray!"
+13 -1
View File
@@ -56,8 +56,20 @@
slime
process(loc, what)
var/mob/living/carbon/slime/S = what
var/C = S.cores
if(S.stat != DEAD)
S.loc = loc
S.visible_message("<span class='notice'>[C] crawls free of the processor!</span>")
return
for(var/i = 1, i <= C, i++)
new S.coretype(loc)
feedback_add_details("slime_core_harvested","[replacetext(S.colour," ","_")]")
..()
input = /mob/living/carbon/slime
output = /obj/item/weapon/reagent_containers/glass/beaker/slime
output = null
monkey
process(loc, what)
+14 -14
View File
@@ -6,7 +6,7 @@ RCD
*/
/obj/item/weapon/rcd
name = "rapid-construction-device (RCD)"
desc = "A device used to rapidly build walls/floor."
desc = "A device used to rapidly build and deconstruct walls and floors."
icon = 'icons/obj/items.dmi'
icon_state = "rcd"
opacity = 0
@@ -18,7 +18,7 @@ RCD
throw_speed = 3
throw_range = 5
w_class = 3.0
m_amt = 30000
m_amt = 100000
origin_tech = "engineering=4;materials=2"
var/datum/effect/effect/system/spark_spread/spark_system
var/matter = 0
@@ -29,7 +29,7 @@ RCD
New()
desc = "A RCD. It currently holds [matter]/30 matter-units."
desc = "A RCD. It currently holds [matter]/100 matter-units."
src.spark_system = new /datum/effect/effect/system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
@@ -39,15 +39,15 @@ RCD
attackby(obj/item/weapon/W, mob/user)
..()
if(istype(W, /obj/item/weapon/rcd_ammo))
if((matter + 10) > 30)
if((matter + 20) > 100)
user << "<span class='notice'>The RCD cant hold any more matter-units.</span>"
return
user.drop_item()
del(W)
matter += 10
matter += 20
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user << "<span class='notice'>The RCD now holds [matter]/30 matter-units.</span>"
desc = "A RCD. It currently holds [matter]/30 matter-units."
user << "<span class='notice'>The RCD now holds [matter]/100 matter-units.</span>"
desc = "A RCD. It currently holds [matter]/100 matter-units."
return
@@ -148,11 +148,11 @@ RCD
return 0
if(istype(A, /obj/machinery/door/airlock))
if(checkResource(10, user))
if(checkResource(20, user))
user << "Deconstructing Airlock..."
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, 50))
if(!useResource(10, user)) return 0
if(!useResource(20, user)) return 0
activate()
del(A)
return 1
@@ -166,7 +166,7 @@ RCD
if(matter < amount)
return 0
matter -= amount
desc = "A RCD. It currently holds [matter]/30 matter-units."
desc = "A RCD. It currently holds [matter]/100 matter-units."
return 1
/obj/item/weapon/rcd/proc/checkResource(var/amount, var/mob/user)
@@ -174,17 +174,17 @@ RCD
/obj/item/weapon/rcd/borg/useResource(var/amount, var/mob/user)
if(!isrobot(user))
return 0
return user:cell:use(amount * 30)
return user:cell:use(amount * 160)
/obj/item/weapon/rcd/borg/checkResource(var/amount, var/mob/user)
if(!isrobot(user))
return 0
return user:cell:charge >= (amount * 30)
return user:cell:charge >= (amount * 160)
/obj/item/weapon/rcd/borg/New()
..()
desc = "A device used to rapidly build walls/floor."
canRwall = 0
desc = "A device used to rapidly build and deconstruct walls and floors."
canRwall = 1
/obj/item/weapon/rcd_ammo
name = "compressed matter cartridge"
@@ -50,8 +50,8 @@
edge = 1
/obj/item/weapon/melee/energy/sword/cyborg
var/hitcost = 500
var/hitcost = 500
/obj/item/weapon/melee/energy/sword/cyborg/attack(mob/M, var/mob/living/silicon/robot/R)
if(R.cell)
var/obj/item/weapon/cell/C = R.cell
@@ -62,7 +62,7 @@
//C.use(hitcost)
..()
return
/obj/item/weapon/melee/energy/sword/pirate
name = "energy cutlass"
desc = "Arrrr matey."
@@ -72,7 +72,7 @@
name = "energy blade"
desc = "A concentrated beam of energy in the shape of a blade. Very stylish... and lethal."
icon_state = "blade"
force = 70.0//Normal attacks deal very high damage.
force = 30.0 //Normal attacks deal esword damage
sharp = 1
edge = 1
throwforce = 1//Throwing or dropping the item deletes it.
@@ -33,22 +33,24 @@
active = !active
if (active)
force = 30
throwforce = 20
if(istype(src,/obj/item/weapon/melee/energy/sword/pirate))
icon_state = "cutlass1"
else
icon_state = "sword[blade_color]"
w_class = 4
playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
playsound(user, 'sound/weapons/saberon.ogg', 35, 1)
hitsound = 'sound/weapons/blade1.ogg'
user << "\blue [src] is now active."
else
force = 3
throwforce = 5.0
if(istype(src,/obj/item/weapon/melee/energy/sword/pirate))
icon_state = "cutlass0"
else
icon_state = "sword0"
w_class = 2
playsound(user, 'sound/weapons/saberoff.ogg', 50, 1)
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1)
hitsound = "swing_hit"
user << "\blue [src] can now be concealed."
if(istype(user,/mob/living/carbon/human))
+13 -3
View File
@@ -443,8 +443,8 @@
*/
/obj/item/weapon/crowbar
name = "crowbar"
desc = "Used to hit floors"
name = "pocket crowbar"
desc = "A small crowbar. This handy tool is useful for lots of things, such as prying floor tiles or opening unpowered doors."
icon = 'icons/obj/items.dmi'
icon_state = "crowbar"
flags = FPRINT | TABLEPASS| CONDUCT
@@ -462,6 +462,16 @@
icon_state = "red_crowbar"
item_state = "crowbar_red"
/obj/item/weapon/crowbar/large
name = "crowbar"
desc = "It's a big crowbar. It doesn't fit in your pockets, because it's big."
force = 12
w_class = 3
throw_speed = 3
throw_range = 3
m_amt = 66
icon_state = "crowbar_large"
/obj/item/weapon/weldingtool/attack(mob/M as mob, mob/user as mob)
if(hasorgans(M))
@@ -480,7 +490,7 @@
if(S.brute_dam)
var/obj/item/weapon/weldingtool/WT = src
if (WT.remove_fuel(0,user))
if (WT.remove_fuel(0,null))
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
S.heal_damage(15,0,0,1)
user.visible_message("\red \The [user] patches some dents on \the [M]'s [S.display_name] with \the [src].")
+7 -5
View File
@@ -158,12 +158,13 @@ obj/item/weapon/twohanded/
name = "fire axe"
desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?"
force = 5
throwforce = 15
sharp = 1
edge = 1
w_class = 4.0
slot_flags = SLOT_BACK
force_unwielded = 10
force_wielded = 40
force_unwielded = 5
force_wielded = 24
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -203,7 +204,7 @@ obj/item/weapon/twohanded/
throw_range = 5
w_class = 2.0
force_unwielded = 3
force_wielded = 30
force_wielded = 34
wieldsound = 'sound/weapons/saberon.ogg'
unwieldsound = 'sound/weapons/saberoff.ogg'
flags = FPRINT | TABLEPASS | NOSHIELD
@@ -287,8 +288,9 @@ obj/item/weapon/twohanded/
w_class = 4.0
slot_flags = SLOT_BACK
force_unwielded = 10
force_wielded = 13
throwforce = 15
force_wielded = 18 // Was 13, Buffed - RR
throwforce = 20
throw_speed = 3
flags = FPRINT | TABLEPASS | NOSHIELD
attack_verb = list("attacked", "poked", "jabbed", "torn", "gored")
+297 -88
View File
@@ -12,6 +12,7 @@
layer = 3.9
infra_luminosity = 15
var/mob/living/carbon/occupant
var/mob/living/carbon/occupant2 //two seaters
var/datum/spacepod/equipment/equipment_system
var/obj/item/weapon/cell/high/battery
var/datum/gas_mixture/cabin_air
@@ -27,6 +28,7 @@
var/health = 100
var/lights = 0
var/lights_power = 6
var/allow2enter = 1
/obj/spacepod/New()
. = ..()
@@ -77,19 +79,27 @@
S.channel = 0 //Any channel
S.volume = 50
occupant << S
if(occupant2)
occupant2 << S
if(occupant && oldhealth > health && !health)
var/sound/S = sound('sound/effects/engine_alert1.ogg')
S.wait = 0
S.channel = 0
S.volume = 50
occupant << S
if(occupant2)
occupant2 << S
if(!health)
spawn(0)
if(occupant)
if(occupant2)
occupant2 << "<big><span class='warning'>Critical damage to the vessel detected, core explosion imminent!</span></big>"
occupant << "<big><span class='warning'>Critical damage to the vessel detected, core explosion imminent!</span></big>"
for(var/i = 10, i >= 0; --i)
if(occupant)
occupant << "<span class='warning'>[i]</span>"
if(occupant2)
occupant2 << "<span class='warning'>[i]</span>"
if(i == 0)
explosion(loc, 2, 4, 8)
sleep(10)
@@ -100,10 +110,15 @@
switch(severity)
if(1)
var/mob/living/carbon/human/H = occupant
var/mob/living/carbon/human/H2 = occupant2
if(H)
H.loc = get_turf(src)
H.ex_act(severity + 1)
H << "<span class='warning'>You are forcefully thrown from \the [src]!</span>"
if(H2)
H2.loc = get_turf(src)
H2.ex_act(severity + 1)
H2 << "<span class='warning'>You are forcefully thrown from \the [src]!</span>"
del(ion_trail)
del(src)
if(2)
@@ -297,40 +312,91 @@
return
/obj/spacepod/proc/moved_inside(var/mob/living/carbon/human/H as mob)
var/fukkendisk = usr.GetTypeInAllContents(/obj/item/weapon/disk/nuclear)
if(fukkendisk)
usr << "\red <B>The nuke-disk locks the door as you try to get in. You evil person.</b>"
return
if(H && H.client && H in range(1))
H.reset_view(src)
/*
H.client.perspective = EYE_PERSPECTIVE
H.client.eye = src
*/
H.stop_pulling()
H.forceMove(src)
src.occupant = H
src.add_fingerprint(H)
src.forceMove(src.loc)
//dir = dir_in
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
return 1
if(src.occupant)
H.reset_view(src)
/*
H.client.perspective = EYE_PERSPECTIVE
H.client.eye = src
*/
H.stop_pulling()
H.forceMove(src)
src.occupant2 = H
src.add_fingerprint(H)
src.forceMove(src.loc)
//dir = dir_in
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
return 1
else
H.reset_view(src)
/*
H.client.perspective = EYE_PERSPECTIVE
H.client.eye = src
*/
H.stop_pulling()
H.forceMove(src)
src.occupant = H
src.add_fingerprint(H)
src.forceMove(src.loc)
//dir = dir_in
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
return 1
else
return 0
/obj/spacepod/proc/moved_other_inside(var/mob/living/carbon/human/H as mob)
H.reset_view(src)
H.stop_pulling()
H.forceMove(src)
src.occupant2 = H
src.forceMove(src.loc)
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
return 1
/obj/spacepod/MouseDrop_T(mob/M as mob, mob/user as mob)
if(M != user)
return
move_inside(M, user)
if(M.stat != 0)
move_inside(M, user)
else
return
else
move_inside(M, user)
/obj/spacepod/verb/move_inside()
set category = "Object"
set name = "Enter Pod"
set src in oview(1)
var/fukkendisk = usr.GetTypeInAllContents(/obj/item/weapon/disk/nuclear)
if(fukkendisk)
usr << "\red <B>The nuke-disk is locking the door every time you try to open it. You get the feeling that it doesn't want to go into the spacepod.</b>"
return
if(usr.restrained() || usr.stat || usr.weakened || usr.stunned || usr.paralysis || usr.resting) //are you cuffed, dying, lying, stunned or other
return
if (usr.stat || !ishuman(usr))
return
if (src.occupant)
usr << "\blue <B>The [src.name] is already occupied!</B>"
return
if(allow2enter)
usr << "\blue <B>You starts climbing into the secondary seat.</B>"
visible_message("\blue [usr] starts to climb into [src.name]")
if(enter_after(40,usr))
moved_inside(usr)
else
usr << "You stop entering the spacepod."
return
else
usr << "\red <B>The [src.name]'s doors are locked.</B>"
return
/*
if (usr.abiotic())
usr << "\blue <B>Subject cannot have abiotic items on.</B>"
@@ -359,53 +425,155 @@
set src = usr.loc
if(usr != src.occupant)
if(src.occupant2)
if(usr != src.occupant2)
return
else
inertia_dir = 0 // engage reverse thruster and power down pod
src.occupant2.loc = src.loc
src.occupant2 = null
usr << "<span class='notice'>You climb out of the pod</span>"
else
return
else
inertia_dir = 0 // engage reverse thruster and power down pod
src.occupant.loc = src.loc
src.occupant = null
usr << "<span class='notice'>You climb out of the pod</span>"
return
inertia_dir = 0 // engage reverse thruster and power down pod
src.occupant.loc = src.loc
src.occupant = null
usr << "<span class='notice'>You climb out of the pod</span>"
return
/obj/spacepod/verb/exit_pod2()
if(!src.occupant2)
set hidden = 1
return
else
set name = "Eject Secondary Seat"
set category = "Spacepod"
set src = usr.loc
set hidden = 0
if(usr.ckey == src.occupant2.ckey)
usr << "<span class='notice'>Use 'Exit Pod'</span>"
return
else
usr << "<span class='notice'>You eject [src.occupant2.name].</span>"
src.occupant2.visible_message("You were ejected from the pod!")
inertia_dir = 0 // engage reverse thruster and power down pod
src.occupant2.loc = src.loc
src.occupant2 = null
/obj/spacepod/verb/locksecondseat()
set name = "Lock Doors"
set category = "Spacepod"
set src = usr.loc
if(usr.ckey == src.occupant2.ckey)
if(!allow2enter)
usr << "<span class='notice'>You can't unlock the doors from your seat. </span>"
return
else
usr << "<span class='notice'>You can't lock the doors from your seat. </span>"
return
else
if(src.allow2enter)
src.allow2enter = 0
usr << "<span class='notice'>You lock the doors.</span>"
else
src.allow2enter = 1
usr << "<span class='notice'>You unlock the doors.</span>"
/obj/spacepod/verb/toggleDoors()
set name = "Toggle Nearby Pod Doors"
set category = "Spacepod"
set src = usr.loc
if(src.occupant2)
if(usr.ckey != src.occupant2.ckey)
set name = "Toggle Nearby Pod Doors"
set category = "Spacepod"
set src = usr.loc
for(var/obj/machinery/door/poddoor/P in oview(3,src))
if(istype(P, /obj/machinery/door/poddoor/three_tile_hor) || istype(P, /obj/machinery/door/poddoor/three_tile_ver) || istype(P, /obj/machinery/door/poddoor/four_tile_hor) || istype(P, /obj/machinery/door/poddoor/four_tile_ver))
var/mob/living/carbon/human/L = usr
if(P.check_access(L.get_active_hand()) || P.check_access(L.wear_id))
if(P.density)
P.open()
return 1
else
P.close()
return 1
usr << "<span class='warning'>Access denied.</span>"
for(var/obj/machinery/door/poddoor/P in oview(3,src))
if(istype(P, /obj/machinery/door/poddoor/three_tile_hor) || istype(P, /obj/machinery/door/poddoor/three_tile_ver) || istype(P, /obj/machinery/door/poddoor/four_tile_hor) || istype(P, /obj/machinery/door/poddoor/four_tile_ver))
var/mob/living/carbon/human/L = usr
if(P.check_access(L.get_active_hand()) || P.check_access(L.wear_id))
if(P.density)
P.open()
return 1
else
P.close()
return 1
usr << "<span class='warning'>Access denied.</span>"
return
usr << "<span class='warning'>You are not close to any pod doors.</span>"
return
usr << "<span class='warning'>You are not close to any pod doors.</span>"
return
else
return
else
set name = "Toggle Nearby Pod Doors"
set category = "Spacepod"
set src = usr.loc
for(var/obj/machinery/door/poddoor/P in oview(3,src))
if(istype(P, /obj/machinery/door/poddoor/three_tile_hor) || istype(P, /obj/machinery/door/poddoor/three_tile_ver) || istype(P, /obj/machinery/door/poddoor/four_tile_hor) || istype(P, /obj/machinery/door/poddoor/four_tile_ver))
var/mob/living/carbon/human/L = usr
if(P.check_access(L.get_active_hand()) || P.check_access(L.wear_id))
if(P.density)
P.open()
return 1
else
P.close()
return 1
usr << "<span class='warning'>Access denied.</span>"
return
usr << "<span class='warning'>You are not close to any pod doors.</span>"
return
/obj/spacepod/verb/fireWeapon()
set name = "Fire Pod Weapons"
set desc = "Fire the weapons."
set category = "Spacepod"
set src = usr.loc
equipment_system.weapon_system.fire_weapons()
if(src.occupant2)
if(usr.ckey != src.occupant2.ckey)
set name = "Fire Pod Weapons"
set desc = "Fire the weapons."
set category = "Spacepod"
set src = usr.loc
equipment_system.weapon_system.fire_weapons()
else
return
else
set name = "Fire Pod Weapons"
set desc = "Fire the weapons."
set category = "Spacepod"
set src = usr.loc
equipment_system.weapon_system.fire_weapons()
obj/spacepod/verb/toggleLights()
set name = "Toggle Lights"
set category = "Spacepod"
set src = usr.loc
if (usr != occupant)
return
lights = !lights
if(lights)
SetLuminosity(luminosity + lights_power)
if(src.occupant2)
if(usr.ckey != src.occupant2.ckey)
set name = "Toggle Lights"
set category = "Spacepod"
set src = usr.loc
if (usr != occupant)
return
lights = !lights
if(lights)
SetLuminosity(luminosity + lights_power)
else
SetLuminosity(luminosity - lights_power)
occupant << "Toggled lights [lights?"on":"off"]."
return
else
return
else
SetLuminosity(luminosity - lights_power)
occupant << "Toggled lights [lights?"on":"off"]."
return
set name = "Toggle Lights"
set category = "Spacepod"
set src = usr.loc
if (usr != occupant)
return
lights = !lights
if(lights)
SetLuminosity(luminosity + lights_power)
else
SetLuminosity(luminosity - lights_power)
occupant << "Toggled lights [lights?"on":"off"]."
return
/obj/spacepod/proc/enter_after(delay as num, var/mob/user as mob, var/numticks = 5)
var/delayfraction = delay/numticks
@@ -480,41 +648,82 @@ obj/spacepod/verb/toggleLights()
return 1
/obj/spacepod/relaymove(mob/user, direction)
var/moveship = 1
if(battery && battery.charge >= 3 && health)
src.dir = direction
switch(direction)
if(1)
if(inertia_dir == 2)
inertia_dir = 0
moveship = 0
if(2)
if(inertia_dir == 1)
inertia_dir = 0
moveship = 0
if(4)
if(inertia_dir == 8)
inertia_dir = 0
moveship = 0
if(8)
if(inertia_dir == 4)
inertia_dir = 0
moveship = 0
if(moveship)
step(src, direction)
if(istype(src.loc, /turf/space))
inertia_dir = direction
else
if(!battery)
user << "<span class='warning'>No energy cell detected.</span>"
else if(battery.charge < 3)
user << "<span class='warning'>Not enough charge left.</span>"
else if(!health)
user << "<span class='warning'>She's dead, Jim</span>"
if(src.occupant2)
if(user.ckey != src.occupant2.ckey)
var/moveship = 1
if(battery && battery.charge >= 3 && health)
src.dir = direction
switch(direction)
if(1)
if(inertia_dir == 2)
inertia_dir = 0
moveship = 0
if(2)
if(inertia_dir == 1)
inertia_dir = 0
moveship = 0
if(4)
if(inertia_dir == 8)
inertia_dir = 0
moveship = 0
if(8)
if(inertia_dir == 4)
inertia_dir = 0
moveship = 0
if(moveship)
step(src, direction)
if(istype(src.loc, /turf/space))
inertia_dir = direction
else
if(!battery)
user << "<span class='warning'>No energy cell detected.</span>"
else if(battery.charge < 3)
user << "<span class='warning'>Not enough charge left.</span>"
else if(!health)
user << "<span class='warning'>She's dead, Jim</span>"
else
user << "<span class='warning'>Unknown error has occurred, yell at pomf.</span>"
return 0
battery.charge = max(0, battery.charge - 3)
else
user << "<span class='warning'>Unknown error has occurred, yell at pomf.</span>"
return 0
battery.charge = max(0, battery.charge - 3)
return
else
var/moveship = 1
if(battery && battery.charge >= 3 && health)
src.dir = direction
switch(direction)
if(1)
if(inertia_dir == 2)
inertia_dir = 0
moveship = 0
if(2)
if(inertia_dir == 1)
inertia_dir = 0
moveship = 0
if(4)
if(inertia_dir == 8)
inertia_dir = 0
moveship = 0
if(8)
if(inertia_dir == 4)
inertia_dir = 0
moveship = 0
if(moveship)
step(src, direction)
if(istype(src.loc, /turf/space))
inertia_dir = direction
else
if(!battery)
user << "<span class='warning'>No energy cell detected.</span>"
else if(battery.charge < 3)
user << "<span class='warning'>Not enough charge left.</span>"
else if(!health)
user << "<span class='warning'>She's dead, Jim</span>"
else
user << "<span class='warning'>Unknown error has occurred, yell at pomf.</span>"
return 0
battery.charge = max(0, battery.charge - 3)
/obj/effect/landmark/spacepod/random
name = "spacepod spawner"
@@ -139,13 +139,16 @@
playsound(loc, attack.attack_sound, 25, 1, -1)
visible_message("\red <B>[M] [pick(attack.attack_verb)]ed [src]!</B>")
//Rearranged, so claws don't increase weaken chance.
if(damage >= 5 && prob(50))
visible_message("\red <B>[M] has weakened [src]!</B>")
apply_effect(2, WEAKEN, armor_block)
damage += attack.damage
apply_damage(damage, BRUTE, affecting, armor_block, sharp=attack.sharp, edge=attack.edge)
apply_damage(damage, BRUTE, affecting, armor_block, sharp=attack.sharp, edge=attack.edge) //moving this back here means Armalis are going to knock you down 70% of the time, but they're pure adminbus anyway.
if((stat != DEAD) && damage >= 9)
visible_message("<span class='danger'>[M] has weakened [src]!</span>", \
"<span class='userdanger'>[M] has weakened [src]!</span>")
apply_effect(4, WEAKEN, armor_block)
forcesay(hit_appends)
else if(lying)
forcesay(hit_appends)
if("disarm")
+2 -4
View File
@@ -42,7 +42,7 @@
var/burn_mod = null // Burn damage reduction/malus.
// For grays
var/max_hurt_damage = 5 // Max melee damage dealt + 5 if hulk
var/max_hurt_damage = 9 // Max melee damage dealt + 5 if hulk
var/list/default_mutations = list()
var/list/default_blocks = list() // Don't touch.
var/list/default_block_names = list() // Use this instead, using the names from setupgame.dm
@@ -636,16 +636,14 @@
/datum/unarmed_attack/diona
attack_verb = list("lash", "bludgeon")
damage = 5
/datum/unarmed_attack/claws
attack_verb = list("scratch", "claw")
attack_sound = 'sound/weapons/slice.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
damage = 5
sharp = 1
edge = 1
/datum/unarmed_attack/claws/armalis
attack_verb = list("slash", "claw")
damage = 10 //they're huge! they should do a little more damage, i'd even go for 15-20 maybe...
damage = 6 //they're huge! they should do a little more damage, i'd even go for 15-20 maybe...
+1 -1
View File
@@ -131,6 +131,6 @@
/obj/item/weapon/gun/magic/wand/fireball/zap_self(mob/living/user as mob)
if(alert(user, "Zapping yourself with a wand of fireball is probably a bad idea, do it anyway?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user))
explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2)
explosion(user.loc, -1, 0, 2, 3, 0)
charges--
..()
+1 -1
View File
@@ -24,7 +24,7 @@
/obj/item/projectile/magic/fireball/on_hit(var/target)
var/turf/T = get_turf(target)
explosion(T, -1, 0, 2, 3, 0, flame_range = 2)
explosion(T, -1, 0, 2, 3, 0)
/obj/item/projectile/magic/resurrection
name = "bolt of resurrection"
@@ -495,6 +495,9 @@ datum
var/mob/living/carbon/human/human = M
if(human.dna.mutantrace == null)
M << "\red Your flesh rapidly mutates!"
M << "<b>You are now a Shadow Person, a mutant race of darkness-dwelling humanoids.</b>"
M << "\red Your body reacts violently to light. \green However, it naturally heals in darkness."
M << "Aside from your new traits, you are mentally unchanged and retain your prior obligations."
human.dna.mutantrace = "shadow"
human.update_mutantrace()
..()
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

+12045 -12039
View File
File diff suppressed because it is too large Load Diff